anchor/rollup.config.ts

55 lines
1.2 KiB
TypeScript

import nodeResolve from "@rollup/plugin-node-resolve";
import typescript from "@rollup/plugin-typescript";
import replace from "@rollup/plugin-replace";
import commonjs from "@rollup/plugin-commonjs";
import { terser } from "rollup-plugin-terser";
const env = process.env.NODE_ENV;
export default {
input: "src/index.ts",
plugins: [
commonjs(),
nodeResolve({
browser: true,
extensions: [".js", ".ts"],
dedupe: ["bn.js", "buffer"],
preferBuiltins: false,
}),
typescript({
tsconfig: "./tsconfig.base.json",
moduleResolution: "node",
outDir: "types",
target: "es2019",
outputToFilesystem: false,
}),
replace({
preventAssignment: true,
values: {
"process.env.NODE_ENV": JSON.stringify(env),
"process.env.BROWSER": JSON.stringify(true),
},
}),
terser(),
],
external: [
"@project-serum/borsh",
"@solana/web3.js",
"assert",
"base64-js",
"bn.js",
"bs58",
"buffer",
"camelcase",
"eventemitter3",
"js-sha256",
"pako",
"toml",
],
output: {
file: "dist/browser/index.js",
format: "es",
sourcemap: true,
},
};