Skip to content

Commit 11cb740

Browse files
authored
chore(electron): Fix cjs/esm exports (#8959)
1 parent f43071d commit 11cb740

4 files changed

Lines changed: 59 additions & 29 deletions

File tree

‎.changeset/quiet-ducks-wonder.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
---
2+
---

‎packages/electron/package.json‎

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -26,64 +26,65 @@
2626
"exports": {
2727
".": {
2828
"import": {
29-
"types": "./dist/index.d.mts",
30-
"default": "./dist/index.mjs"
29+
"types": "./dist/types/index.d.ts",
30+
"default": "./dist/esm/index.js"
3131
},
3232
"require": {
33-
"types": "./dist/index.d.ts",
34-
"default": "./dist/index.js"
33+
"types": "./dist/types/index.d.ts",
34+
"default": "./dist/cjs/index.js"
3535
}
3636
},
3737
"./preload": {
3838
"import": {
39-
"types": "./dist/preload/index.d.mts",
40-
"default": "./dist/preload/index.mjs"
39+
"types": "./dist/types/preload/index.d.ts",
40+
"default": "./dist/esm/preload/index.js"
4141
},
4242
"require": {
43-
"types": "./dist/preload/index.d.ts",
44-
"default": "./dist/preload/index.js"
43+
"types": "./dist/types/preload/index.d.ts",
44+
"default": "./dist/cjs/preload/index.js"
4545
}
4646
},
4747
"./storage": {
4848
"import": {
49-
"types": "./dist/storage/index.d.mts",
50-
"default": "./dist/storage/index.mjs"
49+
"types": "./dist/types/storage/index.d.ts",
50+
"default": "./dist/esm/storage/index.js"
5151
},
5252
"require": {
53-
"types": "./dist/storage/index.d.ts",
54-
"default": "./dist/storage/index.js"
53+
"types": "./dist/types/storage/index.d.ts",
54+
"default": "./dist/cjs/storage/index.js"
5555
}
5656
},
5757
"./react": {
5858
"import": {
59-
"types": "./dist/react/index.d.mts",
60-
"default": "./dist/react/index.mjs"
59+
"types": "./dist/types/react/index.d.ts",
60+
"default": "./dist/esm/react/index.js"
6161
},
6262
"require": {
63-
"types": "./dist/react/index.d.ts",
64-
"default": "./dist/react/index.js"
63+
"types": "./dist/types/react/index.d.ts",
64+
"default": "./dist/cjs/react/index.js"
6565
}
6666
},
6767
"./passkeys": {
6868
"import": {
69-
"types": "./dist/passkeys/index.d.mts",
70-
"default": "./dist/passkeys/index.mjs"
69+
"types": "./dist/types/passkeys/index.d.ts",
70+
"default": "./dist/esm/passkeys/index.js"
7171
},
7272
"require": {
73-
"types": "./dist/passkeys/index.d.ts",
74-
"default": "./dist/passkeys/index.js"
73+
"types": "./dist/types/passkeys/index.d.ts",
74+
"default": "./dist/cjs/passkeys/index.js"
7575
}
7676
},
7777
"./package.json": "./package.json"
7878
},
79-
"main": "./dist/index.js",
80-
"module": "./dist/index.mjs",
81-
"types": "./dist/index.d.ts",
79+
"main": "./dist/cjs/index.js",
80+
"module": "./dist/esm/index.js",
81+
"types": "./dist/types/index.d.ts",
8282
"files": [
8383
"dist"
8484
],
8585
"scripts": {
8686
"build": "tsdown",
87+
"build:declarations": "tsc -p tsconfig.declarations.json",
8788
"clean": "rimraf ./dist",
8889
"dev": "tsdown --watch",
8990
"format": "node ../../scripts/format-package.mjs",
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"extends": "./tsconfig.json",
3+
"compilerOptions": {
4+
"skipLibCheck": true,
5+
"noEmit": false,
6+
"declaration": true,
7+
"emitDeclarationOnly": true,
8+
"declarationMap": true,
9+
"sourceMap": false,
10+
"declarationDir": "./dist/types"
11+
},
12+
"exclude": ["**/__tests__/**/*"]
13+
}
Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
1+
import type { Options } from 'tsdown';
12
import { defineConfig } from 'tsdown';
23

4+
import { runAfterLast } from '../../scripts/utils.ts';
35
import pkgJson from './package.json' with { type: 'json' };
46

57
export default defineConfig(overrideOptions => {
68
const isWatch = !!overrideOptions.watch;
79
const shouldPublish = !!overrideOptions.env?.publish;
810

9-
return {
11+
const common: Options = {
1012
entry: {
1113
index: './src/index.ts',
1214
'preload/index': './src/preload/index.ts',
@@ -18,18 +20,30 @@ export default defineConfig(overrideOptions => {
1820
deps: {
1921
neverBundle: ['@clerk/electron-passkeys'],
2022
},
21-
dts: true,
22-
fixedExtension: false,
23-
format: ['cjs', 'esm'],
23+
dts: false,
2424
minify: false,
25-
outDir: './dist',
2625
sourcemap: true,
2726
treeshake: true,
2827
define: {
2928
PACKAGE_NAME: `"${pkgJson.name}"`,
3029
PACKAGE_VERSION: `"${pkgJson.version}"`,
3130
__DEV__: `${isWatch}`,
3231
},
33-
onSuccess: shouldPublish ? 'pkglab pub --ping' : undefined,
3432
};
33+
34+
const esm: Options = {
35+
...common,
36+
format: 'esm',
37+
outDir: './dist/esm',
38+
outExtensions: () => ({ js: '.js' }),
39+
};
40+
41+
const cjs: Options = {
42+
...common,
43+
format: 'cjs',
44+
outDir: './dist/cjs',
45+
outExtensions: () => ({ js: '.js' }),
46+
};
47+
48+
return runAfterLast(['pnpm build:declarations', shouldPublish && 'pkglab pub --ping'])(esm, cjs);
3549
});

0 commit comments

Comments
 (0)