Skip to content

Commit 1c03288

Browse files
committed
Test and fix invalid declaration-looking extensions
1 parent a55e9f7 commit 1c03288

File tree

4 files changed

+6
-3
lines changed

4 files changed

+6
-3
lines changed

test/node/rewriteRelativeImportExtension.test.js

+3
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ testHelper("__rewriteRelativeImportExtension", __rewriteRelativeImportExtension
99
assert.equal(__rewriteRelativeImportExtension("../../foo.ts"), "../../foo.js");
1010
assert.equal(__rewriteRelativeImportExtension("./foo.TS"), "./foo.js");
1111
assert.equal(__rewriteRelativeImportExtension("./foo.Ts"), "./foo.js");
12+
assert.equal(__rewriteRelativeImportExtension("./foo/.hidden/foo.ts"), "./foo/.hidden/foo.js");
1213
});
1314

1415
test("rewrites other TypeScript extensions", () => {
@@ -17,6 +18,8 @@ testHelper("__rewriteRelativeImportExtension", __rewriteRelativeImportExtension
1718
assert.equal(__rewriteRelativeImportExtension("./foo.tsx"), "./foo.js");
1819
assert.equal(__rewriteRelativeImportExtension("./foo.tsx", true), "./foo.jsx");
1920
assert.equal(__rewriteRelativeImportExtension("./foo.Tsx", true), "./foo.jsx");
21+
assert.equal(__rewriteRelativeImportExtension("./foo.d.css.mts"), "./foo.d.css.mjs");
22+
assert.equal(__rewriteRelativeImportExtension("./foo.d.tsx"), "./foo.d.js");
2023
});
2124

2225
test("does not rewrite other extensions", () => {

tslib.es6.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ export function __rewriteRelativeImportExtension(path, preserveJsx) {
354354
return path.substring(0, path.length - 4) + (preserveJsx ? ".jsx" : ".js");
355355
}
356356
return path.replace(/(\.d)?(\.[^./]+?)?\.([cm])?ts$/i, function (m, d, ext, cm) {
357-
return d && (ext && !cm || !ext) ? m : ("." + (cm || "").toLowerCase() + "js");
357+
return d && (ext && !cm || !ext) ? m : ((d || "") + (ext || "") + "." + (cm || "").toLowerCase() + "js");
358358
});
359359
}
360360
return path;

tslib.es6.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,7 @@ export function __rewriteRelativeImportExtension(path, preserveJsx) {
353353
return path.substring(0, path.length - 4) + (preserveJsx ? ".jsx" : ".js");
354354
}
355355
return path.replace(/(\.d)?(\.[^./]+?)?\.([cm])?ts$/i, function (m, d, ext, cm) {
356-
return d && (ext && !cm || !ext) ? m : ("." + (cm || "").toLowerCase() + "js");
356+
return d && (ext && !cm || !ext) ? m : ((d || "") + (ext || "") + "." + (cm || "").toLowerCase() + "js");
357357
});
358358
}
359359
return path;

tslib.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,7 @@ var __rewriteRelativeImportExtension;
402402
return path.substring(0, path.length - 4) + (preserveJsx ? ".jsx" : ".js");
403403
}
404404
return path.replace(/(\.d)?(\.[^./]+?)?\.([cm])?ts$/i, function (m, d, ext, cm) {
405-
return d && (ext && !cm || !ext) ? m : ("." + (cm || "").toLowerCase() + "js");
405+
return d && (ext && !cm || !ext) ? m : ((d || "") + (ext || "") + "." + (cm || "").toLowerCase() + "js");
406406
});
407407
}
408408
return path;

0 commit comments

Comments
 (0)