- support ESM

This commit is contained in:
Yi-Cyuan Chen
2026-07-18 17:41:55 +08:00
parent da84f28777
commit 1b03e6b2b6
13 changed files with 3420 additions and 886 deletions
+47
View File
@@ -0,0 +1,47 @@
import commonjs from '@rollup/plugin-commonjs';
import terser from '@rollup/plugin-terser';
const disableNodeJs = {
name: 'disable-node-js',
transform(code, id) {
if (id.endsWith('/src/sha256.js')) {
return code.replace(
"var NODE_JS = !root.JS_SHA256_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node && process.type != 'renderer';",
'var NODE_JS = false;'
);
}
}
};
export default [
{
input: 'src/sha256.mjs',
external: ['crypto', 'buffer'],
output: {
file: 'build/sha256.node.mjs',
format: 'es'
},
plugins: [commonjs({
strictRequires: false
})]
},
{
input: 'src/sha256.mjs',
output: {
file: 'build/sha256.mjs',
format: 'es'
},
plugins: [disableNodeJs, commonjs({
strictRequires: false,
ignore: ['crypto', 'buffer']
})]
},
{
input: 'build/sha256.mjs',
output: {
file: 'build/sha256.min.mjs',
format: 'es'
},
plugins: [terser()]
}
];