@pwrdrvr/microapps-publish 0.0.15 → 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.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2020 PwrDrvr LLC
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,14 +1,15 @@
1
1
  import * as lambda from '@aws-sdk/client-lambda';
2
2
  import { IDeployVersionPreflightResponse } from '@pwrdrvr/microapps-deployer';
3
3
  import { IConfig } from './config/Config';
4
+ export interface IDeployVersionPreflightResult {
5
+ exists: boolean;
6
+ response: IDeployVersionPreflightResponse;
7
+ }
4
8
  export default class DeployClient {
5
9
  static readonly _client: lambda.LambdaClient;
6
10
  static readonly _decoder: TextDecoder;
7
11
  static CreateApp(config: IConfig): Promise<void>;
8
- static DeployVersionPreflight(config: IConfig): Promise<{
9
- exists: boolean;
10
- response: IDeployVersionPreflightResponse;
11
- }>;
12
+ static DeployVersionPreflight(config: IConfig): Promise<IDeployVersionPreflightResult>;
12
13
  static DeployVersion(config: IConfig): Promise<void>;
13
14
  }
14
15
  //# 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;AAGjD,OAAO,EAEL,+BAA+B,EAIhC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,MAAM,CAAC,QAAQ,CAAC,OAAO,sBAA+B;IACtD,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;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,+BAA+B,CAAA;KAAE,CAAC;WA4BtD,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"}
@@ -74,6 +74,8 @@ class DeployClient {
74
74
  }
75
75
  }
76
76
  exports.default = DeployClient;
77
- DeployClient._client = new lambda.LambdaClient({});
77
+ DeployClient._client = new lambda.LambdaClient({
78
+ maxAttempts: 8,
79
+ });
78
80
  DeployClient._decoder = new TextDecoder('utf-8');
79
81
  //# sourceMappingURL=DeployClient.js.map
@@ -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;mBAoDK,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"}
@@ -14,6 +14,7 @@ class S3TransferUtility {
14
14
  static async UploadDir(s3Path, destPrefixPath, bucketName, preflightResponse) {
15
15
  // Use temp credentials for S3
16
16
  const s3Client = new s3.S3Client({
17
+ maxAttempts: 16,
17
18
  credentials: {
18
19
  accessKeyId: preflightResponse.awsCredentials.accessKeyId,
19
20
  secretAccessKey: preflightResponse.awsCredentials.secretAccessKey,
@@ -48,6 +49,11 @@ class S3TransferUtility {
48
49
  }
49
50
  // Recursive getFiles from
50
51
  // https://stackoverflow.com/a/45130990/831465
52
+ /**
53
+ * Resursively enumerate the files to be uploaded
54
+ * @param dir
55
+ * @returns
56
+ */
51
57
  static async GetFiles(dir) {
52
58
  const dirents = await fs_1.promises.readdir(dir, { withFileTypes: true });
53
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;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;AApED,oCAoEC"}
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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,31 @@
1
1
  #!/usr/bin/env node
2
2
  import 'source-map-support/register';
3
3
  import 'reflect-metadata';
4
+ import { Command, flags as flagsParser } from '@oclif/command';
5
+ import { IConfig as OCLIFIConfig } from '@oclif/config';
6
+ declare class PublishTool extends Command {
7
+ static flags: {
8
+ version: import("@oclif/parser/lib/flags").IBooleanFlag<void>;
9
+ help: import("@oclif/parser/lib/flags").IBooleanFlag<void>;
10
+ deployerLambdaName: flagsParser.IOptionFlag<string>;
11
+ newVersion: flagsParser.IOptionFlag<string>;
12
+ repoName: flagsParser.IOptionFlag<string>;
13
+ leaveCopy: import("@oclif/parser/lib/flags").IBooleanFlag<boolean>;
14
+ };
15
+ private static escapeRegExp;
16
+ private VersionAndAlias;
17
+ private IMAGE_TAG;
18
+ private IMAGE_URI;
19
+ private FILES_TO_MODIFY;
20
+ private _restoreFilesStarted;
21
+ constructor(argv: string[], config: OCLIFIConfig);
22
+ run(): Promise<void>;
23
+ restoreFiles(): Promise<void>;
24
+ private createVersions;
25
+ private writeNewVersions;
26
+ private loginToECR;
27
+ private publishToECR;
28
+ private deployToLambda;
29
+ }
30
+ export default PublishTool;
4
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAGA,OAAO,6BAA6B,CAAC;AAErC,OAAO,kBAAkB,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"}