@forge/cli
13.2.0-next.4-experimental-094961613.2.0-next.12-experimental-28c9ab7
out/deploy/packager/archiver.js~
out/deploy/packager/archiver.jsModified+27−11
Index: package/out/deploy/packager/archiver.js
===================================================================
--- package/out/deploy/packager/archiver.js
+++ package/out/deploy/packager/archiver.js
@@ -28,14 +28,19 @@
static async create(logger) {
const { ZipArchive } = await Promise.resolve().then(() => tslib_1.__importStar(require('archiver')));
return new ZipArchiver(new ZipArchive(), logger);
}
- addFile(fileName, contents) {
+ addContent(fileName, contents) {
this.archive.append(contents, { name: fileName });
this.logger.debug(cli_shared_1.Text.deploy.taskPackage.packageFile(fileName, null));
}
- addFileFrom(fileName, filePath) {
- this.archive.file(filePath, { name: fileName });
+ addFrom(fileName, filePath) {
+ if ((0, fs_1.statSync)(filePath).isDirectory()) {
+ this.archive.directory(filePath, fileName || false);
+ }
+ else {
+ this.archive.file(filePath, { name: fileName });
+ }
this.logger.debug(cli_shared_1.Text.deploy.taskPackage.packageFile(fileName, filePath));
}
finalise() {
return new Promise((resolve, reject) => {
@@ -66,15 +71,26 @@
constructor(directory, logger) {
this.directory = directory;
this.logger = logger;
}
- addFile(fileName, contents) {
+ addContent(fileName, contents) {
this.copy(fileName, contents);
this.logger.debug(cli_shared_1.Text.deploy.taskPackage.packageFile(fileName, null));
}
- addFileFrom(fileName, filePath) {
- this.copy(fileName, filePath);
- this.logger.debug(cli_shared_1.Text.deploy.taskPackage.packageFile(fileName, filePath));
+ addFrom(fileName, filePath) {
+ try {
+ if ((0, fs_1.statSync)(filePath).isDirectory()) {
+ const targetDirectory = fileName ? (0, path_1.join)(this.directory, fileName) : this.directory;
+ (0, fs_1.cpSync)(filePath, targetDirectory, { recursive: true });
+ }
+ else {
+ this.copy(fileName, filePath);
+ }
+ this.logger.debug(cli_shared_1.Text.deploy.taskPackage.packageFile(fileName, filePath));
+ }
+ catch (e) {
+ throw new ArchiverError(e.message);
+ }
}
copy(fileName, contents) {
try {
const targetName = (0, path_1.join)(this.directory, fileName);
@@ -99,16 +115,16 @@
archivers;
constructor(archivers) {
this.archivers = archivers;
}
- addFile(fileName, contents) {
+ addContent(fileName, contents) {
for (const archiver of this.archivers) {
- archiver.addFile(fileName, contents);
+ archiver.addContent(fileName, contents);
}
}
- addFileFrom(fileName, filePath) {
+ addFrom(fileName, filePath) {
for (const archiver of this.archivers) {
- archiver.addFileFrom(fileName, filePath);
+ archiver.addFrom(fileName, filePath);
}
}
async finalise() {
const paths = await Promise.all(this.archivers.map((archiver) => archiver.finalise()));