rollup.config.ts 1.1 KB

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