diff --git a/js-rattler/package.json b/js-rattler/package.json index a9ecae2c7..3c5293b67 100644 --- a/js-rattler/package.json +++ b/js-rattler/package.json @@ -31,8 +31,9 @@ "postbuild:wasm:debug": "npm run fix:types", "build:esm": "npm run build:wasm -- --target web && rollup -c rollup.config.esm.mjs", "build:cjs": "npm run build:wasm -- --target nodejs && rollup -c rollup.config.cjs.mjs", + "build:browser": "npm run build:wasm -- --target web && rollup -c rollup.config.browser.mjs", "build:types": "rollup -c rollup.config.types.mjs", - "build": "shx rm -rf dist pkg types && npm run build:esm && npm run build:cjs && shx cp pkg/js_rattler_bg.wasm ./dist/ && npm run build:types", + "build": "shx rm -rf dist pkg types && npm run build:esm && npm run build:cjs && npm run build:browser && shx cp pkg/js_rattler_bg.wasm ./dist/ && npm run build:types", "test": "cross-env NODE_OPTIONS=--experimental-vm-modules jest", "test:debug": "cross-env NODE_OPTIONS=--experimental-vm-modules jest", "fmt": "prettier --write .", diff --git a/js-rattler/rollup.config.browser.mjs b/js-rattler/rollup.config.browser.mjs new file mode 100644 index 000000000..ce36ff659 --- /dev/null +++ b/js-rattler/rollup.config.browser.mjs @@ -0,0 +1,29 @@ +import { wasm } from "@rollup/plugin-wasm"; +import typescript from "@rollup/plugin-typescript"; +import { nodeResolve } from "@rollup/plugin-node-resolve"; +import commonjs from "@rollup/plugin-commonjs"; + +export default { + input: "src/esm.ts", + output: { + file: "dist/rattler.browser.js", + format: "iife", + name: "Rattler", // This will be the global variable name + sourcemap: true, + }, + plugins: [ + commonjs(), + wasm({ + targetEnv: "auto-inline", + sync: ["pkg/js_rattler_bg.wasm"], + }), + nodeResolve(), + typescript({ + sourceMap: true, + declaration: false, + declarationMap: false, + inlineSources: false, + tsconfig: "./tsconfig.rollup.json", + }), + ], +};