@pwrdrvr/microapps-publish 0.0.16 → 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.
- package/dist/DeployClient.d.ts +18 -6
- package/dist/DeployClient.d.ts.map +1 -1
- package/dist/DeployClient.js +17 -6
- package/dist/DeployClient.js.map +1 -1
- package/dist/S3TransferUtility.d.ts +15 -2
- package/dist/S3TransferUtility.d.ts.map +1 -1
- package/dist/S3TransferUtility.js +14 -0
- package/dist/S3TransferUtility.js.map +1 -1
- package/dist/S3Uploader.d.ts +20 -1
- package/dist/S3Uploader.d.ts.map +1 -1
- package/dist/S3Uploader.js +34 -5
- package/dist/S3Uploader.js.map +1 -1
- package/dist/index.d.ts +61 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +308 -99
- package/dist/index.js.map +1 -1
- package/package.json +6 -1
- package/src/DeployClient.ts +30 -9
- package/src/S3TransferUtility.ts +16 -3
- package/src/S3Uploader.ts +43 -8
- package/src/index.ts +376 -125
package/dist/DeployClient.d.ts
CHANGED
|
@@ -1,14 +1,26 @@
|
|
|
1
1
|
import * as lambda from '@aws-sdk/client-lambda';
|
|
2
|
-
import {
|
|
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';
|
|
7
|
+
export interface IDeployVersionPreflightResult {
|
|
8
|
+
exists: boolean;
|
|
9
|
+
response: IDeployVersionPreflightResponse;
|
|
10
|
+
}
|
|
4
11
|
export default class DeployClient {
|
|
5
12
|
static readonly _client: lambda.LambdaClient;
|
|
6
13
|
static readonly _decoder: TextDecoder;
|
|
7
14
|
static CreateApp(config: IConfig): Promise<void>;
|
|
8
|
-
static DeployVersionPreflight(config: IConfig): Promise<
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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>;
|
|
13
25
|
}
|
|
14
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;
|
|
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"}
|
package/dist/DeployClient.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
73
|
+
task.output = `Deploy succeeded: ${config.app.name}/${config.app.semVer}`;
|
|
66
74
|
}
|
|
67
75
|
else {
|
|
68
|
-
|
|
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 {
|
|
@@ -74,6 +83,8 @@ class DeployClient {
|
|
|
74
83
|
}
|
|
75
84
|
}
|
|
76
85
|
exports.default = DeployClient;
|
|
77
|
-
DeployClient._client = new lambda.LambdaClient({
|
|
86
|
+
DeployClient._client = new lambda.LambdaClient({
|
|
87
|
+
maxAttempts: 8,
|
|
88
|
+
});
|
|
78
89
|
DeployClient._decoder = new TextDecoder('utf-8');
|
|
79
90
|
//# sourceMappingURL=DeployClient.js.map
|
package/dist/DeployClient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeployClient.js","sourceRoot":"","sources":["../src/DeployClient.ts"],"names":[],"mappings":";;;AAAA,uEAAiD;
|
|
1
|
+
{"version":3,"file":"DeployClient.js","sourceRoot":"","sources":["../src/DeployClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,19 @@
|
|
|
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
|
+
/**
|
|
13
|
+
* Resursively enumerate the files to be uploaded
|
|
14
|
+
* @param dir
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
17
|
+
static GetFiles(dir: string): Promise<string | string[]>;
|
|
5
18
|
}
|
|
6
19
|
//# sourceMappingURL=S3TransferUtility.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"S3TransferUtility.d.ts","sourceRoot":"","sources":["../src/S3TransferUtility.ts"],"names":[],"mappings":"
|
|
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,9 +11,18 @@ 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({
|
|
25
|
+
maxAttempts: 16,
|
|
17
26
|
credentials: {
|
|
18
27
|
accessKeyId: preflightResponse.awsCredentials.accessKeyId,
|
|
19
28
|
secretAccessKey: preflightResponse.awsCredentials.secretAccessKey,
|
|
@@ -48,6 +57,11 @@ class S3TransferUtility {
|
|
|
48
57
|
}
|
|
49
58
|
// Recursive getFiles from
|
|
50
59
|
// https://stackoverflow.com/a/45130990/831465
|
|
60
|
+
/**
|
|
61
|
+
* Resursively enumerate the files to be uploaded
|
|
62
|
+
* @param dir
|
|
63
|
+
* @returns
|
|
64
|
+
*/
|
|
51
65
|
static async GetFiles(dir) {
|
|
52
66
|
const dirents = await fs_1.promises.readdir(dir, { withFileTypes: true });
|
|
53
67
|
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;
|
|
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"}
|
package/dist/S3Uploader.d.ts
CHANGED
|
@@ -1,8 +1,27 @@
|
|
|
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
|
+
/**
|
|
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
|
+
* @deprecated 2021-11-27
|
|
18
|
+
* @param config
|
|
19
|
+
* @param s3UploadPath
|
|
20
|
+
* @param preflightResponse
|
|
21
|
+
*/
|
|
4
22
|
static Upload(config: IConfig, s3UploadPath: string, preflightResponse: IDeployVersionPreflightResponse): Promise<void>;
|
|
5
23
|
static removeTempDirIfExists(): Promise<void>;
|
|
6
24
|
private static readonly _tempDir;
|
|
25
|
+
static get TempDir(): string;
|
|
7
26
|
}
|
|
8
27
|
//# sourceMappingURL=S3Uploader.d.ts.map
|
package/dist/S3Uploader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"S3Uploader.d.ts","sourceRoot":"","sources":["../src/S3Uploader.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/S3Uploader.js
CHANGED
|
@@ -5,13 +5,39 @@ 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
|
+
* @deprecated 2021-11-27
|
|
34
|
+
* @param config
|
|
35
|
+
* @param s3UploadPath
|
|
36
|
+
* @param preflightResponse
|
|
37
|
+
*/
|
|
8
38
|
static async Upload(config, s3UploadPath, preflightResponse) {
|
|
9
39
|
try {
|
|
10
|
-
|
|
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) : '';
|
|
40
|
+
const { destinationPrefix, bucketName } = S3Uploader.ParseUploadPath(s3UploadPath);
|
|
15
41
|
// Make a local root dir for the upload
|
|
16
42
|
const tempUploadPath = path_1.default.join(S3Uploader._tempDir, destinationPrefix);
|
|
17
43
|
await S3Uploader.removeTempDirIfExists();
|
|
@@ -41,6 +67,9 @@ class S3Uploader {
|
|
|
41
67
|
// Since we want the directory deleted this is ok
|
|
42
68
|
}
|
|
43
69
|
}
|
|
70
|
+
static get TempDir() {
|
|
71
|
+
return S3Uploader._tempDir;
|
|
72
|
+
}
|
|
44
73
|
}
|
|
45
74
|
exports.default = S3Uploader;
|
|
46
75
|
S3Uploader._tempDir = './deploytool-temp';
|
package/dist/S3Uploader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"S3Uploader.js","sourceRoot":"","sources":["../src/S3Uploader.ts"],"names":[],"mappings":";;;AAAA,wDAAwB;
|
|
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
|
@@ -1,4 +1,65 @@
|
|
|
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
|
+
import { IDeployVersionPreflightResult } from './DeployClient';
|
|
7
|
+
export interface IContext {
|
|
8
|
+
preflightResult: IDeployVersionPreflightResult;
|
|
9
|
+
files: string[];
|
|
10
|
+
}
|
|
11
|
+
declare class PublishTool extends Command {
|
|
12
|
+
static flags: {
|
|
13
|
+
version: import("@oclif/parser/lib/flags").IBooleanFlag<void>;
|
|
14
|
+
help: import("@oclif/parser/lib/flags").IBooleanFlag<void>;
|
|
15
|
+
deployerLambdaName: flagsParser.IOptionFlag<string>;
|
|
16
|
+
newVersion: flagsParser.IOptionFlag<string>;
|
|
17
|
+
repoName: flagsParser.IOptionFlag<string>;
|
|
18
|
+
leaveCopy: import("@oclif/parser/lib/flags").IBooleanFlag<boolean>;
|
|
19
|
+
};
|
|
20
|
+
private static escapeRegExp;
|
|
21
|
+
private VersionAndAlias;
|
|
22
|
+
private IMAGE_TAG;
|
|
23
|
+
private IMAGE_URI;
|
|
24
|
+
private FILES_TO_MODIFY;
|
|
25
|
+
private _restoreFilesStarted;
|
|
26
|
+
constructor(argv: string[], config: OCLIFIConfig);
|
|
27
|
+
run(): 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
|
+
*/
|
|
37
|
+
private createVersions;
|
|
38
|
+
/**
|
|
39
|
+
* Write new versions into specified config files
|
|
40
|
+
* @param path
|
|
41
|
+
* @param requiredVersions
|
|
42
|
+
* @param leaveFiles
|
|
43
|
+
* @returns
|
|
44
|
+
*/
|
|
45
|
+
private writeNewVersions;
|
|
46
|
+
/**
|
|
47
|
+
* Login to ECR for Lambda Docker functions
|
|
48
|
+
* @param config
|
|
49
|
+
* @returns
|
|
50
|
+
*/
|
|
51
|
+
private loginToECR;
|
|
52
|
+
/**
|
|
53
|
+
* Publish to ECR for Lambda Docker function
|
|
54
|
+
* @param config
|
|
55
|
+
*/
|
|
56
|
+
private publishToECR;
|
|
57
|
+
/**
|
|
58
|
+
* Publish an app version to Lambda
|
|
59
|
+
* @param config
|
|
60
|
+
* @param versions
|
|
61
|
+
*/
|
|
62
|
+
private deployToLambda;
|
|
63
|
+
}
|
|
64
|
+
export default PublishTool;
|
|
4
65
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;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"}
|