Skip to content

Commit a55e9f7

Browse files
committed
Do more with a regex
1 parent e828dac commit a55e9f7

File tree

3 files changed

+9
-24
lines changed

3 files changed

+9
-24
lines changed

tslib.es6.js

+3-8
Original file line numberDiff line numberDiff line change
@@ -353,14 +353,9 @@ export function __rewriteRelativeImportExtension(path, preserveJsx) {
353353
if (path.substring(path.length - 4).toLowerCase() === ".tsx") {
354354
return path.substring(0, path.length - 4) + (preserveJsx ? ".jsx" : ".js");
355355
}
356-
var extMatch = path.match(/\.[cm]?ts$/i);
357-
if (extMatch) {
358-
var ext = extMatch[0].toLowerCase();
359-
var dot = path.lastIndexOf(".", path.length - (ext.length + 1));
360-
if (dot < 0 || !(path.substring(dot - 2, dot).toLowerCase() === ".d" || path.substring(dot, dot + 2).toLowerCase() === ".d")) {
361-
return path.substring(0, path.length - ext.length) + (ext === ".mts" ? ".mjs" : ext === ".cts" ? ".cjs" : ".js");
362-
}
363-
}
356+
return path.replace(/(\.d)?(\.[^./]+?)?\.([cm])?ts$/i, function (m, d, ext, cm) {
357+
return d && (ext && !cm || !ext) ? m : ("." + (cm || "").toLowerCase() + "js");
358+
});
364359
}
365360
return path;
366361
}

tslib.es6.mjs

+3-8
Original file line numberDiff line numberDiff line change
@@ -352,14 +352,9 @@ export function __rewriteRelativeImportExtension(path, preserveJsx) {
352352
if (path.substring(path.length - 4).toLowerCase() === ".tsx") {
353353
return path.substring(0, path.length - 4) + (preserveJsx ? ".jsx" : ".js");
354354
}
355-
var extMatch = path.match(/\.[cm]?ts$/i);
356-
if (extMatch) {
357-
var ext = extMatch[0].toLowerCase();
358-
var dot = path.lastIndexOf(".", path.length - (ext.length + 1));
359-
if (dot < 0 || !(path.substring(dot - 2, dot).toLowerCase() === ".d" || path.substring(dot, dot + 2).toLowerCase() === ".d")) {
360-
return path.substring(0, path.length - ext.length) + (ext === ".mts" ? ".mjs" : ext === ".cts" ? ".cjs" : ".js");
361-
}
362-
}
355+
return path.replace(/(\.d)?(\.[^./]+?)?\.([cm])?ts$/i, function (m, d, ext, cm) {
356+
return d && (ext && !cm || !ext) ? m : ("." + (cm || "").toLowerCase() + "js");
357+
});
363358
}
364359
return path;
365360
}

tslib.js

+3-8
Original file line numberDiff line numberDiff line change
@@ -401,14 +401,9 @@ var __rewriteRelativeImportExtension;
401401
if (path.substring(path.length - 4).toLowerCase() === ".tsx") {
402402
return path.substring(0, path.length - 4) + (preserveJsx ? ".jsx" : ".js");
403403
}
404-
var extMatch = path.match(/\.[cm]?ts$/i);
405-
if (extMatch) {
406-
var ext = extMatch[0].toLowerCase();
407-
var dot = path.lastIndexOf(".", path.length - (ext.length + 1));
408-
if (dot < 0 || !(path.substring(dot - 2, dot).toLowerCase() === ".d" || path.substring(dot, dot + 2).toLowerCase() === ".d")) {
409-
return path.substring(0, path.length - ext.length) + (ext === ".mts" ? ".mjs" : ext === ".cts" ? ".cjs" : ".js");
410-
}
411-
}
404+
return path.replace(/(\.d)?(\.[^./]+?)?\.([cm])?ts$/i, function (m, d, ext, cm) {
405+
return d && (ext && !cm || !ext) ? m : ("." + (cm || "").toLowerCase() + "js");
406+
});
412407
}
413408
return path;
414409
};

0 commit comments

Comments
 (0)