@pwrdrvr/microapps-publish 0.0.20 → 0.0.21
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/bin/run +5 -0
- package/dist/commands/nextjs-docker-auto.d.ts +38 -0
- package/dist/commands/nextjs-docker-auto.d.ts.map +1 -0
- package/dist/commands/nextjs-docker-auto.js +415 -0
- package/dist/commands/nextjs-docker-auto.js.map +1 -0
- package/dist/commands/nextjs-version-restore.d.ts +14 -0
- package/dist/commands/nextjs-version-restore.d.ts.map +1 -0
- package/dist/commands/nextjs-version-restore.js +58 -0
- package/dist/commands/nextjs-version-restore.js.map +1 -0
- package/dist/commands/nextjs-version.d.ts +16 -0
- package/dist/commands/nextjs-version.d.ts.map +1 -0
- package/dist/commands/nextjs-version.js +94 -0
- package/dist/commands/nextjs-version.js.map +1 -0
- package/dist/commands/preflight.d.ts +15 -0
- package/dist/commands/preflight.d.ts.map +1 -0
- package/dist/commands/preflight.js +111 -0
- package/dist/commands/preflight.js.map +1 -0
- package/dist/commands/publish.d.ts +23 -0
- package/dist/commands/publish.d.ts.map +1 -0
- package/dist/commands/publish.js +300 -0
- package/dist/commands/publish.js.map +1 -0
- package/dist/config/Config.d.ts +0 -2
- package/dist/config/Config.d.ts.map +1 -1
- package/dist/config/Config.js +0 -5
- package/dist/config/Config.js.map +1 -1
- package/dist/index.d.ts +1 -64
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -480
- package/dist/index.js.map +1 -1
- package/dist/{DeployClient.d.ts → lib/DeployClient.d.ts} +14 -6
- package/dist/lib/DeployClient.d.ts.map +1 -0
- package/dist/{DeployClient.js → lib/DeployClient.js} +15 -5
- package/dist/lib/DeployClient.js.map +1 -0
- package/dist/{S3TransferUtility.d.ts → lib/S3TransferUtility.d.ts} +0 -0
- package/dist/lib/S3TransferUtility.d.ts.map +1 -0
- package/dist/{S3TransferUtility.js → lib/S3TransferUtility.js} +0 -0
- package/dist/lib/S3TransferUtility.js.map +1 -0
- package/dist/{S3Uploader.d.ts → lib/S3Uploader.d.ts} +1 -1
- package/dist/lib/S3Uploader.d.ts.map +1 -0
- package/dist/{S3Uploader.js → lib/S3Uploader.js} +10 -10
- package/dist/lib/S3Uploader.js.map +1 -0
- package/dist/lib/Versions.d.ts +27 -0
- package/dist/lib/Versions.d.ts.map +1 -0
- package/dist/lib/Versions.js +76 -0
- package/dist/lib/Versions.js.map +1 -0
- package/package.json +11 -2
- package/src/commands/nextjs-docker-auto.ts +498 -0
- package/src/commands/nextjs-version-restore.ts +73 -0
- package/src/commands/nextjs-version.ts +113 -0
- package/src/commands/preflight.ts +121 -0
- package/src/commands/publish.ts +358 -0
- package/src/config/Config.ts +0 -4
- package/src/index.ts +1 -596
- package/src/{DeployClient.ts → lib/DeployClient.ts} +21 -12
- package/src/{S3TransferUtility.ts → lib/S3TransferUtility.ts} +0 -0
- package/src/{S3Uploader.ts → lib/S3Uploader.ts} +3 -3
- package/src/lib/Versions.ts +95 -0
- package/dist/DeployClient.d.ts.map +0 -1
- package/dist/DeployClient.js.map +0 -1
- package/dist/S3TransferUtility.d.ts.map +0 -1
- package/dist/S3TransferUtility.js.map +0 -1
- package/dist/S3Uploader.d.ts.map +0 -1
- package/dist/S3Uploader.js.map +0 -1
- package/dist/config/FileStore.d.ts +0 -7
- package/dist/config/FileStore.d.ts.map +0 -1
- package/dist/config/FileStore.js +0 -17
- package/dist/config/FileStore.js.map +0 -1
- package/src/config/FileStore.ts +0 -14
|
@@ -23,11 +23,20 @@ class DeployClient {
|
|
|
23
23
|
throw new Error(`App Create - Lambda Invoke Failed: ${JSON.stringify(response)}`);
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Check if version exists.
|
|
28
|
+
* Optionally get S3 creds for static asset upload.
|
|
29
|
+
* @param config
|
|
30
|
+
* @param output
|
|
31
|
+
* @returns
|
|
32
|
+
*/
|
|
33
|
+
static async DeployVersionPreflight(opts) {
|
|
34
|
+
const { config, needS3Creds = true, output } = opts;
|
|
27
35
|
const request = {
|
|
28
36
|
type: 'deployVersionPreflight',
|
|
29
37
|
appName: config.app.name,
|
|
30
38
|
semVer: config.app.semVer,
|
|
39
|
+
needS3Creds,
|
|
31
40
|
};
|
|
32
41
|
const response = await this._client.send(new lambda.InvokeCommand({
|
|
33
42
|
FunctionName: config.deployer.lambdaName,
|
|
@@ -36,10 +45,11 @@ class DeployClient {
|
|
|
36
45
|
if (response.$metadata.httpStatusCode === 200 && response.Payload !== undefined) {
|
|
37
46
|
const dResponse = JSON.parse(Buffer.from(response.Payload).toString('utf-8'));
|
|
38
47
|
if (dResponse.statusCode === 404) {
|
|
39
|
-
|
|
48
|
+
output(`App/Version does not exist: ${config.app.name}/${config.app.semVer}`);
|
|
40
49
|
return { exists: false, response: dResponse };
|
|
41
50
|
}
|
|
42
51
|
else {
|
|
52
|
+
output(`App/Version exists: ${config.app.name}/${config.app.semVer}`);
|
|
43
53
|
return { exists: true, response: dResponse };
|
|
44
54
|
}
|
|
45
55
|
}
|
|
@@ -55,7 +65,7 @@ class DeployClient {
|
|
|
55
65
|
* @param config
|
|
56
66
|
* @param task
|
|
57
67
|
*/
|
|
58
|
-
static async DeployVersion(config,
|
|
68
|
+
static async DeployVersion(config, output) {
|
|
59
69
|
const request = {
|
|
60
70
|
type: 'deployVersion',
|
|
61
71
|
appName: config.app.name,
|
|
@@ -70,10 +80,10 @@ class DeployClient {
|
|
|
70
80
|
if (response.$metadata.httpStatusCode === 200 && response.Payload !== undefined) {
|
|
71
81
|
const dResponse = JSON.parse(Buffer.from(response.Payload).toString('utf-8'));
|
|
72
82
|
if (dResponse.statusCode === 201) {
|
|
73
|
-
|
|
83
|
+
output(`Deploy succeeded: ${config.app.name}/${config.app.semVer}`);
|
|
74
84
|
}
|
|
75
85
|
else {
|
|
76
|
-
|
|
86
|
+
output(`Deploy failed with: ${dResponse.statusCode}`);
|
|
77
87
|
throw new Error(`Lambda call to DeployVersionfailed with: ${dResponse.statusCode}`);
|
|
78
88
|
}
|
|
79
89
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeployClient.js","sourceRoot":"","sources":["../../src/lib/DeployClient.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"S3TransferUtility.d.ts","sourceRoot":"","sources":["../../src/lib/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"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"S3TransferUtility.js","sourceRoot":"","sources":["../../src/lib/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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"S3Uploader.d.ts","sourceRoot":"","sources":["../../src/lib/S3Uploader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AAElF,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG3C,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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const path = tslib_1.__importStar(require("path"));
|
|
5
|
+
const fs = tslib_1.__importStar(require("fs-extra"));
|
|
6
6
|
const S3TransferUtility_1 = tslib_1.__importDefault(require("./S3TransferUtility"));
|
|
7
7
|
class S3Uploader {
|
|
8
8
|
/**
|
|
@@ -14,12 +14,12 @@ class S3Uploader {
|
|
|
14
14
|
static async CopyToUploadDir(config, s3UploadPath) {
|
|
15
15
|
const { destinationPrefix } = S3Uploader.ParseUploadPath(s3UploadPath);
|
|
16
16
|
// Make a local root dir for the upload
|
|
17
|
-
const tempUploadPath =
|
|
17
|
+
const tempUploadPath = path.join(S3Uploader._tempDir, destinationPrefix);
|
|
18
18
|
await S3Uploader.removeTempDirIfExists();
|
|
19
|
-
await
|
|
19
|
+
await fs.mkdir(tempUploadPath, { recursive: true });
|
|
20
20
|
// Copy the files in the source dir to the root dir
|
|
21
21
|
// Note: It would be faster to move the files, then move them back
|
|
22
|
-
await
|
|
22
|
+
await fs.copy(config.app.staticAssetsPath, tempUploadPath);
|
|
23
23
|
}
|
|
24
24
|
static ParseUploadPath(s3UploadPath) {
|
|
25
25
|
// Parse the S3 Source URI
|
|
@@ -39,13 +39,13 @@ class S3Uploader {
|
|
|
39
39
|
try {
|
|
40
40
|
const { destinationPrefix, bucketName } = S3Uploader.ParseUploadPath(s3UploadPath);
|
|
41
41
|
// Make a local root dir for the upload
|
|
42
|
-
const tempUploadPath =
|
|
42
|
+
const tempUploadPath = path.join(S3Uploader._tempDir, destinationPrefix);
|
|
43
43
|
await S3Uploader.removeTempDirIfExists();
|
|
44
|
-
await
|
|
44
|
+
await fs.mkdir(tempUploadPath, { recursive: true });
|
|
45
45
|
// Copy the files in the source dir to the root dir
|
|
46
46
|
// Note: It would be faster to move the files, then move them back
|
|
47
47
|
// FIXME: Use p-map for controlled parallelism
|
|
48
|
-
await
|
|
48
|
+
await fs.copy(config.app.staticAssetsPath, tempUploadPath);
|
|
49
49
|
// Do the upload
|
|
50
50
|
await S3TransferUtility_1.default.UploadDir(this._tempDir, destinationPrefix, bucketName, preflightResponse);
|
|
51
51
|
}
|
|
@@ -56,9 +56,9 @@ class S3Uploader {
|
|
|
56
56
|
}
|
|
57
57
|
static async removeTempDirIfExists() {
|
|
58
58
|
try {
|
|
59
|
-
const stats = await
|
|
59
|
+
const stats = await fs.stat(S3Uploader._tempDir);
|
|
60
60
|
if (stats.isDirectory()) {
|
|
61
|
-
await
|
|
61
|
+
await fs.rm(S3Uploader._tempDir, { recursive: true });
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
catch (_a) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"S3Uploader.js","sourceRoot":"","sources":["../../src/lib/S3Uploader.ts"],"names":[],"mappings":";;;AAAA,mDAA6B;AAE7B,qDAA+B;AAE/B,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,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QACzE,MAAM,UAAU,CAAC,qBAAqB,EAAE,CAAC;QACzC,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpD,mDAAmD;QACnD,kEAAkE;QAClE,MAAM,EAAE,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,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YACzE,MAAM,UAAU,CAAC,qBAAqB,EAAE,CAAC;YACzC,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEpD,mDAAmD;YACnD,kEAAkE;YAClE,8CAA8C;YAC9C,MAAM,EAAE,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,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;gBACvB,MAAM,EAAE,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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface IVersions {
|
|
2
|
+
version: string;
|
|
3
|
+
alias?: string;
|
|
4
|
+
}
|
|
5
|
+
export interface IFileToModify {
|
|
6
|
+
path: string;
|
|
7
|
+
versions: IVersions;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Setup version and alias strings
|
|
11
|
+
* @param version
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
export declare function createVersions(version: string): IVersions;
|
|
15
|
+
/**
|
|
16
|
+
* Write new versions into specified config file
|
|
17
|
+
* @param path
|
|
18
|
+
* @param requiredVersions
|
|
19
|
+
* @param leaveFiles
|
|
20
|
+
* @returns
|
|
21
|
+
*/
|
|
22
|
+
export declare function writeNewVersions(path: string, requiredVersions: IVersions, leaveFiles: boolean): Promise<boolean>;
|
|
23
|
+
/**
|
|
24
|
+
* Restore files that the version was patched into
|
|
25
|
+
*/
|
|
26
|
+
export declare function restoreFiles(filesToModify: IFileToModify[]): Promise<void>;
|
|
27
|
+
//# sourceMappingURL=Versions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Versions.d.ts","sourceRoot":"","sources":["../../src/lib/Versions.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,CAAC;CACrB;AAOD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAEzD;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,SAAS,EAC3B,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,OAAO,CAAC,CAoClB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,aAAa,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBhF"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.restoreFiles = exports.writeNewVersions = exports.createVersions = void 0;
|
|
4
|
+
const fs_extra_1 = require("fs-extra");
|
|
5
|
+
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping
|
|
6
|
+
function escapeRegExp(value) {
|
|
7
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Setup version and alias strings
|
|
11
|
+
* @param version
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
function createVersions(version) {
|
|
15
|
+
return { version, alias: `v${version.replace(/\./g, '_')}` };
|
|
16
|
+
}
|
|
17
|
+
exports.createVersions = createVersions;
|
|
18
|
+
/**
|
|
19
|
+
* Write new versions into specified config file
|
|
20
|
+
* @param path
|
|
21
|
+
* @param requiredVersions
|
|
22
|
+
* @param leaveFiles
|
|
23
|
+
* @returns
|
|
24
|
+
*/
|
|
25
|
+
async function writeNewVersions(path, requiredVersions, leaveFiles) {
|
|
26
|
+
const stats = await fs_extra_1.promises.stat(path);
|
|
27
|
+
if (!stats.isFile) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
// Make a backup of the file
|
|
31
|
+
await fs_extra_1.promises.copyFile(path, `${path}.original`);
|
|
32
|
+
// File exists, check that it has the required version strings
|
|
33
|
+
let fileText = await fs_extra_1.promises.readFile(path, 'utf8');
|
|
34
|
+
for (const key of Object.keys(requiredVersions)) {
|
|
35
|
+
const placeHolder = key === 'version' ? '0.0.0' : 'v0_0_0';
|
|
36
|
+
if (fileText.indexOf(placeHolder) === -1) {
|
|
37
|
+
// The required placeholder is missing
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
const regExp = new RegExp(escapeRegExp(placeHolder), 'g');
|
|
42
|
+
fileText = fileText.replace(regExp, key === 'version' ? requiredVersions.version : requiredVersions.alias);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// Write the updated file contents
|
|
46
|
+
await fs_extra_1.promises.writeFile(path, fileText, 'utf8');
|
|
47
|
+
// Leave a copy of the modified file if requested
|
|
48
|
+
if (leaveFiles) {
|
|
49
|
+
// This copy will overwrite an existing file
|
|
50
|
+
await fs_extra_1.promises.copyFile(path, `${path}.modified`);
|
|
51
|
+
}
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
exports.writeNewVersions = writeNewVersions;
|
|
55
|
+
/**
|
|
56
|
+
* Restore files that the version was patched into
|
|
57
|
+
*/
|
|
58
|
+
async function restoreFiles(filesToModify) {
|
|
59
|
+
// Put the old files back when succeeded or failed
|
|
60
|
+
for (const fileToModify of filesToModify) {
|
|
61
|
+
try {
|
|
62
|
+
const stats = await fs_extra_1.promises.stat(`${fileToModify.path}.original`);
|
|
63
|
+
if (stats.isFile()) {
|
|
64
|
+
// Remove the possibly modified file
|
|
65
|
+
await fs_extra_1.promises.unlink(fileToModify.path);
|
|
66
|
+
// Move the original file back
|
|
67
|
+
await fs_extra_1.promises.rename(`${fileToModify.path}.original`, fileToModify.path);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
catch (_a) {
|
|
71
|
+
// don't care... if the file doesn't exist we can't do anything
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.restoreFiles = restoreFiles;
|
|
76
|
+
//# sourceMappingURL=Versions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Versions.js","sourceRoot":"","sources":["../../src/lib/Versions.ts"],"names":[],"mappings":";;;AAAA,uCAA0C;AAY1C,6FAA6F;AAC7F,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,oCAAoC;AAC3F,CAAC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAC,OAAe;IAC5C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;AAC/D,CAAC;AAFD,wCAEC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,gBAAgB,CACpC,IAAY,EACZ,gBAA2B,EAC3B,UAAmB;IAEnB,MAAM,KAAK,GAAG,MAAM,mBAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QACjB,OAAO,KAAK,CAAC;KACd;IAED,4BAA4B;IAC5B,MAAM,mBAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC;IAE5C,8DAA8D;IAC9D,IAAI,QAAQ,GAAG,MAAM,mBAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAE/C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;QAC/C,MAAM,WAAW,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3D,IAAI,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE;YACxC,sCAAsC;YACtC,OAAO,KAAK,CAAC;SACd;aAAM;YACL,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1D,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;SACH;KACF;IAED,kCAAkC;IAClC,MAAM,mBAAE,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAE3C,iDAAiD;IACjD,IAAI,UAAU,EAAE;QACd,4CAA4C;QAC5C,MAAM,mBAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC;KAC7C;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAxCD,4CAwCC;AAED;;GAEG;AACI,KAAK,UAAU,YAAY,CAAC,aAA8B;IAC/D,kDAAkD;IAClD,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;QACxC,IAAI;YACF,MAAM,KAAK,GAAG,MAAM,mBAAE,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,WAAW,CAAC,CAAC;YAC7D,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;gBAClB,oCAAoC;gBACpC,MAAM,mBAAE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBAEnC,8BAA8B;gBAC9B,MAAM,mBAAE,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;aACrE;SACF;QAAC,WAAM;YACN,+DAA+D;SAChE;KACF;AACH,CAAC;AAhBD,oCAgBC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pwrdrvr/microapps-publish",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.21",
|
|
4
4
|
"description": "Publish tool for deploying apps and updates",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"source": "src/index.ts",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"access": "public"
|
|
9
9
|
},
|
|
10
10
|
"bin": {
|
|
11
|
-
"microapps-publish": "
|
|
11
|
+
"microapps-publish": "./bin/run"
|
|
12
12
|
},
|
|
13
13
|
"engineStrict": true,
|
|
14
14
|
"engine": {
|
|
@@ -41,7 +41,9 @@
|
|
|
41
41
|
"@aws-sdk/lib-storage": "^3.20.0",
|
|
42
42
|
"@oclif/command": "^1.8.4",
|
|
43
43
|
"@oclif/config": "^1.17.1",
|
|
44
|
+
"@oclif/core": "^1.0.4",
|
|
44
45
|
"@oclif/errors": "^1.3.5",
|
|
46
|
+
"@oclif/plugin-help": "^3.2.7",
|
|
45
47
|
"chalk": "^4.1.2",
|
|
46
48
|
"commander": "^7.1.0",
|
|
47
49
|
"convict": "^6.1.0",
|
|
@@ -64,5 +66,12 @@
|
|
|
64
66
|
"@types/mime-types": "^2.1.0",
|
|
65
67
|
"@types/source-map-support": "^0.5.4",
|
|
66
68
|
"type-fest": "^0.20.2"
|
|
69
|
+
},
|
|
70
|
+
"oclif": {
|
|
71
|
+
"commands": "./dist/commands/",
|
|
72
|
+
"bin": "microapps-publish",
|
|
73
|
+
"plugins": [
|
|
74
|
+
"@oclif/plugin-help"
|
|
75
|
+
]
|
|
67
76
|
}
|
|
68
77
|
}
|