Skip to content

Commit d0c4dd9

Browse files
authored
chore: make the @packages/resolve-dist an independent bundle without needed ts-node to register entrypoint. Both ESM and CJS distributions are built and types are used as source to be compatible with older styles of commonjs bundling. Types are not shipped with the package. (#32613)
1 parent 2e81887 commit d0c4dd9

File tree

9 files changed

+51
-28
lines changed

9 files changed

+51
-28
lines changed

guides/esm-migration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
- [x] packages/packherd-require ✅ **COMPLETED**
5454
- [ ] packages/proxy **PARTIAL** - entry point is JS
5555
- [x] packages/reporter ✅ **COMPLETED**
56-
- [ ] packages/resolve-dist **PARTIAL** - entry point is JS
56+
- [x] packages/resolve-dist **COMPLETED**
5757
- [ ] packages/rewriter **PARTIAL** - entry point is JS
5858
- [x] packages/root ✅ **COMPLETED**
5959
- [x] packages/runner ✅ **COMPLETED**

packages/resolve-dist/.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
lib/**/*.js
1+
esm/
2+
cjs/

packages/resolve-dist/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
# Resolve Dist
22

33
This package centralizes the resolution of paths to compiled/static assets from server-side code.
4+
5+
### CommonJS / ESM bundles
6+
7+
Currently, `@packages/resolve-dist` is only used in a server-side Node.js context via CommonJS. This package has ESM configured, but does NOT emit the bundle to help save on the binary size.

packages/resolve-dist/index.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

packages/resolve-dist/package.json

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,28 @@
22
"name": "@packages/resolve-dist",
33
"version": "0.0.0-development",
44
"private": true,
5-
"main": "index.js",
5+
"main": "cjs/index.js",
66
"scripts": {
7-
"build-prod": "tsc --project .",
8-
"check-ts": "tsc --noEmit && yarn -s tslint",
9-
"clean": "rimraf --glob 'lib/**/*.js'",
7+
"build": "yarn build:cjs && yarn build:esm",
8+
"build-prod": "yarn build",
9+
"build:cjs": "rimraf cjs && tsc -p tsconfig.cjs.json",
10+
"build:esm": "rimraf esm && tsc -p tsconfig.esm.json",
11+
"check-ts": "tsc -p tsconfig.cjs.json --noEmit && yarn -s tslint -p tsconfig.cjs.json",
12+
"clean": "rimraf cjs esm",
1013
"clean-deps": "rimraf node_modules",
1114
"lint": "eslint --ext .js,.jsx,.ts,.tsx,.json, .",
1215
"tslint": "tslint --config ../ts/tslint.json --project ."
1316
},
1417
"dependencies": {
15-
"fs-extra": "9.1.0"
16-
},
17-
"devDependencies": {
18-
"@packages/ts": "0.0.0-development"
18+
"fs-extra": "9.1.0",
19+
"rimraf": "^6.0.1",
20+
"typescript": "~5.4.5"
1921
},
2022
"files": [
21-
"lib"
23+
"cjs/*",
24+
"esm/*"
2225
],
2326
"types": "./lib/index.ts",
27+
"module": "esm/index.js",
2428
"nx": {}
2529
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"include": [
3+
"lib/**/*.ts"
4+
],
5+
"compilerOptions": {
6+
"allowJs": false,
7+
"esModuleInterop": true,
8+
"skipLibCheck": true
9+
}
10+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"extends": "./tsconfig.base.json",
3+
"compilerOptions": {
4+
"rootDir": "./lib",
5+
"outDir": "./cjs",
6+
"target": "ES2022",
7+
"module": "CommonJS",
8+
"moduleResolution": "node"
9+
}
10+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"extends": "./tsconfig.base.json",
3+
"compilerOptions": {
4+
"rootDir": "./lib",
5+
"outDir": "./esm",
6+
"target": "ES2022",
7+
"module": "ES2022",
8+
"moduleResolution": "node",
9+
"noEmit": true
10+
}
11+
}

packages/resolve-dist/tsconfig.json

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)