@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.
Files changed (68) hide show
  1. package/bin/run +5 -0
  2. package/dist/commands/nextjs-docker-auto.d.ts +38 -0
  3. package/dist/commands/nextjs-docker-auto.d.ts.map +1 -0
  4. package/dist/commands/nextjs-docker-auto.js +415 -0
  5. package/dist/commands/nextjs-docker-auto.js.map +1 -0
  6. package/dist/commands/nextjs-version-restore.d.ts +14 -0
  7. package/dist/commands/nextjs-version-restore.d.ts.map +1 -0
  8. package/dist/commands/nextjs-version-restore.js +58 -0
  9. package/dist/commands/nextjs-version-restore.js.map +1 -0
  10. package/dist/commands/nextjs-version.d.ts +16 -0
  11. package/dist/commands/nextjs-version.d.ts.map +1 -0
  12. package/dist/commands/nextjs-version.js +94 -0
  13. package/dist/commands/nextjs-version.js.map +1 -0
  14. package/dist/commands/preflight.d.ts +15 -0
  15. package/dist/commands/preflight.d.ts.map +1 -0
  16. package/dist/commands/preflight.js +111 -0
  17. package/dist/commands/preflight.js.map +1 -0
  18. package/dist/commands/publish.d.ts +23 -0
  19. package/dist/commands/publish.d.ts.map +1 -0
  20. package/dist/commands/publish.js +300 -0
  21. package/dist/commands/publish.js.map +1 -0
  22. package/dist/config/Config.d.ts +0 -2
  23. package/dist/config/Config.d.ts.map +1 -1
  24. package/dist/config/Config.js +0 -5
  25. package/dist/config/Config.js.map +1 -1
  26. package/dist/index.d.ts +1 -64
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +3 -480
  29. package/dist/index.js.map +1 -1
  30. package/dist/{DeployClient.d.ts → lib/DeployClient.d.ts} +14 -6
  31. package/dist/lib/DeployClient.d.ts.map +1 -0
  32. package/dist/{DeployClient.js → lib/DeployClient.js} +15 -5
  33. package/dist/lib/DeployClient.js.map +1 -0
  34. package/dist/{S3TransferUtility.d.ts → lib/S3TransferUtility.d.ts} +0 -0
  35. package/dist/lib/S3TransferUtility.d.ts.map +1 -0
  36. package/dist/{S3TransferUtility.js → lib/S3TransferUtility.js} +0 -0
  37. package/dist/lib/S3TransferUtility.js.map +1 -0
  38. package/dist/{S3Uploader.d.ts → lib/S3Uploader.d.ts} +1 -1
  39. package/dist/lib/S3Uploader.d.ts.map +1 -0
  40. package/dist/{S3Uploader.js → lib/S3Uploader.js} +10 -10
  41. package/dist/lib/S3Uploader.js.map +1 -0
  42. package/dist/lib/Versions.d.ts +27 -0
  43. package/dist/lib/Versions.d.ts.map +1 -0
  44. package/dist/lib/Versions.js +76 -0
  45. package/dist/lib/Versions.js.map +1 -0
  46. package/package.json +11 -2
  47. package/src/commands/nextjs-docker-auto.ts +498 -0
  48. package/src/commands/nextjs-version-restore.ts +73 -0
  49. package/src/commands/nextjs-version.ts +113 -0
  50. package/src/commands/preflight.ts +121 -0
  51. package/src/commands/publish.ts +358 -0
  52. package/src/config/Config.ts +0 -4
  53. package/src/index.ts +1 -596
  54. package/src/{DeployClient.ts → lib/DeployClient.ts} +21 -12
  55. package/src/{S3TransferUtility.ts → lib/S3TransferUtility.ts} +0 -0
  56. package/src/{S3Uploader.ts → lib/S3Uploader.ts} +3 -3
  57. package/src/lib/Versions.ts +95 -0
  58. package/dist/DeployClient.d.ts.map +0 -1
  59. package/dist/DeployClient.js.map +0 -1
  60. package/dist/S3TransferUtility.d.ts.map +0 -1
  61. package/dist/S3TransferUtility.js.map +0 -1
  62. package/dist/S3Uploader.d.ts.map +0 -1
  63. package/dist/S3Uploader.js.map +0 -1
  64. package/dist/config/FileStore.d.ts +0 -7
  65. package/dist/config/FileStore.d.ts.map +0 -1
  66. package/dist/config/FileStore.js +0 -17
  67. package/dist/config/FileStore.js.map +0 -1
  68. 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
- static async DeployVersionPreflight(config, task) {
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
- task.output = `App/Version do not exist: ${config.app.name}/${config.app.semVer}`;
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, task) {
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
- task.output = `Deploy succeeded: ${config.app.name}/${config.app.semVer}`;
83
+ output(`Deploy succeeded: ${config.app.name}/${config.app.semVer}`);
74
84
  }
75
85
  else {
76
- task.output = `Deploy failed with: ${dResponse.statusCode}`;
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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"}
@@ -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"}
@@ -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"}
@@ -1,5 +1,5 @@
1
1
  import { IDeployVersionPreflightResponse } from '@pwrdrvr/microapps-deployer-lib';
2
- import { IConfig } from './config/Config';
2
+ import { IConfig } from '../config/Config';
3
3
  export default class S3Uploader {
4
4
  /**
5
5
  * Copy files to local upload directory
@@ -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 path_1 = tslib_1.__importDefault(require("path"));
5
- const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
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 = path_1.default.join(S3Uploader._tempDir, destinationPrefix);
17
+ const tempUploadPath = path.join(S3Uploader._tempDir, destinationPrefix);
18
18
  await S3Uploader.removeTempDirIfExists();
19
- await fs_extra_1.default.mkdir(tempUploadPath, { recursive: true });
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 fs_extra_1.default.copy(config.app.staticAssetsPath, tempUploadPath);
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 = path_1.default.join(S3Uploader._tempDir, destinationPrefix);
42
+ const tempUploadPath = path.join(S3Uploader._tempDir, destinationPrefix);
43
43
  await S3Uploader.removeTempDirIfExists();
44
- await fs_extra_1.default.mkdir(tempUploadPath, { recursive: true });
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 fs_extra_1.default.copy(config.app.staticAssetsPath, tempUploadPath);
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 fs_extra_1.default.stat(S3Uploader._tempDir);
59
+ const stats = await fs.stat(S3Uploader._tempDir);
60
60
  if (stats.isDirectory()) {
61
- await fs_extra_1.default.rm(S3Uploader._tempDir, { recursive: true });
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.20",
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": "dist/index.js"
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
  }