Skip to content

Commit 8729bb5

Browse files
authored
fix: node16 esm module resolution (#223)
1 parent b2bf874 commit 8729bb5

10 files changed

Lines changed: 70 additions & 8 deletions

File tree

.changeset/lucky-cats-laugh.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
'@ts-rest/core': patch
3+
'@ts-rest/express': patch
4+
'@ts-rest/nest': patch
5+
'@ts-rest/next': patch
6+
'@ts-rest/open-api': patch
7+
'@ts-rest/react-query': patch
8+
'@ts-rest/solid-query': patch
9+
---
10+
11+
Fix node16 esm module resolution

libs/ts-rest/core/project.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
"format": ["esm", "cjs"],
1616
"compiler": "tsc",
1717
"rollupConfig": "tools/scripts/rollup.config.js",
18-
"generateExportsField": true
18+
"generateExportsField": true,
19+
"skipTypeField": true
1920
}
2021
},
2122
"publish": {

libs/ts-rest/express/project.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
"format": ["esm", "cjs"],
1616
"compiler": "tsc",
1717
"rollupConfig": "tools/scripts/rollup.config.js",
18-
"generateExportsField": true
18+
"generateExportsField": true,
19+
"skipTypeField": true
1920
}
2021
},
2122
"publish": {

libs/ts-rest/nest/project.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
"format": ["esm", "cjs"],
1616
"compiler": "tsc",
1717
"rollupConfig": "tools/scripts/rollup.config.js",
18-
"generateExportsField": true
18+
"generateExportsField": true,
19+
"skipTypeField": true
1920
}
2021
},
2122
"publish": {

libs/ts-rest/next/project.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
"format": ["esm", "cjs"],
1616
"compiler": "tsc",
1717
"rollupConfig": "tools/scripts/rollup.config.js",
18-
"generateExportsField": true
18+
"generateExportsField": true,
19+
"skipTypeField": true
1920
}
2021
},
2122
"publish": {

libs/ts-rest/open-api/project.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
"format": ["esm", "cjs"],
1616
"compiler": "tsc",
1717
"rollupConfig": "tools/scripts/rollup.config.js",
18-
"generateExportsField": true
18+
"generateExportsField": true,
19+
"skipTypeField": true
1920
}
2021
},
2122
"publish": {

libs/ts-rest/react-query/project.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
"format": ["esm", "cjs"],
1717
"compiler": "tsc",
1818
"rollupConfig": "tools/scripts/rollup.config.js",
19-
"generateExportsField": true
19+
"generateExportsField": true,
20+
"skipTypeField": true
2021
}
2122
},
2223
"lint": {

libs/ts-rest/solid-query/project.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
"format": ["esm", "cjs"],
1717
"compiler": "tsc",
1818
"rollupConfig": "tools/scripts/rollup.config.js",
19-
"generateExportsField": true
19+
"generateExportsField": true,
20+
"skipTypeField": true
2021
}
2122
},
2223
"lint": {

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
"license": "MIT",
55
"scripts": {
66
"version-packages": "changeset version",
7-
"release": "pnpm nx run-many --target=build --exclude=example-expo && pnpm copy-readme && changeset publish",
7+
"release": "pnpm nx run-many --target=build --exclude=example-expo && pnpm fix-esm && pnpm copy-readme && changeset publish",
88
"copy-readme": "find dist/libs/ts-rest -mindepth 1 -maxdepth 1 -type d -exec cp README.md '{}' ';'",
9+
"fix-esm": "node tools/scripts/fix-esm.mjs",
910
"nest": "pnpm nx run example-nest:serve",
1011
"affected:all": "pnpm nx affected:lint && pnpm nx affected:test && pnpm nx affected:build",
1112
"docs:build": "pnpm nx run docs:build && ts-node ./tools/scripts/docs-redirects.ts",

tools/scripts/fix-esm.mjs

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import fs from 'fs/promises';
2+
3+
const libsDist = './dist/libs/ts-rest';
4+
const libs = await fs.readdir(libsDist);
5+
6+
for (const lib of libs) {
7+
try {
8+
await fs.access(`${libsDist}/${lib}/index.mjs`);
9+
console.log(`Skipping ${lib} - already processed...`);
10+
continue;
11+
} catch {}
12+
13+
const packageJson = await fs.readFile(`${libsDist}/${lib}/package.json`, {
14+
encoding: 'utf-8',
15+
});
16+
17+
const newPackageJson = {
18+
...JSON.parse(packageJson),
19+
module: './index.mjs',
20+
main: './index.js',
21+
exports: {
22+
'.': {
23+
types: './src/index.d.ts',
24+
import: './index.mjs',
25+
require: './index.js',
26+
},
27+
},
28+
};
29+
30+
await fs.writeFile(
31+
`${libsDist}/${lib}/package.json`,
32+
JSON.stringify(newPackageJson, null, 2)
33+
);
34+
35+
await fs.rename(
36+
`${libsDist}/${lib}/index.js`,
37+
`${libsDist}/${lib}/index.mjs`
38+
);
39+
await fs.rename(
40+
`${libsDist}/${lib}/index.cjs`,
41+
`${libsDist}/${lib}/index.js`
42+
);
43+
}

0 commit comments

Comments
 (0)