@pwrdrvr/microapps-publish 0.0.17 → 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 (72) 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 -30
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +3 -366
  29. package/dist/index.js.map +1 -1
  30. package/dist/lib/DeployClient.d.ts +34 -0
  31. package/dist/lib/DeployClient.d.ts.map +1 -0
  32. package/dist/{DeployClient.js → lib/DeployClient.js} +24 -5
  33. package/dist/lib/DeployClient.js.map +1 -0
  34. package/dist/lib/S3TransferUtility.d.ts +19 -0
  35. package/dist/lib/S3TransferUtility.d.ts.map +1 -0
  36. package/dist/{S3TransferUtility.js → lib/S3TransferUtility.js} +13 -0
  37. package/dist/lib/S3TransferUtility.js.map +1 -0
  38. package/dist/lib/S3Uploader.d.ts +27 -0
  39. package/dist/lib/S3Uploader.d.ts.map +1 -0
  40. package/dist/lib/S3Uploader.js +76 -0
  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 -454
  54. package/src/{DeployClient.ts → lib/DeployClient.ts} +34 -11
  55. package/src/{S3TransferUtility.ts → lib/S3TransferUtility.ts} +15 -3
  56. package/src/{S3Uploader.ts → lib/S3Uploader.ts} +46 -11
  57. package/src/lib/Versions.ts +95 -0
  58. package/dist/DeployClient.d.ts +0 -15
  59. package/dist/DeployClient.d.ts.map +0 -1
  60. package/dist/DeployClient.js.map +0 -1
  61. package/dist/S3TransferUtility.d.ts +0 -6
  62. package/dist/S3TransferUtility.d.ts.map +0 -1
  63. package/dist/S3TransferUtility.js.map +0 -1
  64. package/dist/S3Uploader.d.ts +0 -8
  65. package/dist/S3Uploader.d.ts.map +0 -1
  66. package/dist/S3Uploader.js +0 -47
  67. package/dist/S3Uploader.js.map +0 -1
  68. package/dist/config/FileStore.d.ts +0 -7
  69. package/dist/config/FileStore.d.ts.map +0 -1
  70. package/dist/config/FileStore.js +0 -17
  71. package/dist/config/FileStore.js.map +0 -1
  72. package/src/config/FileStore.ts +0 -14
@@ -0,0 +1,95 @@
1
+ import { promises as fs } from 'fs-extra';
2
+
3
+ export interface IVersions {
4
+ version: string;
5
+ alias?: string;
6
+ }
7
+
8
+ export interface IFileToModify {
9
+ path: string;
10
+ versions: IVersions;
11
+ }
12
+
13
+ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping
14
+ function escapeRegExp(value: string): string {
15
+ return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
16
+ }
17
+
18
+ /**
19
+ * Setup version and alias strings
20
+ * @param version
21
+ * @returns
22
+ */
23
+ export function createVersions(version: string): IVersions {
24
+ return { version, alias: `v${version.replace(/\./g, '_')}` };
25
+ }
26
+
27
+ /**
28
+ * Write new versions into specified config file
29
+ * @param path
30
+ * @param requiredVersions
31
+ * @param leaveFiles
32
+ * @returns
33
+ */
34
+ export async function writeNewVersions(
35
+ path: string,
36
+ requiredVersions: IVersions,
37
+ leaveFiles: boolean,
38
+ ): Promise<boolean> {
39
+ const stats = await fs.stat(path);
40
+ if (!stats.isFile) {
41
+ return false;
42
+ }
43
+
44
+ // Make a backup of the file
45
+ await fs.copyFile(path, `${path}.original`);
46
+
47
+ // File exists, check that it has the required version strings
48
+ let fileText = await fs.readFile(path, 'utf8');
49
+
50
+ for (const key of Object.keys(requiredVersions)) {
51
+ const placeHolder = key === 'version' ? '0.0.0' : 'v0_0_0';
52
+ if (fileText.indexOf(placeHolder) === -1) {
53
+ // The required placeholder is missing
54
+ return false;
55
+ } else {
56
+ const regExp = new RegExp(escapeRegExp(placeHolder), 'g');
57
+ fileText = fileText.replace(
58
+ regExp,
59
+ key === 'version' ? requiredVersions.version : (requiredVersions.alias as string),
60
+ );
61
+ }
62
+ }
63
+
64
+ // Write the updated file contents
65
+ await fs.writeFile(path, fileText, 'utf8');
66
+
67
+ // Leave a copy of the modified file if requested
68
+ if (leaveFiles) {
69
+ // This copy will overwrite an existing file
70
+ await fs.copyFile(path, `${path}.modified`);
71
+ }
72
+
73
+ return true;
74
+ }
75
+
76
+ /**
77
+ * Restore files that the version was patched into
78
+ */
79
+ export async function restoreFiles(filesToModify: IFileToModify[]): Promise<void> {
80
+ // Put the old files back when succeeded or failed
81
+ for (const fileToModify of filesToModify) {
82
+ try {
83
+ const stats = await fs.stat(`${fileToModify.path}.original`);
84
+ if (stats.isFile()) {
85
+ // Remove the possibly modified file
86
+ await fs.unlink(fileToModify.path);
87
+
88
+ // Move the original file back
89
+ await fs.rename(`${fileToModify.path}.original`, fileToModify.path);
90
+ }
91
+ } catch {
92
+ // don't care... if the file doesn't exist we can't do anything
93
+ }
94
+ }
95
+ }
@@ -1,15 +0,0 @@
1
- import * as lambda from '@aws-sdk/client-lambda';
2
- import { IDeployVersionPreflightResponse } from '@pwrdrvr/microapps-deployer';
3
- import { IConfig } from './config/Config';
4
- export interface IDeployVersionPreflightResult {
5
- exists: boolean;
6
- response: IDeployVersionPreflightResponse;
7
- }
8
- export default class DeployClient {
9
- static readonly _client: lambda.LambdaClient;
10
- static readonly _decoder: TextDecoder;
11
- static CreateApp(config: IConfig): Promise<void>;
12
- static DeployVersionPreflight(config: IConfig): Promise<IDeployVersionPreflightResult>;
13
- static DeployVersion(config: IConfig): Promise<void>;
14
- }
15
- //# sourceMappingURL=DeployClient.d.ts.map
@@ -1 +0,0 @@
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,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 +0,0 @@
1
- {"version":3,"file":"DeployClient.js","sourceRoot":"","sources":["../src/DeployClient.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { IDeployVersionPreflightResponse } from '@pwrdrvr/microapps-deployer';
2
- export default class S3TransferUtility {
3
- static UploadDir(s3Path: string, destPrefixPath: string, bucketName: string, preflightResponse: IDeployVersionPreflightResponse): Promise<void>;
4
- private static GetFiles;
5
- }
6
- //# sourceMappingURL=S3TransferUtility.d.ts.map
@@ -1 +0,0 @@
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;mBAqDK,QAAQ;CAU9B"}
@@ -1 +0,0 @@
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,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;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;AArED,oCAqEC"}
@@ -1,8 +0,0 @@
1
- import { IDeployVersionPreflightResponse } from '@pwrdrvr/microapps-deployer';
2
- import { IConfig } from './config/Config';
3
- export default class S3Uploader {
4
- static Upload(config: IConfig, s3UploadPath: string, preflightResponse: IDeployVersionPreflightResponse): Promise<void>;
5
- static removeTempDirIfExists(): Promise<void>;
6
- private static readonly _tempDir;
7
- }
8
- //# sourceMappingURL=S3Uploader.d.ts.map
@@ -1 +0,0 @@
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,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
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"));
6
- const S3TransferUtility_1 = tslib_1.__importDefault(require("./S3TransferUtility"));
7
- class S3Uploader {
8
- static async Upload(config, s3UploadPath, preflightResponse) {
9
- 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) : '';
15
- // Make a local root dir for the upload
16
- const tempUploadPath = path_1.default.join(S3Uploader._tempDir, destinationPrefix);
17
- await S3Uploader.removeTempDirIfExists();
18
- await fs_extra_1.default.mkdir(tempUploadPath, { recursive: true });
19
- // Copy the files in the source dir to the root dir
20
- // Note: It would be faster to move the files, then move them back
21
- // FIXME: Use p-map for controlled parallelism
22
- await fs_extra_1.default.copy(config.app.staticAssetsPath, tempUploadPath);
23
- // Do the upload
24
- await S3TransferUtility_1.default.UploadDir(this._tempDir, destinationPrefix, bucketName, preflightResponse);
25
- }
26
- finally {
27
- // Delete the directory, now that it's uploaded or if we failed
28
- await S3Uploader.removeTempDirIfExists();
29
- }
30
- }
31
- static async removeTempDirIfExists() {
32
- try {
33
- const stats = await fs_extra_1.default.stat(S3Uploader._tempDir);
34
- if (stats.isDirectory()) {
35
- await fs_extra_1.default.rm(S3Uploader._tempDir, { recursive: true });
36
- }
37
- }
38
- catch (_a) {
39
- // Don't care
40
- // fs.stat will throw if file/dir does not exist
41
- // Since we want the directory deleted this is ok
42
- }
43
- }
44
- }
45
- exports.default = S3Uploader;
46
- S3Uploader._tempDir = './deploytool-temp';
47
- //# sourceMappingURL=S3Uploader.js.map
@@ -1 +0,0 @@
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,7 +0,0 @@
1
- export interface IFileStoreRename {
2
- stagingBucket: string;
3
- }
4
- export declare class FileStoreConfig implements IFileStoreRename {
5
- stagingBucket: string;
6
- }
7
- //# sourceMappingURL=FileStore.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FileStore.d.ts","sourceRoot":"","sources":["../../src/config/FileStore.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,eAAgB,YAAW,gBAAgB;IAM/C,aAAa,EAAG,MAAM,CAAC;CAC/B"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FileStoreConfig = void 0;
4
- const tslib_1 = require("tslib");
5
- const ts_convict_1 = require("ts-convict");
6
- class FileStoreConfig {
7
- }
8
- tslib_1.__decorate([
9
- ts_convict_1.Property({
10
- doc: 'Staging bucket',
11
- default: 'microapps-staging',
12
- env: 'FILESTORE_STAGING_BUCKET',
13
- }),
14
- tslib_1.__metadata("design:type", String)
15
- ], FileStoreConfig.prototype, "stagingBucket", void 0);
16
- exports.FileStoreConfig = FileStoreConfig;
17
- //# sourceMappingURL=FileStore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FileStore.js","sourceRoot":"","sources":["../../src/config/FileStore.ts"],"names":[],"mappings":";;;;AAAA,2CAAsC;AAMtC,MAAa,eAAe;CAO3B;AADC;IALC,qBAAQ,CAAC;QACR,GAAG,EAAE,gBAAgB;QACrB,OAAO,EAAE,mBAAmB;QAC5B,GAAG,EAAE,0BAA0B;KAChC,CAAC;;sDAC4B;AANhC,0CAOC"}
@@ -1,14 +0,0 @@
1
- import { Property } from 'ts-convict';
2
-
3
- export interface IFileStoreRename {
4
- stagingBucket: string;
5
- }
6
-
7
- export class FileStoreConfig implements IFileStoreRename {
8
- @Property({
9
- doc: 'Staging bucket',
10
- default: 'microapps-staging',
11
- env: 'FILESTORE_STAGING_BUCKET',
12
- })
13
- public stagingBucket!: string;
14
- }