diff --git a/package.json b/package.json index 06f489c9..a2be59bd 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,6 @@ "@types/minimatch": "^5.1.2", "@types/node": "^24.3.0", "@types/ts-expose-internals": "npm:ts-expose-internals@4.9.5", - "@types/ts-node": "npm:ts-node@^10.9.2", "changelogen": "^0.6.2", "eslint": "9.x", "globals": "^16.4.0", @@ -73,11 +72,6 @@ "peerDependencies": { "typescript": ">=5" }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - } - }, "dependencies": { "minimatch": "^10.1.1" }, diff --git a/src/transformer.ts b/src/transformer.ts index e819501e..75f1fe73 100755 --- a/src/transformer.ts +++ b/src/transformer.ts @@ -11,7 +11,7 @@ import { type TsTransformPathsContext, type VisitorContext, } from "./types.ts"; -import { createSyntheticEmitHost, getTsNodeRegistrationProperties } from "./utils/ts-helpers.ts"; +import { createSyntheticEmitHost } from "./utils/ts-helpers.ts"; import { nodeVisitor } from "./visitor.ts"; function getTsProperties(args: Parameters) { @@ -25,15 +25,10 @@ function getTsProperties(args: Parameters) { const tsInstance = extras?.ts ?? ts; if (program) compilerOptions = program.getCompilerOptions(); - const tsNodeProps = getTsNodeRegistrationProperties(tsInstance); /* Determine RunMode & Setup */ - // Note: ts-node passes a Program with the paths property stripped, so we do some comparison to determine if it's the caller - const isTsNode = - tsNodeProps && (!program || compilerOptions!.configFilePath === tsNodeProps.compilerOptions.configFilePath); - // RunMode: Program - if (program && !isTsNode) { + if (program) { runMode = RunMode.Program; compilerOptions = compilerOptions!; } @@ -42,30 +37,10 @@ function getTsProperties(args: Parameters) { runMode = RunMode.Manual; fileNames = manualTransformOptions.fileNames; compilerOptions = manualTransformOptions.compilerOptions!; - } - // RunMode: TsNode - else if (isTsNode) { - fileNames = tsNodeProps.fileNames; - runMode = RunMode.TsNode; - - tsNodeState = - !program || - (fileNames.length > 1 && program?.getRootFileNames().length === 1) || - (!compilerOptions!.paths && tsNodeProps!.compilerOptions.paths) - ? TsNodeState.Stripped - : TsNodeState.Full; - - compilerOptions = - tsNodeState === TsNodeState.Full - ? compilerOptions! - : { - ...program?.getCompilerOptions(), - ...tsNodeProps!.compilerOptions, - }; } else { throw new Error( - `Cannot transform without a Program, ts-node instance, or manual parameters supplied. ` + - `Make sure you're using ts-patch or ts-node with transpileOnly.`, + `Cannot transform without a Program or manual parameters supplied. ` + + `Make sure you're using ts-patch with transpileOnly.`, ); } diff --git a/src/types.ts b/src/types.ts index 2ac1a938..09644a06 100755 --- a/src/types.ts +++ b/src/types.ts @@ -62,7 +62,6 @@ export interface VisitorContext extends TsTransformPathsContext { /* ****************************************************************************************************************** */ export const RunMode = { - TsNode: "ts-node", Manual: "manual", Program: "program", }; diff --git a/src/utils/ts-helpers.ts b/src/utils/ts-helpers.ts index a1d42514..cdc45ce7 100755 --- a/src/utils/ts-helpers.ts +++ b/src/utils/ts-helpers.ts @@ -1,6 +1,5 @@ import path from "node:path"; -import type { REGISTER_INSTANCE } from "ts-node"; import type ts from "typescript"; import type { GetCanonicalFileName, SourceFile } from "typescript"; @@ -74,28 +73,4 @@ export function createSyntheticEmitHost( } as ts.EmitHost; } -/** Get ts-node register info */ -export function getTsNodeRegistrationProperties(tsInstance: typeof ts) { - let tsNodeSymbol: typeof REGISTER_INSTANCE; - try { - // eslint-disable-next-line @typescript-eslint/no-require-imports - tsNodeSymbol = require("ts-node")?.["REGISTER_INSTANCE"]; - } catch { - return; - } - - if (!global.process[tsNodeSymbol]) return; - - const { config, options } = global.process[tsNodeSymbol]!; - - const { configFilePath } = config.options; - // @ts-expect-error TS(2345) FIXME: Argument of type 'System' is not assignable to parameter of type 'ParseConfigFileHost'. - const pcl = configFilePath ? tsInstance.getParsedCommandLineOfConfigFile(configFilePath, {}, tsInstance.sys) : void 0; - - const fileNames = pcl?.fileNames || config.fileNames; - const compilerOptions = Object.assign({}, config.options, options.compilerOptions, { outDir: pcl?.options.outDir }); - - return { compilerOptions, fileNames, tsNodeOptions: options }; -} - // endregion diff --git a/test/projects/extras/tsconfig.json b/test/projects/extras/tsconfig.json index edd6eb8b..ee670fa3 100755 --- a/test/projects/extras/tsconfig.json +++ b/test/projects/extras/tsconfig.json @@ -1,10 +1,6 @@ { "include": ["src"], - "ts-node": { - "require": ["typescript-transform-paths/register"] - }, - "compilerOptions": { "noEmit": true, "outDir": "dist", diff --git a/test/yarn.lock b/test/yarn.lock index cf4b0899..321e19d6 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -1334,9 +1334,6 @@ __metadata: minimatch: "npm:^10.1.1" peerDependencies: typescript: ">=5" - peerDependenciesMeta: - ts-node: - optional: true languageName: node linkType: soft diff --git a/yarn.lock b/yarn.lock index ddb3b621..18f9f47d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,15 +5,6 @@ __metadata: version: 8 cacheKey: 10c0 -"@cspotcode/source-map-support@npm:^0.8.0": - version: 0.8.1 - resolution: "@cspotcode/source-map-support@npm:0.8.1" - dependencies: - "@jridgewell/trace-mapping": "npm:0.3.9" - checksum: 10c0/05c5368c13b662ee4c122c7bfbe5dc0b613416672a829f3e78bc49a357a197e0218d6e74e7c66cfcd04e15a179acab080bd3c69658c9fbefd0e1ccd950a07fc6 - languageName: node - linkType: hard - "@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.7.0": version: 4.7.0 resolution: "@eslint-community/eslint-utils@npm:4.7.0" @@ -161,30 +152,6 @@ __metadata: languageName: node linkType: hard -"@jridgewell/resolve-uri@npm:^3.0.3": - version: 3.1.2 - resolution: "@jridgewell/resolve-uri@npm:3.1.2" - checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e - languageName: node - linkType: hard - -"@jridgewell/sourcemap-codec@npm:^1.4.10": - version: 1.5.0 - resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" - checksum: 10c0/2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18 - languageName: node - linkType: hard - -"@jridgewell/trace-mapping@npm:0.3.9": - version: 0.3.9 - resolution: "@jridgewell/trace-mapping@npm:0.3.9" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.0.3" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - checksum: 10c0/fa425b606d7c7ee5bfa6a31a7b050dd5814b4082f318e0e4190f991902181b4330f43f4805db1dd4f2433fd0ed9cc7a7b9c2683f1deeab1df1b0a98b1e24055b - languageName: node - linkType: hard - "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -219,34 +186,6 @@ __metadata: languageName: node linkType: hard -"@tsconfig/node10@npm:^1.0.7": - version: 1.0.11 - resolution: "@tsconfig/node10@npm:1.0.11" - checksum: 10c0/28a0710e5d039e0de484bdf85fee883bfd3f6a8980601f4d44066b0a6bcd821d31c4e231d1117731c4e24268bd4cf2a788a6787c12fc7f8d11014c07d582783c - languageName: node - linkType: hard - -"@tsconfig/node12@npm:^1.0.7": - version: 1.0.11 - resolution: "@tsconfig/node12@npm:1.0.11" - checksum: 10c0/dddca2b553e2bee1308a056705103fc8304e42bb2d2cbd797b84403a223b25c78f2c683ec3e24a095e82cd435387c877239bffcb15a590ba817cd3f6b9a99fd9 - languageName: node - linkType: hard - -"@tsconfig/node14@npm:^1.0.0": - version: 1.0.3 - resolution: "@tsconfig/node14@npm:1.0.3" - checksum: 10c0/67c1316d065fdaa32525bc9449ff82c197c4c19092b9663b23213c8cbbf8d88b6ed6a17898e0cbc2711950fbfaf40388938c1c748a2ee89f7234fc9e7fe2bf44 - languageName: node - linkType: hard - -"@tsconfig/node16@npm:^1.0.2": - version: 1.0.4 - resolution: "@tsconfig/node16@npm:1.0.4" - checksum: 10c0/05f8f2734e266fb1839eb1d57290df1664fe2aa3b0fdd685a9035806daa635f7519bf6d5d9b33f6e69dd545b8c46bd6e2b5c79acb2b1f146e885f7f11a42a5bb - languageName: node - linkType: hard - "@types/debug@npm:^4.0.0": version: 4.1.12 resolution: "@types/debug@npm:4.1.12" @@ -319,44 +258,6 @@ __metadata: languageName: node linkType: hard -"@types/ts-node@npm:ts-node@^10.9.2": - version: 10.9.2 - resolution: "ts-node@npm:10.9.2" - dependencies: - "@cspotcode/source-map-support": "npm:^0.8.0" - "@tsconfig/node10": "npm:^1.0.7" - "@tsconfig/node12": "npm:^1.0.7" - "@tsconfig/node14": "npm:^1.0.0" - "@tsconfig/node16": "npm:^1.0.2" - acorn: "npm:^8.4.1" - acorn-walk: "npm:^8.1.1" - arg: "npm:^4.1.0" - create-require: "npm:^1.1.0" - diff: "npm:^4.0.1" - make-error: "npm:^1.1.1" - v8-compile-cache-lib: "npm:^3.0.1" - yn: "npm:3.1.1" - peerDependencies: - "@swc/core": ">=1.2.50" - "@swc/wasm": ">=1.2.50" - "@types/node": "*" - typescript: ">=2.7" - peerDependenciesMeta: - "@swc/core": - optional: true - "@swc/wasm": - optional: true - bin: - ts-node: dist/bin.js - ts-node-cwd: dist/bin-cwd.js - ts-node-esm: dist/bin-esm.js - ts-node-script: dist/bin-script.js - ts-node-transpile-only: dist/bin-transpile.js - ts-script: dist/bin-script-deprecated.js - checksum: 10c0/5f29938489f96982a25ba650b64218e83a3357d76f7bede80195c65ab44ad279c8357264639b7abdd5d7e75fc269a83daa0e9c62fd8637a3def67254ecc9ddc2 - languageName: node - linkType: hard - "@types/unist@npm:*, @types/unist@npm:^3.0.0": version: 3.0.3 resolution: "@types/unist@npm:3.0.3" @@ -510,16 +411,7 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^8.1.1": - version: 8.3.3 - resolution: "acorn-walk@npm:8.3.3" - dependencies: - acorn: "npm:^8.11.0" - checksum: 10c0/4a9e24313e6a0a7b389e712ba69b66b455b4cb25988903506a8d247e7b126f02060b05a8a5b738a9284214e4ca95f383dd93443a4ba84f1af9b528305c7f243b - languageName: node - linkType: hard - -"acorn@npm:^8.11.0, acorn@npm:^8.15.0, acorn@npm:^8.4.1": +"acorn@npm:^8.15.0": version: 8.15.0 resolution: "acorn@npm:8.15.0" bin: @@ -556,13 +448,6 @@ __metadata: languageName: node linkType: hard -"arg@npm:^4.1.0": - version: 4.1.3 - resolution: "arg@npm:4.1.3" - checksum: 10c0/070ff801a9d236a6caa647507bdcc7034530604844d64408149a26b9e87c2f97650055c0f049abd1efc024b334635c01f29e0b632b371ac3f26130f4cf65997a - languageName: node - linkType: hard - "argparse@npm:^2.0.1": version: 2.0.1 resolution: "argparse@npm:2.0.1" @@ -762,13 +647,6 @@ __metadata: languageName: node linkType: hard -"create-require@npm:^1.1.0": - version: 1.1.1 - resolution: "create-require@npm:1.1.1" - checksum: 10c0/157cbc59b2430ae9a90034a5f3a1b398b6738bf510f713edc4d4e45e169bc514d3d99dd34d8d01ca7ae7830b5b8b537e46ae8f3c8f932371b0875c0151d7ec91 - languageName: node - linkType: hard - "cross-spawn@npm:^7.0.6": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" @@ -862,13 +740,6 @@ __metadata: languageName: node linkType: hard -"diff@npm:^4.0.1": - version: 4.0.2 - resolution: "diff@npm:4.0.2" - checksum: 10c0/81b91f9d39c4eaca068eb0c1eb0e4afbdc5bb2941d197f513dd596b820b956fef43485876226d65d497bebc15666aa2aa82c679e84f65d5f2bfbf14ee46e32c1 - languageName: node - linkType: hard - "dotenv@npm:^17.2.3": version: 17.2.3 resolution: "dotenv@npm:17.2.3" @@ -1380,13 +1251,6 @@ __metadata: languageName: node linkType: hard -"make-error@npm:^1.1.1": - version: 1.3.6 - resolution: "make-error@npm:1.3.6" - checksum: 10c0/171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f - languageName: node - linkType: hard - "mdast-util-from-markdown@npm:^2.0.0": version: 2.0.1 resolution: "mdast-util-from-markdown@npm:2.0.1" @@ -2133,7 +1997,6 @@ __metadata: "@types/minimatch": "npm:^5.1.2" "@types/node": "npm:^24.3.0" "@types/ts-expose-internals": "npm:ts-expose-internals@4.9.5" - "@types/ts-node": "npm:ts-node@^10.9.2" changelogen: "npm:^0.6.2" eslint: "npm:9.x" globals: "npm:^16.4.0" @@ -2145,9 +2008,6 @@ __metadata: typescript-eslint: "npm:^8.3.0" peerDependencies: typescript: ">=5" - peerDependenciesMeta: - ts-node: - optional: true languageName: unknown linkType: soft @@ -2203,13 +2063,6 @@ __metadata: languageName: node linkType: hard -"v8-compile-cache-lib@npm:^3.0.1": - version: 3.0.1 - resolution: "v8-compile-cache-lib@npm:3.0.1" - checksum: 10c0/bdc36fb8095d3b41df197f5fb6f11e3a26adf4059df3213e3baa93810d8f0cc76f9a74aaefc18b73e91fe7e19154ed6f134eda6fded2e0f1c8d2272ed2d2d391 - languageName: node - linkType: hard - "which@npm:^2.0.1": version: 2.0.2 resolution: "which@npm:2.0.2" @@ -2248,13 +2101,6 @@ __metadata: languageName: node linkType: hard -"yn@npm:3.1.1": - version: 3.1.1 - resolution: "yn@npm:3.1.1" - checksum: 10c0/0732468dd7622ed8a274f640f191f3eaf1f39d5349a1b72836df484998d7d9807fbea094e2f5486d6b0cd2414aad5775972df0e68f8604db89a239f0f4bf7443 - languageName: node - linkType: hard - "yocto-queue@npm:^0.1.0": version: 0.1.0 resolution: "yocto-queue@npm:0.1.0"