pwrdrvr 0.4.0-alpha.13

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 (82) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +241 -0
  3. package/bin/run +5 -0
  4. package/dist/commands/delete.d.ts +18 -0
  5. package/dist/commands/delete.d.ts.map +1 -0
  6. package/dist/commands/delete.js +125 -0
  7. package/dist/commands/delete.js.map +1 -0
  8. package/dist/commands/nextjs-version-restore.d.ts +14 -0
  9. package/dist/commands/nextjs-version-restore.d.ts.map +1 -0
  10. package/dist/commands/nextjs-version-restore.js +53 -0
  11. package/dist/commands/nextjs-version-restore.js.map +1 -0
  12. package/dist/commands/nextjs-version.d.ts +18 -0
  13. package/dist/commands/nextjs-version.d.ts.map +1 -0
  14. package/dist/commands/nextjs-version.js +103 -0
  15. package/dist/commands/nextjs-version.js.map +1 -0
  16. package/dist/commands/preflight.d.ts +19 -0
  17. package/dist/commands/preflight.d.ts.map +1 -0
  18. package/dist/commands/preflight.js +135 -0
  19. package/dist/commands/preflight.js.map +1 -0
  20. package/dist/commands/publish-static.d.ts +25 -0
  21. package/dist/commands/publish-static.d.ts.map +1 -0
  22. package/dist/commands/publish-static.js +361 -0
  23. package/dist/commands/publish-static.js.map +1 -0
  24. package/dist/commands/publish.d.ts +39 -0
  25. package/dist/commands/publish.d.ts.map +1 -0
  26. package/dist/commands/publish.js +565 -0
  27. package/dist/commands/publish.js.map +1 -0
  28. package/dist/config/Application.d.ts +26 -0
  29. package/dist/config/Application.d.ts.map +1 -0
  30. package/dist/config/Application.js +99 -0
  31. package/dist/config/Application.js.map +1 -0
  32. package/dist/config/Config.d.ts +18 -0
  33. package/dist/config/Config.d.ts.map +1 -0
  34. package/dist/config/Config.js +71 -0
  35. package/dist/config/Config.js.map +1 -0
  36. package/dist/config/Deployer.d.ts +10 -0
  37. package/dist/config/Deployer.d.ts.map +1 -0
  38. package/dist/config/Deployer.js +17 -0
  39. package/dist/config/Deployer.js.map +1 -0
  40. package/dist/index.d.ts +2 -0
  41. package/dist/index.d.ts.map +1 -0
  42. package/dist/index.js +6 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/lib/DeployClient.d.ts +102 -0
  45. package/dist/lib/DeployClient.d.ts.map +1 -0
  46. package/dist/lib/DeployClient.js +233 -0
  47. package/dist/lib/DeployClient.js.map +1 -0
  48. package/dist/lib/FilesExist.d.ts +5 -0
  49. package/dist/lib/FilesExist.d.ts.map +1 -0
  50. package/dist/lib/FilesExist.js +26 -0
  51. package/dist/lib/FilesExist.js.map +1 -0
  52. package/dist/lib/S3TransferUtility.d.ts +19 -0
  53. package/dist/lib/S3TransferUtility.d.ts.map +1 -0
  54. package/dist/lib/S3TransferUtility.js +94 -0
  55. package/dist/lib/S3TransferUtility.js.map +1 -0
  56. package/dist/lib/S3Uploader.d.ts +27 -0
  57. package/dist/lib/S3Uploader.d.ts.map +1 -0
  58. package/dist/lib/S3Uploader.js +77 -0
  59. package/dist/lib/S3Uploader.js.map +1 -0
  60. package/dist/lib/Versions.d.ts +33 -0
  61. package/dist/lib/Versions.d.ts.map +1 -0
  62. package/dist/lib/Versions.js +76 -0
  63. package/dist/lib/Versions.js.map +1 -0
  64. package/package.json +83 -0
  65. package/src/commands/delete.ts +135 -0
  66. package/src/commands/nextjs-version-restore.ts +70 -0
  67. package/src/commands/nextjs-version.ts +123 -0
  68. package/src/commands/preflight.ts +148 -0
  69. package/src/commands/publish-static.ts +416 -0
  70. package/src/commands/publish.ts +662 -0
  71. package/src/commands-deprecated/nextjs-docker-auto.skip +590 -0
  72. package/src/config/Application.ts +98 -0
  73. package/src/config/Config.ts +81 -0
  74. package/src/config/Deployer.ts +17 -0
  75. package/src/index.ts +1 -0
  76. package/src/lib/DeployClient.ts +334 -0
  77. package/src/lib/FilesExist.ts +25 -0
  78. package/src/lib/S3TransferUtility.spec.ts +15 -0
  79. package/src/lib/S3TransferUtility.ts +113 -0
  80. package/src/lib/S3Uploader.ts +94 -0
  81. package/src/lib/Versions.ts +101 -0
  82. package/src/lib/__snapshots__/S3TransferUtility.spec.ts.snap +12 -0
@@ -0,0 +1,565 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PublishCommand = void 0;
4
+ const tslib_1 = require("tslib");
5
+ require("reflect-metadata");
6
+ const util = tslib_1.__importStar(require("util"));
7
+ const lambda = tslib_1.__importStar(require("@aws-sdk/client-lambda"));
8
+ const s3 = tslib_1.__importStar(require("@aws-sdk/client-s3"));
9
+ const sts = tslib_1.__importStar(require("@aws-sdk/client-sts"));
10
+ const command_1 = require("@oclif/command");
11
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
12
+ const pMap = require('p-map');
13
+ const path = tslib_1.__importStar(require("path"));
14
+ const fs_extra_1 = require("fs-extra");
15
+ const listr2_1 = require("listr2");
16
+ const Versions_1 = require("../lib/Versions");
17
+ const Config_1 = require("../config/Config");
18
+ const DeployClient_1 = tslib_1.__importDefault(require("../lib/DeployClient"));
19
+ const S3Uploader_1 = require("../lib/S3Uploader");
20
+ const S3TransferUtility_1 = require("../lib/S3TransferUtility");
21
+ const lib_storage_1 = require("@aws-sdk/lib-storage");
22
+ const mime_types_1 = require("mime-types");
23
+ const asyncSetTimeout = util.promisify(setTimeout);
24
+ const lambdaClient = new lambda.LambdaClient({
25
+ maxAttempts: 8,
26
+ });
27
+ class PublishCommand extends command_1.Command {
28
+ async run() {
29
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
30
+ const config = Config_1.Config.instance;
31
+ // const RUNNING_TEXT = ' RUNS ';
32
+ // const RUNNING = chalk.reset.inverse.yellow.bold(RUNNING_TEXT) + ' ';
33
+ const RUNNING = ''; //chalk.reset.inverse.yellow.bold(RUNNING_TEXT) + ' ';
34
+ const { flags: parsedFlags } = this.parse(PublishCommand);
35
+ const appLambdaName = (_b = (_a = parsedFlags.appLambdaName) !== null && _a !== void 0 ? _a : parsedFlags['app-lambda-name']) !== null && _b !== void 0 ? _b : config.app.lambdaName;
36
+ const appName = (_d = (_c = parsedFlags.appName) !== null && _c !== void 0 ? _c : parsedFlags['app-name']) !== null && _d !== void 0 ? _d : config.app.name;
37
+ const deployerLambdaName = (_f = (_e = parsedFlags.deployerLambdaName) !== null && _e !== void 0 ? _e : parsedFlags['deployer-lambda-name']) !== null && _f !== void 0 ? _f : config.deployer.lambdaName;
38
+ const semVer = (_h = (_g = parsedFlags.newVersion) !== null && _g !== void 0 ? _g : parsedFlags['new-version']) !== null && _h !== void 0 ? _h : config.app.semVer;
39
+ const staticAssetsPath = (_k = (_j = parsedFlags.staticAssetsPath) !== null && _j !== void 0 ? _j : parsedFlags['static-assets-path']) !== null && _k !== void 0 ? _k : config.app.staticAssetsPath;
40
+ const defaultFile = (_m = (_l = parsedFlags.defaultFile) !== null && _l !== void 0 ? _l : parsedFlags['default-file']) !== null && _m !== void 0 ? _m : config.app.defaultFile;
41
+ const overwrite = parsedFlags.overwrite;
42
+ const noCache = (_o = parsedFlags.noCache) !== null && _o !== void 0 ? _o : parsedFlags['no-cache'];
43
+ // Override the config value
44
+ config.deployer.lambdaName = deployerLambdaName;
45
+ config.app.lambdaName = appLambdaName;
46
+ config.app.name = appName;
47
+ config.app.semVer = semVer;
48
+ config.app.staticAssetsPath = staticAssetsPath;
49
+ config.app.defaultFile = defaultFile;
50
+ // Get the account ID and region from STS
51
+ // TODO: Move this to the right place
52
+ if (config.app.awsAccountID === '' || config.app.awsRegion === '') {
53
+ const stsClient = new sts.STSClient({
54
+ maxAttempts: 8,
55
+ });
56
+ const stsResponse = await stsClient.send(new sts.GetCallerIdentityCommand({}));
57
+ if (config.app.awsAccountID === '') {
58
+ config.app.awsAccountID = stsResponse.Account;
59
+ }
60
+ if (config.app.awsRegion === '') {
61
+ config.app.awsRegion = stsClient.config.region;
62
+ }
63
+ }
64
+ this.VersionAndAlias = (0, Versions_1.createVersions)(semVer);
65
+ if (config.app.staticAssetsPath === undefined) {
66
+ this.error('staticAssetsPath must be specified');
67
+ }
68
+ //
69
+ // Setup Tasks
70
+ //
71
+ const tasks = new listr2_1.Listr([
72
+ {
73
+ enabled: () => !!config.app.staticAssetsPath,
74
+ title: 'Confirm Static Assets Folder Exists',
75
+ task: async (ctx, task) => {
76
+ const origTitle = task.title;
77
+ task.title = RUNNING + origTitle;
78
+ // Check that Static Assets Folder exists
79
+ if (!(await (0, fs_extra_1.pathExists)(config.app.staticAssetsPath))) {
80
+ this.error(`Static asset path does not exist: ${config.app.staticAssetsPath}`);
81
+ }
82
+ task.title = origTitle;
83
+ },
84
+ },
85
+ {
86
+ title: 'Preflight Request / Get S3 Temp Credentials',
87
+ task: async (ctx, task) => {
88
+ const origTitle = task.title;
89
+ task.title = RUNNING + origTitle;
90
+ // Confirm the Version Does Not Exist in Published State
91
+ task.output = `Checking if deployed app/version already exists for ${config.app.name}/${semVer}`;
92
+ ctx.preflightResult = await DeployClient_1.default.DeployVersionPreflight({
93
+ config,
94
+ overwrite,
95
+ output: (message) => (task.output = message),
96
+ });
97
+ if (ctx.preflightResult.exists) {
98
+ if (!overwrite) {
99
+ throw new Error(`App/Version already exists: ${config.app.name}/${config.app.semVer}`);
100
+ }
101
+ else {
102
+ task.title = `Warning: App/Version already exists: ${config.app.name}/${config.app.semVer}`;
103
+ }
104
+ }
105
+ else {
106
+ task.title = `App/Version does not exist: ${config.app.name}/${config.app.semVer}`;
107
+ }
108
+ },
109
+ },
110
+ {
111
+ enabled: () => !!appLambdaName,
112
+ title: 'Check if Lambda ARN has Alias or Version',
113
+ task: (ctx, task) => {
114
+ var _a;
115
+ if (((_a = appLambdaName.match(/:/g)) === null || _a === void 0 ? void 0 : _a.length) === 7) {
116
+ if (/^[0-9]+$/.test(appLambdaName.substring(appLambdaName.lastIndexOf(':') + 1))) {
117
+ ctx.configLambdaArnType = 'version';
118
+ task.output = `Lambda ARN has Version: ${config.app.lambdaName}`;
119
+ }
120
+ else {
121
+ ctx.configLambdaArnType = 'alias';
122
+ task.output = `Lambda ARN has Alias: ${config.app.lambdaName}`;
123
+ ctx.lambdaAliasArn = config.app.lambdaName;
124
+ }
125
+ }
126
+ else {
127
+ ctx.configLambdaArnType = 'function';
128
+ task.output = `Lambda ARN does not have Alias: ${config.app.lambdaName}`;
129
+ }
130
+ },
131
+ },
132
+ // {
133
+ // enabled: (ctx) =>
134
+ // ctx.configLambdaArnType === 'function' &&
135
+ // ctx.preflightResult.response.capabilities?.['createAlias'] === 'true',
136
+ // title: 'Reject Remove Version Creation if Lambda ARN is Function',
137
+ // task: (ctx, task) => {
138
+ // this.error(
139
+ // `Lambda ARN is a Function, cannot create a version remotely, pass a Lambda ARN with a version: ${config.app.lambdaName}`,
140
+ // );
141
+ // },
142
+ // },
143
+ {
144
+ enabled: (ctx) => {
145
+ var _a;
146
+ return ['version', 'function'].includes(ctx.configLambdaArnType) &&
147
+ // If the deployer service can create aliases, let it
148
+ ((_a = ctx.preflightResult.response.capabilities) === null || _a === void 0 ? void 0 : _a.createAlias) === 'true';
149
+ },
150
+ title: 'Remotely Create Lambda Alias and, optionally, Version',
151
+ task: async (ctx, task) => {
152
+ const origTitle = task.title;
153
+ task.title = RUNNING + origTitle;
154
+ task.output = `Create or update alias ${config.app.name}/${semVer}`;
155
+ const { response } = await DeployClient_1.default.LambdaAlias({
156
+ appName: config.app.name,
157
+ semVer: config.app.semVer,
158
+ deployerLambdaName: config.deployer.lambdaName,
159
+ lambdaVersionArn: config.app.lambdaName,
160
+ overwrite,
161
+ output: (message) => (task.output = message),
162
+ });
163
+ ctx.lambdaAliasArn = response.lambdaAliasARN;
164
+ ctx.lambdaUrl = response.functionUrl;
165
+ task.title = origTitle;
166
+ },
167
+ },
168
+ {
169
+ enabled: (ctx) => {
170
+ var _a;
171
+ return ['function', 'version'].includes(ctx.configLambdaArnType) &&
172
+ // If the deployer service can create aliases, let it
173
+ ((_a = ctx.preflightResult.response.capabilities) === null || _a === void 0 ? void 0 : _a['createAlias']) !== 'true';
174
+ },
175
+ title: 'Locally Create Lambda Alias and, optionally, Version',
176
+ task: async (ctx, task) => {
177
+ // Allow overwriting a non-overwritable app if the prior
178
+ // publish was not completely successful - in that case
179
+ // the lambda alias may exist and need updating
180
+ const allowOverwrite = overwrite || !ctx.preflightResult.exists;
181
+ const origTitle = task.title;
182
+ task.title = RUNNING + origTitle;
183
+ // Update the Lambda function
184
+ await this.deployToLambda({
185
+ config,
186
+ versions: this.VersionAndAlias,
187
+ overwrite: allowOverwrite,
188
+ task,
189
+ ctx,
190
+ });
191
+ task.title = origTitle;
192
+ },
193
+ },
194
+ {
195
+ enabled: () => !!config.app.staticAssetsPath,
196
+ title: 'Copy Static Files to Local Upload Dir',
197
+ task: async (ctx, task) => {
198
+ const origTitle = task.title;
199
+ task.title = RUNNING + origTitle;
200
+ // Copy files to local dir to be uploaded
201
+ await S3Uploader_1.S3Uploader.CopyToUploadDir(config, ctx.preflightResult.response.s3UploadUrl);
202
+ task.title = origTitle;
203
+ },
204
+ },
205
+ {
206
+ enabled: () => !!config.app.staticAssetsPath,
207
+ title: 'Enumerate Files to Upload to S3',
208
+ task: (ctx, task) => {
209
+ const origTitle = task.title;
210
+ task.title = RUNNING + origTitle;
211
+ ctx.files = S3TransferUtility_1.S3TransferUtility.GetFiles(S3Uploader_1.S3Uploader.TempDir);
212
+ task.title = origTitle;
213
+ },
214
+ },
215
+ {
216
+ enabled: () => !!config.app.staticAssetsPath,
217
+ title: 'Upload Static Files to S3',
218
+ task: async (ctx, task) => {
219
+ const origTitle = task.title;
220
+ task.title = RUNNING + origTitle;
221
+ const { bucketName, destinationPrefix } = S3Uploader_1.S3Uploader.ParseUploadPath(ctx.preflightResult.response.s3UploadUrl);
222
+ // Use temp credentials for S3
223
+ const s3Client = new s3.S3Client({
224
+ maxAttempts: 16,
225
+ credentials: {
226
+ accessKeyId: ctx.preflightResult.response.awsCredentials.accessKeyId,
227
+ secretAccessKey: ctx.preflightResult.response.awsCredentials.secretAccessKey,
228
+ sessionToken: ctx.preflightResult.response.awsCredentials.sessionToken,
229
+ },
230
+ });
231
+ // Setup caching on static assets
232
+ // NoCache - Only used for test deploys, requires browser and CloudFront to refetch every time
233
+ // Default - 24 hours
234
+ const CacheControl = noCache
235
+ ? 'max-age=0, must-revalidate, public'
236
+ : `max-age=${24 * 60 * 60}, public`;
237
+ const pathWithoutAppAndVer = path.join(S3Uploader_1.S3Uploader.TempDir, destinationPrefix);
238
+ // Listr causes OOM if passes a list of, say, 5,000 to 20,000 files
239
+ if (ctx.files.length > 200) {
240
+ const fileCountMsgInterval = Math.floor(ctx.files.length / 10);
241
+ let filesPublished = 0;
242
+ await pMap(ctx.files, async (filePath) => {
243
+ // Can't use tasks for each file
244
+ const relFilePath = path.relative(pathWithoutAppAndVer, filePath);
245
+ if (ctx.files.length > 1000 &&
246
+ (filesPublished % fileCountMsgInterval === 0 ||
247
+ filesPublished === ctx.files.length)) {
248
+ task.output = `Uploaded ${filesPublished} of ${ctx.files.length} files`;
249
+ }
250
+ else if (ctx.files.length <= 1000) {
251
+ task.output = `Uploading ${relFilePath}`;
252
+ }
253
+ const upload = new lib_storage_1.Upload({
254
+ client: s3Client,
255
+ leavePartsOnError: false,
256
+ params: {
257
+ Bucket: bucketName,
258
+ Key: path.relative(S3Uploader_1.S3Uploader.TempDir, filePath),
259
+ Body: (0, fs_extra_1.createReadStream)(filePath),
260
+ ContentType: (0, mime_types_1.contentType)(path.basename(filePath)) || 'application/octet-stream',
261
+ CacheControl,
262
+ },
263
+ });
264
+ await upload.done();
265
+ filesPublished++;
266
+ }, { concurrency: 40 });
267
+ }
268
+ else {
269
+ const tasks = ctx.files.map((filePath) => ({
270
+ task: async (ctx, subtask) => {
271
+ const relFilePath = path.relative(pathWithoutAppAndVer, filePath);
272
+ const origTitle = relFilePath;
273
+ subtask.title = RUNNING + origTitle;
274
+ const upload = new lib_storage_1.Upload({
275
+ client: s3Client,
276
+ leavePartsOnError: false,
277
+ params: {
278
+ Bucket: bucketName,
279
+ Key: path.relative(S3Uploader_1.S3Uploader.TempDir, filePath),
280
+ Body: (0, fs_extra_1.createReadStream)(filePath),
281
+ ContentType: (0, mime_types_1.contentType)(path.basename(filePath)) || 'application/octet-stream',
282
+ CacheControl,
283
+ },
284
+ });
285
+ await upload.done();
286
+ subtask.title = origTitle;
287
+ },
288
+ }));
289
+ task.title = origTitle;
290
+ return task.newListr(tasks, {
291
+ concurrent: 20,
292
+ rendererOptions: {
293
+ clearOutput: false,
294
+ showErrorMessage: true,
295
+ showTimer: true,
296
+ },
297
+ });
298
+ }
299
+ },
300
+ },
301
+ {
302
+ title: `Creating MicroApp Application: ${config.app.name}`,
303
+ task: async (ctx, task) => {
304
+ const origTitle = task.title;
305
+ task.title = RUNNING + origTitle;
306
+ // Call Deployer to Create App if Not Exists
307
+ await DeployClient_1.default.CreateApp({ config });
308
+ task.title = origTitle;
309
+ },
310
+ },
311
+ {
312
+ title: `Creating MicroApp Version: ${config.app.semVer}`,
313
+ task: async (ctx, task) => {
314
+ var _a, _b;
315
+ const origTitle = task.title;
316
+ task.title = RUNNING + origTitle;
317
+ const appType = parsedFlags.type === 'apigwy'
318
+ ? 'lambda'
319
+ : parsedFlags.type;
320
+ const request = {
321
+ appName: config.app.name,
322
+ semVer: config.app.semVer,
323
+ deployerLambdaName: config.deployer.lambdaName,
324
+ lambdaAliasArn: ctx.lambdaAliasArn,
325
+ defaultFile: config.app.defaultFile,
326
+ appType,
327
+ url: (_a = ctx.lambdaUrl) !== null && _a !== void 0 ? _a : parsedFlags.url,
328
+ ...(['lambda', 'lambda-url', 'static'].includes(appType)
329
+ ? { startupType: parsedFlags['startup-type'] }
330
+ : { startupType: 'direct' }),
331
+ overwrite,
332
+ output: (message) => (task.output = message),
333
+ };
334
+ // Use DeployVersionLite if createAlias is supported
335
+ if (((_b = ctx.preflightResult.response.capabilities) === null || _b === void 0 ? void 0 : _b['createAlias']) === 'true') {
336
+ task.output = 'Using DeployVersionLite';
337
+ await DeployClient_1.default.DeployVersionLite(request);
338
+ }
339
+ else {
340
+ // Use legacy DeployVersion if createAlias is not supported
341
+ task.output = 'Using DeployVersion';
342
+ await DeployClient_1.default.DeployVersion(request);
343
+ }
344
+ task.title = origTitle;
345
+ },
346
+ },
347
+ ], {
348
+ rendererOptions: {
349
+ showTimer: true,
350
+ },
351
+ });
352
+ try {
353
+ await tasks.run();
354
+ }
355
+ finally {
356
+ await S3Uploader_1.S3Uploader.removeTempDirIfExists();
357
+ }
358
+ }
359
+ /**
360
+ * Publish an app version to Lambda
361
+ *
362
+ * @param config
363
+ * @param versions
364
+ * @deprecated 2023-01-16 - The deployer svc now creates the alias and, optionally, the version
365
+ */
366
+ async deployToLambda(opts) {
367
+ var _a, _b;
368
+ const { config, overwrite, versions, task, ctx } = opts;
369
+ let lambdaVersion = '';
370
+ let lambdaArnBase = config.app.lambdaName;
371
+ // Create Lambda version
372
+ if (ctx.configLambdaArnType === 'function') {
373
+ task.output = 'Creating version for Lambda $LATEST';
374
+ const resultUpdate = await lambdaClient.send(new lambda.PublishVersionCommand({
375
+ FunctionName: config.app.lambdaName,
376
+ }));
377
+ lambdaVersion = resultUpdate.Version;
378
+ task.output = `Lambda version created: ${resultUpdate.Version}`;
379
+ let lastUpdateStatus = resultUpdate.LastUpdateStatus;
380
+ for (let i = 0; i < 5; i++) {
381
+ // When the function is created the status will be "Pending"
382
+ // and we have to wait until it's done creating
383
+ // before we can point an alias to it
384
+ if (lastUpdateStatus === 'Successful') {
385
+ task.output = `Lambda function updated, version: ${lambdaVersion}`;
386
+ break;
387
+ }
388
+ // If it didn't work, wait and try again
389
+ await asyncSetTimeout(1000 * i);
390
+ const resultGet = await lambdaClient.send(new lambda.GetFunctionCommand({
391
+ FunctionName: config.app.lambdaName,
392
+ Qualifier: lambdaVersion,
393
+ }));
394
+ // Save the last update status so we can check on re-loop
395
+ lastUpdateStatus = (_a = resultGet === null || resultGet === void 0 ? void 0 : resultGet.Configuration) === null || _a === void 0 ? void 0 : _a.LastUpdateStatus;
396
+ }
397
+ }
398
+ else {
399
+ task.output = 'Lambda is already versioned, skipping version creation';
400
+ lambdaVersion = ((_b = config.app.lambdaName.split(':')) === null || _b === void 0 ? void 0 : _b.pop()) || '';
401
+ lambdaArnBase = config.app.lambdaName.substring(0, config.app.lambdaName.lastIndexOf(':'));
402
+ }
403
+ // Create Lambda alias point
404
+ task.output = `Creating the lambda alias for the new version: ${lambdaVersion}`;
405
+ try {
406
+ const resultLambdaAlias = await lambdaClient.send(new lambda.CreateAliasCommand({
407
+ FunctionName: lambdaArnBase,
408
+ Name: versions.alias,
409
+ FunctionVersion: lambdaVersion,
410
+ }));
411
+ task.output = `Lambda alias created, name: ${resultLambdaAlias.Name}`;
412
+ ctx.lambdaAliasArn = resultLambdaAlias.AliasArn;
413
+ }
414
+ catch (error) {
415
+ if (overwrite && error.name === 'ResourceConflictException') {
416
+ task.output = `Alias exists, updating the lambda alias for version: ${lambdaVersion}`;
417
+ const resultLambdaAlias = await lambdaClient.send(new lambda.UpdateAliasCommand({
418
+ FunctionName: lambdaArnBase,
419
+ Name: versions.alias,
420
+ FunctionVersion: lambdaVersion,
421
+ }));
422
+ task.output = `Lambda alias updated, name: ${resultLambdaAlias.Name}`;
423
+ ctx.lambdaAliasArn = resultLambdaAlias.AliasArn;
424
+ }
425
+ else {
426
+ throw error;
427
+ }
428
+ }
429
+ }
430
+ }
431
+ exports.PublishCommand = PublishCommand;
432
+ PublishCommand.description = 'Publish arbitrary framework app - deploy static assets to S3, alias the $LATEST Lambda function, and add integration/route to API Gateway.';
433
+ PublishCommand.examples = [
434
+ `$ pwrdrvr publish -d microapps-deployer-dev -l microapps-app-release-dev -a release -n 0.0.21
435
+ ✔ Get S3 Temp Credentials [1s]
436
+ ✔ Deploy to Lambda [0.6s]
437
+ ✔ Confirm Static Assets Folder Exists [0.0s]
438
+ ✔ Copy Static Files to Local Upload Dir [0.0s]
439
+ ✔ Enumerate Files to Upload to S3 [0.0s]
440
+ ✔ Upload Static Files to S3 [1s]
441
+ ✔ Creating MicroApp Application: release [0.0s]
442
+ ✔ Creating MicroApp Version: 0.0.21 [1s]
443
+ `,
444
+ ];
445
+ PublishCommand.flags = {
446
+ version: command_1.flags.version({
447
+ char: 'v',
448
+ }),
449
+ help: command_1.flags.help(),
450
+ // Deprecated
451
+ deployerLambdaName: command_1.flags.string({
452
+ multiple: false,
453
+ required: false,
454
+ hidden: true,
455
+ }),
456
+ 'deployer-lambda-name': command_1.flags.string({
457
+ char: 'd',
458
+ multiple: false,
459
+ exactlyOne: ['deployer-lambda-name', 'deployerLambdaName'],
460
+ description: 'Name of the deployer lambda function',
461
+ }),
462
+ // Deprecated
463
+ newVersion: command_1.flags.string({
464
+ multiple: false,
465
+ required: false,
466
+ hidden: true,
467
+ }),
468
+ 'new-version': command_1.flags.string({
469
+ char: 'n',
470
+ multiple: false,
471
+ exactlyOne: ['new-version', 'newVersion'],
472
+ description: 'New semantic version to apply',
473
+ }),
474
+ // Deprecated
475
+ appLambdaName: command_1.flags.string({
476
+ multiple: false,
477
+ required: false,
478
+ hidden: true,
479
+ exclusive: ['app-lambda-name'],
480
+ }),
481
+ 'app-lambda-name': command_1.flags.string({
482
+ char: 'l',
483
+ multiple: false,
484
+ required: false,
485
+ description: 'ARN of lambda version, alias, or function (name or ARN) to deploy',
486
+ }),
487
+ // Deprecated
488
+ appName: command_1.flags.string({
489
+ multiple: false,
490
+ required: false,
491
+ hidden: true,
492
+ exclusive: ['app-name'],
493
+ }),
494
+ 'app-name': command_1.flags.string({
495
+ char: 'a',
496
+ multiple: false,
497
+ exactlyOne: ['app-name', 'appName'],
498
+ description: 'MicroApps app name (this becomes the path the app is rooted at)',
499
+ }),
500
+ // Deprecated
501
+ staticAssetsPath: command_1.flags.string({
502
+ multiple: false,
503
+ required: false,
504
+ hidden: true,
505
+ exclusive: ['static-assets-path'],
506
+ }),
507
+ 'static-assets-path': command_1.flags.string({
508
+ char: 's',
509
+ multiple: false,
510
+ required: false,
511
+ description: 'Path to files to be uploaded to S3 static bucket at app/version/ path. Do include app/version/ in path if files are already "rooted" under that path locally.',
512
+ }),
513
+ // Deprecated
514
+ defaultFile: command_1.flags.string({
515
+ multiple: false,
516
+ required: false,
517
+ hidden: true,
518
+ exclusive: ['default-file'],
519
+ }),
520
+ 'default-file': command_1.flags.string({
521
+ char: 'i',
522
+ multiple: false,
523
+ required: false,
524
+ description: 'Default file to return when the app is loaded via the router without a version (e.g. when app/ is requested).',
525
+ }),
526
+ overwrite: command_1.flags.boolean({
527
+ char: 'o',
528
+ required: false,
529
+ default: false,
530
+ description: 'Allow overwrite - Warn but do not fail if version exists. Discouraged outside of test envs if cacheable static files have changed.',
531
+ }),
532
+ // Deprecated
533
+ noCache: command_1.flags.boolean({
534
+ required: false,
535
+ default: false,
536
+ hidden: true,
537
+ }),
538
+ 'no-cache': command_1.flags.boolean({
539
+ required: false,
540
+ default: false,
541
+ description: 'Force revalidation of CloudFront and browser caching of static assets',
542
+ }),
543
+ 'startup-type': command_1.flags.enum({
544
+ multiple: false,
545
+ required: false,
546
+ options: ['iframe', 'direct'],
547
+ default: 'iframe',
548
+ description: 'How the app should be loaded',
549
+ }),
550
+ type: command_1.flags.enum({
551
+ char: 't',
552
+ multiple: false,
553
+ required: false,
554
+ options: ['apigwy', 'lambda-url', 'url', 'static'],
555
+ default: 'lambda-url',
556
+ description: 'Type of the application and how its requests are routed',
557
+ }),
558
+ url: command_1.flags.string({
559
+ char: 'u',
560
+ multiple: false,
561
+ required: false,
562
+ description: 'URL for `url` type applications',
563
+ }),
564
+ };
565
+ //# sourceMappingURL=publish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Represents an Application Config
3
+ */
4
+ export interface IApplicationConfig {
5
+ name: string;
6
+ semVer: string;
7
+ defaultFile: string;
8
+ staticAssetsPath: string;
9
+ lambdaName: string;
10
+ awsAccountID: string;
11
+ awsRegion: string;
12
+ }
13
+ export declare class ApplicationConfig implements IApplicationConfig {
14
+ private _name;
15
+ get name(): string;
16
+ set name(value: string);
17
+ semVer: string;
18
+ defaultFile: string;
19
+ private _staticAssetsPath;
20
+ set staticAssetsPath(value: string);
21
+ get staticAssetsPath(): string;
22
+ lambdaName: string;
23
+ awsAccountID: string;
24
+ awsRegion: string;
25
+ }
26
+ //# sourceMappingURL=Application.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Application.d.ts","sourceRoot":"","sources":["../../src/config/Application.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAmBa,iBAAkB,YAAW,kBAAkB;IAC1D,OAAO,CAAC,KAAK,CAAS;IACtB,IAAW,IAAI,IAAI,MAAM,CAExB;IACD,IAKW,IAAI,CAAC,KAAK,EAAE,MAAM,EAE5B;IAOM,MAAM,EAAE,MAAM,CAAC;IAOf,WAAW,EAAE,MAAM,CAAC;IAE3B,OAAO,CAAC,iBAAiB,CAAS;IAClC,IAKW,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAExC;IACD,IAAW,gBAAgB,IAAI,MAAM,CAEpC;IAOM,UAAU,EAAE,MAAM,CAAC;IAOnB,YAAY,EAAE,MAAM,CAAC;IAOrB,SAAS,EAAE,MAAM,CAAC;CAC1B"}