Skip to content

Commit 6d1773c

Browse files
authored
refactor: remove ts-node related code (#468)
1 parent c87c208 commit 6d1773c

File tree

7 files changed

+5
-223
lines changed

7 files changed

+5
-223
lines changed

package.json

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@
6060
"@types/minimatch": "^5.1.2",
6161
"@types/node": "^24.3.0",
6262
"@types/ts-expose-internals": "npm:[email protected]",
63-
"@types/ts-node": "npm:ts-node@^10.9.2",
6463
"changelogen": "^0.6.2",
6564
"eslint": "9.x",
6665
"globals": "^16.4.0",
@@ -73,11 +72,6 @@
7372
"peerDependencies": {
7473
"typescript": ">=5"
7574
},
76-
"peerDependenciesMeta": {
77-
"ts-node": {
78-
"optional": true
79-
}
80-
},
8175
"dependencies": {
8276
"minimatch": "^10.1.1"
8377
},

src/transformer.ts

Lines changed: 4 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
type TsTransformPathsContext,
1212
type VisitorContext,
1313
} from "./types.ts";
14-
import { createSyntheticEmitHost, getTsNodeRegistrationProperties } from "./utils/ts-helpers.ts";
14+
import { createSyntheticEmitHost } from "./utils/ts-helpers.ts";
1515
import { nodeVisitor } from "./visitor.ts";
1616

1717
function getTsProperties(args: Parameters<typeof transformer>) {
@@ -25,15 +25,10 @@ function getTsProperties(args: Parameters<typeof transformer>) {
2525
const tsInstance = extras?.ts ?? ts;
2626

2727
if (program) compilerOptions = program.getCompilerOptions();
28-
const tsNodeProps = getTsNodeRegistrationProperties(tsInstance);
2928

3029
/* Determine RunMode & Setup */
31-
// Note: ts-node passes a Program with the paths property stripped, so we do some comparison to determine if it's the caller
32-
const isTsNode =
33-
tsNodeProps && (!program || compilerOptions!.configFilePath === tsNodeProps.compilerOptions.configFilePath);
34-
3530
// RunMode: Program
36-
if (program && !isTsNode) {
31+
if (program) {
3732
runMode = RunMode.Program;
3833
compilerOptions = compilerOptions!;
3934
}
@@ -42,30 +37,10 @@ function getTsProperties(args: Parameters<typeof transformer>) {
4237
runMode = RunMode.Manual;
4338
fileNames = manualTransformOptions.fileNames;
4439
compilerOptions = manualTransformOptions.compilerOptions!;
45-
}
46-
// RunMode: TsNode
47-
else if (isTsNode) {
48-
fileNames = tsNodeProps.fileNames;
49-
runMode = RunMode.TsNode;
50-
51-
tsNodeState =
52-
!program ||
53-
(fileNames.length > 1 && program?.getRootFileNames().length === 1) ||
54-
(!compilerOptions!.paths && tsNodeProps!.compilerOptions.paths)
55-
? TsNodeState.Stripped
56-
: TsNodeState.Full;
57-
58-
compilerOptions =
59-
tsNodeState === TsNodeState.Full
60-
? compilerOptions!
61-
: {
62-
...program?.getCompilerOptions(),
63-
...tsNodeProps!.compilerOptions,
64-
};
6540
} else {
6641
throw new Error(
67-
`Cannot transform without a Program, ts-node instance, or manual parameters supplied. ` +
68-
`Make sure you're using ts-patch or ts-node with transpileOnly.`,
42+
`Cannot transform without a Program or manual parameters supplied. ` +
43+
`Make sure you're using ts-patch with transpileOnly.`,
6944
);
7045
}
7146

src/types.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@ export interface VisitorContext extends TsTransformPathsContext {
6262
/* ****************************************************************************************************************** */
6363

6464
export const RunMode = {
65-
TsNode: "ts-node",
6665
Manual: "manual",
6766
Program: "program",
6867
};

src/utils/ts-helpers.ts

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import path from "node:path";
22

3-
import type { REGISTER_INSTANCE } from "ts-node";
43
import type ts from "typescript";
54
import type { GetCanonicalFileName, SourceFile } from "typescript";
65

@@ -74,28 +73,4 @@ export function createSyntheticEmitHost(
7473
} as ts.EmitHost;
7574
}
7675

77-
/** Get ts-node register info */
78-
export function getTsNodeRegistrationProperties(tsInstance: typeof ts) {
79-
let tsNodeSymbol: typeof REGISTER_INSTANCE;
80-
try {
81-
// eslint-disable-next-line @typescript-eslint/no-require-imports
82-
tsNodeSymbol = require("ts-node")?.["REGISTER_INSTANCE"];
83-
} catch {
84-
return;
85-
}
86-
87-
if (!global.process[tsNodeSymbol]) return;
88-
89-
const { config, options } = global.process[tsNodeSymbol]!;
90-
91-
const { configFilePath } = config.options;
92-
// @ts-expect-error TS(2345) FIXME: Argument of type 'System' is not assignable to parameter of type 'ParseConfigFileHost'.
93-
const pcl = configFilePath ? tsInstance.getParsedCommandLineOfConfigFile(configFilePath, {}, tsInstance.sys) : void 0;
94-
95-
const fileNames = pcl?.fileNames || config.fileNames;
96-
const compilerOptions = Object.assign({}, config.options, options.compilerOptions, { outDir: pcl?.options.outDir });
97-
98-
return { compilerOptions, fileNames, tsNodeOptions: options };
99-
}
100-
10176
// endregion

test/projects/extras/tsconfig.json

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
{
22
"include": ["src"],
33

4-
"ts-node": {
5-
"require": ["typescript-transform-paths/register"]
6-
},
7-
84
"compilerOptions": {
95
"noEmit": true,
106
"outDir": "dist",

test/yarn.lock

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1334,9 +1334,6 @@ __metadata:
13341334
minimatch: "npm:^10.1.1"
13351335
peerDependencies:
13361336
typescript: ">=5"
1337-
peerDependenciesMeta:
1338-
ts-node:
1339-
optional: true
13401337
languageName: node
13411338
linkType: soft
13421339

yarn.lock

Lines changed: 1 addition & 155 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,6 @@ __metadata:
55
version: 8
66
cacheKey: 10c0
77

8-
"@cspotcode/source-map-support@npm:^0.8.0":
9-
version: 0.8.1
10-
resolution: "@cspotcode/source-map-support@npm:0.8.1"
11-
dependencies:
12-
"@jridgewell/trace-mapping": "npm:0.3.9"
13-
checksum: 10c0/05c5368c13b662ee4c122c7bfbe5dc0b613416672a829f3e78bc49a357a197e0218d6e74e7c66cfcd04e15a179acab080bd3c69658c9fbefd0e1ccd950a07fc6
14-
languageName: node
15-
linkType: hard
16-
178
"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.7.0":
189
version: 4.7.0
1910
resolution: "@eslint-community/eslint-utils@npm:4.7.0"
@@ -161,30 +152,6 @@ __metadata:
161152
languageName: node
162153
linkType: hard
163154

164-
"@jridgewell/resolve-uri@npm:^3.0.3":
165-
version: 3.1.2
166-
resolution: "@jridgewell/resolve-uri@npm:3.1.2"
167-
checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e
168-
languageName: node
169-
linkType: hard
170-
171-
"@jridgewell/sourcemap-codec@npm:^1.4.10":
172-
version: 1.5.0
173-
resolution: "@jridgewell/sourcemap-codec@npm:1.5.0"
174-
checksum: 10c0/2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18
175-
languageName: node
176-
linkType: hard
177-
178-
"@jridgewell/trace-mapping@npm:0.3.9":
179-
version: 0.3.9
180-
resolution: "@jridgewell/trace-mapping@npm:0.3.9"
181-
dependencies:
182-
"@jridgewell/resolve-uri": "npm:^3.0.3"
183-
"@jridgewell/sourcemap-codec": "npm:^1.4.10"
184-
checksum: 10c0/fa425b606d7c7ee5bfa6a31a7b050dd5814b4082f318e0e4190f991902181b4330f43f4805db1dd4f2433fd0ed9cc7a7b9c2683f1deeab1df1b0a98b1e24055b
185-
languageName: node
186-
linkType: hard
187-
188155
"@nodelib/fs.scandir@npm:2.1.5":
189156
version: 2.1.5
190157
resolution: "@nodelib/fs.scandir@npm:2.1.5"
@@ -219,34 +186,6 @@ __metadata:
219186
languageName: node
220187
linkType: hard
221188

222-
"@tsconfig/node10@npm:^1.0.7":
223-
version: 1.0.11
224-
resolution: "@tsconfig/node10@npm:1.0.11"
225-
checksum: 10c0/28a0710e5d039e0de484bdf85fee883bfd3f6a8980601f4d44066b0a6bcd821d31c4e231d1117731c4e24268bd4cf2a788a6787c12fc7f8d11014c07d582783c
226-
languageName: node
227-
linkType: hard
228-
229-
"@tsconfig/node12@npm:^1.0.7":
230-
version: 1.0.11
231-
resolution: "@tsconfig/node12@npm:1.0.11"
232-
checksum: 10c0/dddca2b553e2bee1308a056705103fc8304e42bb2d2cbd797b84403a223b25c78f2c683ec3e24a095e82cd435387c877239bffcb15a590ba817cd3f6b9a99fd9
233-
languageName: node
234-
linkType: hard
235-
236-
"@tsconfig/node14@npm:^1.0.0":
237-
version: 1.0.3
238-
resolution: "@tsconfig/node14@npm:1.0.3"
239-
checksum: 10c0/67c1316d065fdaa32525bc9449ff82c197c4c19092b9663b23213c8cbbf8d88b6ed6a17898e0cbc2711950fbfaf40388938c1c748a2ee89f7234fc9e7fe2bf44
240-
languageName: node
241-
linkType: hard
242-
243-
"@tsconfig/node16@npm:^1.0.2":
244-
version: 1.0.4
245-
resolution: "@tsconfig/node16@npm:1.0.4"
246-
checksum: 10c0/05f8f2734e266fb1839eb1d57290df1664fe2aa3b0fdd685a9035806daa635f7519bf6d5d9b33f6e69dd545b8c46bd6e2b5c79acb2b1f146e885f7f11a42a5bb
247-
languageName: node
248-
linkType: hard
249-
250189
"@types/debug@npm:^4.0.0":
251190
version: 4.1.12
252191
resolution: "@types/debug@npm:4.1.12"
@@ -319,44 +258,6 @@ __metadata:
319258
languageName: node
320259
linkType: hard
321260

322-
"@types/ts-node@npm:ts-node@^10.9.2":
323-
version: 10.9.2
324-
resolution: "ts-node@npm:10.9.2"
325-
dependencies:
326-
"@cspotcode/source-map-support": "npm:^0.8.0"
327-
"@tsconfig/node10": "npm:^1.0.7"
328-
"@tsconfig/node12": "npm:^1.0.7"
329-
"@tsconfig/node14": "npm:^1.0.0"
330-
"@tsconfig/node16": "npm:^1.0.2"
331-
acorn: "npm:^8.4.1"
332-
acorn-walk: "npm:^8.1.1"
333-
arg: "npm:^4.1.0"
334-
create-require: "npm:^1.1.0"
335-
diff: "npm:^4.0.1"
336-
make-error: "npm:^1.1.1"
337-
v8-compile-cache-lib: "npm:^3.0.1"
338-
yn: "npm:3.1.1"
339-
peerDependencies:
340-
"@swc/core": ">=1.2.50"
341-
"@swc/wasm": ">=1.2.50"
342-
"@types/node": "*"
343-
typescript: ">=2.7"
344-
peerDependenciesMeta:
345-
"@swc/core":
346-
optional: true
347-
"@swc/wasm":
348-
optional: true
349-
bin:
350-
ts-node: dist/bin.js
351-
ts-node-cwd: dist/bin-cwd.js
352-
ts-node-esm: dist/bin-esm.js
353-
ts-node-script: dist/bin-script.js
354-
ts-node-transpile-only: dist/bin-transpile.js
355-
ts-script: dist/bin-script-deprecated.js
356-
checksum: 10c0/5f29938489f96982a25ba650b64218e83a3357d76f7bede80195c65ab44ad279c8357264639b7abdd5d7e75fc269a83daa0e9c62fd8637a3def67254ecc9ddc2
357-
languageName: node
358-
linkType: hard
359-
360261
"@types/unist@npm:*, @types/unist@npm:^3.0.0":
361262
version: 3.0.3
362263
resolution: "@types/unist@npm:3.0.3"
@@ -510,16 +411,7 @@ __metadata:
510411
languageName: node
511412
linkType: hard
512413

513-
"acorn-walk@npm:^8.1.1":
514-
version: 8.3.3
515-
resolution: "acorn-walk@npm:8.3.3"
516-
dependencies:
517-
acorn: "npm:^8.11.0"
518-
checksum: 10c0/4a9e24313e6a0a7b389e712ba69b66b455b4cb25988903506a8d247e7b126f02060b05a8a5b738a9284214e4ca95f383dd93443a4ba84f1af9b528305c7f243b
519-
languageName: node
520-
linkType: hard
521-
522-
"acorn@npm:^8.11.0, acorn@npm:^8.15.0, acorn@npm:^8.4.1":
414+
"acorn@npm:^8.15.0":
523415
version: 8.15.0
524416
resolution: "acorn@npm:8.15.0"
525417
bin:
@@ -556,13 +448,6 @@ __metadata:
556448
languageName: node
557449
linkType: hard
558450

559-
"arg@npm:^4.1.0":
560-
version: 4.1.3
561-
resolution: "arg@npm:4.1.3"
562-
checksum: 10c0/070ff801a9d236a6caa647507bdcc7034530604844d64408149a26b9e87c2f97650055c0f049abd1efc024b334635c01f29e0b632b371ac3f26130f4cf65997a
563-
languageName: node
564-
linkType: hard
565-
566451
"argparse@npm:^2.0.1":
567452
version: 2.0.1
568453
resolution: "argparse@npm:2.0.1"
@@ -762,13 +647,6 @@ __metadata:
762647
languageName: node
763648
linkType: hard
764649

765-
"create-require@npm:^1.1.0":
766-
version: 1.1.1
767-
resolution: "create-require@npm:1.1.1"
768-
checksum: 10c0/157cbc59b2430ae9a90034a5f3a1b398b6738bf510f713edc4d4e45e169bc514d3d99dd34d8d01ca7ae7830b5b8b537e46ae8f3c8f932371b0875c0151d7ec91
769-
languageName: node
770-
linkType: hard
771-
772650
"cross-spawn@npm:^7.0.6":
773651
version: 7.0.6
774652
resolution: "cross-spawn@npm:7.0.6"
@@ -862,13 +740,6 @@ __metadata:
862740
languageName: node
863741
linkType: hard
864742

865-
"diff@npm:^4.0.1":
866-
version: 4.0.2
867-
resolution: "diff@npm:4.0.2"
868-
checksum: 10c0/81b91f9d39c4eaca068eb0c1eb0e4afbdc5bb2941d197f513dd596b820b956fef43485876226d65d497bebc15666aa2aa82c679e84f65d5f2bfbf14ee46e32c1
869-
languageName: node
870-
linkType: hard
871-
872743
"dotenv@npm:^17.2.3":
873744
version: 17.2.3
874745
resolution: "dotenv@npm:17.2.3"
@@ -1380,13 +1251,6 @@ __metadata:
13801251
languageName: node
13811252
linkType: hard
13821253

1383-
"make-error@npm:^1.1.1":
1384-
version: 1.3.6
1385-
resolution: "make-error@npm:1.3.6"
1386-
checksum: 10c0/171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f
1387-
languageName: node
1388-
linkType: hard
1389-
13901254
"mdast-util-from-markdown@npm:^2.0.0":
13911255
version: 2.0.1
13921256
resolution: "mdast-util-from-markdown@npm:2.0.1"
@@ -2133,7 +1997,6 @@ __metadata:
21331997
"@types/minimatch": "npm:^5.1.2"
21341998
"@types/node": "npm:^24.3.0"
21351999
"@types/ts-expose-internals": "npm:[email protected]"
2136-
"@types/ts-node": "npm:ts-node@^10.9.2"
21372000
changelogen: "npm:^0.6.2"
21382001
eslint: "npm:9.x"
21392002
globals: "npm:^16.4.0"
@@ -2145,9 +2008,6 @@ __metadata:
21452008
typescript-eslint: "npm:^8.3.0"
21462009
peerDependencies:
21472010
typescript: ">=5"
2148-
peerDependenciesMeta:
2149-
ts-node:
2150-
optional: true
21512011
languageName: unknown
21522012
linkType: soft
21532013

@@ -2203,13 +2063,6 @@ __metadata:
22032063
languageName: node
22042064
linkType: hard
22052065

2206-
"v8-compile-cache-lib@npm:^3.0.1":
2207-
version: 3.0.1
2208-
resolution: "v8-compile-cache-lib@npm:3.0.1"
2209-
checksum: 10c0/bdc36fb8095d3b41df197f5fb6f11e3a26adf4059df3213e3baa93810d8f0cc76f9a74aaefc18b73e91fe7e19154ed6f134eda6fded2e0f1c8d2272ed2d2d391
2210-
languageName: node
2211-
linkType: hard
2212-
22132066
"which@npm:^2.0.1":
22142067
version: 2.0.2
22152068
resolution: "which@npm:2.0.2"
@@ -2248,13 +2101,6 @@ __metadata:
22482101
languageName: node
22492102
linkType: hard
22502103

2251-
"yn@npm:3.1.1":
2252-
version: 3.1.1
2253-
resolution: "yn@npm:3.1.1"
2254-
checksum: 10c0/0732468dd7622ed8a274f640f191f3eaf1f39d5349a1b72836df484998d7d9807fbea094e2f5486d6b0cd2414aad5775972df0e68f8604db89a239f0f4bf7443
2255-
languageName: node
2256-
linkType: hard
2257-
22582104
"yocto-queue@npm:^0.1.0":
22592105
version: 0.1.0
22602106
resolution: "yocto-queue@npm:0.1.0"

0 commit comments

Comments
 (0)