Skip to content

Commit c5a76ab

Browse files
fix(vscode-desktop-core): update extension extraction and download methods, and add module dir with logging paths for troubleshooting
1 parent e336fa8 commit c5a76ab

File tree

2 files changed

+140
-68
lines changed

2 files changed

+140
-68
lines changed

registry/coder/modules/vscode-desktop-core/main.test.ts

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -117,37 +117,41 @@ describe("vscode-desktop-core extension script logic", async () => {
117117
{
118118
protocol: "vscode",
119119
name: "VS Code",
120-
expectedUrls: ["marketplace.visualstudio.com"],
120+
expectedUrls: [
121+
"marketplace.visualstudio.com/_apis/public/gallery/vscode/",
122+
],
121123
marketplace: "Microsoft",
122124
},
123125
{
124126
protocol: "vscode-insiders",
125127
name: "VS Code Insiders",
126-
expectedUrls: ["marketplace.visualstudio.com"],
128+
expectedUrls: [
129+
"marketplace.visualstudio.com/_apis/public/gallery/vscode/",
130+
],
127131
marketplace: "Microsoft",
128132
},
129133
{
130134
protocol: "vscodium",
131135
name: "VSCodium",
132-
expectedUrls: ["open-vsx.org"],
136+
expectedUrls: ["open-vsx.org/api/"],
133137
marketplace: "Open VSX",
134138
},
135139
{
136140
protocol: "cursor",
137141
name: "Cursor",
138-
expectedUrls: ["open-vsx.org"],
142+
expectedUrls: ["open-vsx.org/api/"],
139143
marketplace: "Open VSX",
140144
},
141145
{
142146
protocol: "windsurf",
143147
name: "WindSurf",
144-
expectedUrls: ["open-vsx.org"],
148+
expectedUrls: ["open-vsx.org/api/"],
145149
marketplace: "Open VSX",
146150
},
147151
{
148152
protocol: "kiro",
149153
name: "Kiro",
150-
expectedUrls: ["open-vsx.org"],
154+
expectedUrls: ["open-vsx.org/api/"],
151155
marketplace: "Open VSX",
152156
},
153157
];
@@ -186,15 +190,15 @@ describe("vscode-desktop-core extension script logic", async () => {
186190
// Verify extension ID is present
187191
expect(scriptContent).toContain("ms-vscode.hexeditor");
188192

189-
// Verify the case statement includes the IDE protocol
193+
// Verify the case statement includes the IDE protocol (Terraform substitutes the variable)
190194
expect(scriptContent).toContain(`case "${ide.protocol}" in`);
191195

192196
// Verify that the correct case branch exists for the IDE
193197
if (ide.marketplace === "Microsoft") {
194-
expect(scriptContent).toContain(`"vscode"|"vscode-insiders"`);
198+
expect(scriptContent).toContain(`"vscode" | "vscode-insiders"`);
195199
} else {
196200
expect(scriptContent).toContain(
197-
`"vscodium"|"cursor"|"windsurf"|"kiro"`,
201+
`"vscodium" | "cursor" | "windsurf" | "kiro"`,
198202
);
199203
}
200204

@@ -206,11 +210,11 @@ describe("vscode-desktop-core extension script logic", async () => {
206210
// Verify the script uses the correct case branch for this IDE
207211
if (ide.marketplace === "Microsoft") {
208212
expect(scriptContent).toContain(
209-
"# Microsoft IDEs: Use Visual Studio Marketplace",
213+
"# Microsoft IDEs: Use the VS Code API to get metadata",
210214
);
211215
} else {
212216
expect(scriptContent).toContain(
213-
"# Non-Microsoft IDEs: Use Open VSX Registry",
217+
"# Non-Microsoft IDEs: Use Open VSX Registry metadata endpoint",
214218
);
215219
}
216220
});
@@ -223,7 +227,7 @@ describe("vscode-desktop-core extension script logic", async () => {
223227
const variables = {
224228
...defaultVariables,
225229
extensions_urls:
226-
'["https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ms-vscode/vsextensions/hexeditor/latest/vspackage"]',
230+
'["https://marketplace.visualstudio.com/_apis/public/gallery/vscode/ms-vscode/hexeditor/latest"]',
227231
extensions_dir: extensionsDir,
228232
};
229233

0 commit comments

Comments
 (0)