in src/handler/GenerateProjectHandler.ts [109:129]
async function downloadAndUnzip(targetUrl: string, targetFolder: string): Promise<void> {
await vscode.window.withProgress({ location: vscode.ProgressLocation.Notification }, (p: vscode.Progress<{ message?: string }>) => new Promise<void>(
async (resolve: () => void, reject: (e: Error) => void): Promise<void> => {
let filepath: string;
try {
p.report({ message: "Downloading zip package..." });
filepath = await downloadFile(targetUrl);
} catch (error) {
return reject(error);
}
p.report({ message: "Starting to unzip..." });
extract(filepath, { dir: targetFolder }, (err) => {
if (err) {
return reject(err);
}
return resolve();
});
},
));
}