Skip to content

Commit 4a57d06

Browse files
committed
fix(esm): bundle ESM/CJS builds to avoid Node ESM resolution issues in SSR
1 parent af7ec3f commit 4a57d06

1 file changed

Lines changed: 16 additions & 20 deletions

File tree

esbuild.mjs

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,27 @@
11
import * as esbuild from 'esbuild';
2-
import { glob } from 'glob';
32

4-
const files = glob.sync('src/**/*.{ts,tsx}', {
5-
ignore: ['src/examples/**', 'src/**/__tests__/**', 'src/**/*.spec.{ts,tsx}'],
6-
});
7-
8-
// Exports ESM
9-
esbuild.build({
10-
entryPoints: files,
11-
outdir: 'dist/esm',
12-
bundle: false,
3+
// Build a single bundled ESM file to avoid extensionless relative imports
4+
await esbuild.build({
5+
entryPoints: ['src/index.ts'],
6+
outfile: 'dist/esm/index.js',
7+
bundle: true,
138
sourcemap: true,
14-
splitting: true,
15-
platform: 'browser',
9+
platform: 'neutral',
1610
format: 'esm',
17-
target: ['esnext'],
11+
target: ['es2019'],
1812
minify: true,
13+
external: ['react'],
1914
});
2015

21-
// Exports CJS
22-
esbuild.build({
23-
entryPoints: files,
24-
outdir: 'dist/cjs',
25-
bundle: false,
16+
// Build a single bundled CJS file
17+
await esbuild.build({
18+
entryPoints: ['src/index.ts'],
19+
outfile: 'dist/cjs/index.js',
20+
bundle: true,
2621
sourcemap: true,
27-
platform: 'browser',
22+
platform: 'neutral',
2823
format: 'cjs',
29-
target: ['esnext'],
24+
target: ['es2019'],
3025
minify: true,
26+
external: ['react'],
3127
});

0 commit comments

Comments
 (0)