Skip to content

Commit 5dc02ef

Browse files
committed
Use a different RegEx
1 parent 5395d0d commit 5dc02ef

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

src/compiler/core.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2417,7 +2417,13 @@ namespace ts {
24172417
* Takes a string like "jquery-min.4.2.3" and returns "jquery"
24182418
*/
24192419
export function removeMinAndVersionNumbers(fileName: string) {
2420-
return fileName.replace(/((?:\.|-)min(?=\.|$))|((?:-|\.)\d+)/g, "");
2420+
const match = /((\w|(-(?!min)))+)(\.|-)?.*/.exec(fileName);
2421+
if (match) {
2422+
return match[1];
2423+
}
2424+
else {
2425+
return fileName;
2426+
}
24212427
}
24222428

24232429
export interface ObjectAllocator {

src/harness/unittests/tsserverProjectSystem.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1496,6 +1496,28 @@ namespace ts.projectSystem {
14961496
}
14971497
});
14981498

1499+
it("removes version numbers correctly", () => {
1500+
const testData: [string, string][] = [
1501+
["jquery-max", "jquery-max"],
1502+
["jquery.min", "jquery"],
1503+
["jquery-min.4.2.3", "jquery"],
1504+
["jquery.4.2-test.js", "jquery"],
1505+
["jquery.min.4.2.1", "jquery"],
1506+
["jquery.7.min.js", "jquery"],
1507+
["jquery.7.min-beta", "jquery"],
1508+
["minimum", "minimum"],
1509+
["min", "min"],
1510+
["min.3.2", "min"],
1511+
["jquery", "jquery"]
1512+
];
1513+
const suffixes = [".js", ".jsx", ""];
1514+
for (const t of testData) {
1515+
for (const suf of suffixes) {
1516+
assert.equal(removeMinAndVersionNumbers(t[0] + suf), t[1]);
1517+
}
1518+
}
1519+
});
1520+
14991521
it("ignores files excluded by a legacy safe type list", () => {
15001522
const file1 = {
15011523
path: "/a/b/bliss.js",

0 commit comments

Comments
 (0)