build for commonjs, esm and a standalone bundle.

This commit is contained in:
fiatjaf
2022-12-19 15:46:31 -03:00
parent de8bdd8370
commit 39aca167fb
3 changed files with 28 additions and 15 deletions

View File

@@ -2,24 +2,35 @@
const esbuild = require('esbuild')
const alias = require('esbuild-plugin-alias')
const nodeGlobals = require('@esbuild-plugins/node-globals-polyfill').default
const buildOptions = {
entryPoints: ['index.js'],
outfile: 'nostr.js',
let common = {
entryPoints: ['index.ts'],
bundle: true,
format: 'esm',
plugins: [
alias({
stream: require.resolve('readable-stream')
}),
nodeGlobals({buffer: true})
})
],
define: {
window: 'self',
global: 'self'
},
loader: {'.js': 'jsx'}
sourcemap: 'external'
}
esbuild.build(buildOptions).then(() => console.log('build success.'))
esbuild
.build({...common, outdir: 'esm/', format: 'esm', packages: 'external'})
.then(() => console.log('esm build success.'))
esbuild
.build({...common, outdir: 'cjs/', format: 'cjs', packages: 'external'})
.then(() => console.log('cjs build success.'))
esbuild
.build({
...common,
outdir: 'standalone/',
format: 'iife',
globalName: 'NostrTools'
})
.then(() => console.log('standalone build success.'))