@forge/cli
13.0.013.1.0-next.4-experimental-9423de1
out/deploy/packager/archiver.js~
out/deploy/packager/archiver.jsModified+9−5
Index: package/out/deploy/packager/archiver.js
===================================================================
--- package/out/deploy/packager/archiver.js
+++ package/out/deploy/packager/archiver.js
@@ -2,30 +2,34 @@
Object.defineProperty(exports, "__esModule", { value: true });
exports.MultiArchiver = exports.DirectoryArchiver = exports.ZipArchiver = exports.ArchiverError = void 0;
exports.makeArchiver = makeArchiver;
const tslib_1 = require("tslib");
-const archiver_1 = tslib_1.__importDefault(require("archiver"));
const fs_1 = require("fs");
const path_1 = require("path");
const tmp_1 = tslib_1.__importDefault(require("tmp"));
const cli_shared_1 = require("@forge/cli-shared");
class ArchiverError extends cli_shared_1.UserError {
}
exports.ArchiverError = ArchiverError;
class ZipArchiver {
+ archive;
logger;
- archive = (0, archiver_1.default)('zip');
tempFile = tmp_1.default.fileSync({ postfix: '.zip' });
resolves = [];
rejects = [];
- constructor(logger) {
+ constructor(archive, logger) {
+ this.archive = archive;
this.logger = logger;
const output = (0, fs_1.createWriteStream)(this.tempFile.name);
this.archive.pipe(output);
output.on('close', this.onClose);
this.archive.on('warning', this.onArchiveError);
this.archive.on('error', this.onArchiveError);
}
+ static async create(logger) {
+ const { ZipArchive } = await Promise.resolve().then(() => tslib_1.__importStar(require('archiver')));
+ return new ZipArchiver(new ZipArchive(), logger);
+ }
addFile(fileName, contents) {
this.archive.append(contents, { name: fileName });
this.logger.debug(cli_shared_1.Text.deploy.taskPackage.packageFile(fileName, null));
}
@@ -111,10 +115,10 @@
return paths[0];
}
}
exports.MultiArchiver = MultiArchiver;
-function makeArchiver(logger) {
- const mainArchiver = new ZipArchiver(logger);
+async function makeArchiver(logger) {
+ const mainArchiver = await ZipArchiver.create(logger);
if (process.env.FORGE_INSPECT_ARCHIVE) {
return new MultiArchiver([mainArchiver, new DirectoryArchiver(process.env.FORGE_INSPECT_ARCHIVE, logger)]);
}
return mainArchiver;