| 5 | const EXIT_TS_ERROR = Boolean(process.env.IS_PROD_BUILD || process.env.CI); |
| 6 | |
| 7 | async function build() { |
| 8 | const tscScriptOutput = spawnSync('tsc', ['-p', require.resolve('./tsconfig.build.json')], { |
| 9 | stdio: 'inherit', |
| 10 | }); |
| 11 | |
| 12 | if (EXIT_TS_ERROR && tscScriptOutput?.status && tscScriptOutput.status > 0) { |
| 13 | process.exit(tscScriptOutput.status); |
| 14 | } |
| 15 | |
| 16 | await esbuild.build({ |
| 17 | entryPoints: [require.resolve('./src/index')], |
| 18 | outdir: path.resolve(process.cwd(), './build'), |
| 19 | format: 'cjs', |
| 20 | target: 'es2020', |
| 21 | platform: 'browser', |
| 22 | bundle: true, |
| 23 | minify: false, |
| 24 | }); |
| 25 | |
| 26 | await esbuild.build({ |
| 27 | entryPoints: [require.resolve('./src/index')], |
| 28 | outdir: path.resolve(process.cwd(), './build'), |
| 29 | format: 'esm', |
| 30 | platform: 'browser', |
| 31 | outExtension: { '.js': '.mjs' }, |
| 32 | bundle: true, |
| 33 | minify: false, |
| 34 | }); |
| 35 | } |
| 36 | |
| 37 | build(); |