@ezy/webp
Version:
libwebp wrapper for nodejs
62 lines • 4.9 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
// tslint:disable: no-console
const fs_1 = require("fs");
// @ts-ignore
const request_1 = __importDefault(require("request"));
// @ts-ignore
const tar_1 = require("tar");
// @ts-ignore
const unzipper_1 = require("unzipper");
const zlib_1 = require("zlib");
const utils_1 = require("../lib/utils");
// needed to cpoy into build
require("./package.json");
fs_1.mkdir(utils_1.LIB_PATH, e => {
if (e) {
console.error(e);
}
else {
const downloadUrls = utils_1.platforms.reduce((result, plateform) => {
if (plateform.substr(0, 7) === 'windows') {
result.zip.push(`${utils_1.config.libwebp.repo}/libwebp-${utils_1.config.libwebp.version}-${plateform}.zip`);
}
else {
result.tar.push(`${utils_1.config.libwebp.repo}/libwebp-${utils_1.config.libwebp.version}-${plateform}.tar.gz`);
}
return result;
}, { tar: [], zip: [] });
console.log(`downloading libwebp version ${utils_1.config.libwebp.version}`);
let downloads = downloadUrls.zip.map(url => {
return {
stream: request_1.default(url).pipe(unzipper_1.Extract({ path: utils_1.LIB_PATH })),
url
};
});
downloads = downloads.concat(downloadUrls.tar.map(url => {
return {
stream: request_1.default(url)
.pipe(zlib_1.createGunzip())
.pipe(tar_1.extract({ cwd: utils_1.LIB_PATH })),
url
};
}));
let remaings = utils_1.platforms.length;
downloads.map(({ url, stream }) => {
stream.on('error', err => {
console.error(`error while downloading: ${url}: ${err.message}`);
});
stream.on('close', () => {
console.log(`${url} done`);
remaings--;
if (remaings === 0) {
console.log('done');
}
});
});
}
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcG9zdGluc3RhbGwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2QkFBNkI7QUFDN0IsMkJBQTJCO0FBQzNCLGFBQWE7QUFDYixzREFBOEI7QUFDOUIsYUFBYTtBQUNiLDZCQUE0QztBQUM1QyxhQUFhO0FBQ2IsdUNBQWlEO0FBQ2pELCtCQUFvQztBQUNwQyx3Q0FBMkQ7QUFDM0QsNEJBQTRCO0FBQzVCLDBCQUF3QjtBQUV4QixVQUFLLENBQUMsZ0JBQVEsRUFBRSxDQUFDLENBQUMsRUFBRTtJQUNsQixJQUFJLENBQUMsRUFBRTtRQUNMLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDbEI7U0FBTTtRQUNMLE1BQU0sWUFBWSxHQUFHLGlCQUFTLENBQUMsTUFBTSxDQUNuQyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRTtZQUNwQixJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLFNBQVMsRUFBRTtnQkFDeEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQ2IsR0FBRyxjQUFNLENBQUMsT0FBTyxDQUFDLElBQUksWUFBWSxjQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxTQUFTLE1BQU0sQ0FDNUUsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUNiLEdBQUcsY0FBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFlBQVksY0FBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksU0FBUyxTQUFTLENBQy9FLENBQUM7YUFDSDtZQUNELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsRUFDRCxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUNyQixDQUFDO1FBRUYsT0FBTyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsY0FBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBRXJFLElBQUksU0FBUyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3pDLE9BQU87Z0JBQ0wsTUFBTSxFQUFFLGlCQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsZ0JBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQ3pELEdBQUc7YUFDSixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxTQUFTLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FDMUIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDekIsT0FBTztnQkFDTCxNQUFNLEVBQUUsaUJBQU8sQ0FBQyxHQUFHLENBQUM7cUJBQ2pCLElBQUksQ0FBQyxtQkFBWSxFQUFFLENBQUM7cUJBQ3BCLElBQUksQ0FBQyxhQUFVLENBQUMsRUFBRSxHQUFHLEVBQUUsZ0JBQVEsRUFBRSxDQUFDLENBQUM7Z0JBQ3RDLEdBQUc7YUFDSixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLElBQUksUUFBUSxHQUFHLGlCQUFTLENBQUMsTUFBTSxDQUFDO1FBRWhDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO1lBQ2hDLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUN2QixPQUFPLENBQUMsS0FBSyxDQUFDLDRCQUE0QixHQUFHLEtBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDbkUsQ0FBQyxDQUFDLENBQUM7WUFFSCxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7Z0JBQ3RCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDO2dCQUMzQixRQUFRLEVBQUUsQ0FBQztnQkFDWCxJQUFJLFFBQVEsS0FBSyxDQUFDLEVBQUU7b0JBQ2xCLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ3JCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztLQUNKO0FBQ0gsQ0FBQyxDQUFDLENBQUMifQ==