Skip to content

Commit 3675dbe

Browse files
committed
Use a different RegEx
1 parent fc8cdc0 commit 3675dbe

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
@@ -1540,6 +1540,28 @@ namespace ts.projectSystem {
15401540
}
15411541
});
15421542

1543+
it("removes version numbers correctly", () => {
1544+
const testData: [string, string][] = [
1545+
["jquery-max", "jquery-max"],
1546+
["jquery.min", "jquery"],
1547+
["jquery-min.4.2.3", "jquery"],
1548+
["jquery.4.2-test.js", "jquery"],
1549+
["jquery.min.4.2.1", "jquery"],
1550+
["jquery.7.min.js", "jquery"],
1551+
["jquery.7.min-beta", "jquery"],
1552+
["minimum", "minimum"],
1553+
["min", "min"],
1554+
["min.3.2", "min"],
1555+
["jquery", "jquery"]
1556+
];
1557+
const suffixes = [".js", ".jsx", ""];
1558+
for (const t of testData) {
1559+
for (const suf of suffixes) {
1560+
assert.equal(removeMinAndVersionNumbers(t[0] + suf), t[1]);
1561+
}
1562+
}
1563+
});
1564+
15431565
it("ignores files excluded by a legacy safe type list", () => {
15441566
const file1 = {
15451567
path: "/a/b/bliss.js",

0 commit comments

Comments
 (0)