@pwrdrvr/microapps-publish 0.0.19 → 0.0.20

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,6 +1,9 @@
1
1
  import * as lambda from '@aws-sdk/client-lambda';
2
- import { IDeployVersionPreflightResponse } from '@pwrdrvr/microapps-deployer';
2
+ import { TaskWrapper } from 'listr2/dist/lib/task-wrapper';
3
+ import { DefaultRenderer } from 'listr2/dist/renderer/default.renderer';
4
+ import { IDeployVersionPreflightResponse } from '@pwrdrvr/microapps-deployer-lib';
3
5
  import { IConfig } from './config/Config';
6
+ import { IContext } from './index';
4
7
  export interface IDeployVersionPreflightResult {
5
8
  exists: boolean;
6
9
  response: IDeployVersionPreflightResponse;
@@ -9,7 +12,15 @@ export default class DeployClient {
9
12
  static readonly _client: lambda.LambdaClient;
10
13
  static readonly _decoder: TextDecoder;
11
14
  static CreateApp(config: IConfig): Promise<void>;
12
- static DeployVersionPreflight(config: IConfig): Promise<IDeployVersionPreflightResult>;
13
- static DeployVersion(config: IConfig): Promise<void>;
15
+ static DeployVersionPreflight(config: IConfig, task: TaskWrapper<IContext, typeof DefaultRenderer>): Promise<IDeployVersionPreflightResult>;
16
+ /**
17
+ * Copy S3 static assets from staging to live bucket.
18
+ * Create API Gateway Integration for app (if needed).
19
+ * Give API Gateway permission to call the Lambda.
20
+ * Create API Gateway routes for this specific version.
21
+ * @param config
22
+ * @param task
23
+ */
24
+ static DeployVersion(config: IConfig, task: TaskWrapper<IContext, typeof DefaultRenderer>): Promise<void>;
14
25
  }
15
26
  //# sourceMappingURL=DeployClient.d.ts.map
@@ -1 +1 @@
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
+ {"version":3,"file":"DeployClient.d.ts","sourceRoot":"","sources":["../src/DeployClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAEL,+BAA+B,EAIhC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,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,EACf,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,eAAe,CAAC,GAClD,OAAO,CAAC,6BAA6B,CAAC;IA4BzC;;;;;;;OAOG;WACiB,aAAa,CAC/B,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,OAAO,eAAe,CAAC,GAClD,OAAO,CAAC,IAAI,CAAC;CA6BjB"}
@@ -23,7 +23,7 @@ class DeployClient {
23
23
  throw new Error(`App Create - Lambda Invoke Failed: ${JSON.stringify(response)}`);
24
24
  }
25
25
  }
26
- static async DeployVersionPreflight(config) {
26
+ static async DeployVersionPreflight(config, task) {
27
27
  const request = {
28
28
  type: 'deployVersionPreflight',
29
29
  appName: config.app.name,
@@ -36,7 +36,7 @@ class DeployClient {
36
36
  if (response.$metadata.httpStatusCode === 200 && response.Payload !== undefined) {
37
37
  const dResponse = JSON.parse(Buffer.from(response.Payload).toString('utf-8'));
38
38
  if (dResponse.statusCode === 404) {
39
- console.log(`App/Version do not exist: ${config.app.name}/${config.app.semVer}`);
39
+ task.output = `App/Version do not exist: ${config.app.name}/${config.app.semVer}`;
40
40
  return { exists: false, response: dResponse };
41
41
  }
42
42
  else {
@@ -47,7 +47,15 @@ class DeployClient {
47
47
  throw new Error(`Lambda call to DeployVersionPreflight failed: ${JSON.stringify(response)}`);
48
48
  }
49
49
  }
50
- static async DeployVersion(config) {
50
+ /**
51
+ * Copy S3 static assets from staging to live bucket.
52
+ * Create API Gateway Integration for app (if needed).
53
+ * Give API Gateway permission to call the Lambda.
54
+ * Create API Gateway routes for this specific version.
55
+ * @param config
56
+ * @param task
57
+ */
58
+ static async DeployVersion(config, task) {
51
59
  const request = {
52
60
  type: 'deployVersion',
53
61
  appName: config.app.name,
@@ -62,10 +70,11 @@ class DeployClient {
62
70
  if (response.$metadata.httpStatusCode === 200 && response.Payload !== undefined) {
63
71
  const dResponse = JSON.parse(Buffer.from(response.Payload).toString('utf-8'));
64
72
  if (dResponse.statusCode === 201) {
65
- console.log(`Deploy succeeded: ${config.app.name}/${config.app.semVer}`);
73
+ task.output = `Deploy succeeded: ${config.app.name}/${config.app.semVer}`;
66
74
  }
67
75
  else {
68
- console.log(`Deploy failed with: ${dResponse.statusCode}`);
76
+ task.output = `Deploy failed with: ${dResponse.statusCode}`;
77
+ throw new Error(`Lambda call to DeployVersionfailed with: ${dResponse.statusCode}`);
69
78
  }
70
79
  }
71
80
  else {
@@ -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":";;;AAAA,uEAAiD;AAkBjD,MAAqB,YAAY;IAMxB,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAe;QAC3C,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI;YACxB,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI;SACA,CAAC;QAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CACtC,IAAI,MAAM,CAAC,aAAa,CAAC;YACvB,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU;YACxC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SAC9C,CAAC,CACH,CAAC;QAEF,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,KAAK,GAAG,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE;YAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAC1B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC3B,CAAC;YACvB,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,KAAK,GAAG,IAAI,SAAS,CAAC,UAAU,KAAK,GAAG,CAAC,EAAE;gBACnE,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;aACpE;SACF;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SACnF;IACH,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,sBAAsB,CACxC,MAAe,EACf,IAAmD;QAEnD,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,wBAAwB;YAC9B,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI;YACxB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM;SACQ,CAAC;QACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CACtC,IAAI,MAAM,CAAC,aAAa,CAAC;YACvB,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU;YACxC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SAC9C,CAAC,CACH,CAAC;QAEF,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,KAAK,GAAG,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE;YAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAC1B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CACb,CAAC;YACrC,IAAI,SAAS,CAAC,UAAU,KAAK,GAAG,EAAE;gBAChC,IAAI,CAAC,MAAM,GAAG,6BAA6B,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBAClF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;aAC/C;iBAAM;gBACL,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;aAC9C;SACF;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,iDAAiD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SAC9F;IACH,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,KAAK,CAAC,aAAa,CAC/B,MAAe,EACf,IAAmD;QAEnD,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI;YACxB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM;YACzB,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW;YACnC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS;SACP,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CACtC,IAAI,MAAM,CAAC,aAAa,CAAC;YACvB,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU;YACxC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SAC9C,CAAC,CACH,CAAC;QAEF,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,KAAK,GAAG,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE;YAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAC1B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC3B,CAAC;YACvB,IAAI,SAAS,CAAC,UAAU,KAAK,GAAG,EAAE;gBAChC,IAAI,CAAC,MAAM,GAAG,qBAAqB,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;aAC3E;iBAAM;gBACL,IAAI,CAAC,MAAM,GAAG,uBAAuB,SAAS,CAAC,UAAU,EAAE,CAAC;gBAC5D,MAAM,IAAI,KAAK,CAAC,4CAA4C,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;aACrF;SACF;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SACrF;IACH,CAAC;;AArGH,+BAsGC;AArGiB,oBAAO,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC;IAChD,WAAW,EAAE,CAAC;CACf,CAAC,CAAC;AACa,qBAAQ,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC"}
@@ -1,5 +1,13 @@
1
- import { IDeployVersionPreflightResponse } from '@pwrdrvr/microapps-deployer';
1
+ import { IDeployVersionPreflightResponse } from '@pwrdrvr/microapps-deployer-lib';
2
2
  export default class S3TransferUtility {
3
+ /**
4
+ * @deprecated 2021-11-27
5
+ *
6
+ * @param s3Path
7
+ * @param destPrefixPath
8
+ * @param bucketName
9
+ * @param preflightResponse
10
+ */
3
11
  static UploadDir(s3Path: string, destPrefixPath: string, bucketName: string, preflightResponse: IDeployVersionPreflightResponse): Promise<void>;
4
12
  /**
5
13
  * Resursively enumerate the files to be uploaded
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"S3TransferUtility.d.ts","sourceRoot":"","sources":["../src/S3TransferUtility.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AAIlF,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC;;;;;;;OAOG;WACiB,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"}
@@ -11,6 +11,14 @@ const lib_storage_1 = require("@aws-sdk/lib-storage");
11
11
  const mime_types_1 = require("mime-types");
12
12
  const p_map_1 = tslib_1.__importDefault(require("p-map"));
13
13
  class S3TransferUtility {
14
+ /**
15
+ * @deprecated 2021-11-27
16
+ *
17
+ * @param s3Path
18
+ * @param destPrefixPath
19
+ * @param bucketName
20
+ * @param preflightResponse
21
+ */
14
22
  static async UploadDir(s3Path, destPrefixPath, bucketName, preflightResponse) {
15
23
  // Use temp credentials for S3
16
24
  const s3Client = new s3.S3Client({
@@ -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;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
+ {"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;IACpC;;;;;;;OAOG;IACI,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;AAlFD,oCAkFC"}
@@ -1,4 +1,4 @@
1
- import { IDeployVersionPreflightResponse } from '@pwrdrvr/microapps-deployer';
1
+ import { IDeployVersionPreflightResponse } from '@pwrdrvr/microapps-deployer-lib';
2
2
  import { IConfig } from './config/Config';
3
3
  export default class S3Uploader {
4
4
  /**
@@ -14,6 +14,7 @@ export default class S3Uploader {
14
14
  };
15
15
  /**
16
16
  * Upload files to S3
17
+ * @deprecated 2021-11-27
17
18
  * @param config
18
19
  * @param s3UploadPath
19
20
  * @param preflightResponse
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"S3Uploader.d.ts","sourceRoot":"","sources":["../src/S3Uploader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AAElF,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;;;;;;OAMG;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"}
@@ -30,6 +30,7 @@ class S3Uploader {
30
30
  }
31
31
  /**
32
32
  * Upload files to S3
33
+ * @deprecated 2021-11-27
33
34
  * @param config
34
35
  * @param s3UploadPath
35
36
  * @param preflightResponse
@@ -1 +1 @@
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
+ {"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;;;;;;OAMG;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;;AAtFH,6BAuFC;AAJyB,mBAAQ,GAAG,mBAAmB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -3,6 +3,11 @@ import 'source-map-support/register';
3
3
  import 'reflect-metadata';
4
4
  import { Command, flags as flagsParser } from '@oclif/command';
5
5
  import { IConfig as OCLIFIConfig } from '@oclif/config';
6
+ import { IDeployVersionPreflightResult } from './DeployClient';
7
+ export interface IContext {
8
+ preflightResult: IDeployVersionPreflightResult;
9
+ files: string[];
10
+ }
6
11
  declare class PublishTool extends Command {
7
12
  static flags: {
8
13
  version: import("@oclif/parser/lib/flags").IBooleanFlag<void>;
@@ -20,11 +25,40 @@ declare class PublishTool extends Command {
20
25
  private _restoreFilesStarted;
21
26
  constructor(argv: string[], config: OCLIFIConfig);
22
27
  run(): Promise<void>;
23
- restoreFiles(): Promise<void>;
28
+ /**
29
+ * Restore files that the version was patched into
30
+ */
31
+ private restoreFiles;
32
+ /**
33
+ * Setup version and alias strings
34
+ * @param version
35
+ * @returns
36
+ */
24
37
  private createVersions;
38
+ /**
39
+ * Write new versions into specified config files
40
+ * @param path
41
+ * @param requiredVersions
42
+ * @param leaveFiles
43
+ * @returns
44
+ */
25
45
  private writeNewVersions;
46
+ /**
47
+ * Login to ECR for Lambda Docker functions
48
+ * @param config
49
+ * @returns
50
+ */
26
51
  private loginToECR;
52
+ /**
53
+ * Publish to ECR for Lambda Docker function
54
+ * @param config
55
+ */
27
56
  private publishToECR;
57
+ /**
58
+ * Publish an app version to Lambda
59
+ * @param config
60
+ * @param versions
61
+ */
28
62
  private deployToLambda;
29
63
  }
30
64
  export default PublishTool;
@@ -1 +1 @@
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"}
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;AAOxD,OAAqB,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAsB7E,MAAM,WAAW,QAAQ;IACvB,eAAe,EAAE,6BAA6B,CAAC;IAC/C,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,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;IAkU1B;;OAEG;YACW,YAAY;IAkB1B;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;;OAMG;YACW,gBAAgB;IA0C9B;;;;OAIG;YACW,UAAU;IAexB;;;OAGG;YACW,YAAY;IAW1B;;;;OAIG;YACW,cAAc;CAoD7B;AAKD,eAAe,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -136,7 +136,7 @@ class PublishTool extends command_1.Command {
136
136
  task.title = RUNNING + origTitle;
137
137
  // Confirm the Version Does Not Exist in Published State
138
138
  task.output = `Checking if deployed app/version already exists for ${config.app.name}/${version}`;
139
- ctx.preflightResult = await DeployClient_1.default.DeployVersionPreflight(config);
139
+ ctx.preflightResult = await DeployClient_1.default.DeployVersionPreflight(config, task);
140
140
  if (ctx.preflightResult.exists) {
141
141
  task.output = `Warning: App/Version already exists: ${config.app.name}/${config.app.semVer}`;
142
142
  }
@@ -165,7 +165,7 @@ class PublishTool extends command_1.Command {
165
165
  task.title = RUNNING + origTitle;
166
166
  // Docker, build, tag, push to ECR
167
167
  // Note: Need to already have AWS env vars set
168
- await this.publishToECR(config);
168
+ await this.publishToECR(config, task);
169
169
  task.title = origTitle;
170
170
  },
171
171
  },
@@ -175,7 +175,7 @@ class PublishTool extends command_1.Command {
175
175
  const origTitle = task.title;
176
176
  task.title = RUNNING + origTitle;
177
177
  // Update the Lambda function
178
- await this.deployToLambda(config, this.VersionAndAlias);
178
+ await this.deployToLambda(config, this.VersionAndAlias, task);
179
179
  task.title = origTitle;
180
180
  },
181
181
  },
@@ -233,7 +233,7 @@ class PublishTool extends command_1.Command {
233
233
  task: (ctx, task) => {
234
234
  const origTitle = task.title;
235
235
  task.title = RUNNING + origTitle;
236
- const { bucketName } = S3Uploader_1.default.ParseUploadPath(ctx.preflightResult.response.s3UploadUrl);
236
+ const { bucketName, destinationPrefix } = S3Uploader_1.default.ParseUploadPath(ctx.preflightResult.response.s3UploadUrl);
237
237
  // Use temp credentials for S3
238
238
  const s3Client = new s3.S3Client({
239
239
  maxAttempts: 16,
@@ -243,9 +243,11 @@ class PublishTool extends command_1.Command {
243
243
  sessionToken: ctx.preflightResult.response.awsCredentials.sessionToken,
244
244
  },
245
245
  });
246
+ const pathWithoutAppAndVer = path_1.default.join(S3Uploader_1.default.TempDir, destinationPrefix);
246
247
  const tasks = ctx.files.map((filePath) => ({
247
248
  task: async (ctx, subtask) => {
248
- const origTitle = subtask.title;
249
+ const relFilePath = path_1.default.relative(pathWithoutAppAndVer, filePath);
250
+ const origTitle = relFilePath;
249
251
  subtask.title = RUNNING + origTitle;
250
252
  const upload = new lib_storage_1.Upload({
251
253
  client: s3Client,
@@ -289,7 +291,7 @@ class PublishTool extends command_1.Command {
289
291
  const origTitle = task.title;
290
292
  task.title = RUNNING + origTitle;
291
293
  // Call Deployer to Deploy AppName/Version
292
- await DeployClient_1.default.DeployVersion(config);
294
+ await DeployClient_1.default.DeployVersion(config, task);
293
295
  task.title = origTitle;
294
296
  },
295
297
  },
@@ -300,15 +302,19 @@ class PublishTool extends command_1.Command {
300
302
  });
301
303
  try {
302
304
  await tasks.run();
303
- this.log(`Published: ${config.app.name}/${config.app.semVer}`);
305
+ // this.log(`Published: ${config.app.name}/${config.app.semVer}`);
304
306
  }
305
307
  catch (error) {
306
308
  this.log(`Caught exception: ${error.message}`);
307
309
  }
308
310
  finally {
311
+ await S3Uploader_1.default.removeTempDirIfExists();
309
312
  await this.restoreFiles();
310
313
  }
311
314
  }
315
+ /**
316
+ * Restore files that the version was patched into
317
+ */
312
318
  async restoreFiles() {
313
319
  // Put the old files back when succeeded or failed
314
320
  for (const fileToModify of this.FILES_TO_MODIFY) {
@@ -326,9 +332,21 @@ class PublishTool extends command_1.Command {
326
332
  }
327
333
  }
328
334
  }
335
+ /**
336
+ * Setup version and alias strings
337
+ * @param version
338
+ * @returns
339
+ */
329
340
  createVersions(version) {
330
341
  return { version, alias: `v${version.replace(/\./g, '_')}` };
331
342
  }
343
+ /**
344
+ * Write new versions into specified config files
345
+ * @param path
346
+ * @param requiredVersions
347
+ * @param leaveFiles
348
+ * @returns
349
+ */
332
350
  async writeNewVersions(path, requiredVersions, leaveFiles) {
333
351
  const stats = await fs_extra_1.promises.stat(path);
334
352
  if (!stats.isFile) {
@@ -358,6 +376,11 @@ class PublishTool extends command_1.Command {
358
376
  }
359
377
  return true;
360
378
  }
379
+ /**
380
+ * Login to ECR for Lambda Docker functions
381
+ * @param config
382
+ * @returns
383
+ */
361
384
  async loginToECR(config) {
362
385
  this.IMAGE_TAG = `${config.app.ecrRepoName}:${this.VersionAndAlias.version}`;
363
386
  this.IMAGE_URI = `${config.app.ecrHost}/${this.IMAGE_TAG}`;
@@ -369,31 +392,40 @@ class PublishTool extends command_1.Command {
369
392
  }
370
393
  return true;
371
394
  }
372
- async publishToECR(config) {
373
- // console.log('Starting Docker build');
395
+ /**
396
+ * Publish to ECR for Lambda Docker function
397
+ * @param config
398
+ */
399
+ async publishToECR(config, task) {
400
+ task.output = 'Starting Docker build';
374
401
  await asyncExec(`docker build -f Dockerfile -t ${this.IMAGE_TAG} .`);
375
402
  await asyncExec(`docker tag ${this.IMAGE_TAG} ${config.app.ecrHost}/${this.IMAGE_TAG}`);
376
- // console.log('Starting Docker push to ECR');
403
+ task.output = 'Starting Docker push to ECR';
377
404
  await asyncExec(`docker push ${config.app.ecrHost}/${this.IMAGE_TAG}`);
378
405
  }
379
- async deployToLambda(config, versions) {
406
+ /**
407
+ * Publish an app version to Lambda
408
+ * @param config
409
+ * @param versions
410
+ */
411
+ async deployToLambda(config, versions, task) {
380
412
  var _a;
381
413
  // Create Lambda version
382
- // console.log('Updating Lambda code to point to new Docker image');
414
+ task.output = 'Updating Lambda code to point to new Docker image';
383
415
  const resultUpdate = await lambdaClient.send(new lambda.UpdateFunctionCodeCommand({
384
416
  FunctionName: config.app.lambdaName,
385
417
  ImageUri: this.IMAGE_URI,
386
418
  Publish: true,
387
419
  }));
388
420
  const lambdaVersion = resultUpdate.Version;
389
- // console.log('Lambda version created: ', resultUpdate.Version);
421
+ task.output = `Lambda version created: ${resultUpdate.Version}`;
390
422
  let lastUpdateStatus = resultUpdate.LastUpdateStatus;
391
423
  for (let i = 0; i < 5; i++) {
392
424
  // When the function is created the status will be "Pending"
393
425
  // and we have to wait until it's done creating
394
426
  // before we can point an alias to it
395
427
  if (lastUpdateStatus === 'Successful') {
396
- // console.log(`Lambda function updated, version: ${lambdaVersion}`);
428
+ task.output = `Lambda function updated, version: ${lambdaVersion}`;
397
429
  break;
398
430
  }
399
431
  // If it didn't work, wait and try again
@@ -406,13 +438,13 @@ class PublishTool extends command_1.Command {
406
438
  lastUpdateStatus = (_a = resultGet === null || resultGet === void 0 ? void 0 : resultGet.Configuration) === null || _a === void 0 ? void 0 : _a.LastUpdateStatus;
407
439
  }
408
440
  // Create Lambda alias point
409
- // console.log(`Creating the lambda alias for the new version: ${lambdaVersion}`);
441
+ task.output = `Creating the lambda alias for the new version: ${lambdaVersion}`;
410
442
  const resultLambdaAlias = await lambdaClient.send(new lambda.CreateAliasCommand({
411
443
  FunctionName: config.app.lambdaName,
412
444
  Name: versions.alias,
413
445
  FunctionVersion: lambdaVersion,
414
446
  }));
415
- // console.log(`Lambda alias created, name: ${resultLambdaAlias.Name}`);
447
+ task.output = `Lambda alias created, name: ${resultLambdaAlias.Name}`;
416
448
  }
417
449
  }
418
450
  PublishTool.flags = {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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.19",
3
+ "version": "0.0.20",
4
4
  "description": "Publish tool for deploying apps and updates",
5
5
  "main": "dist/index.js",
6
6
  "source": "src/index.ts",
@@ -1,13 +1,15 @@
1
1
  import * as lambda from '@aws-sdk/client-lambda';
2
-
2
+ import { TaskWrapper } from 'listr2/dist/lib/task-wrapper';
3
+ import { DefaultRenderer } from 'listr2/dist/renderer/default.renderer';
3
4
  import {
4
5
  IDeployVersionPreflightRequest,
5
6
  IDeployVersionPreflightResponse,
6
7
  ICreateApplicationRequest,
7
8
  IDeployerResponse,
8
9
  IDeployVersionRequest,
9
- } from '@pwrdrvr/microapps-deployer';
10
+ } from '@pwrdrvr/microapps-deployer-lib';
10
11
  import { IConfig } from './config/Config';
12
+ import { IContext } from './index';
11
13
 
12
14
  export interface IDeployVersionPreflightResult {
13
15
  exists: boolean;
@@ -47,6 +49,7 @@ export default class DeployClient {
47
49
 
48
50
  public static async DeployVersionPreflight(
49
51
  config: IConfig,
52
+ task: TaskWrapper<IContext, typeof DefaultRenderer>,
50
53
  ): Promise<IDeployVersionPreflightResult> {
51
54
  const request = {
52
55
  type: 'deployVersionPreflight',
@@ -65,7 +68,7 @@ export default class DeployClient {
65
68
  Buffer.from(response.Payload).toString('utf-8'),
66
69
  ) as IDeployVersionPreflightResponse;
67
70
  if (dResponse.statusCode === 404) {
68
- console.log(`App/Version do not exist: ${config.app.name}/${config.app.semVer}`);
71
+ task.output = `App/Version do not exist: ${config.app.name}/${config.app.semVer}`;
69
72
  return { exists: false, response: dResponse };
70
73
  } else {
71
74
  return { exists: true, response: dResponse };
@@ -75,7 +78,18 @@ export default class DeployClient {
75
78
  }
76
79
  }
77
80
 
78
- public static async DeployVersion(config: IConfig): Promise<void> {
81
+ /**
82
+ * Copy S3 static assets from staging to live bucket.
83
+ * Create API Gateway Integration for app (if needed).
84
+ * Give API Gateway permission to call the Lambda.
85
+ * Create API Gateway routes for this specific version.
86
+ * @param config
87
+ * @param task
88
+ */
89
+ public static async DeployVersion(
90
+ config: IConfig,
91
+ task: TaskWrapper<IContext, typeof DefaultRenderer>,
92
+ ): Promise<void> {
79
93
  const request = {
80
94
  type: 'deployVersion',
81
95
  appName: config.app.name,
@@ -95,9 +109,10 @@ export default class DeployClient {
95
109
  Buffer.from(response.Payload).toString('utf-8'),
96
110
  ) as IDeployerResponse;
97
111
  if (dResponse.statusCode === 201) {
98
- console.log(`Deploy succeeded: ${config.app.name}/${config.app.semVer}`);
112
+ task.output = `Deploy succeeded: ${config.app.name}/${config.app.semVer}`;
99
113
  } else {
100
- console.log(`Deploy failed with: ${dResponse.statusCode}`);
114
+ task.output = `Deploy failed with: ${dResponse.statusCode}`;
115
+ throw new Error(`Lambda call to DeployVersionfailed with: ${dResponse.statusCode}`);
101
116
  }
102
117
  } else {
103
118
  throw new Error(`Lambda call to DeployVersion failed: ${JSON.stringify(response)}`);
@@ -6,11 +6,19 @@ 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
- import { IDeployVersionPreflightResponse } from '@pwrdrvr/microapps-deployer';
9
+ import { IDeployVersionPreflightResponse } from '@pwrdrvr/microapps-deployer-lib';
10
10
  import { contentType } from 'mime-types';
11
11
  import pMap from 'p-map';
12
12
 
13
13
  export default class S3TransferUtility {
14
+ /**
15
+ * @deprecated 2021-11-27
16
+ *
17
+ * @param s3Path
18
+ * @param destPrefixPath
19
+ * @param bucketName
20
+ * @param preflightResponse
21
+ */
14
22
  public static async UploadDir(
15
23
  s3Path: string,
16
24
  destPrefixPath: string,
package/src/S3Uploader.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import path from 'path';
2
- import { IDeployVersionPreflightResponse } from '@pwrdrvr/microapps-deployer';
2
+ import { IDeployVersionPreflightResponse } from '@pwrdrvr/microapps-deployer-lib';
3
3
  import fs from 'fs-extra';
4
4
  import { IConfig } from './config/Config';
5
5
  import S3TransferUtility from './S3TransferUtility';
@@ -38,6 +38,7 @@ export default class S3Uploader {
38
38
 
39
39
  /**
40
40
  * Upload files to S3
41
+ * @deprecated 2021-11-27
41
42
  * @param config
42
43
  * @param s3UploadPath
43
44
  * @param preflightResponse
package/src/index.ts CHANGED
@@ -15,13 +15,15 @@ import { handle as errorHandler } from '@oclif/errors';
15
15
  import chalk from 'chalk';
16
16
  import path from 'path';
17
17
  import { promises as fs, pathExists, createReadStream } from 'fs-extra';
18
- import { Listr, ListrErrorTypes, ListrTask, ListrTaskObject } from 'listr2';
18
+ import { Listr, ListrTask } from 'listr2';
19
19
  import { Config, IConfig } from './config/Config';
20
20
  import DeployClient, { IDeployVersionPreflightResult } from './DeployClient';
21
21
  import S3Uploader from './S3Uploader';
22
22
  import S3TransferUtility from './S3TransferUtility';
23
23
  import { Upload } from '@aws-sdk/lib-storage';
24
24
  import { contentType } from 'mime-types';
25
+ import { TaskWrapper } from 'listr2/dist/lib/task-wrapper';
26
+ import { DefaultRenderer } from 'listr2/dist/renderer/default.renderer';
25
27
  const asyncSetTimeout = util.promisify(setTimeout);
26
28
  const asyncExec = util.promisify(exec);
27
29
 
@@ -37,7 +39,7 @@ interface IVersions {
37
39
  alias?: string;
38
40
  }
39
41
 
40
- interface IContext {
42
+ export interface IContext {
41
43
  preflightResult: IDeployVersionPreflightResult;
42
44
  files: string[];
43
45
  }
@@ -201,7 +203,7 @@ class PublishTool extends Command {
201
203
 
202
204
  // Confirm the Version Does Not Exist in Published State
203
205
  task.output = `Checking if deployed app/version already exists for ${config.app.name}/${version}`;
204
- ctx.preflightResult = await DeployClient.DeployVersionPreflight(config);
206
+ ctx.preflightResult = await DeployClient.DeployVersionPreflight(config, task);
205
207
  if (ctx.preflightResult.exists) {
206
208
  task.output = `Warning: App/Version already exists: ${config.app.name}/${config.app.semVer}`;
207
209
  }
@@ -233,13 +235,13 @@ class PublishTool extends Command {
233
235
  },
234
236
  {
235
237
  title: 'Publish to ECR',
236
- task: async (ctx, task) => {
238
+ task: async (ctx: IContext, task: TaskWrapper<IContext, typeof DefaultRenderer>) => {
237
239
  const origTitle = task.title;
238
240
  task.title = RUNNING + origTitle;
239
241
 
240
242
  // Docker, build, tag, push to ECR
241
243
  // Note: Need to already have AWS env vars set
242
- await this.publishToECR(config);
244
+ await this.publishToECR(config, task);
243
245
 
244
246
  task.title = origTitle;
245
247
  },
@@ -251,7 +253,7 @@ class PublishTool extends Command {
251
253
  task.title = RUNNING + origTitle;
252
254
 
253
255
  // Update the Lambda function
254
- await this.deployToLambda(config, this.VersionAndAlias);
256
+ await this.deployToLambda(config, this.VersionAndAlias, task);
255
257
 
256
258
  task.title = origTitle;
257
259
  },
@@ -320,7 +322,7 @@ class PublishTool extends Command {
320
322
  const origTitle = task.title;
321
323
  task.title = RUNNING + origTitle;
322
324
 
323
- const { bucketName } = S3Uploader.ParseUploadPath(
325
+ const { bucketName, destinationPrefix } = S3Uploader.ParseUploadPath(
324
326
  ctx.preflightResult.response.s3UploadUrl,
325
327
  );
326
328
 
@@ -334,9 +336,13 @@ class PublishTool extends Command {
334
336
  },
335
337
  });
336
338
 
339
+ const pathWithoutAppAndVer = path.join(S3Uploader.TempDir, destinationPrefix);
340
+
337
341
  const tasks: ListrTask<IContext>[] = ctx.files.map((filePath) => ({
338
342
  task: async (ctx: IContext, subtask) => {
339
- const origTitle = subtask.title;
343
+ const relFilePath = path.relative(pathWithoutAppAndVer, filePath);
344
+
345
+ const origTitle = relFilePath;
340
346
  subtask.title = RUNNING + origTitle;
341
347
 
342
348
  const upload = new Upload({
@@ -387,7 +393,7 @@ class PublishTool extends Command {
387
393
  task.title = RUNNING + origTitle;
388
394
 
389
395
  // Call Deployer to Deploy AppName/Version
390
- await DeployClient.DeployVersion(config);
396
+ await DeployClient.DeployVersion(config, task);
391
397
 
392
398
  task.title = origTitle;
393
399
  },
@@ -402,15 +408,19 @@ class PublishTool extends Command {
402
408
 
403
409
  try {
404
410
  await tasks.run();
405
- this.log(`Published: ${config.app.name}/${config.app.semVer}`);
411
+ // this.log(`Published: ${config.app.name}/${config.app.semVer}`);
406
412
  } catch (error) {
407
413
  this.log(`Caught exception: ${error.message}`);
408
414
  } finally {
415
+ await S3Uploader.removeTempDirIfExists();
409
416
  await this.restoreFiles();
410
417
  }
411
418
  }
412
419
 
413
- public async restoreFiles(): Promise<void> {
420
+ /**
421
+ * Restore files that the version was patched into
422
+ */
423
+ private async restoreFiles(): Promise<void> {
414
424
  // Put the old files back when succeeded or failed
415
425
  for (const fileToModify of this.FILES_TO_MODIFY) {
416
426
  try {
@@ -428,10 +438,22 @@ class PublishTool extends Command {
428
438
  }
429
439
  }
430
440
 
441
+ /**
442
+ * Setup version and alias strings
443
+ * @param version
444
+ * @returns
445
+ */
431
446
  private createVersions(version: string): IVersions {
432
447
  return { version, alias: `v${version.replace(/\./g, '_')}` };
433
448
  }
434
449
 
450
+ /**
451
+ * Write new versions into specified config files
452
+ * @param path
453
+ * @param requiredVersions
454
+ * @param leaveFiles
455
+ * @returns
456
+ */
435
457
  private async writeNewVersions(
436
458
  path: string,
437
459
  requiredVersions: IVersions,
@@ -474,6 +496,11 @@ class PublishTool extends Command {
474
496
  return true;
475
497
  }
476
498
 
499
+ /**
500
+ * Login to ECR for Lambda Docker functions
501
+ * @param config
502
+ * @returns
503
+ */
477
504
  private async loginToECR(config: IConfig): Promise<boolean> {
478
505
  this.IMAGE_TAG = `${config.app.ecrRepoName}:${this.VersionAndAlias.version}`;
479
506
  this.IMAGE_URI = `${config.app.ecrHost}/${this.IMAGE_TAG}`;
@@ -489,17 +516,33 @@ class PublishTool extends Command {
489
516
  return true;
490
517
  }
491
518
 
492
- private async publishToECR(config: IConfig): Promise<void> {
493
- // console.log('Starting Docker build');
519
+ /**
520
+ * Publish to ECR for Lambda Docker function
521
+ * @param config
522
+ */
523
+ private async publishToECR(
524
+ config: IConfig,
525
+ task: TaskWrapper<IContext, typeof DefaultRenderer>,
526
+ ): Promise<void> {
527
+ task.output = 'Starting Docker build';
494
528
  await asyncExec(`docker build -f Dockerfile -t ${this.IMAGE_TAG} .`);
495
529
  await asyncExec(`docker tag ${this.IMAGE_TAG} ${config.app.ecrHost}/${this.IMAGE_TAG}`);
496
- // console.log('Starting Docker push to ECR');
530
+ task.output = 'Starting Docker push to ECR';
497
531
  await asyncExec(`docker push ${config.app.ecrHost}/${this.IMAGE_TAG}`);
498
532
  }
499
533
 
500
- private async deployToLambda(config: IConfig, versions: IVersions): Promise<void> {
534
+ /**
535
+ * Publish an app version to Lambda
536
+ * @param config
537
+ * @param versions
538
+ */
539
+ private async deployToLambda(
540
+ config: IConfig,
541
+ versions: IVersions,
542
+ task: TaskWrapper<IContext, typeof DefaultRenderer>,
543
+ ): Promise<void> {
501
544
  // Create Lambda version
502
- // console.log('Updating Lambda code to point to new Docker image');
545
+ task.output = 'Updating Lambda code to point to new Docker image';
503
546
  const resultUpdate = await lambdaClient.send(
504
547
  new lambda.UpdateFunctionCodeCommand({
505
548
  FunctionName: config.app.lambdaName,
@@ -508,7 +551,7 @@ class PublishTool extends Command {
508
551
  }),
509
552
  );
510
553
  const lambdaVersion = resultUpdate.Version;
511
- // console.log('Lambda version created: ', resultUpdate.Version);
554
+ task.output = `Lambda version created: ${resultUpdate.Version}`;
512
555
 
513
556
  let lastUpdateStatus = resultUpdate.LastUpdateStatus;
514
557
  for (let i = 0; i < 5; i++) {
@@ -516,7 +559,7 @@ class PublishTool extends Command {
516
559
  // and we have to wait until it's done creating
517
560
  // before we can point an alias to it
518
561
  if (lastUpdateStatus === 'Successful') {
519
- // console.log(`Lambda function updated, version: ${lambdaVersion}`);
562
+ task.output = `Lambda function updated, version: ${lambdaVersion}`;
520
563
  break;
521
564
  }
522
565
 
@@ -535,7 +578,7 @@ class PublishTool extends Command {
535
578
  }
536
579
 
537
580
  // Create Lambda alias point
538
- // console.log(`Creating the lambda alias for the new version: ${lambdaVersion}`);
581
+ task.output = `Creating the lambda alias for the new version: ${lambdaVersion}`;
539
582
  const resultLambdaAlias = await lambdaClient.send(
540
583
  new lambda.CreateAliasCommand({
541
584
  FunctionName: config.app.lambdaName,
@@ -543,7 +586,7 @@ class PublishTool extends Command {
543
586
  FunctionVersion: lambdaVersion,
544
587
  }),
545
588
  );
546
- // console.log(`Lambda alias created, name: ${resultLambdaAlias.Name}`);
589
+ task.output = `Lambda alias created, name: ${resultLambdaAlias.Name}`;
547
590
  }
548
591
  }
549
592