rollup.config.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import nodeResolve from "@rollup/plugin-node-resolve";
  2. import typescript from "@rollup/plugin-typescript";
  3. import replace from "@rollup/plugin-replace";
  4. import commonjs from "@rollup/plugin-commonjs";
  5. import { terser } from "rollup-plugin-terser";
  6. const env = process.env.NODE_ENV;
  7. export default {
  8. input: "src/index.ts",
  9. plugins: [
  10. commonjs(),
  11. nodeResolve({
  12. browser: true,
  13. extensions: [".js", ".ts"],
  14. dedupe: ["bn.js", "buffer"],
  15. preferBuiltins: false,
  16. }),
  17. typescript({
  18. tsconfig: "./tsconfig.base.json",
  19. moduleResolution: "node",
  20. outDir: "types",
  21. target: "es2019",
  22. outputToFilesystem: false,
  23. }),
  24. replace({
  25. preventAssignment: true,
  26. values: {
  27. "process.env.NODE_ENV": JSON.stringify(env),
  28. "process.env.ANCHOR_BROWSER": JSON.stringify(true),
  29. },
  30. }),
  31. terser(),
  32. ],
  33. external: [
  34. "@coral-xyz/borsh",
  35. "@solana/web3.js",
  36. "bn.js",
  37. "bs58",
  38. "buffer",
  39. "camelcase",
  40. "eventemitter3",
  41. "@noble/hashes/sha256",
  42. "pako",
  43. "toml",
  44. ],
  45. output: {
  46. file: "dist/browser/index.js",
  47. format: "es",
  48. sourcemap: true,
  49. },
  50. };