Skip to content

Commit 3f4ed48

Browse files
committed
Trim whitespace and slashes in pack names
1 parent bf9bfb1 commit 3f4ed48

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

extensions/ql-vscode/src/model-editor/extension-pack-name.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,17 @@ export function formatPackName(packName: ExtensionPackName): string {
1717

1818
export function sanitizePackName(userPackName: string): ExtensionPackName {
1919
let packName = userPackName;
20+
21+
packName = packName.trim();
22+
23+
while (packName.startsWith("/")) {
24+
packName = packName.slice(1);
25+
}
26+
27+
while (packName.endsWith("/")) {
28+
packName = packName.slice(0, -1);
29+
}
30+
2031
if (!packName.includes("/")) {
2132
packName = `pack/${packName}`;
2233
}

extensions/ql-vscode/test/unit-tests/model-editor/extension-pack-name.test.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,18 @@ describe("sanitizePackName", () => {
5858
name: "a/b--d--e-d-csharp",
5959
expected: "a/b-d-e-d-csharp",
6060
},
61+
{
62+
name: "/github/vscode-codeql",
63+
expected: "github/vscode-codeql",
64+
},
65+
{
66+
name: "github/vscode-codeql/",
67+
expected: "github/vscode-codeql",
68+
},
69+
{
70+
name: "///github/vscode-codeql///",
71+
expected: "github/vscode-codeql",
72+
},
6173
];
6274

6375
test.each(testCases)(

0 commit comments

Comments
 (0)