UNPKG

folder-upload-webpack-plugin

Version:

Upload your folder to ssh sftp server after build, add support to 'webpack --watch'

49 lines (48 loc) 1.83 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var archiver_1 = __importDefault(require("archiver")); var chalk_1 = __importDefault(require("chalk")); var fs_extra_1 = __importDefault(require("fs-extra")); var path_1 = __importDefault(require("path")); var Compressor = /** @class */ (function () { function Compressor(log) { if (log === void 0) { log = false; } this.logging = log; } Compressor.prototype.compress = function (from, to, compress) { var _this = this; var output = fs_extra_1.default.createWriteStream(path_1.default.resolve(to)); var arch = archiver_1.default('zip', { zlib: { level: compress } // Sets the compression level. }); arch.pipe(output); arch.append(fs_extra_1.default.createReadStream(from), { name: path_1.default.parse(from).base }); return new Promise(function (resolve, reject) { // handle success output.on('warning', function (err) { if (err.code !== 'ENOENT') { throw new Error(err); } }); output.on("error", reject); output.on('close', function () { _this.log(arch.pointer() + ' total bytes', chalk_1.default.bold.blue); resolve(to); }); arch.finalize(); }); }; Compressor.prototype.log = function (text, formatter) { if (formatter === void 0) { formatter = chalk_1.default; } if (!this.logging) { return; } console.log(formatter(text)); }; return Compressor; }()); exports.default = Compressor; ;