in BuildTasks/PublishExtension/vsixeditor.ts [136:160]
private createArchive(input: string, output: string): void {
if (tl.osType() === "Windows_NT") {
const sevenZip = require("7zip-bin-win");
const zip = new tr.ToolRunner(sevenZip.path7za);
zip.arg("a");
zip.arg(output); // redirect output to file
zip.arg(path.join(input, "\\*"));
zip.arg("-r"); // recursive
zip.arg("-y"); // assume yes on all queries
zip.arg("-tzip"); // zip format
zip.arg("-mx9"); // max compression level
zip.execSync();
}
else {
const zip = new tr.ToolRunner(tl.which("zip", true));
const cwd = tl.cwd();
tl.cd(input);
zip.arg(path.join(cwd, output)); // redirect output to file
zip.arg(".");
zip.arg("-r"); // recursive
zip.arg("-9"); // max compression level
zip.execSync();
tl.cd(cwd);
}
}