@taimos/projen 0.1.78 → 0.1.80
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/.jsii +541 -10
- package/API.md +662 -0
- package/lib/components/amplify-deploy.d.ts +187 -0
- package/lib/components/amplify-deploy.js +248 -0
- package/lib/components/index.d.ts +1 -0
- package/lib/components/index.js +2 -1
- package/lib/components/production-release.js +1 -1
- package/lib/projects/cdk-app.js +1 -1
- package/lib/projects/cdk-construct.js +1 -1
- package/lib/projects/monorepo.d.ts +15 -1
- package/lib/projects/monorepo.js +7 -2
- package/lib/projects/private-cdk-app.js +1 -1
- package/lib/projects/private-ts-lib.js +1 -1
- package/lib/projects/prod-cdk-app.js +1 -1
- package/lib/projects/ts-lib.js +1 -1
- package/package.json +1 -1
package/.jsii
CHANGED
|
@@ -117,6 +117,502 @@
|
|
|
117
117
|
}
|
|
118
118
|
},
|
|
119
119
|
"types": {
|
|
120
|
+
"@taimos/projen.AmplifyDeployApp": {
|
|
121
|
+
"assembly": "@taimos/projen",
|
|
122
|
+
"datatype": true,
|
|
123
|
+
"docs": {
|
|
124
|
+
"remarks": "Mirrors a `MonorepoAmplifyApp` entry in the generated `amplify.yml`; the\n`appRoot` should match so a build is triggered by exactly the directory it is\nbuilt from.",
|
|
125
|
+
"stability": "stable",
|
|
126
|
+
"summary": "One Amplify Hosting application whose builds CI drives."
|
|
127
|
+
},
|
|
128
|
+
"fqn": "@taimos/projen.AmplifyDeployApp",
|
|
129
|
+
"kind": "interface",
|
|
130
|
+
"locationInModule": {
|
|
131
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
132
|
+
"line": 34
|
|
133
|
+
},
|
|
134
|
+
"name": "AmplifyDeployApp",
|
|
135
|
+
"properties": [
|
|
136
|
+
{
|
|
137
|
+
"abstract": true,
|
|
138
|
+
"docs": {
|
|
139
|
+
"stability": "stable",
|
|
140
|
+
"summary": "The package path that is the Amplify app root, e.g. `packages/frontend`. `<appRoot>/**` becomes a push trigger path."
|
|
141
|
+
},
|
|
142
|
+
"immutable": true,
|
|
143
|
+
"locationInModule": {
|
|
144
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
145
|
+
"line": 47
|
|
146
|
+
},
|
|
147
|
+
"name": "appRoot",
|
|
148
|
+
"type": {
|
|
149
|
+
"primitive": "string"
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"abstract": true,
|
|
154
|
+
"docs": {
|
|
155
|
+
"remarks": "Must match the key the CDK side registers the app under.",
|
|
156
|
+
"stability": "stable",
|
|
157
|
+
"summary": "Short key identifying the app. Used in the app-id SSM parameter path and, by default, in the workflow name."
|
|
158
|
+
},
|
|
159
|
+
"immutable": true,
|
|
160
|
+
"locationInModule": {
|
|
161
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
162
|
+
"line": 41
|
|
163
|
+
},
|
|
164
|
+
"name": "key",
|
|
165
|
+
"type": {
|
|
166
|
+
"primitive": "string"
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"abstract": true,
|
|
171
|
+
"docs": {
|
|
172
|
+
"default": "[]",
|
|
173
|
+
"remarks": "Set this for workspace packages the app consumes via `workspace:*` and that\nthe build spec pre-builds — a shared API package, say. Without them a change\nto shared types would not rebuild the app and it would ship stale.",
|
|
174
|
+
"stability": "stable",
|
|
175
|
+
"summary": "Extra path globs that affect this app's build output."
|
|
176
|
+
},
|
|
177
|
+
"immutable": true,
|
|
178
|
+
"locationInModule": {
|
|
179
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
180
|
+
"line": 58
|
|
181
|
+
},
|
|
182
|
+
"name": "dependencyPaths",
|
|
183
|
+
"optional": true,
|
|
184
|
+
"type": {
|
|
185
|
+
"collection": {
|
|
186
|
+
"elementtype": {
|
|
187
|
+
"primitive": "string"
|
|
188
|
+
},
|
|
189
|
+
"kind": "array"
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"abstract": true,
|
|
195
|
+
"docs": {
|
|
196
|
+
"default": "- the `key`",
|
|
197
|
+
"stability": "stable",
|
|
198
|
+
"summary": "Human-readable name used in step names and log lines."
|
|
199
|
+
},
|
|
200
|
+
"immutable": true,
|
|
201
|
+
"locationInModule": {
|
|
202
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
203
|
+
"line": 65
|
|
204
|
+
},
|
|
205
|
+
"name": "label",
|
|
206
|
+
"optional": true,
|
|
207
|
+
"type": {
|
|
208
|
+
"primitive": "string"
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"abstract": true,
|
|
213
|
+
"docs": {
|
|
214
|
+
"default": "- `<key>-deploy`",
|
|
215
|
+
"stability": "stable",
|
|
216
|
+
"summary": "The generated workflow name, which is also its `.yml` file name."
|
|
217
|
+
},
|
|
218
|
+
"immutable": true,
|
|
219
|
+
"locationInModule": {
|
|
220
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
221
|
+
"line": 72
|
|
222
|
+
},
|
|
223
|
+
"name": "workflowName",
|
|
224
|
+
"optional": true,
|
|
225
|
+
"type": {
|
|
226
|
+
"primitive": "string"
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
],
|
|
230
|
+
"symbolId": "src/components/amplify-deploy:AmplifyDeployApp"
|
|
231
|
+
},
|
|
232
|
+
"@taimos/projen.AmplifyDeployStage": {
|
|
233
|
+
"assembly": "@taimos/projen",
|
|
234
|
+
"datatype": true,
|
|
235
|
+
"docs": {
|
|
236
|
+
"remarks": "Both shapes seen in practice are expressible: separate accounts per stage\n(each entry has its own `account`), or a single account serving several\nbranches (every entry repeats the same `account`, and the branch alone\nselects which Amplify branch is built).",
|
|
237
|
+
"stability": "stable",
|
|
238
|
+
"summary": "One deploy stage: a git branch, the logical stage it serves, and the AWS account its Amplify apps live in."
|
|
239
|
+
},
|
|
240
|
+
"fqn": "@taimos/projen.AmplifyDeployStage",
|
|
241
|
+
"kind": "interface",
|
|
242
|
+
"locationInModule": {
|
|
243
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
244
|
+
"line": 13
|
|
245
|
+
},
|
|
246
|
+
"name": "AmplifyDeployStage",
|
|
247
|
+
"properties": [
|
|
248
|
+
{
|
|
249
|
+
"abstract": true,
|
|
250
|
+
"docs": {
|
|
251
|
+
"stability": "stable",
|
|
252
|
+
"summary": "The AWS account hosting this stage's Amplify apps."
|
|
253
|
+
},
|
|
254
|
+
"immutable": true,
|
|
255
|
+
"locationInModule": {
|
|
256
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
257
|
+
"line": 24
|
|
258
|
+
},
|
|
259
|
+
"name": "account",
|
|
260
|
+
"type": {
|
|
261
|
+
"primitive": "string"
|
|
262
|
+
}
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"abstract": true,
|
|
266
|
+
"docs": {
|
|
267
|
+
"stability": "stable",
|
|
268
|
+
"summary": "The git branch the Amplify apps build from, e.g. `main` or `production`."
|
|
269
|
+
},
|
|
270
|
+
"immutable": true,
|
|
271
|
+
"locationInModule": {
|
|
272
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
273
|
+
"line": 15
|
|
274
|
+
},
|
|
275
|
+
"name": "branch",
|
|
276
|
+
"type": {
|
|
277
|
+
"primitive": "string"
|
|
278
|
+
}
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"abstract": true,
|
|
282
|
+
"docs": {
|
|
283
|
+
"stability": "stable",
|
|
284
|
+
"summary": "The logical stage this branch serves, e.g. `dev` or `prod`. Used as the GitHub environment so protection rules apply per stage."
|
|
285
|
+
},
|
|
286
|
+
"immutable": true,
|
|
287
|
+
"locationInModule": {
|
|
288
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
289
|
+
"line": 21
|
|
290
|
+
},
|
|
291
|
+
"name": "stageName",
|
|
292
|
+
"type": {
|
|
293
|
+
"primitive": "string"
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
],
|
|
297
|
+
"symbolId": "src/components/amplify-deploy:AmplifyDeployStage"
|
|
298
|
+
},
|
|
299
|
+
"@taimos/projen.GitHubAmplifyDeploy": {
|
|
300
|
+
"assembly": "@taimos/projen",
|
|
301
|
+
"base": "projen.Component",
|
|
302
|
+
"docs": {
|
|
303
|
+
"remarks": "Amplify's own auto-build fires on every push to a tracked branch. In a\nmonorepo that means every frontend rebuilds whenever anything changes — the\nmarketing site rebuilding for a backend-only commit and vice versa, once per\ntracked branch. Amplify bills build minutes, so most of those are waste.\n\nAmplify's native answer, `AMPLIFY_DIFF_DEPLOY`, diffs exactly one directory\n(`AMPLIFY_MONOREPO_APP_ROOT`, overridable via `AMPLIFY_DIFF_DEPLOY_ROOT` —\nstill a single path). That is enough for a self-contained app but not for one\nthat also depends on a shared workspace package: a one-directory diff would\nship a stale frontend whenever the shared types changed. GitHub's `paths:`\nfilters accept multiple globs, so builds move to CI.\n\nEach generated workflow resolves the pushed branch to its stage and account,\nchains OIDC -> deployment role -> build-trigger role, reads the app id from\nSSM, starts a `RELEASE` job and polls until it reaches a terminal state — so\na failed Amplify build fails the workflow instead of passing silently.\n\nThis component generates the CI half only. The infrastructure half belongs in\nthe project's own CDK app, which must:\n\n 1. set `autoBuild: false` on every branch these workflows build,\n 2. publish each app's id to `<parameterPrefix>/<key>/app-id`, and\n 3. create a role named `buildTriggerRoleName` in each stage account,\n trusted by `deploymentRoleArn` and granting `amplify:StartJob` +\n `amplify:GetJob` on the tracked branch ARNs only.\n\nUse `buildTriggerRoleName` and `appIdParameterName()` from the projenrc to\nkeep those names in step; a mismatch fails the workflow loudly at the\nassume-role or parameter-read step rather than skipping a deploy.",
|
|
304
|
+
"stability": "stable",
|
|
305
|
+
"summary": "Adds one path-scoped deploy workflow per Amplify Hosting app."
|
|
306
|
+
},
|
|
307
|
+
"fqn": "@taimos/projen.GitHubAmplifyDeploy",
|
|
308
|
+
"initializer": {
|
|
309
|
+
"docs": {
|
|
310
|
+
"stability": "stable"
|
|
311
|
+
},
|
|
312
|
+
"locationInModule": {
|
|
313
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
314
|
+
"line": 194
|
|
315
|
+
},
|
|
316
|
+
"parameters": [
|
|
317
|
+
{
|
|
318
|
+
"name": "scope",
|
|
319
|
+
"type": {
|
|
320
|
+
"fqn": "projen.github.GitHubProject"
|
|
321
|
+
}
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"name": "options",
|
|
325
|
+
"type": {
|
|
326
|
+
"fqn": "@taimos/projen.GitHubAmplifyDeployOptions"
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
]
|
|
330
|
+
},
|
|
331
|
+
"kind": "class",
|
|
332
|
+
"locationInModule": {
|
|
333
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
334
|
+
"line": 182
|
|
335
|
+
},
|
|
336
|
+
"methods": [
|
|
337
|
+
{
|
|
338
|
+
"docs": {
|
|
339
|
+
"remarks": "The CDK side must\npublish the id under exactly this name.",
|
|
340
|
+
"stability": "stable",
|
|
341
|
+
"summary": "The SSM parameter path holding an app's Amplify app id."
|
|
342
|
+
},
|
|
343
|
+
"locationInModule": {
|
|
344
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
345
|
+
"line": 317
|
|
346
|
+
},
|
|
347
|
+
"name": "appIdParameterName",
|
|
348
|
+
"parameters": [
|
|
349
|
+
{
|
|
350
|
+
"name": "key",
|
|
351
|
+
"type": {
|
|
352
|
+
"primitive": "string"
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
],
|
|
356
|
+
"returns": {
|
|
357
|
+
"type": {
|
|
358
|
+
"primitive": "string"
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
],
|
|
363
|
+
"name": "GitHubAmplifyDeploy",
|
|
364
|
+
"properties": [
|
|
365
|
+
{
|
|
366
|
+
"docs": {
|
|
367
|
+
"stability": "stable",
|
|
368
|
+
"summary": "Name of the IAM role CI chains into, in every stage account."
|
|
369
|
+
},
|
|
370
|
+
"immutable": true,
|
|
371
|
+
"locationInModule": {
|
|
372
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
373
|
+
"line": 187
|
|
374
|
+
},
|
|
375
|
+
"name": "buildTriggerRoleName",
|
|
376
|
+
"type": {
|
|
377
|
+
"primitive": "string"
|
|
378
|
+
}
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
"docs": {
|
|
382
|
+
"stability": "stable",
|
|
383
|
+
"summary": "Prefix of the SSM parameter path holding each app's Amplify app id."
|
|
384
|
+
},
|
|
385
|
+
"immutable": true,
|
|
386
|
+
"locationInModule": {
|
|
387
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
388
|
+
"line": 190
|
|
389
|
+
},
|
|
390
|
+
"name": "parameterPrefix",
|
|
391
|
+
"type": {
|
|
392
|
+
"primitive": "string"
|
|
393
|
+
}
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
"docs": {
|
|
397
|
+
"stability": "stable",
|
|
398
|
+
"summary": "The generated deploy workflows, one per app."
|
|
399
|
+
},
|
|
400
|
+
"immutable": true,
|
|
401
|
+
"locationInModule": {
|
|
402
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
403
|
+
"line": 184
|
|
404
|
+
},
|
|
405
|
+
"name": "workflows",
|
|
406
|
+
"type": {
|
|
407
|
+
"collection": {
|
|
408
|
+
"elementtype": {
|
|
409
|
+
"fqn": "projen.github.GithubWorkflow"
|
|
410
|
+
},
|
|
411
|
+
"kind": "array"
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
],
|
|
416
|
+
"symbolId": "src/components/amplify-deploy:GitHubAmplifyDeploy"
|
|
417
|
+
},
|
|
418
|
+
"@taimos/projen.GitHubAmplifyDeployOptions": {
|
|
419
|
+
"assembly": "@taimos/projen",
|
|
420
|
+
"datatype": true,
|
|
421
|
+
"docs": {
|
|
422
|
+
"stability": "stable"
|
|
423
|
+
},
|
|
424
|
+
"fqn": "@taimos/projen.GitHubAmplifyDeployOptions",
|
|
425
|
+
"kind": "interface",
|
|
426
|
+
"locationInModule": {
|
|
427
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
428
|
+
"line": 75
|
|
429
|
+
},
|
|
430
|
+
"name": "GitHubAmplifyDeployOptions",
|
|
431
|
+
"properties": [
|
|
432
|
+
{
|
|
433
|
+
"abstract": true,
|
|
434
|
+
"docs": {
|
|
435
|
+
"remarks": "At least one.",
|
|
436
|
+
"stability": "stable",
|
|
437
|
+
"summary": "The Amplify apps to generate deploy workflows for."
|
|
438
|
+
},
|
|
439
|
+
"immutable": true,
|
|
440
|
+
"locationInModule": {
|
|
441
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
442
|
+
"line": 77
|
|
443
|
+
},
|
|
444
|
+
"name": "apps",
|
|
445
|
+
"type": {
|
|
446
|
+
"collection": {
|
|
447
|
+
"elementtype": {
|
|
448
|
+
"fqn": "@taimos/projen.AmplifyDeployApp"
|
|
449
|
+
},
|
|
450
|
+
"kind": "array"
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
"abstract": true,
|
|
456
|
+
"docs": {
|
|
457
|
+
"remarks": "The per-stage build-trigger role is reached from it\nby role chaining, so it must be allowed to `sts:AssumeRole` on that role —\nan IAM grant that lives outside the generated code.",
|
|
458
|
+
"stability": "stable",
|
|
459
|
+
"summary": "The GitHub OIDC deployment role every workflow assumes first, typically in a management account."
|
|
460
|
+
},
|
|
461
|
+
"immutable": true,
|
|
462
|
+
"locationInModule": {
|
|
463
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
464
|
+
"line": 88
|
|
465
|
+
},
|
|
466
|
+
"name": "deploymentRoleArn",
|
|
467
|
+
"type": {
|
|
468
|
+
"primitive": "string"
|
|
469
|
+
}
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
"abstract": true,
|
|
473
|
+
"docs": {
|
|
474
|
+
"remarks": "At least one.",
|
|
475
|
+
"stability": "stable",
|
|
476
|
+
"summary": "The branches that deploy, and the account each one deploys into."
|
|
477
|
+
},
|
|
478
|
+
"immutable": true,
|
|
479
|
+
"locationInModule": {
|
|
480
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
481
|
+
"line": 80
|
|
482
|
+
},
|
|
483
|
+
"name": "stages",
|
|
484
|
+
"type": {
|
|
485
|
+
"collection": {
|
|
486
|
+
"elementtype": {
|
|
487
|
+
"fqn": "@taimos/projen.AmplifyDeployStage"
|
|
488
|
+
},
|
|
489
|
+
"kind": "array"
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
"abstract": true,
|
|
495
|
+
"docs": {
|
|
496
|
+
"default": "- `<project name>-amplify-build-trigger`",
|
|
497
|
+
"remarks": "The same name is expected in every stage account, so the workflow can build\nthe ARN from the account id alone. The CDK side must create a role with\nexactly this name.",
|
|
498
|
+
"stability": "stable",
|
|
499
|
+
"summary": "Name of the per-account IAM role CI chains into to start builds."
|
|
500
|
+
},
|
|
501
|
+
"immutable": true,
|
|
502
|
+
"locationInModule": {
|
|
503
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
504
|
+
"line": 99
|
|
505
|
+
},
|
|
506
|
+
"name": "buildTriggerRoleName",
|
|
507
|
+
"optional": true,
|
|
508
|
+
"type": {
|
|
509
|
+
"primitive": "string"
|
|
510
|
+
}
|
|
511
|
+
},
|
|
512
|
+
{
|
|
513
|
+
"abstract": true,
|
|
514
|
+
"docs": {
|
|
515
|
+
"default": "- `/<project name>/amplify`",
|
|
516
|
+
"remarks": "Reading the app id at run time means CI never hardcodes an id that changes\nwhenever an app is replaced.",
|
|
517
|
+
"stability": "stable",
|
|
518
|
+
"summary": "Prefix of the SSM parameter path holding each app's Amplify app id. The full path is `<prefix>/<app key>/app-id`."
|
|
519
|
+
},
|
|
520
|
+
"immutable": true,
|
|
521
|
+
"locationInModule": {
|
|
522
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
523
|
+
"line": 110
|
|
524
|
+
},
|
|
525
|
+
"name": "parameterPrefix",
|
|
526
|
+
"optional": true,
|
|
527
|
+
"type": {
|
|
528
|
+
"primitive": "string"
|
|
529
|
+
}
|
|
530
|
+
},
|
|
531
|
+
{
|
|
532
|
+
"abstract": true,
|
|
533
|
+
"docs": {
|
|
534
|
+
"default": "'eu-central-1'",
|
|
535
|
+
"stability": "stable",
|
|
536
|
+
"summary": "The AWS region the Amplify apps live in."
|
|
537
|
+
},
|
|
538
|
+
"immutable": true,
|
|
539
|
+
"locationInModule": {
|
|
540
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
541
|
+
"line": 117
|
|
542
|
+
},
|
|
543
|
+
"name": "region",
|
|
544
|
+
"optional": true,
|
|
545
|
+
"type": {
|
|
546
|
+
"primitive": "string"
|
|
547
|
+
}
|
|
548
|
+
},
|
|
549
|
+
{
|
|
550
|
+
"abstract": true,
|
|
551
|
+
"docs": {
|
|
552
|
+
"default": "['ubuntu-latest']",
|
|
553
|
+
"stability": "stable",
|
|
554
|
+
"summary": "The runner tags used to select the runner."
|
|
555
|
+
},
|
|
556
|
+
"immutable": true,
|
|
557
|
+
"locationInModule": {
|
|
558
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
559
|
+
"line": 132
|
|
560
|
+
},
|
|
561
|
+
"name": "runnerTags",
|
|
562
|
+
"optional": true,
|
|
563
|
+
"type": {
|
|
564
|
+
"collection": {
|
|
565
|
+
"elementtype": {
|
|
566
|
+
"primitive": "string"
|
|
567
|
+
},
|
|
568
|
+
"kind": "array"
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
},
|
|
572
|
+
{
|
|
573
|
+
"abstract": true,
|
|
574
|
+
"docs": {
|
|
575
|
+
"default": "- the Amplify build spec, the lockfile and the workspace file",
|
|
576
|
+
"stability": "stable",
|
|
577
|
+
"summary": "Paths that change what *every* Amplify build produces, added to each app's own paths."
|
|
578
|
+
},
|
|
579
|
+
"immutable": true,
|
|
580
|
+
"locationInModule": {
|
|
581
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
582
|
+
"line": 125
|
|
583
|
+
},
|
|
584
|
+
"name": "sharedBuildPaths",
|
|
585
|
+
"optional": true,
|
|
586
|
+
"type": {
|
|
587
|
+
"collection": {
|
|
588
|
+
"elementtype": {
|
|
589
|
+
"primitive": "string"
|
|
590
|
+
},
|
|
591
|
+
"kind": "array"
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
},
|
|
595
|
+
{
|
|
596
|
+
"abstract": true,
|
|
597
|
+
"docs": {
|
|
598
|
+
"default": "45",
|
|
599
|
+
"stability": "stable",
|
|
600
|
+
"summary": "Timeout for a deploy job, bounding a hung Amplify build."
|
|
601
|
+
},
|
|
602
|
+
"immutable": true,
|
|
603
|
+
"locationInModule": {
|
|
604
|
+
"filename": "src/components/amplify-deploy.ts",
|
|
605
|
+
"line": 139
|
|
606
|
+
},
|
|
607
|
+
"name": "timeoutMinutes",
|
|
608
|
+
"optional": true,
|
|
609
|
+
"type": {
|
|
610
|
+
"primitive": "number"
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
],
|
|
614
|
+
"symbolId": "src/components/amplify-deploy:GitHubAmplifyDeployOptions"
|
|
615
|
+
},
|
|
120
616
|
"@taimos/projen.GitHubProductionRelease": {
|
|
121
617
|
"assembly": "@taimos/projen",
|
|
122
618
|
"base": "projen.Component",
|
|
@@ -550,7 +1046,7 @@
|
|
|
550
1046
|
},
|
|
551
1047
|
"locationInModule": {
|
|
552
1048
|
"filename": "src/projects/monorepo.ts",
|
|
553
|
-
"line":
|
|
1049
|
+
"line": 291
|
|
554
1050
|
},
|
|
555
1051
|
"parameters": [
|
|
556
1052
|
{
|
|
@@ -564,7 +1060,7 @@
|
|
|
564
1060
|
"kind": "class",
|
|
565
1061
|
"locationInModule": {
|
|
566
1062
|
"filename": "src/projects/monorepo.ts",
|
|
567
|
-
"line":
|
|
1063
|
+
"line": 268
|
|
568
1064
|
},
|
|
569
1065
|
"name": "MonorepoProject",
|
|
570
1066
|
"properties": [
|
|
@@ -576,7 +1072,7 @@
|
|
|
576
1072
|
"immutable": true,
|
|
577
1073
|
"locationInModule": {
|
|
578
1074
|
"filename": "src/projects/monorepo.ts",
|
|
579
|
-
"line":
|
|
1075
|
+
"line": 289
|
|
580
1076
|
},
|
|
581
1077
|
"name": "defaultReleaseBranch",
|
|
582
1078
|
"type": {
|
|
@@ -591,7 +1087,7 @@
|
|
|
591
1087
|
"immutable": true,
|
|
592
1088
|
"locationInModule": {
|
|
593
1089
|
"filename": "src/projects/monorepo.ts",
|
|
594
|
-
"line":
|
|
1090
|
+
"line": 274
|
|
595
1091
|
},
|
|
596
1092
|
"name": "prBuildWorkflow",
|
|
597
1093
|
"type": {
|
|
@@ -606,13 +1102,29 @@
|
|
|
606
1102
|
"immutable": true,
|
|
607
1103
|
"locationInModule": {
|
|
608
1104
|
"filename": "src/projects/monorepo.ts",
|
|
609
|
-
"line":
|
|
1105
|
+
"line": 271
|
|
610
1106
|
},
|
|
611
1107
|
"name": "workspaceFile",
|
|
612
1108
|
"type": {
|
|
613
1109
|
"fqn": "projen.YamlFile"
|
|
614
1110
|
}
|
|
615
1111
|
},
|
|
1112
|
+
{
|
|
1113
|
+
"docs": {
|
|
1114
|
+
"stability": "stable",
|
|
1115
|
+
"summary": "The Amplify deploy workflows, when `amplifyDeployOptions` is set."
|
|
1116
|
+
},
|
|
1117
|
+
"immutable": true,
|
|
1118
|
+
"locationInModule": {
|
|
1119
|
+
"filename": "src/projects/monorepo.ts",
|
|
1120
|
+
"line": 286
|
|
1121
|
+
},
|
|
1122
|
+
"name": "amplifyDeploy",
|
|
1123
|
+
"optional": true,
|
|
1124
|
+
"type": {
|
|
1125
|
+
"fqn": "@taimos/projen.GitHubAmplifyDeploy"
|
|
1126
|
+
}
|
|
1127
|
+
},
|
|
616
1128
|
{
|
|
617
1129
|
"docs": {
|
|
618
1130
|
"stability": "stable",
|
|
@@ -621,7 +1133,7 @@
|
|
|
621
1133
|
"immutable": true,
|
|
622
1134
|
"locationInModule": {
|
|
623
1135
|
"filename": "src/projects/monorepo.ts",
|
|
624
|
-
"line":
|
|
1136
|
+
"line": 277
|
|
625
1137
|
},
|
|
626
1138
|
"name": "amplifyFile",
|
|
627
1139
|
"optional": true,
|
|
@@ -637,7 +1149,7 @@
|
|
|
637
1149
|
"immutable": true,
|
|
638
1150
|
"locationInModule": {
|
|
639
1151
|
"filename": "src/projects/monorepo.ts",
|
|
640
|
-
"line":
|
|
1152
|
+
"line": 280
|
|
641
1153
|
},
|
|
642
1154
|
"name": "assignApprover",
|
|
643
1155
|
"optional": true,
|
|
@@ -653,7 +1165,7 @@
|
|
|
653
1165
|
"immutable": true,
|
|
654
1166
|
"locationInModule": {
|
|
655
1167
|
"filename": "src/projects/monorepo.ts",
|
|
656
|
-
"line":
|
|
1168
|
+
"line": 283
|
|
657
1169
|
},
|
|
658
1170
|
"name": "productionRelease",
|
|
659
1171
|
"optional": true,
|
|
@@ -705,6 +1217,25 @@
|
|
|
705
1217
|
}
|
|
706
1218
|
}
|
|
707
1219
|
},
|
|
1220
|
+
{
|
|
1221
|
+
"abstract": true,
|
|
1222
|
+
"docs": {
|
|
1223
|
+
"default": "- Amplify's own auto-build is left in place",
|
|
1224
|
+
"remarks": "Setting this generates one deploy workflow per listed app. The project's\nCDK app must disable `autoBuild` on the tracked branches and provide the\napp-id parameters and build-trigger role the workflows expect.",
|
|
1225
|
+
"stability": "stable",
|
|
1226
|
+
"summary": "Drive Amplify Hosting builds from GitHub Actions instead of Amplify's own auto-build, so an app only rebuilds when the packages it is built from actually changed (see `GitHubAmplifyDeploy`)."
|
|
1227
|
+
},
|
|
1228
|
+
"immutable": true,
|
|
1229
|
+
"locationInModule": {
|
|
1230
|
+
"filename": "src/projects/monorepo.ts",
|
|
1231
|
+
"line": 252
|
|
1232
|
+
},
|
|
1233
|
+
"name": "amplifyDeployOptions",
|
|
1234
|
+
"optional": true,
|
|
1235
|
+
"type": {
|
|
1236
|
+
"fqn": "@taimos/projen.GitHubAmplifyDeployOptions"
|
|
1237
|
+
}
|
|
1238
|
+
},
|
|
708
1239
|
{
|
|
709
1240
|
"abstract": true,
|
|
710
1241
|
"docs": {
|
|
@@ -1621,6 +2152,6 @@
|
|
|
1621
2152
|
"symbolId": "src/projects/ts-lib:TaimosTypescriptLibraryOptions"
|
|
1622
2153
|
}
|
|
1623
2154
|
},
|
|
1624
|
-
"version": "0.1.
|
|
1625
|
-
"fingerprint": "
|
|
2155
|
+
"version": "0.1.80",
|
|
2156
|
+
"fingerprint": "1eBWvW/AaeTw+BsepheKQ2d7cuNppk86/ck5HeLYLJY="
|
|
1626
2157
|
}
|