@pwrdrvr/microapps-publish 0.0.18 → 0.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"DeployClient.d.ts","sourceRoot":"","sources":["../src/DeployClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AAGjD,OAAO,EAEL,+BAA+B,EAIhC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,+BAA+B,CAAC;CAC3C;AAED,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,MAAM,CAAC,QAAQ,CAAC,OAAO,sBAEpB;IACH,MAAM,CAAC,QAAQ,CAAC,QAAQ,cAA4B;WAEhC,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;WAyBzC,sBAAsB,CACxC,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,6BAA6B,CAAC;WA4BrB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CA4BlE"}
1
+ {"version":3,"file":"DeployClient.d.ts","sourceRoot":"","sources":["../src/DeployClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAEL,+BAA+B,EAIhC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,+BAA+B,CAAC;CAC3C;AAED,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,MAAM,CAAC,QAAQ,CAAC,OAAO,sBAEpB;IACH,MAAM,CAAC,QAAQ,CAAC,QAAQ,cAA4B;WAEhC,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;WAyBzC,sBAAsB,CACxC,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,6BAA6B,CAAC;WA4BrB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CA4BlE"}
@@ -1 +1 @@
1
- {"version":3,"file":"DeployClient.js","sourceRoot":"","sources":["../src/DeployClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DeployClient.js","sourceRoot":"","sources":["../src/DeployClient.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,11 @@
1
1
  import { IDeployVersionPreflightResponse } from '@pwrdrvr/microapps-deployer';
2
2
  export default class S3TransferUtility {
3
3
  static UploadDir(s3Path: string, destPrefixPath: string, bucketName: string, preflightResponse: IDeployVersionPreflightResponse): Promise<void>;
4
- private static GetFiles;
4
+ /**
5
+ * Resursively enumerate the files to be uploaded
6
+ * @param dir
7
+ * @returns
8
+ */
9
+ static GetFiles(dir: string): Promise<string | string[]>;
5
10
  }
6
11
  //# sourceMappingURL=S3TransferUtility.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"S3TransferUtility.d.ts","sourceRoot":"","sources":["../src/S3TransferUtility.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAI9E,MAAM,CAAC,OAAO,OAAO,iBAAiB;WAChB,SAAS,CAC3B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,+BAA+B,GACjD,OAAO,CAAC,IAAI,CAAC;mBAqDK,QAAQ;CAU9B"}
1
+ {"version":3,"file":"S3TransferUtility.d.ts","sourceRoot":"","sources":["../src/S3TransferUtility.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAI9E,MAAM,CAAC,OAAO,OAAO,iBAAiB;WAChB,SAAS,CAC3B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,+BAA+B,GACjD,OAAO,CAAC,IAAI,CAAC;IAqDhB;;;;OAIG;WACiB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;CAUtE"}
@@ -49,6 +49,11 @@ class S3TransferUtility {
49
49
  }
50
50
  // Recursive getFiles from
51
51
  // https://stackoverflow.com/a/45130990/831465
52
+ /**
53
+ * Resursively enumerate the files to be uploaded
54
+ * @param dir
55
+ * @returns
56
+ */
52
57
  static async GetFiles(dir) {
53
58
  const dirents = await fs_1.promises.readdir(dir, { withFileTypes: true });
54
59
  const files = await Promise.all(dirents.map((dirent) => {
@@ -1 +1 @@
1
- {"version":3,"file":"S3TransferUtility.js","sourceRoot":"","sources":["../src/S3TransferUtility.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,oDAAoD;AACpD,EAAE;;;AAEF,2BAAsD;AACtD,mDAA6B;AAC7B,+DAAyC;AACzC,sDAA8C;AAG9C,2CAAyC;AACzC,0DAAyB;AAEzB,MAAqB,iBAAiB;IAC7B,MAAM,CAAC,KAAK,CAAC,SAAS,CAC3B,MAAc,EACd,cAAsB,EACtB,UAAkB,EAClB,iBAAkD;QAElD,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,IAAI,EAAE,CAAC,QAAQ,CAAC;YAC/B,WAAW,EAAE,EAAE;YACf,WAAW,EAAE;gBACX,WAAW,EAAE,iBAAiB,CAAC,cAAc,CAAC,WAAW;gBACzD,eAAe,EAAE,iBAAiB,CAAC,cAAc,CAAC,eAAe;gBACjE,YAAY,EAAE,iBAAiB,CAAC,cAAc,CAAC,YAAY;aAC5D;SACF,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAa,CAAC;QACrE,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC/D,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE;YAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC;SACjC;QAED,wCAAwC;QACxC,MAAM,eAAI,CACR,KAAK,EACL,KAAK,EAAE,QAAQ,EAAE,EAAE;YACjB,qDAAqD;YACrD,MAAM,MAAM,GAAG,IAAI,oBAAM,CAAC;gBACxB,MAAM,EAAE,QAAQ;gBAChB,iBAAiB,EAAE,KAAK;gBACxB,MAAM,EAAE;oBACN,MAAM,EAAE,UAAU;oBAClB,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;oBACpC,IAAI,EAAE,qBAAgB,CAAC,QAAQ,CAAC;oBAChC,WAAW,EAAE,wBAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,0BAA0B;oBAC/E,YAAY,EAAE,uBAAuB;iBACtC;aACF,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC,EACD;YACE,WAAW,EAAE,EAAE;SAChB,CASF,CAAC;IACJ,CAAC;IACD,0BAA0B;IAC1B,8CAA8C;IAEtC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAW;QACvC,MAAM,OAAO,GAAG,MAAM,aAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACrB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3C,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACtE,CAAC,CAAC,CACH,CAAC;QACF,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC;IAC1C,CAAC;CACF;AArED,oCAqEC"}
1
+ {"version":3,"file":"S3TransferUtility.js","sourceRoot":"","sources":["../src/S3TransferUtility.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,oDAAoD;AACpD,EAAE;;;AAEF,2BAAsD;AACtD,mDAA6B;AAC7B,+DAAyC;AACzC,sDAA8C;AAE9C,2CAAyC;AACzC,0DAAyB;AAEzB,MAAqB,iBAAiB;IAC7B,MAAM,CAAC,KAAK,CAAC,SAAS,CAC3B,MAAc,EACd,cAAsB,EACtB,UAAkB,EAClB,iBAAkD;QAElD,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,IAAI,EAAE,CAAC,QAAQ,CAAC;YAC/B,WAAW,EAAE,EAAE;YACf,WAAW,EAAE;gBACX,WAAW,EAAE,iBAAiB,CAAC,cAAc,CAAC,WAAW;gBACzD,eAAe,EAAE,iBAAiB,CAAC,cAAc,CAAC,eAAe;gBACjE,YAAY,EAAE,iBAAiB,CAAC,cAAc,CAAC,YAAY;aAC5D;SACF,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAa,CAAC;QACrE,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC/D,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE;YAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC;SACjC;QAED,wCAAwC;QACxC,MAAM,eAAI,CACR,KAAK,EACL,KAAK,EAAE,QAAQ,EAAE,EAAE;YACjB,qDAAqD;YACrD,MAAM,MAAM,GAAG,IAAI,oBAAM,CAAC;gBACxB,MAAM,EAAE,QAAQ;gBAChB,iBAAiB,EAAE,KAAK;gBACxB,MAAM,EAAE;oBACN,MAAM,EAAE,UAAU;oBAClB,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;oBACpC,IAAI,EAAE,qBAAgB,CAAC,QAAQ,CAAC;oBAChC,WAAW,EAAE,wBAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,0BAA0B;oBAC/E,YAAY,EAAE,uBAAuB;iBACtC;aACF,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC,EACD;YACE,WAAW,EAAE,EAAE;SAChB,CASF,CAAC;IACJ,CAAC;IACD,0BAA0B;IAC1B,8CAA8C;IAE9C;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAW;QACtC,MAAM,OAAO,GAAG,MAAM,aAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACrB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3C,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACtE,CAAC,CAAC,CACH,CAAC;QACF,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC;IAC1C,CAAC;CACF;AA1ED,oCA0EC"}
@@ -1,8 +1,26 @@
1
1
  import { IDeployVersionPreflightResponse } from '@pwrdrvr/microapps-deployer';
2
2
  import { IConfig } from './config/Config';
3
3
  export default class S3Uploader {
4
+ /**
5
+ * Copy files to local upload directory
6
+ * @param config
7
+ * @param s3UploadPath
8
+ * @param preflightResponse
9
+ */
10
+ static CopyToUploadDir(config: IConfig, s3UploadPath: string): Promise<void>;
11
+ static ParseUploadPath(s3UploadPath: string): {
12
+ bucketName: string;
13
+ destinationPrefix: string;
14
+ };
15
+ /**
16
+ * Upload files to S3
17
+ * @param config
18
+ * @param s3UploadPath
19
+ * @param preflightResponse
20
+ */
4
21
  static Upload(config: IConfig, s3UploadPath: string, preflightResponse: IDeployVersionPreflightResponse): Promise<void>;
5
22
  static removeTempDirIfExists(): Promise<void>;
6
23
  private static readonly _tempDir;
24
+ static get TempDir(): string;
7
25
  }
8
26
  //# sourceMappingURL=S3Uploader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"S3Uploader.d.ts","sourceRoot":"","sources":["../src/S3Uploader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG1C,MAAM,CAAC,OAAO,OAAO,UAAU;WACT,MAAM,CACxB,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,+BAA+B,GACjD,OAAO,CAAC,IAAI,CAAC;WAgCI,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAa1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAuB;CACxD"}
1
+ {"version":3,"file":"S3Uploader.d.ts","sourceRoot":"","sources":["../src/S3Uploader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG1C,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B;;;;;OAKG;WACiB,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;WAa3E,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG;QACnD,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;KAC3B;IASD;;;;;OAKG;WACiB,MAAM,CACxB,MAAM,EAAE,OAAO,EACf,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,+BAA+B,GACjD,OAAO,CAAC,IAAI,CAAC;WA2BI,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAa1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IACvD,WAAkB,OAAO,IAAI,MAAM,CAElC;CACF"}
@@ -5,13 +5,38 @@ const path_1 = tslib_1.__importDefault(require("path"));
5
5
  const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
6
6
  const S3TransferUtility_1 = tslib_1.__importDefault(require("./S3TransferUtility"));
7
7
  class S3Uploader {
8
+ /**
9
+ * Copy files to local upload directory
10
+ * @param config
11
+ * @param s3UploadPath
12
+ * @param preflightResponse
13
+ */
14
+ static async CopyToUploadDir(config, s3UploadPath) {
15
+ const { destinationPrefix } = S3Uploader.ParseUploadPath(s3UploadPath);
16
+ // Make a local root dir for the upload
17
+ const tempUploadPath = path_1.default.join(S3Uploader._tempDir, destinationPrefix);
18
+ await S3Uploader.removeTempDirIfExists();
19
+ await fs_extra_1.default.mkdir(tempUploadPath, { recursive: true });
20
+ // Copy the files in the source dir to the root dir
21
+ // Note: It would be faster to move the files, then move them back
22
+ await fs_extra_1.default.copy(config.app.staticAssetsPath, tempUploadPath);
23
+ }
24
+ static ParseUploadPath(s3UploadPath) {
25
+ // Parse the S3 Source URI
26
+ const uri = new URL(s3UploadPath);
27
+ const bucketName = uri.host;
28
+ const destinationPrefix = uri.pathname.length >= 1 ? uri.pathname.slice(1) : '';
29
+ return { bucketName, destinationPrefix };
30
+ }
31
+ /**
32
+ * Upload files to S3
33
+ * @param config
34
+ * @param s3UploadPath
35
+ * @param preflightResponse
36
+ */
8
37
  static async Upload(config, s3UploadPath, preflightResponse) {
9
38
  try {
10
- //const destinationPrefix = `${config.app.name}/${config.app.semVer}`;
11
- // Parse the S3 Source URI
12
- const uri = new URL(s3UploadPath);
13
- const bucketName = uri.host;
14
- const destinationPrefix = uri.pathname.length >= 1 ? uri.pathname.slice(1) : '';
39
+ const { destinationPrefix, bucketName } = S3Uploader.ParseUploadPath(s3UploadPath);
15
40
  // Make a local root dir for the upload
16
41
  const tempUploadPath = path_1.default.join(S3Uploader._tempDir, destinationPrefix);
17
42
  await S3Uploader.removeTempDirIfExists();
@@ -41,6 +66,9 @@ class S3Uploader {
41
66
  // Since we want the directory deleted this is ok
42
67
  }
43
68
  }
69
+ static get TempDir() {
70
+ return S3Uploader._tempDir;
71
+ }
44
72
  }
45
73
  exports.default = S3Uploader;
46
74
  S3Uploader._tempDir = './deploytool-temp';
@@ -1 +1 @@
1
- {"version":3,"file":"S3Uploader.js","sourceRoot":"","sources":["../src/S3Uploader.ts"],"names":[],"mappings":";;;AAAA,wDAAwB;AAGxB,gEAA0B;AAE1B,oFAAoD;AAEpD,MAAqB,UAAU;IACtB,MAAM,CAAC,KAAK,CAAC,MAAM,CACxB,MAAe,EACf,YAAoB,EACpB,iBAAkD;QAElD,IAAI;YACF,sEAAsE;YAEtE,0BAA0B;YAC1B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;YAClC,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC;YAC5B,MAAM,iBAAiB,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEhF,uCAAuC;YACvC,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YACzE,MAAM,UAAU,CAAC,qBAAqB,EAAE,CAAC;YACzC,MAAM,kBAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEpD,mDAAmD;YACnD,kEAAkE;YAClE,8CAA8C;YAC9C,MAAM,kBAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;YAE3D,gBAAgB;YAChB,MAAM,2BAAiB,CAAC,SAAS,CAC/B,IAAI,CAAC,QAAQ,EACb,iBAAiB,EACjB,UAAU,EACV,iBAAiB,CAClB,CAAC;SACH;gBAAS;YACR,+DAA+D;YAC/D,MAAM,UAAU,CAAC,qBAAqB,EAAE,CAAC;SAC1C;IACH,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,qBAAqB;QACvC,IAAI;YACF,MAAM,KAAK,GAAG,MAAM,kBAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;gBACvB,MAAM,kBAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;aACvD;SACF;QAAC,WAAM;YACN,aAAa;YACb,gDAAgD;YAChD,iDAAiD;SAClD;IACH,CAAC;;AAhDH,6BAmDC;AADyB,mBAAQ,GAAG,mBAAmB,CAAC"}
1
+ {"version":3,"file":"S3Uploader.js","sourceRoot":"","sources":["../src/S3Uploader.ts"],"names":[],"mappings":";;;AAAA,wDAAwB;AAExB,gEAA0B;AAE1B,oFAAoD;AAEpD,MAAqB,UAAU;IAC7B;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,MAAe,EAAE,YAAoB;QACvE,MAAM,EAAE,iBAAiB,EAAE,GAAG,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAEvE,uCAAuC;QACvC,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QACzE,MAAM,UAAU,CAAC,qBAAqB,EAAE,CAAC;QACzC,MAAM,kBAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpD,mDAAmD;QACnD,kEAAkE;QAClE,MAAM,kBAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAC7D,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,YAAoB;QAIhD,0BAA0B;QAC1B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC;QAC5B,MAAM,iBAAiB,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEhF,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,MAAM,CACxB,MAAe,EACf,YAAoB,EACpB,iBAAkD;QAElD,IAAI;YACF,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAEnF,uCAAuC;YACvC,MAAM,cAAc,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YACzE,MAAM,UAAU,CAAC,qBAAqB,EAAE,CAAC;YACzC,MAAM,kBAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEpD,mDAAmD;YACnD,kEAAkE;YAClE,8CAA8C;YAC9C,MAAM,kBAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;YAE3D,gBAAgB;YAChB,MAAM,2BAAiB,CAAC,SAAS,CAC/B,IAAI,CAAC,QAAQ,EACb,iBAAiB,EACjB,UAAU,EACV,iBAAiB,CAClB,CAAC;SACH;gBAAS;YACR,+DAA+D;YAC/D,MAAM,UAAU,CAAC,qBAAqB,EAAE,CAAC;SAC1C;IACH,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,qBAAqB;QACvC,IAAI;YACF,MAAM,KAAK,GAAG,MAAM,kBAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;gBACvB,MAAM,kBAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;aACvD;SACF;QAAC,WAAM;YACN,aAAa;YACb,gDAAgD;YAChD,iDAAiD;SAClD;IACH,CAAC;IAGM,MAAM,KAAK,OAAO;QACvB,OAAO,UAAU,CAAC,QAAQ,CAAC;IAC7B,CAAC;;AArFH,6BAsFC;AAJyB,mBAAQ,GAAG,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAGA,OAAO,6BAA6B,CAAC;AAErC,OAAO,kBAAkB,CAAC;AAK1B,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,eAAe,CAAC;AA2BxD,cAAM,WAAY,SAAQ,OAAO;IAC/B,MAAM,CAAC,KAAK;;;;;;;MA6BV;IAGF,OAAO,CAAC,MAAM,CAAC,YAAY;IAI3B,OAAO,CAAC,eAAe,CAAY;IACnC,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,eAAe,CAGnB;IACJ,OAAO,CAAC,oBAAoB,CAAS;gBAEzB,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY;IAK1C,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAgOb,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB1C,OAAO,CAAC,cAAc;YAIR,gBAAgB;YA0ChB,UAAU;YAeV,YAAY;YAQZ,cAAc;CAgD7B;AAKD,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAGA,OAAO,6BAA6B,CAAC;AAErC,OAAO,kBAAkB,CAAC;AAM1B,OAAO,EAAE,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,eAAe,CAAC;AAgCxD,cAAM,WAAY,SAAQ,OAAO;IAC/B,MAAM,CAAC,KAAK;;;;;;;MA6BV;IAGF,OAAO,CAAC,MAAM,CAAC,YAAY;IAI3B,OAAO,CAAC,eAAe,CAAY;IACnC,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,eAAe,CAGnB;IACJ,OAAO,CAAC,oBAAoB,CAAS;gBAEzB,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY;IAK1C,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA6Tb,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB1C,OAAO,CAAC,cAAc;YAIR,gBAAgB;YA0ChB,UAAU;YAeV,YAAY;YAQZ,cAAc;CAgD7B;AAKD,eAAe,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -9,15 +9,20 @@ require("reflect-metadata");
9
9
  const child_process_1 = require("child_process");
10
10
  const util = tslib_1.__importStar(require("util"));
11
11
  const lambda = tslib_1.__importStar(require("@aws-sdk/client-lambda"));
12
+ const s3 = tslib_1.__importStar(require("@aws-sdk/client-s3"));
12
13
  const sts = tslib_1.__importStar(require("@aws-sdk/client-sts"));
13
14
  const command_1 = require("@oclif/command");
14
15
  const errors_1 = require("@oclif/errors");
15
16
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
17
+ const path_1 = tslib_1.__importDefault(require("path"));
16
18
  const fs_extra_1 = require("fs-extra");
17
19
  const listr2_1 = require("listr2");
18
20
  const Config_1 = require("./config/Config");
19
21
  const DeployClient_1 = tslib_1.__importDefault(require("./DeployClient"));
20
22
  const S3Uploader_1 = tslib_1.__importDefault(require("./S3Uploader"));
23
+ const S3TransferUtility_1 = tslib_1.__importDefault(require("./S3TransferUtility"));
24
+ const lib_storage_1 = require("@aws-sdk/lib-storage");
25
+ const mime_types_1 = require("mime-types");
21
26
  const asyncSetTimeout = util.promisify(setTimeout);
22
27
  const asyncExec = util.promisify(child_process_1.exec);
23
28
  const RUNNING_TEXT = ' RUNS ';
@@ -78,6 +83,7 @@ class PublishTool extends command_1.Command {
78
83
  { path: 'next.config.js', versions: versionOnly },
79
84
  ];
80
85
  // Install handler to ensure that we restore files
86
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises
81
87
  process.on('SIGINT', async () => {
82
88
  if (this._restoreFilesStarted) {
83
89
  return;
@@ -85,7 +91,7 @@ class PublishTool extends command_1.Command {
85
91
  else {
86
92
  this._restoreFilesStarted = true;
87
93
  }
88
- console.log('Caught Ctrl-C, restoring files');
94
+ this.log('Caught Ctrl-C, restoring files');
89
95
  await S3Uploader_1.default.removeTempDirIfExists();
90
96
  await this.restoreFiles();
91
97
  });
@@ -96,7 +102,7 @@ class PublishTool extends command_1.Command {
96
102
  this.error('StaticAssetsPath must be specified in the config file');
97
103
  }
98
104
  //
99
- // TODO: Setup Tasks
105
+ // Setup Tasks
100
106
  //
101
107
  const tasks = new listr2_1.Listr([
102
108
  {
@@ -186,15 +192,87 @@ class PublishTool extends command_1.Command {
186
192
  },
187
193
  },
188
194
  {
189
- title: 'Upload Files to S3 Staging AppName/Version Prefix',
195
+ title: 'Copy Static Files to Local Upload Dir',
190
196
  task: async (ctx, task) => {
191
197
  const origTitle = task.title;
192
198
  task.title = RUNNING + origTitle;
193
- // Upload Files to S3 Staging AppName/Version Prefix
194
- await S3Uploader_1.default.Upload(config, ctx.preflightResult.response.s3UploadUrl, ctx.preflightResult.response);
199
+ // Copy files to local dir to be uploaded
200
+ await S3Uploader_1.default.CopyToUploadDir(config, ctx.preflightResult.response.s3UploadUrl);
195
201
  task.title = origTitle;
196
202
  },
197
203
  },
204
+ // {
205
+ // title: 'Upload Files to S3 Staging AppName/Version Prefix',
206
+ // task: async (ctx, task) => {
207
+ // const origTitle = task.title;
208
+ // task.title = RUNNING + origTitle;
209
+ // const { destinationPrefix, bucketName } = S3Uploader.ParseUploadPath(
210
+ // ctx.preflightResult.response.s3UploadUrl,
211
+ // );
212
+ // // Upload Files to S3 Staging AppName/Version Prefix
213
+ // await S3TransferUtility.UploadDir(
214
+ // S3Uploader.TempDir,
215
+ // destinationPrefix,
216
+ // bucketName,
217
+ // ctx.preflightResult.response,
218
+ // );
219
+ // task.title = origTitle;
220
+ // },
221
+ // },
222
+ {
223
+ title: 'Enumerate Files to Upload to S3',
224
+ task: async (ctx, task) => {
225
+ const origTitle = task.title;
226
+ task.title = RUNNING + origTitle;
227
+ ctx.files = (await S3TransferUtility_1.default.GetFiles(S3Uploader_1.default.TempDir));
228
+ task.title = origTitle;
229
+ },
230
+ },
231
+ {
232
+ title: 'Upload Static Files to S3',
233
+ task: (ctx, task) => {
234
+ const origTitle = task.title;
235
+ task.title = RUNNING + origTitle;
236
+ const { bucketName } = S3Uploader_1.default.ParseUploadPath(ctx.preflightResult.response.s3UploadUrl);
237
+ // Use temp credentials for S3
238
+ const s3Client = new s3.S3Client({
239
+ maxAttempts: 16,
240
+ credentials: {
241
+ accessKeyId: ctx.preflightResult.response.awsCredentials.accessKeyId,
242
+ secretAccessKey: ctx.preflightResult.response.awsCredentials.secretAccessKey,
243
+ sessionToken: ctx.preflightResult.response.awsCredentials.sessionToken,
244
+ },
245
+ });
246
+ const tasks = ctx.files.map((filePath) => ({
247
+ task: async (ctx, subtask) => {
248
+ const origTitle = subtask.title;
249
+ subtask.title = RUNNING + origTitle;
250
+ const upload = new lib_storage_1.Upload({
251
+ client: s3Client,
252
+ leavePartsOnError: false,
253
+ params: {
254
+ Bucket: bucketName,
255
+ Key: path_1.default.relative(S3Uploader_1.default.TempDir, filePath),
256
+ Body: fs_extra_1.createReadStream(filePath),
257
+ ContentType: mime_types_1.contentType(path_1.default.basename(filePath)) || 'application/octet-stream',
258
+ CacheControl: 'max-age=86400; public',
259
+ },
260
+ });
261
+ await upload.done();
262
+ subtask.title = origTitle;
263
+ },
264
+ }));
265
+ task.title = origTitle;
266
+ return task.newListr(tasks, {
267
+ concurrent: 8,
268
+ rendererOptions: {
269
+ clearOutput: false,
270
+ showErrorMessage: true,
271
+ showTimer: true,
272
+ },
273
+ });
274
+ },
275
+ },
198
276
  {
199
277
  title: `Creating MicroApp Application: ${config.app.name}`,
200
278
  task: async (ctx, task) => {
@@ -215,13 +293,17 @@ class PublishTool extends command_1.Command {
215
293
  task.title = origTitle;
216
294
  },
217
295
  },
218
- ]);
296
+ ], {
297
+ rendererOptions: {
298
+ showTimer: true,
299
+ },
300
+ });
219
301
  try {
220
302
  await tasks.run();
221
- console.log(`Published: ${config.app.name}/${config.app.semVer}`);
303
+ this.log(`Published: ${config.app.name}/${config.app.semVer}`);
222
304
  }
223
305
  catch (error) {
224
- console.log(`Caught exception: ${error.message}`);
306
+ this.log(`Caught exception: ${error.message}`);
225
307
  }
226
308
  finally {
227
309
  await this.restoreFiles();
@@ -288,30 +370,30 @@ class PublishTool extends command_1.Command {
288
370
  return true;
289
371
  }
290
372
  async publishToECR(config) {
291
- console.log('Starting Docker build');
373
+ // console.log('Starting Docker build');
292
374
  await asyncExec(`docker build -f Dockerfile -t ${this.IMAGE_TAG} .`);
293
375
  await asyncExec(`docker tag ${this.IMAGE_TAG} ${config.app.ecrHost}/${this.IMAGE_TAG}`);
294
- console.log('Starting Docker push to ECR');
376
+ // console.log('Starting Docker push to ECR');
295
377
  await asyncExec(`docker push ${config.app.ecrHost}/${this.IMAGE_TAG}`);
296
378
  }
297
379
  async deployToLambda(config, versions) {
298
380
  var _a;
299
381
  // Create Lambda version
300
- console.log('Updating Lambda code to point to new Docker image');
382
+ // console.log('Updating Lambda code to point to new Docker image');
301
383
  const resultUpdate = await lambdaClient.send(new lambda.UpdateFunctionCodeCommand({
302
384
  FunctionName: config.app.lambdaName,
303
385
  ImageUri: this.IMAGE_URI,
304
386
  Publish: true,
305
387
  }));
306
388
  const lambdaVersion = resultUpdate.Version;
307
- console.log('Lambda version created: ', resultUpdate.Version);
389
+ // console.log('Lambda version created: ', resultUpdate.Version);
308
390
  let lastUpdateStatus = resultUpdate.LastUpdateStatus;
309
391
  for (let i = 0; i < 5; i++) {
310
392
  // When the function is created the status will be "Pending"
311
393
  // and we have to wait until it's done creating
312
394
  // before we can point an alias to it
313
395
  if (lastUpdateStatus === 'Successful') {
314
- console.log(`Lambda function updated, version: ${lambdaVersion}`);
396
+ // console.log(`Lambda function updated, version: ${lambdaVersion}`);
315
397
  break;
316
398
  }
317
399
  // If it didn't work, wait and try again
@@ -324,13 +406,13 @@ class PublishTool extends command_1.Command {
324
406
  lastUpdateStatus = (_a = resultGet === null || resultGet === void 0 ? void 0 : resultGet.Configuration) === null || _a === void 0 ? void 0 : _a.LastUpdateStatus;
325
407
  }
326
408
  // Create Lambda alias point
327
- console.log(`Creating the lambda alias for the new version: ${lambdaVersion}`);
409
+ // console.log(`Creating the lambda alias for the new version: ${lambdaVersion}`);
328
410
  const resultLambdaAlias = await lambdaClient.send(new lambda.CreateAliasCommand({
329
411
  FunctionName: config.app.lambdaName,
330
412
  Name: versions.alias,
331
413
  FunctionVersion: lambdaVersion,
332
414
  }));
333
- console.log(`Lambda alias created, name: ${resultLambdaAlias.Name}`);
415
+ // console.log(`Lambda alias created, name: ${resultLambdaAlias.Name}`);
334
416
  }
335
417
  }
336
418
  PublishTool.flags = {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AACA,+BAA+B;;;AAE/B,uCAAqC;AACrC,qBAAqB;AACrB,4BAA0B;AAC1B,iDAAqC;AACrC,mDAA6B;AAC7B,uEAAiD;AACjD,iEAA2C;AAC3C,4CAA+D;AAE/D,0CAAuD;AACvD,0DAA0B;AAC1B,uCAAsD;AACtD,mCAA4E;AAC5E,4CAAkD;AAClD,0EAA6E;AAC7E,sEAAsC;AACtC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AACnD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAI,CAAC,CAAC;AAEvC,MAAM,YAAY,GAAG,QAAQ,CAAC;AAC9B,MAAM,OAAO,GAAG,eAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC;AAEpE,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC;IAC3C,WAAW,EAAE,CAAC;CACf,CAAC,CAAC;AAWH,MAAM,WAAY,SAAQ,iBAAO;IA8C/B,YAAY,IAAc,EAAE,MAAoB;QAC9C,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QATd,cAAS,GAAG,EAAE,CAAC;QACf,cAAS,GAAG,EAAE,CAAC;QAKf,yBAAoB,GAAG,KAAK,CAAC;QAInC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAjBD,6FAA6F;IACrF,MAAM,CAAC,YAAY,CAAC,KAAa;QACvC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,oCAAoC;IAC3F,CAAC;IAgBD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC;QACvC,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC;QACzC,MAAM,UAAU,GAAG,WAAW,CAAC,kBAAkB,CAAC;QAClD,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC;QAErC,4BAA4B;QAC5B,MAAM,MAAM,GAAG,eAAM,CAAC,QAAQ,CAAC;QAC/B,MAAM,CAAC,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC;QAE5B,yCAAyC;QACzC,qCAAqC;QACrC,IAAI,MAAM,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,KAAK,EAAE,EAAE;YAChE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC;gBAClC,WAAW,EAAE,CAAC;aACf,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/E,IAAI,MAAM,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,EAAE;gBACjC,MAAM,CAAC,GAAG,CAAC,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;aAC7D;YACD,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,KAAK,EAAE,EAAE;gBAC/B,MAAM,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,MAAgB,CAAC;aAC1D;SACF;QACD,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,EAAE;YAC7B,MAAM,CAAC,GAAG,CAAC,OAAO,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,YAAY,MAAM,CAAC,GAAG,CAAC,SAAS,gBAAgB,CAAC;SACjG;QACD,IAAI,OAAO,EAAE;YACX,MAAM,CAAC,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;SAClC;aAAM,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,KAAK,EAAE,EAAE;YACxC,MAAM,CAAC,GAAG,CAAC,WAAW,GAAG,iBAAiB,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,eAAM,CAAC,QAAQ,OAAO,CAAC;SACpF;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAE9D,IAAI,CAAC,eAAe,GAAG;YACrB,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE;YAC/C,2DAA2D;YAC3D,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAAW,EAAE;SACP,CAAC;QAE7C,kDAAkD;QAClD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC9B,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC7B,OAAO;aACR;iBAAM;gBACL,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;aAClC;YACD,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;YAC9C,MAAM,oBAAU,CAAC,qBAAqB,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;SAC9C;QACD,IAAI,MAAM,CAAC,GAAG,CAAC,gBAAgB,KAAK,SAAS,EAAE;YAC7C,IAAI,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;SACrE;QAED,EAAE;QACF,oBAAoB;QACpB,EAAE;QAEF,MAAM,KAAK,GAAG,IAAI,cAAK,CAAW;YAChC;gBACE,KAAK,EAAE,kBAAkB;gBACzB,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;oBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;oBAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;oBAEjC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;oBAE9B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;gBACzB,CAAC;aACF;YACD;gBACE,KAAK,EAAE,wBAAwB;gBAC/B,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;oBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;oBAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;oBAEjC,iDAAiD;oBACjD,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,eAAe,EAAE;wBAC/C,IAAI,CAAC,MAAM,GAAG,qBAAqB,IAAI,CAAC,eAAe,CAAC,OAAO,UAAU,YAAY,CAAC,IAAI,EAAE,CAAC;wBAC7F,IACE,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,EACpF;4BACA,IAAI,CAAC,MAAM,GAAG,0BAA0B,YAAY,CAAC,IAAI,EAAE,CAAC;yBAC7D;qBACF;oBAED,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;gBACzB,CAAC;aACF;YACD;gBACE,KAAK,EAAE,yBAAyB;gBAChC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;oBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;oBAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;oBAEjC,wDAAwD;oBACxD,IAAI,CAAC,MAAM,GAAG,uDAAuD,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;oBAClG,GAAG,CAAC,eAAe,GAAG,MAAM,sBAAY,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;oBACxE,IAAI,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE;wBAC9B,IAAI,CAAC,MAAM,GAAG,wCAAwC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;qBAC9F;oBAED,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;gBACzB,CAAC;aACF;YACD;gBACE,KAAK,EAAE,0BAA0B;gBACjC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;oBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;oBAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;oBAEjC,IAAI,CAAC,MAAM,GAAG,yCAAyC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;oBAEpF,mCAAmC;oBACnC,MAAM,SAAS,CAAC,YAAY,CAAC,CAAC;oBAE9B,IAAI,MAAM,CAAC,GAAG,CAAC,wBAAwB,KAAK,SAAS,EAAE;wBACrD,IAAI,CAAC,MAAM,GAAG,6DAA6D,CAAC;wBAC5E,MAAM,mBAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,+BAA+B,CAAC,CAAC;qBACzF;oBAED,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;gBACzB,CAAC;aACF;YACD;gBACE,KAAK,EAAE,gBAAgB;gBACvB,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;oBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;oBAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;oBAEjC,kCAAkC;oBAClC,8CAA8C;oBAC9C,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBAEhC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;gBACzB,CAAC;aACF;YACD;gBACE,KAAK,EAAE,kBAAkB;gBACzB,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;oBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;oBAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;oBAEjC,6BAA6B;oBAC7B,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;oBAExD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;gBACzB,CAAC;aACF;YACD;gBACE,KAAK,EAAE,qCAAqC;gBAC5C,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;oBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;oBAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;oBAEjC,yCAAyC;oBACzC,IAAI,CAAC,CAAC,MAAM,qBAAU,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,EAAE;wBACpD,IAAI,CAAC,KAAK,CAAC,qCAAqC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC;qBAChF;oBAED,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;gBACzB,CAAC;aACF;YACD;gBACE,KAAK,EAAE,mDAAmD;gBAC1D,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;oBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;oBAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;oBAEjC,oDAAoD;oBACpD,MAAM,oBAAU,CAAC,MAAM,CACrB,MAAM,EACN,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,EACxC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAC7B,CAAC;oBAEF,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;gBACzB,CAAC;aACF;YACD;gBACE,KAAK,EAAE,kCAAkC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;gBAC1D,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;oBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;oBAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;oBAEjC,4CAA4C;oBAC5C,MAAM,sBAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBAErC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;gBACzB,CAAC;aACF;YACD;gBACE,KAAK,EAAE,8BAA8B,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE;gBACxD,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;oBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;oBAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;oBAEjC,0CAA0C;oBAC1C,MAAM,sBAAY,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBAEzC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;gBACzB,CAAC;aACF;SACF,CAAC,CAAC;QAEH,IAAI;YACF,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;SACnE;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;SACnD;gBAAS;YACR,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;SAC3B;IACH,CAAC;IAEM,KAAK,CAAC,YAAY;QACvB,kDAAkD;QAClD,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,eAAe,EAAE;YAC/C,IAAI;gBACF,MAAM,KAAK,GAAG,MAAM,mBAAE,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,WAAW,CAAC,CAAC;gBAC7D,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;oBAClB,oCAAoC;oBACpC,MAAM,mBAAE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBAEnC,8BAA8B;oBAC9B,MAAM,mBAAE,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;iBACrE;aACF;YAAC,WAAM;gBACN,+DAA+D;aAChE;SACF;IACH,CAAC;IAEO,cAAc,CAAC,OAAe;QACpC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;IAC/D,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,IAAY,EACZ,gBAA2B,EAC3B,UAAmB;QAEnB,MAAM,KAAK,GAAG,MAAM,mBAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACjB,OAAO,KAAK,CAAC;SACd;QAED,4BAA4B;QAC5B,MAAM,mBAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC;QAE5C,8DAA8D;QAC9D,IAAI,QAAQ,GAAG,MAAM,mBAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE/C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YAC/C,MAAM,WAAW,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC3D,IAAI,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE;gBACxC,sCAAsC;gBACtC,OAAO,KAAK,CAAC;aACd;iBAAM;gBACL,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC;gBACtE,QAAQ,GAAG,QAAQ,CAAC,OAAO,CACzB,MAAM,EACN,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAE,gBAAgB,CAAC,KAAgB,CAClF,CAAC;aACH;SACF;QAED,kCAAkC;QAClC,MAAM,mBAAE,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE3C,iDAAiD;QACjD,IAAI,UAAU,EAAE;YACd,4CAA4C;YAC5C,MAAM,mBAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC;SAC7C;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,MAAe;QACtC,IAAI,CAAC,SAAS,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC7E,IAAI,CAAC,SAAS,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAE3D,IAAI;YACF,MAAM,SAAS,CACb,uCAAuC,MAAM,CAAC,GAAG,CAAC,SAAS,mDAAmD,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CACnI,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;SACvD;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,MAAe;QACxC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,MAAM,SAAS,CAAC,iCAAiC,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC;QACtE,MAAM,SAAS,CAAC,cAAc,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACxF,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,MAAM,SAAS,CAAC,eAAe,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACzE,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,MAAe,EAAE,QAAmB;;QAC/D,wBAAwB;QACxB,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,IAAI,CAC1C,IAAI,MAAM,CAAC,yBAAyB,CAAC;YACnC,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU;YACnC,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,OAAO,EAAE,IAAI;SACd,CAAC,CACH,CAAC;QACF,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QAE9D,IAAI,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;QACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,4DAA4D;YAC5D,+CAA+C;YAC/C,qCAAqC;YACrC,IAAI,gBAAgB,KAAK,YAAY,EAAE;gBACrC,OAAO,CAAC,GAAG,CAAC,qCAAqC,aAAa,EAAE,CAAC,CAAC;gBAClE,MAAM;aACP;YAED,wCAAwC;YACxC,MAAM,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YAEhC,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,IAAI,CACvC,IAAI,MAAM,CAAC,kBAAkB,CAAC;gBAC5B,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU;gBACnC,SAAS,EAAE,aAAa;aACzB,CAAC,CACH,CAAC;YAEF,yDAAyD;YACzD,gBAAgB,GAAG,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,aAAa,0CAAE,gBAAgB,CAAC;SAC/D;QAED,4BAA4B;QAC5B,OAAO,CAAC,GAAG,CAAC,kDAAkD,aAAa,EAAE,CAAC,CAAC;QAC/E,MAAM,iBAAiB,GAAG,MAAM,YAAY,CAAC,IAAI,CAC/C,IAAI,MAAM,CAAC,kBAAkB,CAAC;YAC5B,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU;YACnC,IAAI,EAAE,QAAQ,CAAC,KAAK;YACpB,eAAe,EAAE,aAAa;SAC/B,CAAC,CACH,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,+BAA+B,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;;AAxZM,iBAAK,GAAG;IACb,OAAO,EAAE,eAAW,CAAC,OAAO,CAAC;QAC3B,IAAI,EAAE,GAAG;KACV,CAAC;IACF,IAAI,EAAE,eAAW,CAAC,IAAI,EAAE;IACxB,kBAAkB,EAAE,eAAW,CAAC,MAAM,CAAC;QACrC,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,sCAAsC;KACpD,CAAC;IACF,UAAU,EAAE,eAAW,CAAC,MAAM,CAAC;QAC7B,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,+BAA+B;KAC7C,CAAC;IACF,QAAQ,EAAE,eAAW,CAAC,MAAM,CAAC;QAC3B,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,+CAA+C;KAC7D,CAAC;IACF,SAAS,EAAE,eAAW,CAAC,OAAO,CAAC;QAC7B,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,gDAAgD;KAC9D,CAAC;CACH,CAAC;AA8XJ,6CAA6C;AAC7C,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,eAAY,CAAC,CAAC;AAEtC,kBAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pwrdrvr/microapps-publish",
3
- "version": "0.0.18",
3
+ "version": "0.0.19",
4
4
  "description": "Publish tool for deploying apps and updates",
5
5
  "main": "dist/index.js",
6
6
  "source": "src/index.ts",
@@ -1,6 +1,5 @@
1
1
  import * as lambda from '@aws-sdk/client-lambda';
2
2
 
3
- // eslint-disable-next-line import/no-extraneous-dependencies,import/no-unresolved
4
3
  import {
5
4
  IDeployVersionPreflightRequest,
6
5
  IDeployVersionPreflightResponse,
@@ -6,7 +6,6 @@ import { promises as fs, createReadStream } from 'fs';
6
6
  import * as path from 'path';
7
7
  import * as s3 from '@aws-sdk/client-s3';
8
8
  import { Upload } from '@aws-sdk/lib-storage';
9
- // eslint-disable-next-line import/no-extraneous-dependencies,import/no-unresolved
10
9
  import { IDeployVersionPreflightResponse } from '@pwrdrvr/microapps-deployer';
11
10
  import { contentType } from 'mime-types';
12
11
  import pMap from 'p-map';
@@ -70,7 +69,12 @@ export default class S3TransferUtility {
70
69
  // Recursive getFiles from
71
70
  // https://stackoverflow.com/a/45130990/831465
72
71
 
73
- private static async GetFiles(dir: string): Promise<string | string[]> {
72
+ /**
73
+ * Resursively enumerate the files to be uploaded
74
+ * @param dir
75
+ * @returns
76
+ */
77
+ public static async GetFiles(dir: string): Promise<string | string[]> {
74
78
  const dirents = await fs.readdir(dir, { withFileTypes: true });
75
79
  const files = await Promise.all(
76
80
  dirents.map((dirent) => {
package/src/S3Uploader.ts CHANGED
@@ -1,23 +1,54 @@
1
1
  import path from 'path';
2
- // eslint-disable-next-line import/no-extraneous-dependencies,import/no-unresolved
3
2
  import { IDeployVersionPreflightResponse } from '@pwrdrvr/microapps-deployer';
4
3
  import fs from 'fs-extra';
5
4
  import { IConfig } from './config/Config';
6
5
  import S3TransferUtility from './S3TransferUtility';
7
6
 
8
7
  export default class S3Uploader {
8
+ /**
9
+ * Copy files to local upload directory
10
+ * @param config
11
+ * @param s3UploadPath
12
+ * @param preflightResponse
13
+ */
14
+ public static async CopyToUploadDir(config: IConfig, s3UploadPath: string): Promise<void> {
15
+ const { destinationPrefix } = S3Uploader.ParseUploadPath(s3UploadPath);
16
+
17
+ // Make a local root dir for the upload
18
+ const tempUploadPath = path.join(S3Uploader._tempDir, destinationPrefix);
19
+ await S3Uploader.removeTempDirIfExists();
20
+ await fs.mkdir(tempUploadPath, { recursive: true });
21
+
22
+ // Copy the files in the source dir to the root dir
23
+ // Note: It would be faster to move the files, then move them back
24
+ await fs.copy(config.app.staticAssetsPath, tempUploadPath);
25
+ }
26
+
27
+ public static ParseUploadPath(s3UploadPath: string): {
28
+ bucketName: string;
29
+ destinationPrefix: string;
30
+ } {
31
+ // Parse the S3 Source URI
32
+ const uri = new URL(s3UploadPath);
33
+ const bucketName = uri.host;
34
+ const destinationPrefix = uri.pathname.length >= 1 ? uri.pathname.slice(1) : '';
35
+
36
+ return { bucketName, destinationPrefix };
37
+ }
38
+
39
+ /**
40
+ * Upload files to S3
41
+ * @param config
42
+ * @param s3UploadPath
43
+ * @param preflightResponse
44
+ */
9
45
  public static async Upload(
10
46
  config: IConfig,
11
47
  s3UploadPath: string,
12
48
  preflightResponse: IDeployVersionPreflightResponse,
13
49
  ): Promise<void> {
14
50
  try {
15
- //const destinationPrefix = `${config.app.name}/${config.app.semVer}`;
16
-
17
- // Parse the S3 Source URI
18
- const uri = new URL(s3UploadPath);
19
- const bucketName = uri.host;
20
- const destinationPrefix = uri.pathname.length >= 1 ? uri.pathname.slice(1) : '';
51
+ const { destinationPrefix, bucketName } = S3Uploader.ParseUploadPath(s3UploadPath);
21
52
 
22
53
  // Make a local root dir for the upload
23
54
  const tempUploadPath = path.join(S3Uploader._tempDir, destinationPrefix);
@@ -56,4 +87,7 @@ export default class S3Uploader {
56
87
  }
57
88
 
58
89
  private static readonly _tempDir = './deploytool-temp';
90
+ public static get TempDir(): string {
91
+ return S3Uploader._tempDir;
92
+ }
59
93
  }
package/src/index.ts CHANGED
@@ -7,16 +7,21 @@ import 'reflect-metadata';
7
7
  import { exec } from 'child_process';
8
8
  import * as util from 'util';
9
9
  import * as lambda from '@aws-sdk/client-lambda';
10
+ import * as s3 from '@aws-sdk/client-s3';
10
11
  import * as sts from '@aws-sdk/client-sts';
11
12
  import { Command, flags as flagsParser } from '@oclif/command';
12
13
  import { IConfig as OCLIFIConfig } from '@oclif/config';
13
14
  import { handle as errorHandler } from '@oclif/errors';
14
15
  import chalk from 'chalk';
15
- import { promises as fs, pathExists } from 'fs-extra';
16
+ import path from 'path';
17
+ import { promises as fs, pathExists, createReadStream } from 'fs-extra';
16
18
  import { Listr, ListrErrorTypes, ListrTask, ListrTaskObject } from 'listr2';
17
19
  import { Config, IConfig } from './config/Config';
18
20
  import DeployClient, { IDeployVersionPreflightResult } from './DeployClient';
19
21
  import S3Uploader from './S3Uploader';
22
+ import S3TransferUtility from './S3TransferUtility';
23
+ import { Upload } from '@aws-sdk/lib-storage';
24
+ import { contentType } from 'mime-types';
20
25
  const asyncSetTimeout = util.promisify(setTimeout);
21
26
  const asyncExec = util.promisify(exec);
22
27
 
@@ -34,6 +39,7 @@ interface IVersions {
34
39
 
35
40
  interface IContext {
36
41
  preflightResult: IDeployVersionPreflightResult;
42
+ files: string[];
37
43
  }
38
44
 
39
45
  class PublishTool extends Command {
@@ -132,13 +138,14 @@ class PublishTool extends Command {
132
138
  ] as { path: string; versions: IVersions }[];
133
139
 
134
140
  // Install handler to ensure that we restore files
141
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises
135
142
  process.on('SIGINT', async () => {
136
143
  if (this._restoreFilesStarted) {
137
144
  return;
138
145
  } else {
139
146
  this._restoreFilesStarted = true;
140
147
  }
141
- console.log('Caught Ctrl-C, restoring files');
148
+ this.log('Caught Ctrl-C, restoring files');
142
149
  await S3Uploader.removeTempDirIfExists();
143
150
  await this.restoreFiles();
144
151
  });
@@ -151,161 +158,253 @@ class PublishTool extends Command {
151
158
  }
152
159
 
153
160
  //
154
- // TODO: Setup Tasks
161
+ // Setup Tasks
155
162
  //
156
163
 
157
- const tasks = new Listr<IContext>([
158
- {
159
- title: 'Logging into ECR',
160
- task: async (ctx, task) => {
161
- const origTitle = task.title;
162
- task.title = RUNNING + origTitle;
164
+ const tasks = new Listr<IContext>(
165
+ [
166
+ {
167
+ title: 'Logging into ECR',
168
+ task: async (ctx, task) => {
169
+ const origTitle = task.title;
170
+ task.title = RUNNING + origTitle;
163
171
 
164
- await this.loginToECR(config);
172
+ await this.loginToECR(config);
165
173
 
166
- task.title = origTitle;
174
+ task.title = origTitle;
175
+ },
167
176
  },
168
- },
169
- {
170
- title: 'Modifying Config Files',
171
- task: async (ctx, task) => {
172
- const origTitle = task.title;
173
- task.title = RUNNING + origTitle;
174
-
175
- // Modify the existing files with the new version
176
- for (const fileToModify of this.FILES_TO_MODIFY) {
177
- task.output = `Patching version (${this.VersionAndAlias.version}) into ${fileToModify.path}`;
178
- if (
179
- !(await this.writeNewVersions(fileToModify.path, fileToModify.versions, leaveFiles))
180
- ) {
181
- task.output = `Failed modifying file: ${fileToModify.path}`;
177
+ {
178
+ title: 'Modifying Config Files',
179
+ task: async (ctx, task) => {
180
+ const origTitle = task.title;
181
+ task.title = RUNNING + origTitle;
182
+
183
+ // Modify the existing files with the new version
184
+ for (const fileToModify of this.FILES_TO_MODIFY) {
185
+ task.output = `Patching version (${this.VersionAndAlias.version}) into ${fileToModify.path}`;
186
+ if (
187
+ !(await this.writeNewVersions(fileToModify.path, fileToModify.versions, leaveFiles))
188
+ ) {
189
+ task.output = `Failed modifying file: ${fileToModify.path}`;
190
+ }
182
191
  }
183
- }
184
192
 
185
- task.title = origTitle;
186
- },
187
- },
188
- {
189
- title: 'Preflight Version Check',
190
- task: async (ctx, task) => {
191
- const origTitle = task.title;
192
- task.title = RUNNING + origTitle;
193
-
194
- // Confirm the Version Does Not Exist in Published State
195
- task.output = `Checking if deployed app/version already exists for ${config.app.name}/${version}`;
196
- ctx.preflightResult = await DeployClient.DeployVersionPreflight(config);
197
- if (ctx.preflightResult.exists) {
198
- task.output = `Warning: App/Version already exists: ${config.app.name}/${config.app.semVer}`;
199
- }
200
-
201
- task.title = origTitle;
193
+ task.title = origTitle;
194
+ },
202
195
  },
203
- },
204
- {
205
- title: 'Serverless Next.js Build',
206
- task: async (ctx, task) => {
207
- const origTitle = task.title;
208
- task.title = RUNNING + origTitle;
209
-
210
- task.output = `Invoking serverless next.js build for ${config.app.name}/${version}`;
211
-
212
- // Run the serverless next.js build
213
- await asyncExec('serverless');
196
+ {
197
+ title: 'Preflight Version Check',
198
+ task: async (ctx, task) => {
199
+ const origTitle = task.title;
200
+ task.title = RUNNING + origTitle;
201
+
202
+ // Confirm the Version Does Not Exist in Published State
203
+ task.output = `Checking if deployed app/version already exists for ${config.app.name}/${version}`;
204
+ ctx.preflightResult = await DeployClient.DeployVersionPreflight(config);
205
+ if (ctx.preflightResult.exists) {
206
+ task.output = `Warning: App/Version already exists: ${config.app.name}/${config.app.semVer}`;
207
+ }
214
208
 
215
- if (config.app.serverlessNextRouterPath !== undefined) {
216
- task.output = 'Copying Serverless Next.js router to build output directory';
217
- await fs.copyFile(config.app.serverlessNextRouterPath, './.serverless_nextjs/index.js');
218
- }
209
+ task.title = origTitle;
210
+ },
211
+ },
212
+ {
213
+ title: 'Serverless Next.js Build',
214
+ task: async (ctx, task) => {
215
+ const origTitle = task.title;
216
+ task.title = RUNNING + origTitle;
217
+
218
+ task.output = `Invoking serverless next.js build for ${config.app.name}/${version}`;
219
+
220
+ // Run the serverless next.js build
221
+ await asyncExec('serverless');
222
+
223
+ if (config.app.serverlessNextRouterPath !== undefined) {
224
+ task.output = 'Copying Serverless Next.js router to build output directory';
225
+ await fs.copyFile(
226
+ config.app.serverlessNextRouterPath,
227
+ './.serverless_nextjs/index.js',
228
+ );
229
+ }
219
230
 
220
- task.title = origTitle;
231
+ task.title = origTitle;
232
+ },
221
233
  },
222
- },
223
- {
224
- title: 'Publish to ECR',
225
- task: async (ctx, task) => {
226
- const origTitle = task.title;
227
- task.title = RUNNING + origTitle;
234
+ {
235
+ title: 'Publish to ECR',
236
+ task: async (ctx, task) => {
237
+ const origTitle = task.title;
238
+ task.title = RUNNING + origTitle;
239
+
240
+ // Docker, build, tag, push to ECR
241
+ // Note: Need to already have AWS env vars set
242
+ await this.publishToECR(config);
243
+
244
+ task.title = origTitle;
245
+ },
246
+ },
247
+ {
248
+ title: 'Deploy to Lambda',
249
+ task: async (ctx, task) => {
250
+ const origTitle = task.title;
251
+ task.title = RUNNING + origTitle;
228
252
 
229
- // Docker, build, tag, push to ECR
230
- // Note: Need to already have AWS env vars set
231
- await this.publishToECR(config);
253
+ // Update the Lambda function
254
+ await this.deployToLambda(config, this.VersionAndAlias);
232
255
 
233
- task.title = origTitle;
256
+ task.title = origTitle;
257
+ },
234
258
  },
235
- },
236
- {
237
- title: 'Deploy to Lambda',
238
- task: async (ctx, task) => {
239
- const origTitle = task.title;
240
- task.title = RUNNING + origTitle;
241
-
242
- // Update the Lambda function
243
- await this.deployToLambda(config, this.VersionAndAlias);
259
+ {
260
+ title: 'Confirm Static Assets Folder Exists',
261
+ task: async (ctx, task) => {
262
+ const origTitle = task.title;
263
+ task.title = RUNNING + origTitle;
264
+
265
+ // Check that Static Assets Folder exists
266
+ if (!(await pathExists(config.app.staticAssetsPath))) {
267
+ this.error(`Static asset path does not exist: ${config.app.staticAssetsPath}`);
268
+ }
244
269
 
245
- task.title = origTitle;
270
+ task.title = origTitle;
271
+ },
246
272
  },
247
- },
248
- {
249
- title: 'Confirm Static Assets Folder Exists',
250
- task: async (ctx, task) => {
251
- const origTitle = task.title;
252
- task.title = RUNNING + origTitle;
273
+ {
274
+ title: 'Copy Static Files to Local Upload Dir',
275
+ task: async (ctx, task) => {
276
+ const origTitle = task.title;
277
+ task.title = RUNNING + origTitle;
253
278
 
254
- // Check that Static Assets Folder exists
255
- if (!(await pathExists(config.app.staticAssetsPath))) {
256
- this.error(`Static asset path does not exist: ${config.app.staticAssetsPath}`);
257
- }
279
+ // Copy files to local dir to be uploaded
280
+ await S3Uploader.CopyToUploadDir(config, ctx.preflightResult.response.s3UploadUrl);
258
281
 
259
- task.title = origTitle;
282
+ task.title = origTitle;
283
+ },
260
284
  },
261
- },
262
- {
263
- title: 'Upload Files to S3 Staging AppName/Version Prefix',
264
- task: async (ctx, task) => {
265
- const origTitle = task.title;
266
- task.title = RUNNING + origTitle;
267
-
268
- // Upload Files to S3 Staging AppName/Version Prefix
269
- await S3Uploader.Upload(
270
- config,
271
- ctx.preflightResult.response.s3UploadUrl,
272
- ctx.preflightResult.response,
273
- );
274
-
275
- task.title = origTitle;
285
+ // {
286
+ // title: 'Upload Files to S3 Staging AppName/Version Prefix',
287
+ // task: async (ctx, task) => {
288
+ // const origTitle = task.title;
289
+ // task.title = RUNNING + origTitle;
290
+
291
+ // const { destinationPrefix, bucketName } = S3Uploader.ParseUploadPath(
292
+ // ctx.preflightResult.response.s3UploadUrl,
293
+ // );
294
+
295
+ // // Upload Files to S3 Staging AppName/Version Prefix
296
+ // await S3TransferUtility.UploadDir(
297
+ // S3Uploader.TempDir,
298
+ // destinationPrefix,
299
+ // bucketName,
300
+ // ctx.preflightResult.response,
301
+ // );
302
+
303
+ // task.title = origTitle;
304
+ // },
305
+ // },
306
+ {
307
+ title: 'Enumerate Files to Upload to S3',
308
+ task: async (ctx, task) => {
309
+ const origTitle = task.title;
310
+ task.title = RUNNING + origTitle;
311
+
312
+ ctx.files = (await S3TransferUtility.GetFiles(S3Uploader.TempDir)) as string[];
313
+
314
+ task.title = origTitle;
315
+ },
276
316
  },
277
- },
278
- {
279
- title: `Creating MicroApp Application: ${config.app.name}`,
280
- task: async (ctx, task) => {
281
- const origTitle = task.title;
282
- task.title = RUNNING + origTitle;
317
+ {
318
+ title: 'Upload Static Files to S3',
319
+ task: (ctx, task) => {
320
+ const origTitle = task.title;
321
+ task.title = RUNNING + origTitle;
322
+
323
+ const { bucketName } = S3Uploader.ParseUploadPath(
324
+ ctx.preflightResult.response.s3UploadUrl,
325
+ );
326
+
327
+ // Use temp credentials for S3
328
+ const s3Client = new s3.S3Client({
329
+ maxAttempts: 16,
330
+ credentials: {
331
+ accessKeyId: ctx.preflightResult.response.awsCredentials.accessKeyId,
332
+ secretAccessKey: ctx.preflightResult.response.awsCredentials.secretAccessKey,
333
+ sessionToken: ctx.preflightResult.response.awsCredentials.sessionToken,
334
+ },
335
+ });
336
+
337
+ const tasks: ListrTask<IContext>[] = ctx.files.map((filePath) => ({
338
+ task: async (ctx: IContext, subtask) => {
339
+ const origTitle = subtask.title;
340
+ subtask.title = RUNNING + origTitle;
341
+
342
+ const upload = new Upload({
343
+ client: s3Client,
344
+ leavePartsOnError: false,
345
+ params: {
346
+ Bucket: bucketName,
347
+ Key: path.relative(S3Uploader.TempDir, filePath),
348
+ Body: createReadStream(filePath),
349
+ ContentType: contentType(path.basename(filePath)) || 'application/octet-stream',
350
+ CacheControl: 'max-age=86400; public',
351
+ },
352
+ });
353
+ await upload.done();
354
+
355
+ subtask.title = origTitle;
356
+ },
357
+ }));
358
+
359
+ task.title = origTitle;
360
+
361
+ return task.newListr(tasks, {
362
+ concurrent: 8,
363
+ rendererOptions: {
364
+ clearOutput: false,
365
+ showErrorMessage: true,
366
+ showTimer: true,
367
+ },
368
+ });
369
+ },
370
+ },
371
+ {
372
+ title: `Creating MicroApp Application: ${config.app.name}`,
373
+ task: async (ctx, task) => {
374
+ const origTitle = task.title;
375
+ task.title = RUNNING + origTitle;
283
376
 
284
- // Call Deployer to Create App if Not Exists
285
- await DeployClient.CreateApp(config);
377
+ // Call Deployer to Create App if Not Exists
378
+ await DeployClient.CreateApp(config);
286
379
 
287
- task.title = origTitle;
380
+ task.title = origTitle;
381
+ },
288
382
  },
289
- },
290
- {
291
- title: `Creating MicroApp Version: ${config.app.semVer}`,
292
- task: async (ctx, task) => {
293
- const origTitle = task.title;
294
- task.title = RUNNING + origTitle;
383
+ {
384
+ title: `Creating MicroApp Version: ${config.app.semVer}`,
385
+ task: async (ctx, task) => {
386
+ const origTitle = task.title;
387
+ task.title = RUNNING + origTitle;
295
388
 
296
- // Call Deployer to Deploy AppName/Version
297
- await DeployClient.DeployVersion(config);
389
+ // Call Deployer to Deploy AppName/Version
390
+ await DeployClient.DeployVersion(config);
298
391
 
299
- task.title = origTitle;
392
+ task.title = origTitle;
393
+ },
394
+ },
395
+ ],
396
+ {
397
+ rendererOptions: {
398
+ showTimer: true,
300
399
  },
301
400
  },
302
- ]);
401
+ );
303
402
 
304
403
  try {
305
404
  await tasks.run();
306
- console.log(`Published: ${config.app.name}/${config.app.semVer}`);
405
+ this.log(`Published: ${config.app.name}/${config.app.semVer}`);
307
406
  } catch (error) {
308
- console.log(`Caught exception: ${error.message}`);
407
+ this.log(`Caught exception: ${error.message}`);
309
408
  } finally {
310
409
  await this.restoreFiles();
311
410
  }
@@ -391,16 +490,16 @@ class PublishTool extends Command {
391
490
  }
392
491
 
393
492
  private async publishToECR(config: IConfig): Promise<void> {
394
- console.log('Starting Docker build');
493
+ // console.log('Starting Docker build');
395
494
  await asyncExec(`docker build -f Dockerfile -t ${this.IMAGE_TAG} .`);
396
495
  await asyncExec(`docker tag ${this.IMAGE_TAG} ${config.app.ecrHost}/${this.IMAGE_TAG}`);
397
- console.log('Starting Docker push to ECR');
496
+ // console.log('Starting Docker push to ECR');
398
497
  await asyncExec(`docker push ${config.app.ecrHost}/${this.IMAGE_TAG}`);
399
498
  }
400
499
 
401
500
  private async deployToLambda(config: IConfig, versions: IVersions): Promise<void> {
402
501
  // Create Lambda version
403
- console.log('Updating Lambda code to point to new Docker image');
502
+ // console.log('Updating Lambda code to point to new Docker image');
404
503
  const resultUpdate = await lambdaClient.send(
405
504
  new lambda.UpdateFunctionCodeCommand({
406
505
  FunctionName: config.app.lambdaName,
@@ -409,7 +508,7 @@ class PublishTool extends Command {
409
508
  }),
410
509
  );
411
510
  const lambdaVersion = resultUpdate.Version;
412
- console.log('Lambda version created: ', resultUpdate.Version);
511
+ // console.log('Lambda version created: ', resultUpdate.Version);
413
512
 
414
513
  let lastUpdateStatus = resultUpdate.LastUpdateStatus;
415
514
  for (let i = 0; i < 5; i++) {
@@ -417,7 +516,7 @@ class PublishTool extends Command {
417
516
  // and we have to wait until it's done creating
418
517
  // before we can point an alias to it
419
518
  if (lastUpdateStatus === 'Successful') {
420
- console.log(`Lambda function updated, version: ${lambdaVersion}`);
519
+ // console.log(`Lambda function updated, version: ${lambdaVersion}`);
421
520
  break;
422
521
  }
423
522
 
@@ -436,7 +535,7 @@ class PublishTool extends Command {
436
535
  }
437
536
 
438
537
  // Create Lambda alias point
439
- console.log(`Creating the lambda alias for the new version: ${lambdaVersion}`);
538
+ // console.log(`Creating the lambda alias for the new version: ${lambdaVersion}`);
440
539
  const resultLambdaAlias = await lambdaClient.send(
441
540
  new lambda.CreateAliasCommand({
442
541
  FunctionName: config.app.lambdaName,
@@ -444,7 +543,7 @@ class PublishTool extends Command {
444
543
  FunctionVersion: lambdaVersion,
445
544
  }),
446
545
  );
447
- console.log(`Lambda alias created, name: ${resultLambdaAlias.Name}`);
546
+ // console.log(`Lambda alias created, name: ${resultLambdaAlias.Name}`);
448
547
  }
449
548
  }
450
549