UNPKG

adr

Version:

轻量级架构记录工具 - Command-line tools for working with Architecture Decision Records

55 lines 4.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.compress = void 0; let fs = require('fs'); let sharp = require('sharp'); let resolve = require('path').resolve; const cache_1 = require("./cache"); const Config_1 = require("./Config"); function getListOfCompressedImages() { return cache_1.default.get('images'); } function getListOfImages() { let assetsPath = Config_1.default.getAssetsPath(); return fs.readdirSync(assetsPath); } function saveListOfCompressedImages(imageList) { cache_1.default.update('images', imageList); } function removeFileFormat(fileName) { return fileName.split('.').slice(0, -1).join('.'); } function changeFileFormat(fileName, targetFormat) { return removeFileFormat(fileName) + '.' + targetFormat; } function compress() { let assetsPath = Config_1.default.getAssetsPath(); if (!fs.existsSync(assetsPath)) { // TODO notify the user that no assets were found return; } let listOfCompressedImages = getListOfCompressedImages(); let listOfImages = getListOfImages(); listOfImages.forEach((image, index, arr) => { let filename = removeFileFormat(image); if (!listOfCompressedImages.includes(filename)) { sharp(resolve(assetsPath, image)) .jpeg({ quality: 50 }) .resize(1000, 1000, { withoutEnlargement: true, fit: 'inside' }) .toBuffer(function (err, buffer) { if (err) { console.log(err); // TODO handle error } const newFileName = changeFileFormat(image, 'jpg'); fs.writeFileSync(resolve(assetsPath, newFileName), buffer); fs.rmSync(resolve(assetsPath, image)); listOfCompressedImages.push(newFileName); if (index === arr.length - 1) { saveListOfCompressedImages(listOfCompressedImages); } }); } }); } exports.compress = compress; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHJlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbXByZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUN0QixJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDNUIsSUFBSSxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQTtBQUVyQyxtQ0FBMkI7QUFDM0IscUNBQTZCO0FBRTdCLFNBQVMseUJBQXlCO0lBQ2hDLE9BQU8sZUFBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQTtBQUM1QixDQUFDO0FBQ0QsU0FBUyxlQUFlO0lBQ3RCLElBQUksVUFBVSxHQUFHLGdCQUFNLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDdkMsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFBO0FBQ25DLENBQUM7QUFDRCxTQUFTLDBCQUEwQixDQUFFLFNBQW1CO0lBQ3RELGVBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0FBQ25DLENBQUM7QUFDRCxTQUFTLGdCQUFnQixDQUFFLFFBQWdCO0lBQ3pDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQ25ELENBQUM7QUFDRCxTQUFTLGdCQUFnQixDQUFFLFFBQWdCLEVBQUUsWUFBb0I7SUFDL0QsT0FBTyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLEdBQUcsWUFBWSxDQUFBO0FBQ3hELENBQUM7QUFFRCxTQUFnQixRQUFRO0lBQ3RCLElBQUksVUFBVSxHQUFHLGdCQUFNLENBQUMsYUFBYSxFQUFFLENBQUE7SUFFdkMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDOUIsaURBQWlEO1FBQ2pELE9BQU07S0FDUDtJQUVELElBQUksc0JBQXNCLEdBQUcseUJBQXlCLEVBQUUsQ0FBQTtJQUN4RCxJQUFJLFlBQVksR0FBRyxlQUFlLEVBQUUsQ0FBQTtJQUVwQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUN6QyxJQUFJLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUV0QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzlDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO2lCQUM5QixJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUM7aUJBQ3JCLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQztpQkFDL0QsUUFBUSxDQUFDLFVBQVUsR0FBRyxFQUFFLE1BQU07Z0JBQzdCLElBQUksR0FBRyxFQUFFO29CQUNQLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxvQkFBb0I7aUJBQ3RDO2dCQUVELE1BQU0sV0FBVyxHQUFHLGdCQUFnQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQTtnQkFFbEQsRUFBRSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFBO2dCQUMxRCxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtnQkFDckMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO2dCQUV4QyxJQUFJLEtBQUssS0FBSyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDNUIsMEJBQTBCLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtpQkFDbkQ7WUFDSCxDQUFDLENBQUMsQ0FBQTtTQUNMO0lBQ0gsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDO0FBbkNELDRCQW1DQyJ9