UNPKG

@ezy/webp

Version:

libwebp wrapper for nodejs

62 lines 4.9 kB
"use strict"; 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==