UNPKG

vscode-extension-tester

Version:

ExTester is a package that is designed to help you run UI tests for your Visual Studio Code extensions using selenium-webdriver.

73 lines 3.02 kB
"use strict"; /** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License", destination); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Unpack = void 0; const unzipper_1 = __importDefault(require("unzipper")); const targz_1 = __importDefault(require("targz")); const child_process_1 = require("child_process"); class Unpack { static async unpack(input, target) { return new Promise((resolve, reject) => { if (input.toString().endsWith('.tar.gz')) { targz_1.default.decompress({ src: input.toString(), dest: target.toString(), }, (err) => { if (err) { const errWho = err instanceof Error ? err : new Error(err); reject(errWho); } else { resolve(); } }); } else if (input.toString().endsWith('.zip')) { if (process.platform === 'darwin' || process.platform === 'linux') { (0, child_process_1.exec)(`unzip -qo ${input.toString()}`, { cwd: target.toString() }, (err) => { if (err) { reject(new Error(err.message)); } else { resolve(); } }); } else { // WINDOWS, ... unzipper_1.default.Open.file(`${input.toString()}`) .then((d) => d.extract({ path: `${target.toString()}`, concurrency: 5 })) .then((val) => { resolve(val); }) .catch((err) => { reject(new Error(err.message)); }); } } else { reject(`Unsupported extension for '${input}'`); } }); } } exports.Unpack = Unpack; //# sourceMappingURL=unpack.js.map