diff --git a/build.js b/build.js index fdec13c..8ae310c 100644 --- a/build.js +++ b/build.js @@ -21,6 +21,12 @@ shell.exec('wasm-pack build --target nodejs'); shell.mv('pkg', 'pkg.node'); shell.rm('pkg.node/{LICENSE,package.json,README.md,.gitignore}'); +// Create the esm node output +shell.rm('-rf', 'pkg'); +shell.exec('wasm-pack build --target experemintal-nodejs-module'); +shell.mv('pkg', 'pkg.node.esm'); +shell.rm('pkg.node/{LICENSE,package.json,README.md,.gitignore}'); + // Create the web output shell.rm('-rf', 'pkg'); shell.exec('wasm-pack build --target web'); diff --git a/index.node.mjs b/index.node.mjs new file mode 100644 index 0000000..db4d331 --- /dev/null +++ b/index.node.mjs @@ -0,0 +1,2 @@ +import init, * as brotliWasm from "./pkg.node.esm/brotli_wasm.js"; +export default init().then(() => brotliWasm); diff --git a/package.json b/package.json index 5b23435..7d3b8fd 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,10 @@ "exports": { ".": { "types": "./index.d.ts", - "import": "./index.web.js", + "node": { + "import": "./index.node.mjs", + "require": "./index.node.js" + }, "browser": "./index.browser.js", "require": "./index.node.js", "default": "./index.web.js" @@ -17,9 +20,11 @@ "sideEffects": false, "files": [ "pkg.node", + "pkg.node.esm", "pkg.bundler", "pkg.web", "index.node.js", + "index.node.mjs", "index.browser.js", "index.web.js", "index.d.ts"