From 98c804343e08c531d9e9741456afb52185a2a0dc Mon Sep 17 00:00:00 2001 From: Ben Limmer Date: Sat, 2 Nov 2024 11:19:17 -0600 Subject: [PATCH 1/6] fix: flakey local tests --- test/tests/extras.test.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/test/tests/extras.test.ts b/test/tests/extras.test.ts index 58ffb73..815d3ef 100755 --- a/test/tests/extras.test.ts +++ b/test/tests/extras.test.ts @@ -34,14 +34,20 @@ describe(`Extra Tests`, () => { }); describe(`ts-node register script`, () => { + /** Yarn sometimes outputs bold text, which makes these tests flakey */ + function stripAnsi(str: string) { + // eslint-disable-next-line no-control-regex + return str.replace(/\x1B\[[0-?]*[ -/]*[@-~]/g, ""); + } + test(`Works with --transpileOnly`, () => { const res = execSync("yarn g:ts-node --transpileOnly src/index.ts", { cwd: projectRoot }).toString(); - expect(res).toMatch(/^null($|\r?\n)/m); + expect(stripAnsi(res.trim())).toEqual("null"); }); test(`Works with --typeCheck`, () => { const res = execSync("yarn g:ts-node --typeCheck src/index.ts", { cwd: projectRoot }).toString(); - expect(res).toMatch(/^null($|\r?\n)/); + expect(stripAnsi(res.trim())).toEqual("null"); }); }); }); From 963a35f7b806c3ce1eefb8c77564b2bbb15de385 Mon Sep 17 00:00:00 2001 From: Ben Limmer Date: Sat, 2 Nov 2024 11:54:28 -0600 Subject: [PATCH 2/6] feat: add 5.5 test --- test/config.ts | 2 ++ test/package.json | 1 + test/prepare.mjs | 1 + test/yarn.lock | 21 +++++++++++---------- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/test/config.ts b/test/config.ts index 51bdc5e..3d55997 100755 --- a/test/config.ts +++ b/test/config.ts @@ -1,11 +1,13 @@ import ts from "typescript"; import tsThree from "typescript-3"; import tsFourSeven from "typescript-4.7"; +import tsFiveFive from "typescript-5.5"; import path from "node:path"; export const tsModules = [ ["3.6.5", tsThree, "typescript-3"], ["4.7.4", tsFourSeven, "typescript-4.7"], + ["5.5.4", tsFiveFive, "typescript-5.5"], ["Latest", ts, "typescript"], ]; diff --git a/test/package.json b/test/package.json index 86340d7..def08dc 100755 --- a/test/package.json +++ b/test/package.json @@ -24,6 +24,7 @@ "typescript": "^5.5.4", "typescript-3": "npm:typescript@3.6.5", "typescript-4.7": "npm:typescript@4.7.4", + "typescript-5.5": "npm:typescript@5.5.4", "typescript-transform-paths": "portal:../" }, "workspaces": [ diff --git a/test/prepare.mjs b/test/prepare.mjs index 9a08fa3..f63f168 100755 --- a/test/prepare.mjs +++ b/test/prepare.mjs @@ -30,6 +30,7 @@ function patchTsModules() { patchTypescript("typescript-3", patch1); patchTypescript("typescript-4.7", patch2); + patchTypescript("typescript-5.5", patch); patchTypescript("typescript", patch); } diff --git a/test/yarn.lock b/test/yarn.lock index 392ca81..9605429 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -8072,6 +8072,7 @@ __metadata: typescript: "npm:^5.5.4" typescript-3: "npm:typescript@3.6.5" typescript-4.7: "npm:typescript@4.7.4" + typescript-5.5: "npm:typescript@5.5.4" typescript-transform-paths: "portal:../" languageName: unknown linkType: soft @@ -9230,6 +9231,16 @@ __metadata: languageName: node linkType: hard +"typescript-5.5@npm:typescript@5.5.4, typescript@npm:^5.5.4": + version: 5.5.4 + resolution: "typescript@npm:5.5.4" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/422be60f89e661eab29ac488c974b6cc0a660fb2228003b297c3d10c32c90f3bcffc1009b43876a082515a3c376b1eefcce823d6e78982e6878408b9a923199c + languageName: node + linkType: hard + "typescript-transform-paths@portal:../::locator=root-workspace-0b6124%40workspace%3A.": version: 0.0.0-use.local resolution: "typescript-transform-paths@portal:../::locator=root-workspace-0b6124%40workspace%3A." @@ -9240,16 +9251,6 @@ __metadata: languageName: node linkType: soft -"typescript@npm:^5.5.4": - version: 5.5.4 - resolution: "typescript@npm:5.5.4" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/422be60f89e661eab29ac488c974b6cc0a660fb2228003b297c3d10c32c90f3bcffc1009b43876a082515a3c376b1eefcce823d6e78982e6878408b9a923199c - languageName: node - linkType: hard - "typescript@patch:typescript@npm%3A^5.5.4#optional!builtin": version: 5.5.4 resolution: "typescript@patch:typescript@npm%3A5.5.4#optional!builtin::version=5.5.4&hash=379a07" From dcc9f3f5511c4deecf1343f61fe90af2235107b4 Mon Sep 17 00:00:00 2001 From: Ben Limmer Date: Sat, 2 Nov 2024 11:57:34 -0600 Subject: [PATCH 3/6] add failing test for 5.6 --- test/config.ts | 2 ++ test/package.json | 1 + test/prepare.mjs | 1 + test/yarn.lock | 11 +++++++++++ 4 files changed, 15 insertions(+) diff --git a/test/config.ts b/test/config.ts index 3d55997..5b1566e 100755 --- a/test/config.ts +++ b/test/config.ts @@ -2,12 +2,14 @@ import ts from "typescript"; import tsThree from "typescript-3"; import tsFourSeven from "typescript-4.7"; import tsFiveFive from "typescript-5.5"; +import tsFiveSix from "typescript-5.6"; import path from "node:path"; export const tsModules = [ ["3.6.5", tsThree, "typescript-3"], ["4.7.4", tsFourSeven, "typescript-4.7"], ["5.5.4", tsFiveFive, "typescript-5.5"], + ["5.6.3", tsFiveSix, "typescript-5.6"], ["Latest", ts, "typescript"], ]; diff --git a/test/package.json b/test/package.json index def08dc..0fdcb99 100755 --- a/test/package.json +++ b/test/package.json @@ -25,6 +25,7 @@ "typescript-3": "npm:typescript@3.6.5", "typescript-4.7": "npm:typescript@4.7.4", "typescript-5.5": "npm:typescript@5.5.4", + "typescript-5.6": "npm:typescript@5.6.3", "typescript-transform-paths": "portal:../" }, "workspaces": [ diff --git a/test/prepare.mjs b/test/prepare.mjs index f63f168..45e327c 100755 --- a/test/prepare.mjs +++ b/test/prepare.mjs @@ -31,6 +31,7 @@ function patchTsModules() { patchTypescript("typescript-3", patch1); patchTypescript("typescript-4.7", patch2); patchTypescript("typescript-5.5", patch); + patchTypescript("typescript-5.6", patch); patchTypescript("typescript", patch); } diff --git a/test/yarn.lock b/test/yarn.lock index 9605429..54ceb57 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -8073,6 +8073,7 @@ __metadata: typescript-3: "npm:typescript@3.6.5" typescript-4.7: "npm:typescript@4.7.4" typescript-5.5: "npm:typescript@5.5.4" + typescript-5.6: "npm:typescript@5.6.3" typescript-transform-paths: "portal:../" languageName: unknown linkType: soft @@ -9241,6 +9242,16 @@ __metadata: languageName: node linkType: hard +"typescript-5.6@npm:typescript@5.6.3": + version: 5.6.3 + resolution: "typescript@npm:5.6.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/44f61d3fb15c35359bc60399cb8127c30bae554cd555b8e2b46d68fa79d680354b83320ad419ff1b81a0bdf324197b29affe6cc28988cd6a74d4ac60c94f9799 + languageName: node + linkType: hard + "typescript-transform-paths@portal:../::locator=root-workspace-0b6124%40workspace%3A.": version: 0.0.0-use.local resolution: "typescript-transform-paths@portal:../::locator=root-workspace-0b6124%40workspace%3A." From 21f06cd291e3bab2b8298ab988f47fabbe3ff628 Mon Sep 17 00:00:00 2001 From: Ben Limmer Date: Sat, 2 Nov 2024 11:58:01 -0600 Subject: [PATCH 4/6] fix: bump latest ts --- test/package.json | 2 +- test/yarn.lock | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/test/package.json b/test/package.json index 0fdcb99..fef0ec2 100755 --- a/test/package.json +++ b/test/package.json @@ -21,7 +21,7 @@ "ts-patch": "^3.2.1", "tsp1": "npm:ts-patch@1.*.*", "tsp2": "npm:ts-patch@2.*.*", - "typescript": "^5.5.4", + "typescript": "^5.6.3", "typescript-3": "npm:typescript@3.6.5", "typescript-4.7": "npm:typescript@4.7.4", "typescript-5.5": "npm:typescript@5.5.4", diff --git a/test/yarn.lock b/test/yarn.lock index 54ceb57..94bed9a 100644 --- a/test/yarn.lock +++ b/test/yarn.lock @@ -8069,7 +8069,7 @@ __metadata: ts-patch: "npm:^3.2.1" tsp1: "npm:ts-patch@1.*.*" tsp2: "npm:ts-patch@2.*.*" - typescript: "npm:^5.5.4" + typescript: "npm:^5.6.3" typescript-3: "npm:typescript@3.6.5" typescript-4.7: "npm:typescript@4.7.4" typescript-5.5: "npm:typescript@5.5.4" @@ -9232,7 +9232,7 @@ __metadata: languageName: node linkType: hard -"typescript-5.5@npm:typescript@5.5.4, typescript@npm:^5.5.4": +"typescript-5.5@npm:typescript@5.5.4": version: 5.5.4 resolution: "typescript@npm:5.5.4" bin: @@ -9242,7 +9242,7 @@ __metadata: languageName: node linkType: hard -"typescript-5.6@npm:typescript@5.6.3": +"typescript-5.6@npm:typescript@5.6.3, typescript@npm:^5.6.3": version: 5.6.3 resolution: "typescript@npm:5.6.3" bin: @@ -9262,13 +9262,13 @@ __metadata: languageName: node linkType: soft -"typescript@patch:typescript@npm%3A^5.5.4#optional!builtin": - version: 5.5.4 - resolution: "typescript@patch:typescript@npm%3A5.5.4#optional!builtin::version=5.5.4&hash=379a07" +"typescript@patch:typescript@npm%3A^5.6.3#optional!builtin": + version: 5.6.3 + resolution: "typescript@patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=74658d" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10c0/73409d7b9196a5a1217b3aaad929bf76294d3ce7d6e9766dd880ece296ee91cf7d7db6b16c6c6c630ee5096eccde726c0ef17c7dfa52b01a243e57ae1f09ef07 + checksum: 10c0/ac8307bb06bbfd08ae7137da740769b7d8c3ee5943188743bb622c621f8ad61d244767480f90fbd840277fbf152d8932aa20c33f867dea1bb5e79b187ca1a92f languageName: node linkType: hard From fb893fab00364476ca007c65833f3a304886114d Mon Sep 17 00:00:00 2001 From: Ben Limmer Date: Sat, 2 Nov 2024 12:02:27 -0600 Subject: [PATCH 5/6] fix: 5.6 compatibility --- src/transformer.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/transformer.ts b/src/transformer.ts index e4990f8..38459bf 100755 --- a/src/transformer.ts +++ b/src/transformer.ts @@ -135,7 +135,9 @@ export default function transformer( ...tsTransformPathsContext, sourceFile, isDeclarationFile: sourceFile.isDeclarationFile, - originalSourceFile: (tsInstance).getOriginalSourceFile(sourceFile), + originalSourceFile: (tsInstance).getSourceFileOfNode + ? (tsInstance).getSourceFileOfNode(sourceFile) + : (tsInstance).getOriginalSourceFile(sourceFile), getVisitor() { return nodeVisitor.bind(this); }, From 9744b3448aa26b86ed8396cd005a3cd302fccb71 Mon Sep 17 00:00:00 2001 From: Ben Limmer Date: Sat, 2 Nov 2024 12:14:07 -0600 Subject: [PATCH 6/6] fix: no internals --- src/transformer.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/transformer.ts b/src/transformer.ts index 38459bf..47228cd 100755 --- a/src/transformer.ts +++ b/src/transformer.ts @@ -135,9 +135,7 @@ export default function transformer( ...tsTransformPathsContext, sourceFile, isDeclarationFile: sourceFile.isDeclarationFile, - originalSourceFile: (tsInstance).getSourceFileOfNode - ? (tsInstance).getSourceFileOfNode(sourceFile) - : (tsInstance).getOriginalSourceFile(sourceFile), + originalSourceFile: ts.getParseTreeNode(sourceFile, ts.isSourceFile) || sourceFile, getVisitor() { return nodeVisitor.bind(this); },