From 12e33654d183889459d51e9f44c39e51cf7c3bb3 Mon Sep 17 00:00:00 2001 From: Shinigami Date: Mon, 24 Jan 2022 20:04:55 +0100 Subject: build: bundle with esbuild (#257) --- scripts/bundle.ts | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 scripts/bundle.ts (limited to 'scripts') diff --git a/scripts/bundle.ts b/scripts/bundle.ts new file mode 100644 index 00000000..793f27a1 --- /dev/null +++ b/scripts/bundle.ts @@ -0,0 +1,40 @@ +import { buildSync } from 'esbuild'; +import { sync as globSync } from 'glob'; +import locales from '../src/locales'; + +console.log('Building dist for node (cjs)...'); +buildSync({ + entryPoints: globSync('./src/**/*.ts'), + // We can use the following entry points when esbuild supports cjs+splitting + // entryPoints: [ + // './src/index.ts', + // ...Object.keys(locales).map((locale) => `./src/locale/${locale}.ts`), + // './src/iban.ts', + // './src/mersenne.ts', + // ], + outdir: './dist/cjs', + bundle: false, // Creates 390MiB bundle ... + sourcemap: false, + minify: true, + // splitting: true, // Doesn't work with cjs + format: 'cjs', + platform: 'node', + target: 'node12', +}); + +console.log('Building dist for node type=module (esm)...'); +buildSync({ + entryPoints: [ + './src/index.ts', + ...Object.keys(locales).map((locale) => `./src/locale/${locale}.ts`), + './src/iban.ts', + './src/mersenne.ts', + ], + outdir: './dist/esm', + bundle: true, + sourcemap: false, + minify: true, + splitting: true, + format: 'esm', + target: 'node12.20', +}); -- cgit v1.2.3