Skip to content

Commit 98e1cd2

Browse files
committed
refactor: replace ts-node with tsx
1 parent d9323d7 commit 98e1cd2

File tree

6 files changed

+195
-95
lines changed

6 files changed

+195
-95
lines changed

package.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"clean": "rimraf dist && lerna exec -- rimraf dist tsconfig.tsbuildinfo",
1111
"build": "tsc -b packages",
1212
"build:watch": "yarn build --watch",
13-
"postbuild": "ts-node tools/test-dist",
13+
"postbuild": "tsx tools/test-dist.ts",
1414
"docs": "yarn build && npx typedoc",
1515
"lerna:publish": "lerna publish --force-publish --conventional-commits --no-changelog --exact",
1616
"lint:js": "prettier --check . && eslint . --cache",
@@ -24,8 +24,8 @@
2424
"test": "xvfb-maybe vitest run --project fast --project slow",
2525
"test:fast": "xvfb-maybe vitest run --project fast",
2626
"test:slow": "xvfb-maybe vitest run --project slow",
27-
"test:clear": "ts-node tools/test-clear",
28-
"postinstall": "rimraf node_modules/.bin/*.ps1 && ts-node ./tools/gen-tsconfigs.ts && ts-node ./tools/gen-ts-glue.ts",
27+
"test:clear": "tsx tools/test-clear.ts",
28+
"postinstall": "rimraf node_modules/.bin/*.ps1 && tsx ./tools/gen-tsconfigs.ts && tsx ./tools/gen-ts-glue.ts",
2929
"prepare": "husky install",
3030
"preversion": "yarn build"
3131
},
@@ -70,6 +70,7 @@
7070
"semver": "^7.2.1",
7171
"source-map-support": "^0.5.13",
7272
"sudo-prompt": "^9.1.1",
73+
"tsx": "^4.19.3",
7374
"username": "^5.1.0",
7475
"vite": "^5.0.12",
7576
"webpack": "^5.69.1",
@@ -119,7 +120,6 @@
119120
"prettier": "^2.4.0",
120121
"rimraf": "^3.0.1",
121122
"syncpack": "^11.2.1",
122-
"ts-node": "^10.0.0",
123123
"typedoc": "0.25.13",
124124
"typescript": "~5.4.5",
125125
"vitest": "^3.0.3",

packages/api/core/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
"semver": "^7.2.1",
6161
"source-map-support": "^0.5.13",
6262
"sudo-prompt": "^9.1.1",
63+
"tsx": "^4.19.3",
6364
"username": "^5.1.0"
6465
},
6566
"engines": {

packages/api/core/src/util/forge-config.ts

+16-2
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,24 @@ import * as interpret from 'interpret';
66
import { template } from 'lodash';
77
import * as rechoir from 'rechoir';
88

9-
// eslint-disable-next-line n/no-missing-import
10-
import { dynamicImportMaybe } from '../../helper/dynamic-import.js';
9+
import { dynamicImportMaybe } from '../../helper/dynamic-import';
1110

1211
import { runMutatingHook } from './hook';
1312
import PluginInterface from './plugin-interface';
1413
import { readRawPackageJson } from './read-package-json';
1514

15+
/* eslint-disable @typescript-eslint/no-require-imports */
16+
// TSX imports only work with Node16 resolution while we're still on CommonJS resolution in tsconfig.base.json
17+
// However, all of Vite's entire TS types break when using CommonJS with Node16 resolution, it's more approachable
18+
// to use `require` directly for the time being.
19+
const tsxCJS = require('tsx/cjs/api');
20+
const tsxESM = require('tsx/esm/api');
21+
/* eslint-enable @typescript-eslint/no-require-imports */
22+
23+
// Register tsx enhancements
24+
const unregisterCJS = tsxCJS.register();
25+
const unregisterESM = tsxESM.register();
26+
1627
const underscoreCase = (str: string) =>
1728
str
1829
.replace(/(.)([A-Z][a-z]+)/g, '$1_$2')
@@ -176,5 +187,8 @@ export default async (dir: string): Promise<ResolvedForgeConfig> => {
176187

177188
resolvedForgeConfig = await runMutatingHook(resolvedForgeConfig, 'resolveForgeConfig', resolvedForgeConfig);
178189

190+
unregisterCJS();
191+
unregisterESM();
192+
179193
return proxify<ResolvedForgeConfig>(resolvedForgeConfig.buildIdentifier || '', resolvedForgeConfig, 'ELECTRON_FORGE');
180194
};

packages/template/vite-typescript/tmpl/package.json

-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
"@typescript-eslint/parser": "^5.0.0",
66
"eslint": "^8.0.1",
77
"eslint-plugin-import": "^2.25.0",
8-
"ts-node": "^10.0.0",
98
"typescript": "~4.5.4",
109
"vite": "^5.0.12"
1110
}

packages/template/webpack-typescript/tmpl/package.json

-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
"node-loader": "^2.0.0",
1212
"style-loader": "^3.0.0",
1313
"ts-loader": "^9.2.2",
14-
"ts-node": "^10.0.0",
1514
"typescript": "~4.5.4"
1615
}
1716
}

0 commit comments

Comments
 (0)