@macedon-technologies/batman 1.28.0 → 1.30.0
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 +60 -90
- package/API.md +57 -268
- package/README.md +46 -0
- package/build-tools/scan-generated-workflows.ts +0 -1
- package/lib/ApiConstructFile.js +2 -20
- package/lib/Application.d.ts +0 -1
- package/lib/Application.js +4 -9
- package/lib/BaseApplicationStackFile.js +13 -9
- package/lib/BatmanProject.d.ts +10 -4
- package/lib/BatmanProject.js +3 -3
- package/lib/BootcampApplication.d.ts +0 -6
- package/lib/BootcampApplication.js +1 -8
- package/lib/BootcampBaseApplicationStackFile.js +1 -9
- package/lib/BootcampProject.js +3 -3
- package/lib/CodeOwnersFile.js +1 -1
- package/lib/LocalDevAppFile.js +1 -2
- package/lib/MainFile.d.ts +0 -1
- package/lib/MainFile.js +1 -4
- package/lib/ProductionDeployWorkflow.js +1 -1
- package/lib/SoftwareFactoryAttestation.d.ts +9 -0
- package/lib/SoftwareFactoryAttestation.js +26 -12
- package/lib/SoftwareFactoryFiles.d.ts +10 -0
- package/lib/SoftwareFactoryFiles.js +4 -4
- package/lib/SoftwareFactoryWorkflows.js +6 -2
- package/lib/StagingDeployWorkflow.js +1 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.js +1 -2
- package/lib/utils.js +3 -3
- package/package.json +1 -1
- package/lib/WorkflowAutoDiscover.d.ts +0 -6
- package/lib/WorkflowAutoDiscover.js +0 -104
- package/lib/WorkflowProvider.d.ts +0 -5
- package/lib/WorkflowProvider.js +0 -308
package/API.md
CHANGED
|
@@ -4391,226 +4391,6 @@ Maximum line width (set to 0 to disable folding).
|
|
|
4391
4391
|
---
|
|
4392
4392
|
|
|
4393
4393
|
|
|
4394
|
-
### WorkflowAutoDiscover <a name="WorkflowAutoDiscover" id="@macedon-technologies/batman.WorkflowAutoDiscover"></a>
|
|
4395
|
-
|
|
4396
|
-
#### Initializers <a name="Initializers" id="@macedon-technologies/batman.WorkflowAutoDiscover.Initializer"></a>
|
|
4397
|
-
|
|
4398
|
-
```typescript
|
|
4399
|
-
import { WorkflowAutoDiscover } from '@macedon-technologies/batman'
|
|
4400
|
-
|
|
4401
|
-
new WorkflowAutoDiscover(project: AwsCdkTypeScriptApp)
|
|
4402
|
-
```
|
|
4403
|
-
|
|
4404
|
-
| **Name** | **Type** | **Description** |
|
|
4405
|
-
| --- | --- | --- |
|
|
4406
|
-
| <code><a href="#@macedon-technologies/batman.WorkflowAutoDiscover.Initializer.parameter.project">project</a></code> | <code>projen.awscdk.AwsCdkTypeScriptApp</code> | *No description.* |
|
|
4407
|
-
|
|
4408
|
-
---
|
|
4409
|
-
|
|
4410
|
-
##### `project`<sup>Required</sup> <a name="project" id="@macedon-technologies/batman.WorkflowAutoDiscover.Initializer.parameter.project"></a>
|
|
4411
|
-
|
|
4412
|
-
- *Type:* projen.awscdk.AwsCdkTypeScriptApp
|
|
4413
|
-
|
|
4414
|
-
---
|
|
4415
|
-
|
|
4416
|
-
#### Methods <a name="Methods" id="Methods"></a>
|
|
4417
|
-
|
|
4418
|
-
| **Name** | **Description** |
|
|
4419
|
-
| --- | --- |
|
|
4420
|
-
| <code><a href="#@macedon-technologies/batman.WorkflowAutoDiscover.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
4421
|
-
| <code><a href="#@macedon-technologies/batman.WorkflowAutoDiscover.with">with</a></code> | Applies one or more mixins to this construct. |
|
|
4422
|
-
| <code><a href="#@macedon-technologies/batman.WorkflowAutoDiscover.postProjectCreation">postProjectCreation</a></code> | Called once, right after `postSynthesize()`, only when the project is created for the first time. |
|
|
4423
|
-
| <code><a href="#@macedon-technologies/batman.WorkflowAutoDiscover.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
|
|
4424
|
-
| <code><a href="#@macedon-technologies/batman.WorkflowAutoDiscover.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
|
|
4425
|
-
| <code><a href="#@macedon-technologies/batman.WorkflowAutoDiscover.projectCreation">projectCreation</a></code> | Called once, right after `synthesize()`, only when the project is created for the first time. |
|
|
4426
|
-
| <code><a href="#@macedon-technologies/batman.WorkflowAutoDiscover.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
|
|
4427
|
-
|
|
4428
|
-
---
|
|
4429
|
-
|
|
4430
|
-
##### `toString` <a name="toString" id="@macedon-technologies/batman.WorkflowAutoDiscover.toString"></a>
|
|
4431
|
-
|
|
4432
|
-
```typescript
|
|
4433
|
-
public toString(): string
|
|
4434
|
-
```
|
|
4435
|
-
|
|
4436
|
-
Returns a string representation of this construct.
|
|
4437
|
-
|
|
4438
|
-
##### `with` <a name="with" id="@macedon-technologies/batman.WorkflowAutoDiscover.with"></a>
|
|
4439
|
-
|
|
4440
|
-
```typescript
|
|
4441
|
-
public with(mixins: ...IMixin[]): IConstruct
|
|
4442
|
-
```
|
|
4443
|
-
|
|
4444
|
-
Applies one or more mixins to this construct.
|
|
4445
|
-
|
|
4446
|
-
Mixins are applied in order. The list of constructs is captured at the
|
|
4447
|
-
start of the call, so constructs added by a mixin will not be visited.
|
|
4448
|
-
Use multiple `with()` calls if subsequent mixins should apply to added
|
|
4449
|
-
constructs.
|
|
4450
|
-
|
|
4451
|
-
###### `mixins`<sup>Required</sup> <a name="mixins" id="@macedon-technologies/batman.WorkflowAutoDiscover.with.parameter.mixins"></a>
|
|
4452
|
-
|
|
4453
|
-
- *Type:* ...constructs.IMixin[]
|
|
4454
|
-
|
|
4455
|
-
The mixins to apply.
|
|
4456
|
-
|
|
4457
|
-
---
|
|
4458
|
-
|
|
4459
|
-
##### `postProjectCreation` <a name="postProjectCreation" id="@macedon-technologies/batman.WorkflowAutoDiscover.postProjectCreation"></a>
|
|
4460
|
-
|
|
4461
|
-
```typescript
|
|
4462
|
-
public postProjectCreation(initProject: InitProject): void
|
|
4463
|
-
```
|
|
4464
|
-
|
|
4465
|
-
Called once, right after `postSynthesize()`, only when the project is created for the first time.
|
|
4466
|
-
|
|
4467
|
-
It does not run on later `projen` invocations. It only fires for `projen new` (or `Projects.createProject`).
|
|
4468
|
-
It is also skipped when post-synthesis steps are disabled, e.g. `--no-post` or `PROJEN_DISABLE_POST`.
|
|
4469
|
-
Use it for one-off setup that can be turned off by the user, like running a task to give the user immediate
|
|
4470
|
-
feedback on their new project. Order across components is not guaranteed.
|
|
4471
|
-
|
|
4472
|
-
###### `initProject`<sup>Required</sup> <a name="initProject" id="@macedon-technologies/batman.WorkflowAutoDiscover.postProjectCreation.parameter.initProject"></a>
|
|
4473
|
-
|
|
4474
|
-
- *Type:* projen.InitProject
|
|
4475
|
-
|
|
4476
|
-
Details about how the project was created, e.g. its type and the original CLI args.
|
|
4477
|
-
|
|
4478
|
-
---
|
|
4479
|
-
|
|
4480
|
-
##### `postSynthesize` <a name="postSynthesize" id="@macedon-technologies/batman.WorkflowAutoDiscover.postSynthesize"></a>
|
|
4481
|
-
|
|
4482
|
-
```typescript
|
|
4483
|
-
public postSynthesize(): void
|
|
4484
|
-
```
|
|
4485
|
-
|
|
4486
|
-
Called after synthesis.
|
|
4487
|
-
|
|
4488
|
-
Order is *not* guaranteed.
|
|
4489
|
-
|
|
4490
|
-
##### `preSynthesize` <a name="preSynthesize" id="@macedon-technologies/batman.WorkflowAutoDiscover.preSynthesize"></a>
|
|
4491
|
-
|
|
4492
|
-
```typescript
|
|
4493
|
-
public preSynthesize(): void
|
|
4494
|
-
```
|
|
4495
|
-
|
|
4496
|
-
Called before synthesis.
|
|
4497
|
-
|
|
4498
|
-
##### `projectCreation` <a name="projectCreation" id="@macedon-technologies/batman.WorkflowAutoDiscover.projectCreation"></a>
|
|
4499
|
-
|
|
4500
|
-
```typescript
|
|
4501
|
-
public projectCreation(initProject: InitProject): void
|
|
4502
|
-
```
|
|
4503
|
-
|
|
4504
|
-
Called once, right after `synthesize()`, only when the project is created for the first time.
|
|
4505
|
-
|
|
4506
|
-
It does not run on later `projen` invocations. It only fires for `projen new` (or `Projects.createProject`).
|
|
4507
|
-
Use it for deterministic, one-off file generation. Order across components is not guaranteed.
|
|
4508
|
-
|
|
4509
|
-
###### `initProject`<sup>Required</sup> <a name="initProject" id="@macedon-technologies/batman.WorkflowAutoDiscover.projectCreation.parameter.initProject"></a>
|
|
4510
|
-
|
|
4511
|
-
- *Type:* projen.InitProject
|
|
4512
|
-
|
|
4513
|
-
Details about how the project was created, e.g. its type and the original CLI args.
|
|
4514
|
-
|
|
4515
|
-
---
|
|
4516
|
-
|
|
4517
|
-
##### `synthesize` <a name="synthesize" id="@macedon-technologies/batman.WorkflowAutoDiscover.synthesize"></a>
|
|
4518
|
-
|
|
4519
|
-
```typescript
|
|
4520
|
-
public synthesize(): void
|
|
4521
|
-
```
|
|
4522
|
-
|
|
4523
|
-
Synthesizes files to the project output directory.
|
|
4524
|
-
|
|
4525
|
-
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
4526
|
-
|
|
4527
|
-
| **Name** | **Description** |
|
|
4528
|
-
| --- | --- |
|
|
4529
|
-
| <code><a href="#@macedon-technologies/batman.WorkflowAutoDiscover.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
|
|
4530
|
-
| <code><a href="#@macedon-technologies/batman.WorkflowAutoDiscover.isComponent">isComponent</a></code> | Test whether the given construct is a component. |
|
|
4531
|
-
|
|
4532
|
-
---
|
|
4533
|
-
|
|
4534
|
-
##### `isConstruct` <a name="isConstruct" id="@macedon-technologies/batman.WorkflowAutoDiscover.isConstruct"></a>
|
|
4535
|
-
|
|
4536
|
-
```typescript
|
|
4537
|
-
import { WorkflowAutoDiscover } from '@macedon-technologies/batman'
|
|
4538
|
-
|
|
4539
|
-
WorkflowAutoDiscover.isConstruct(x: any)
|
|
4540
|
-
```
|
|
4541
|
-
|
|
4542
|
-
Checks if `x` is a construct.
|
|
4543
|
-
|
|
4544
|
-
Use this method instead of `instanceof` to properly detect `Construct`
|
|
4545
|
-
instances, even when the construct library is symlinked.
|
|
4546
|
-
|
|
4547
|
-
Explanation: in JavaScript, multiple copies of the `constructs` library on
|
|
4548
|
-
disk are seen as independent, completely different libraries. As a
|
|
4549
|
-
consequence, the class `Construct` in each copy of the `constructs` library
|
|
4550
|
-
is seen as a different class, and an instance of one class will not test as
|
|
4551
|
-
`instanceof` the other class. `npm install` will not create installations
|
|
4552
|
-
like this, but users may manually symlink construct libraries together or
|
|
4553
|
-
use a monorepo tool: in those cases, multiple copies of the `constructs`
|
|
4554
|
-
library can be accidentally installed, and `instanceof` will behave
|
|
4555
|
-
unpredictably. It is safest to avoid using `instanceof`, and using
|
|
4556
|
-
this type-testing method instead.
|
|
4557
|
-
|
|
4558
|
-
###### `x`<sup>Required</sup> <a name="x" id="@macedon-technologies/batman.WorkflowAutoDiscover.isConstruct.parameter.x"></a>
|
|
4559
|
-
|
|
4560
|
-
- *Type:* any
|
|
4561
|
-
|
|
4562
|
-
Any object.
|
|
4563
|
-
|
|
4564
|
-
---
|
|
4565
|
-
|
|
4566
|
-
##### `isComponent` <a name="isComponent" id="@macedon-technologies/batman.WorkflowAutoDiscover.isComponent"></a>
|
|
4567
|
-
|
|
4568
|
-
```typescript
|
|
4569
|
-
import { WorkflowAutoDiscover } from '@macedon-technologies/batman'
|
|
4570
|
-
|
|
4571
|
-
WorkflowAutoDiscover.isComponent(x: any)
|
|
4572
|
-
```
|
|
4573
|
-
|
|
4574
|
-
Test whether the given construct is a component.
|
|
4575
|
-
|
|
4576
|
-
###### `x`<sup>Required</sup> <a name="x" id="@macedon-technologies/batman.WorkflowAutoDiscover.isComponent.parameter.x"></a>
|
|
4577
|
-
|
|
4578
|
-
- *Type:* any
|
|
4579
|
-
|
|
4580
|
-
---
|
|
4581
|
-
|
|
4582
|
-
#### Properties <a name="Properties" id="Properties"></a>
|
|
4583
|
-
|
|
4584
|
-
| **Name** | **Type** | **Description** |
|
|
4585
|
-
| --- | --- | --- |
|
|
4586
|
-
| <code><a href="#@macedon-technologies/batman.WorkflowAutoDiscover.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
|
|
4587
|
-
| <code><a href="#@macedon-technologies/batman.WorkflowAutoDiscover.property.project">project</a></code> | <code>projen.Project</code> | *No description.* |
|
|
4588
|
-
|
|
4589
|
-
---
|
|
4590
|
-
|
|
4591
|
-
##### `node`<sup>Required</sup> <a name="node" id="@macedon-technologies/batman.WorkflowAutoDiscover.property.node"></a>
|
|
4592
|
-
|
|
4593
|
-
```typescript
|
|
4594
|
-
public readonly node: Node;
|
|
4595
|
-
```
|
|
4596
|
-
|
|
4597
|
-
- *Type:* constructs.Node
|
|
4598
|
-
|
|
4599
|
-
The tree node.
|
|
4600
|
-
|
|
4601
|
-
---
|
|
4602
|
-
|
|
4603
|
-
##### `project`<sup>Required</sup> <a name="project" id="@macedon-technologies/batman.WorkflowAutoDiscover.property.project"></a>
|
|
4604
|
-
|
|
4605
|
-
```typescript
|
|
4606
|
-
public readonly project: Project;
|
|
4607
|
-
```
|
|
4608
|
-
|
|
4609
|
-
- *Type:* projen.Project
|
|
4610
|
-
|
|
4611
|
-
---
|
|
4612
|
-
|
|
4613
|
-
|
|
4614
4394
|
## Structs <a name="Structs" id="Structs"></a>
|
|
4615
4395
|
|
|
4616
4396
|
### ApplicationEnvironmentConfig <a name="ApplicationEnvironmentConfig" id="@macedon-technologies/batman.ApplicationEnvironmentConfig"></a>
|
|
@@ -4633,7 +4413,6 @@ const applicationEnvironmentConfig: ApplicationEnvironmentConfig = { ... }
|
|
|
4633
4413
|
| <code><a href="#@macedon-technologies/batman.ApplicationEnvironmentConfig.property.datadogSecretArn">datadogSecretArn</a></code> | <code>string</code> | *No description.* |
|
|
4634
4414
|
| <code><a href="#@macedon-technologies/batman.ApplicationEnvironmentConfig.property.hostedZoneDomainName">hostedZoneDomainName</a></code> | <code>string</code> | *No description.* |
|
|
4635
4415
|
| <code><a href="#@macedon-technologies/batman.ApplicationEnvironmentConfig.property.hostname">hostname</a></code> | <code>string</code> | *No description.* |
|
|
4636
|
-
| <code><a href="#@macedon-technologies/batman.ApplicationEnvironmentConfig.property.n8nEndpoint">n8nEndpoint</a></code> | <code>string</code> | *No description.* |
|
|
4637
4416
|
| <code><a href="#@macedon-technologies/batman.ApplicationEnvironmentConfig.property.region">region</a></code> | <code>string</code> | *No description.* |
|
|
4638
4417
|
| <code><a href="#@macedon-technologies/batman.ApplicationEnvironmentConfig.property.additionalStackProps">additionalStackProps</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
|
|
4639
4418
|
| <code><a href="#@macedon-technologies/batman.ApplicationEnvironmentConfig.property.githubActionRoleArn">githubActionRoleArn</a></code> | <code>string</code> | *No description.* |
|
|
@@ -4700,16 +4479,6 @@ public readonly hostname: string;
|
|
|
4700
4479
|
|
|
4701
4480
|
---
|
|
4702
4481
|
|
|
4703
|
-
##### `n8nEndpoint`<sup>Required</sup> <a name="n8nEndpoint" id="@macedon-technologies/batman.ApplicationEnvironmentConfig.property.n8nEndpoint"></a>
|
|
4704
|
-
|
|
4705
|
-
```typescript
|
|
4706
|
-
public readonly n8nEndpoint: string;
|
|
4707
|
-
```
|
|
4708
|
-
|
|
4709
|
-
- *Type:* string
|
|
4710
|
-
|
|
4711
|
-
---
|
|
4712
|
-
|
|
4713
4482
|
##### `region`<sup>Required</sup> <a name="region" id="@macedon-technologies/batman.ApplicationEnvironmentConfig.property.region"></a>
|
|
4714
4483
|
|
|
4715
4484
|
```typescript
|
|
@@ -4931,9 +4700,9 @@ const batmanProjectOptions: BatmanProjectOptions = { ... }
|
|
|
4931
4700
|
| <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.actionVersions">actionVersions</a></code> | <code><a href="#@macedon-technologies/batman.WorkflowActionVersions">WorkflowActionVersions</a></code> | Overrides for the pinned action versions used by the generated GitHub Actions workflows. |
|
|
4932
4701
|
| <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.additionalCodeOwners">additionalCodeOwners</a></code> | <code>string[]</code> | Additional code owners to add to the CODEOWNERS file. |
|
|
4933
4702
|
| <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.additionalTags">additionalTags</a></code> | <code>{[ key: string ]: string}</code> | Additional tags to apply to all stacks. |
|
|
4703
|
+
| <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.attestationFiles">attestationFiles</a></code> | <code>string[]</code> | Extra files that the PR attestation manifest also hashes, such as the project's own verification checks. |
|
|
4934
4704
|
| <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.authorizerObjectVersion">authorizerObjectVersion</a></code> | <code>string</code> | Overrides the pinned S3 object version of the clerk-authorizer Lambda deployment package. |
|
|
4935
4705
|
| <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.e2eTesting">e2eTesting</a></code> | <code>boolean</code> | Whether the generated `web` app and its `PrDeployWorkflow` CI step include Playwright e2e testing support. |
|
|
4936
|
-
| <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.n8nWorkflows">n8nWorkflows</a></code> | <code>boolean</code> | Enable n8n workflow auto-discovery and WorkflowProvider generation. |
|
|
4937
4706
|
| <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.websiteDeps">websiteDeps</a></code> | <code>string[]</code> | Website dependencies. |
|
|
4938
4707
|
|
|
4939
4708
|
---
|
|
@@ -7511,6 +7280,24 @@ Additional tags to apply to all stacks.
|
|
|
7511
7280
|
|
|
7512
7281
|
---
|
|
7513
7282
|
|
|
7283
|
+
##### `attestationFiles`<sup>Optional</sup> <a name="attestationFiles" id="@macedon-technologies/batman.BatmanProjectOptions.property.attestationFiles"></a>
|
|
7284
|
+
|
|
7285
|
+
```typescript
|
|
7286
|
+
public readonly attestationFiles: string[];
|
|
7287
|
+
```
|
|
7288
|
+
|
|
7289
|
+
- *Type:* string[]
|
|
7290
|
+
- *Default:* only the default files
|
|
7291
|
+
|
|
7292
|
+
Extra files that the PR attestation manifest also hashes, such as the project's own verification checks.
|
|
7293
|
+
|
|
7294
|
+
Each entry is an exact file path
|
|
7295
|
+
relative to the project root, in normalized POSIX form, using only
|
|
7296
|
+
letters, digits and `._@+-`, with no `.` or `..` segment; synth fails
|
|
7297
|
+
on any other entry.
|
|
7298
|
+
|
|
7299
|
+
---
|
|
7300
|
+
|
|
7514
7301
|
##### `authorizerObjectVersion`<sup>Optional</sup> <a name="authorizerObjectVersion" id="@macedon-technologies/batman.BatmanProjectOptions.property.authorizerObjectVersion"></a>
|
|
7515
7302
|
|
|
7516
7303
|
```typescript
|
|
@@ -7537,18 +7324,6 @@ Whether the generated `web` app and its `PrDeployWorkflow` CI step include Playw
|
|
|
7537
7324
|
|
|
7538
7325
|
---
|
|
7539
7326
|
|
|
7540
|
-
##### `n8nWorkflows`<sup>Optional</sup> <a name="n8nWorkflows" id="@macedon-technologies/batman.BatmanProjectOptions.property.n8nWorkflows"></a>
|
|
7541
|
-
|
|
7542
|
-
```typescript
|
|
7543
|
-
public readonly n8nWorkflows: boolean;
|
|
7544
|
-
```
|
|
7545
|
-
|
|
7546
|
-
- *Type:* boolean
|
|
7547
|
-
|
|
7548
|
-
Enable n8n workflow auto-discovery and WorkflowProvider generation.
|
|
7549
|
-
|
|
7550
|
-
---
|
|
7551
|
-
|
|
7552
7327
|
##### `websiteDeps`<sup>Optional</sup> <a name="websiteDeps" id="@macedon-technologies/batman.BatmanProjectOptions.property.websiteDeps"></a>
|
|
7553
7328
|
|
|
7554
7329
|
```typescript
|
|
@@ -7752,9 +7527,9 @@ const bootcampProjectOptions: BootcampProjectOptions = { ... }
|
|
|
7752
7527
|
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.actionVersions">actionVersions</a></code> | <code><a href="#@macedon-technologies/batman.WorkflowActionVersions">WorkflowActionVersions</a></code> | Overrides for the pinned action versions used by the generated GitHub Actions workflows. |
|
|
7753
7528
|
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.additionalCodeOwners">additionalCodeOwners</a></code> | <code>string[]</code> | Additional code owners to add to the CODEOWNERS file. |
|
|
7754
7529
|
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.additionalTags">additionalTags</a></code> | <code>{[ key: string ]: string}</code> | Additional tags to apply to all stacks. |
|
|
7530
|
+
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.attestationFiles">attestationFiles</a></code> | <code>string[]</code> | Extra files that the PR attestation manifest also hashes, such as the project's own verification checks. |
|
|
7755
7531
|
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.authorizerObjectVersion">authorizerObjectVersion</a></code> | <code>string</code> | Overrides the pinned S3 object version of the clerk-authorizer Lambda deployment package. |
|
|
7756
7532
|
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.e2eTesting">e2eTesting</a></code> | <code>boolean</code> | Whether the generated `web` app and its `PrDeployWorkflow` CI step include Playwright e2e testing support. |
|
|
7757
|
-
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.n8nWorkflows">n8nWorkflows</a></code> | <code>boolean</code> | Enable n8n workflow auto-discovery and WorkflowProvider generation. |
|
|
7758
7533
|
| <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.websiteDeps">websiteDeps</a></code> | <code>string[]</code> | Website dependencies. |
|
|
7759
7534
|
|
|
7760
7535
|
---
|
|
@@ -10332,6 +10107,24 @@ Additional tags to apply to all stacks.
|
|
|
10332
10107
|
|
|
10333
10108
|
---
|
|
10334
10109
|
|
|
10110
|
+
##### `attestationFiles`<sup>Optional</sup> <a name="attestationFiles" id="@macedon-technologies/batman.BootcampProjectOptions.property.attestationFiles"></a>
|
|
10111
|
+
|
|
10112
|
+
```typescript
|
|
10113
|
+
public readonly attestationFiles: string[];
|
|
10114
|
+
```
|
|
10115
|
+
|
|
10116
|
+
- *Type:* string[]
|
|
10117
|
+
- *Default:* only the default files
|
|
10118
|
+
|
|
10119
|
+
Extra files that the PR attestation manifest also hashes, such as the project's own verification checks.
|
|
10120
|
+
|
|
10121
|
+
Each entry is an exact file path
|
|
10122
|
+
relative to the project root, in normalized POSIX form, using only
|
|
10123
|
+
letters, digits and `._@+-`, with no `.` or `..` segment; synth fails
|
|
10124
|
+
on any other entry.
|
|
10125
|
+
|
|
10126
|
+
---
|
|
10127
|
+
|
|
10335
10128
|
##### `authorizerObjectVersion`<sup>Optional</sup> <a name="authorizerObjectVersion" id="@macedon-technologies/batman.BootcampProjectOptions.property.authorizerObjectVersion"></a>
|
|
10336
10129
|
|
|
10337
10130
|
```typescript
|
|
@@ -10358,18 +10151,6 @@ Whether the generated `web` app and its `PrDeployWorkflow` CI step include Playw
|
|
|
10358
10151
|
|
|
10359
10152
|
---
|
|
10360
10153
|
|
|
10361
|
-
##### `n8nWorkflows`<sup>Optional</sup> <a name="n8nWorkflows" id="@macedon-technologies/batman.BootcampProjectOptions.property.n8nWorkflows"></a>
|
|
10362
|
-
|
|
10363
|
-
```typescript
|
|
10364
|
-
public readonly n8nWorkflows: boolean;
|
|
10365
|
-
```
|
|
10366
|
-
|
|
10367
|
-
- *Type:* boolean
|
|
10368
|
-
|
|
10369
|
-
Enable n8n workflow auto-discovery and WorkflowProvider generation.
|
|
10370
|
-
|
|
10371
|
-
---
|
|
10372
|
-
|
|
10373
10154
|
##### `websiteDeps`<sup>Optional</sup> <a name="websiteDeps" id="@macedon-technologies/batman.BootcampProjectOptions.property.websiteDeps"></a>
|
|
10374
10155
|
|
|
10375
10156
|
```typescript
|
|
@@ -10430,7 +10211,6 @@ const environmentConfig: EnvironmentConfig = { ... }
|
|
|
10430
10211
|
| <code><a href="#@macedon-technologies/batman.EnvironmentConfig.property.datadogSecretArn">datadogSecretArn</a></code> | <code>string</code> | *No description.* |
|
|
10431
10212
|
| <code><a href="#@macedon-technologies/batman.EnvironmentConfig.property.hostedZoneDomainName">hostedZoneDomainName</a></code> | <code>string</code> | *No description.* |
|
|
10432
10213
|
| <code><a href="#@macedon-technologies/batman.EnvironmentConfig.property.hostname">hostname</a></code> | <code>string</code> | *No description.* |
|
|
10433
|
-
| <code><a href="#@macedon-technologies/batman.EnvironmentConfig.property.n8nEndpoint">n8nEndpoint</a></code> | <code>string</code> | *No description.* |
|
|
10434
10214
|
| <code><a href="#@macedon-technologies/batman.EnvironmentConfig.property.region">region</a></code> | <code>string</code> | *No description.* |
|
|
10435
10215
|
| <code><a href="#@macedon-technologies/batman.EnvironmentConfig.property.additionalStackProps">additionalStackProps</a></code> | <code>{[ key: string ]: any}</code> | *No description.* |
|
|
10436
10216
|
|
|
@@ -10496,16 +10276,6 @@ public readonly hostname: string;
|
|
|
10496
10276
|
|
|
10497
10277
|
---
|
|
10498
10278
|
|
|
10499
|
-
##### `n8nEndpoint`<sup>Required</sup> <a name="n8nEndpoint" id="@macedon-technologies/batman.EnvironmentConfig.property.n8nEndpoint"></a>
|
|
10500
|
-
|
|
10501
|
-
```typescript
|
|
10502
|
-
public readonly n8nEndpoint: string;
|
|
10503
|
-
```
|
|
10504
|
-
|
|
10505
|
-
- *Type:* string
|
|
10506
|
-
|
|
10507
|
-
---
|
|
10508
|
-
|
|
10509
10279
|
##### `region`<sup>Required</sup> <a name="region" id="@macedon-technologies/batman.EnvironmentConfig.property.region"></a>
|
|
10510
10280
|
|
|
10511
10281
|
```typescript
|
|
@@ -10616,6 +10386,7 @@ const softwareFactoryFilesOptions: SoftwareFactoryFilesOptions = { ... }
|
|
|
10616
10386
|
| --- | --- | --- |
|
|
10617
10387
|
| <code><a href="#@macedon-technologies/batman.SoftwareFactoryFilesOptions.property.repoName">repoName</a></code> | <code>string</code> | The bare repo name (e.g. `expense-tracker`), used to derive the factory's model names (`<repoName>-factory`, `<repoName>-issues`, `<repoName>-pr`, `<repoName>-shell*`) and vault name (`<repoName>-secrets`). |
|
|
10618
10388
|
| <code><a href="#@macedon-technologies/batman.SoftwareFactoryFilesOptions.property.actionVersions">actionVersions</a></code> | <code><a href="#@macedon-technologies/batman.WorkflowActionVersions">WorkflowActionVersions</a></code> | Overrides for the pinned action versions used by `verify-attestation.yml`. |
|
|
10389
|
+
| <code><a href="#@macedon-technologies/batman.SoftwareFactoryFilesOptions.property.attestationFiles">attestationFiles</a></code> | <code>string[]</code> | Extra files that the PR attestation manifest also hashes, such as the project's own verification checks. |
|
|
10619
10390
|
| <code><a href="#@macedon-technologies/batman.SoftwareFactoryFilesOptions.property.baseBranch">baseBranch</a></code> | <code>string</code> | The branch the factory opens pull requests against. |
|
|
10620
10391
|
| <code><a href="#@macedon-technologies/batman.SoftwareFactoryFilesOptions.property.githubOwner">githubOwner</a></code> | <code>string</code> | The GitHub org/user the repo lives in. |
|
|
10621
10392
|
|
|
@@ -10645,6 +10416,24 @@ Overrides for the pinned action versions used by `verify-attestation.yml`.
|
|
|
10645
10416
|
|
|
10646
10417
|
---
|
|
10647
10418
|
|
|
10419
|
+
##### `attestationFiles`<sup>Optional</sup> <a name="attestationFiles" id="@macedon-technologies/batman.SoftwareFactoryFilesOptions.property.attestationFiles"></a>
|
|
10420
|
+
|
|
10421
|
+
```typescript
|
|
10422
|
+
public readonly attestationFiles: string[];
|
|
10423
|
+
```
|
|
10424
|
+
|
|
10425
|
+
- *Type:* string[]
|
|
10426
|
+
- *Default:* only the default files
|
|
10427
|
+
|
|
10428
|
+
Extra files that the PR attestation manifest also hashes, such as the project's own verification checks.
|
|
10429
|
+
|
|
10430
|
+
Each entry is an exact file path
|
|
10431
|
+
relative to the project root, in normalized POSIX form, using only
|
|
10432
|
+
letters, digits and `._@+-`, with no `.` or `..` segment; synth fails
|
|
10433
|
+
on any other entry.
|
|
10434
|
+
|
|
10435
|
+
---
|
|
10436
|
+
|
|
10648
10437
|
##### `baseBranch`<sup>Optional</sup> <a name="baseBranch" id="@macedon-technologies/batman.SoftwareFactoryFilesOptions.property.baseBranch"></a>
|
|
10649
10438
|
|
|
10650
10439
|
```typescript
|
package/README.md
CHANGED
|
@@ -86,6 +86,52 @@ yarn deploy
|
|
|
86
86
|
yarn test
|
|
87
87
|
```
|
|
88
88
|
|
|
89
|
+
## Upgrading
|
|
90
|
+
|
|
91
|
+
### The base stack no longer creates a VPC
|
|
92
|
+
|
|
93
|
+
`BaseApplicationStack` used to create a VPC with a NAT gateway and attach the API Lambda to it.
|
|
94
|
+
It now creates neither unless the stack props set `enableVpc: true`. A stack that upgrades
|
|
95
|
+
without it deletes its VPC and NAT gateway on the next deploy.
|
|
96
|
+
|
|
97
|
+
Add `enableVpc: true` to every `ApplicationStack` in `src/main.ts` and `src/LocalDevApp.ts` (new projects: `additionalStackProps: { enableVpc: true }` on each environment) if any of these apply:
|
|
98
|
+
|
|
99
|
+
- your `ApplicationStack` uses `this.vpc` or overrides `createVpc()`; the override is not called otherwise;
|
|
100
|
+
- the Lambda reaches anything private, such as RDS or a VPC endpoint;
|
|
101
|
+
- another stack imports this stack's VPC outputs; CloudFormation refuses to delete them.
|
|
102
|
+
|
|
103
|
+
`this.vpc` is now typed `IVpc | undefined`, even with `enableVpc: true`, so code that passes it where an `IVpc` is required (such as `new SecurityGroup(this, 'Sg', { vpc: this.vpc })`) stops compiling. With `enableVpc: true` the VPC is created before your `ApplicationStack` constructor runs, so use `this.vpc!` there, or check it and throw if it's missing.
|
|
104
|
+
|
|
105
|
+
Otherwise, make `vpc` optional in `src/constructs/Api.ts` (`readonly vpc?: IVpc;`) so the project compiles. Deleting the VPC can take a while as Lambda releases its network interfaces.
|
|
106
|
+
|
|
107
|
+
With `enableVpc: true`, the Lambda is attached only if your `Api.ts` still accepts a `vpc` prop and your stack doesn't override `createApi()` without passing it.
|
|
108
|
+
|
|
109
|
+
### n8n support is removed
|
|
110
|
+
|
|
111
|
+
`BatmanProject` and `BootcampProject` no longer generate any n8n wiring. The base stacks have no `n8nEndpoint` prop, `src/constructs/WorkflowProvider.ts` and a construct per `src/workflows/*.json` are no longer generated, and new projects get an `Api.ts`, `main.ts` and `LocalDevApp.ts` without n8n. The `n8nWorkflows` option, the `n8nEndpoint` environment config field and the exported `WorkflowAutoDiscover` class are gone, so every project removes `n8nWorkflows` and `n8nEndpoint` from its `.projenrc.ts`.
|
|
112
|
+
|
|
113
|
+
A project that doesn't use n8n stops compiling until it also removes:
|
|
114
|
+
|
|
115
|
+
- `n8nEndpoint` from every `ApplicationStack` in `src/main.ts` and `src/LocalDevApp.ts`;
|
|
116
|
+
- the `n8nEndpoint` prop, the n8n JWT key secret and its `grantRead` from `src/constructs/Api.ts`;
|
|
117
|
+
- any `n8nEndpoint: this.props.n8nEndpoint` in a `createApi()` override;
|
|
118
|
+
- any generated `src/constructs/*Workflow.ts` files and `src/workflows/`, which import the now-deleted `WorkflowProvider`.
|
|
119
|
+
|
|
120
|
+
A project that uses n8n takes ownership of it:
|
|
121
|
+
|
|
122
|
+
1. Upgrading makes projen delete `src/constructs/WorkflowProvider.ts`. Restore it from the last commit that had it, which works whether or not the deletion is already committed:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
git checkout "$(git log -n1 --format=%H --diff-filter=AM -- src/constructs/WorkflowProvider.ts)" -- src/constructs/WorkflowProvider.ts
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Then delete the `~~ Generated by projen` header line from it and from your per-workflow constructs (such as `AlfredWorkflow.ts`). They're yours from now on, and a new workflow needs its construct written by hand.
|
|
129
|
+
2. Move `n8nEndpoint` from `Api` to your `ApplicationStack`. Remove the `n8nEndpoint` prop and its `N8N_ENDPOINT` environment entry from `src/constructs/Api.ts`, add `readonly n8nEndpoint: string;` to `ApplicationStackProps` (your `main.ts` and `LocalDevApp.ts` already pass it), and set the variable after `super()`:
|
|
130
|
+
|
|
131
|
+
```typescript
|
|
132
|
+
this.api.lambdaFunction.addEnvironment('N8N_ENDPOINT', props.n8nEndpoint);
|
|
133
|
+
```
|
|
134
|
+
|
|
89
135
|
## SoftwareFactoryFiles (standalone, non-Batman projects)
|
|
90
136
|
|
|
91
137
|
`SoftwareFactoryFiles` is independently exported and can be attached to any
|
|
@@ -26,7 +26,6 @@ const ENV: import('../src').ApplicationEnvironmentConfig = {
|
|
|
26
26
|
datadogSecretArn: 'arn:aws:secretsmanager:us-east-1:111111111111:secret:datadog',
|
|
27
27
|
clerkJwksUrl: 'https://fixture.clerk.accounts.dev/.well-known/jwks.json',
|
|
28
28
|
clerkPublishableKey: 'fakekey',
|
|
29
|
-
n8nEndpoint: 'https://n8n.dev.example.com',
|
|
30
29
|
};
|
|
31
30
|
|
|
32
31
|
const outdir = mkdtempSync(join(tmpdir(), 'batman-zizmor-'));
|
package/lib/ApiConstructFile.js
CHANGED
|
@@ -19,14 +19,12 @@ import { LogGroup, RetentionDays } from 'aws-cdk-lib/aws-logs';
|
|
|
19
19
|
import { Bucket } from 'aws-cdk-lib/aws-s3';
|
|
20
20
|
|
|
21
21
|
import { Construct } from 'constructs';
|
|
22
|
-
import { N8N_ENDPOINT, N8N_JWT_KEY } from './handler/Api.Function';
|
|
23
22
|
import { Secret } from './Secret';
|
|
24
23
|
|
|
25
24
|
export interface ApiProps {
|
|
26
25
|
readonly cloudFrontOriginRequestPolicyId?: string;
|
|
27
|
-
readonly vpc
|
|
26
|
+
readonly vpc?: IVpc;
|
|
28
27
|
readonly clerkJwksUrl: string;
|
|
29
|
-
readonly n8nEndpoint: string;
|
|
30
28
|
}
|
|
31
29
|
|
|
32
30
|
export class Api extends Construct {
|
|
@@ -34,19 +32,12 @@ export class Api extends Construct {
|
|
|
34
32
|
public lambdaFunction: LambdaFunction;
|
|
35
33
|
|
|
36
34
|
private authorizerFunction: RustFunction;
|
|
37
|
-
private n8nJwtKeySecret: Secret;
|
|
38
35
|
private authorizer: TokenAuthorizer;
|
|
39
36
|
private clerkAuthSecret: Secret;
|
|
40
37
|
|
|
41
38
|
constructor(scope: Construct, id: string, private props: ApiProps) {
|
|
42
39
|
super(scope, id);
|
|
43
40
|
|
|
44
|
-
|
|
45
|
-
this.createN8NJwtSecret();
|
|
46
|
-
if (!this.n8nJwtKeySecret) {
|
|
47
|
-
throw new Error('Failed to create n8n JWT key secret');
|
|
48
|
-
}
|
|
49
|
-
|
|
50
41
|
this.createClerkAuthSecret();
|
|
51
42
|
if (!this.clerkAuthSecret) {
|
|
52
43
|
throw new Error('Failed to create Clerk auth secret');
|
|
@@ -92,10 +83,6 @@ export class Api extends Construct {
|
|
|
92
83
|
});
|
|
93
84
|
}
|
|
94
85
|
|
|
95
|
-
protected createN8NJwtSecret() {
|
|
96
|
-
this.n8nJwtKeySecret = new Secret(this, 'N8nJwtKeySecret', {});
|
|
97
|
-
}
|
|
98
|
-
|
|
99
86
|
protected createLambdaFunction() {
|
|
100
87
|
this.lambdaFunction = new NodejsFunction(this, 'Function', {
|
|
101
88
|
runtime: Runtime.NODEJS_24_X,
|
|
@@ -103,12 +90,7 @@ export class Api extends Construct {
|
|
|
103
90
|
memorySize: 512,
|
|
104
91
|
entry: join(__dirname, 'handler/Api.Function.ts'),
|
|
105
92
|
vpc: this.props.vpc,
|
|
106
|
-
environment: {
|
|
107
|
-
[N8N_JWT_KEY]: this.n8nJwtKeySecret.secretName,
|
|
108
|
-
[N8N_ENDPOINT]: this.props.n8nEndpoint,
|
|
109
|
-
},
|
|
110
93
|
});
|
|
111
|
-
this.n8nJwtKeySecret.grantRead(this.lambdaFunction);
|
|
112
94
|
}
|
|
113
95
|
|
|
114
96
|
protected createRestApi() {
|
|
@@ -191,4 +173,4 @@ export class Api extends Construct {
|
|
|
191
173
|
}
|
|
192
174
|
}
|
|
193
175
|
exports.ApiConstructFile = ApiConstructFile;
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBpQ29uc3RydWN0RmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9BcGlDb25zdHJ1Y3RGaWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFvQztBQUd2QixRQUFBLGlDQUFpQyxHQUFHLGtDQUFrQyxDQUFDO0FBV3BGLE1BQWEsZ0JBQWlCLFNBQVEsbUJBQVU7SUFDOUMsWUFBWSxPQUE0QixFQUFFLFVBQW1DLEVBQUU7UUFDN0UsTUFBTSx1QkFBdUIsR0FBRyxPQUFPLENBQUMsdUJBQXVCLElBQUkseUNBQWlDLENBQUM7UUFDckcsS0FBSyxDQUFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRTtZQUN0QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs0QkFrRVksdUJBQXVCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQStGbEQ7U0FDSSxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUF4S0QsNENBd0tDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FtcGxlRmlsZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBBd3NDZGtUeXBlU2NyaXB0QXBwIH0gZnJvbSAncHJvamVuL2xpYi9hd3NjZGsnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9BVVRIT1JJWkVSX09CSkVDVF9WRVJTSU9OID0gJ3NrYU9vdGZwSzhsOEJiUWdvTnlUWU8zTVo1YUEuM3hsJztcblxuZXhwb3J0IGludGVyZmFjZSBBcGlDb25zdHJ1Y3RGaWxlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgUzMgb2JqZWN0IHZlcnNpb24gb2YgdGhlIGNsZXJrLWF1dGhvcml6ZXIgTGFtYmRhIGRlcGxveW1lbnQgcGFja2FnZSB0byBwaW4uXG4gICAqXG4gICAqIEBkZWZhdWx0ICdza2FPb3RmcEs4bDhCYlFnb055VFlPM01aNWFBLjN4bCdcbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvcml6ZXJPYmplY3RWZXJzaW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgQXBpQ29uc3RydWN0RmlsZSBleHRlbmRzIFNhbXBsZUZpbGUge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBBd3NDZGtUeXBlU2NyaXB0QXBwLCBvcHRpb25zOiBBcGlDb25zdHJ1Y3RGaWxlT3B0aW9ucyA9IHt9KSB7XG4gICAgY29uc3QgYXV0aG9yaXplck9iamVjdFZlcnNpb24gPSBvcHRpb25zLmF1dGhvcml6ZXJPYmplY3RWZXJzaW9uID8/IERFRkFVTFRfQVVUSE9SSVpFUl9PQkpFQ1RfVkVSU0lPTjtcbiAgICBzdXBlcihwcm9qZWN0LCAnc3JjL2NvbnN0cnVjdHMvQXBpLnRzJywge1xuICAgICAgY29udGVudHM6IGBpbXBvcnQgeyBqb2luIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBSdXN0RnVuY3Rpb24gfSBmcm9tICdAY2RrbGFicy9hd3MtbGFtYmRhLXJ1c3QnO1xuaW1wb3J0IHsgRHVyYXRpb24sIFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQWNjZXNzTG9nRm9ybWF0LCBFbmRwb2ludFR5cGUsIExhbWJkYUludGVncmF0aW9uLCBMb2dHcm91cExvZ0Rlc3RpbmF0aW9uLCBSZXN0QXBpLCBUb2tlbkF1dGhvcml6ZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtYXBpZ2F0ZXdheSc7XG5pbXBvcnQgeyBJVnBjIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgeyBBbnlQcmluY2lwYWwsIEVmZmVjdCwgUG9saWN5RG9jdW1lbnQsIFBvbGljeVN0YXRlbWVudCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgQXJjaGl0ZWN0dXJlLCBTM0NvZGVWMiwgRnVuY3Rpb24gYXMgTGFtYmRhRnVuY3Rpb24sIFJ1bnRpbWUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IE5vZGVqc0Z1bmN0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanMnO1xuaW1wb3J0IHsgTG9nR3JvdXAsIFJldGVudGlvbkRheXMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgeyBCdWNrZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IFNlY3JldCB9IGZyb20gJy4vU2VjcmV0JztcblxuZXhwb3J0IGludGVyZmFjZSBBcGlQcm9wcyB7XG4gIHJlYWRvbmx5IGNsb3VkRnJvbnRPcmlnaW5SZXF1ZXN0UG9saWN5SWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZwYz86IElWcGM7XG4gIHJlYWRvbmx5IGNsZXJrSndrc1VybDogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgQXBpIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlc3RBcGk6IFJlc3RBcGk7XG4gIHB1YmxpYyBsYW1iZGFGdW5jdGlvbjogTGFtYmRhRnVuY3Rpb247XG5cbiAgcHJpdmF0ZSBhdXRob3JpemVyRnVuY3Rpb246IFJ1c3RGdW5jdGlvbjtcbiAgcHJpdmF0ZSBhdXRob3JpemVyOiBUb2tlbkF1dGhvcml6ZXI7XG4gIHByaXZhdGUgY2xlcmtBdXRoU2VjcmV0OiBTZWNyZXQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJpdmF0ZSBwcm9wczogQXBpUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5jcmVhdGVDbGVya0F1dGhTZWNyZXQoKTtcbiAgICBpZiAoIXRoaXMuY2xlcmtBdXRoU2VjcmV0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBjcmVhdGUgQ2xlcmsgYXV0aCBzZWNyZXQnKTtcbiAgICB9XG5cbiAgICB0aGlzLmNyZWF0ZUxhbWJkYUZ1bmN0aW9uKCk7XG4gICAgaWYgKCF0aGlzLmxhbWJkYUZ1bmN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBjcmVhdGUgbGFtYmRhIGZ1bmN0aW9uJyk7XG4gICAgfVxuXG4gICAgdGhpcy5jcmVhdGVBdXRob3JpemVyRnVuY3Rpb24oKTtcbiAgICBpZiAoIXRoaXMuYXV0aG9yaXplckZ1bmN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBjcmVhdGUgYXV0aG9yaXplciBmdW5jdGlvbicpO1xuICAgIH1cblxuICAgIHRoaXMuY3JlYXRlUmVzdEFwaSgpO1xuICAgIGlmICghdGhpcy5yZXN0QXBpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBjcmVhdGUgUkVTVCBBUEknKTtcbiAgICB9XG5cbiAgICB0aGlzLmNyZWF0ZUF1dGhvcml6ZXIoKTtcbiAgICBpZiAoIXRoaXMuYXV0aG9yaXplcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gY3JlYXRlIGF1dGhvcml6ZXInKTtcbiAgICB9XG5cbiAgICB0aGlzLnNldHVwQXBpSW50ZWdyYXRpb24oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVBdXRob3JpemVyRnVuY3Rpb24oKSB7XG4gICAgdGhpcy5hdXRob3JpemVyRnVuY3Rpb24gPSBuZXcgTGFtYmRhRnVuY3Rpb24odGhpcywgJ0NsZXJrQXV0aG9yaXplckhhbmRsZXInLCB7XG4gICAgICBydW50aW1lOiBSdW50aW1lLlBST1ZJREVEX0FMMjAyMyxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMoMTApLFxuICAgICAgY29kZTogUzNDb2RlVjIuZnJvbUJ1Y2tldFYyKFxuICAgICAgICBCdWNrZXQuZnJvbUJ1Y2tldE5hbWUodGhpcywgJ01hY2Vkb25QbGF0Zm9ybUJ1Y2tldCcsICdtYWNlZG9uLXBsYXRmb3JtLWNvbW1vbi0wMTU5NTU4MTcyNjMnKSxcbiAgICAgICAgJ2xhbWJkYS9jbGVyay1hdXRob3JpemVyLWFybTY0LWxhdGVzdC56aXAnLFxuICAgICAgICB7IG9iamVjdFZlcnNpb246ICcke2F1dGhvcml6ZXJPYmplY3RWZXJzaW9ufScgfSxcbiAgICAgICksXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBDTEVSS19KV0tTX1VSTDogdGhpcy5wcm9wcy5jbGVya0p3a3NVcmwsXG4gICAgICB9LFxuICAgICAgaGFuZGxlcjogJ2l0c3J1c3RiYWJ5JyxcbiAgICAgIGFyY2hpdGVjdHVyZTogQXJjaGl0ZWN0dXJlLkFSTV82NCxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVMYW1iZGFGdW5jdGlvbigpIHtcbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uID0gbmV3IE5vZGVqc0Z1bmN0aW9uKHRoaXMsICdGdW5jdGlvbicsIHtcbiAgICAgIHJ1bnRpbWU6IFJ1bnRpbWUuTk9ERUpTXzI0X1gsXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDMwKSxcbiAgICAgIG1lbW9yeVNpemU6IDUxMixcbiAgICAgIGVudHJ5OiBqb2luKF9fZGlybmFtZSwgJ2hhbmRsZXIvQXBpLkZ1bmN0aW9uLnRzJyksXG4gICAgICB2cGM6IHRoaXMucHJvcHMudnBjLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZVJlc3RBcGkoKSB7XG4gICAgY29uc3QgYWNjZXNzTG9nR3JvdXAgPSBuZXcgTG9nR3JvdXAodGhpcywgJ0FwaUFjY2Vzc0xvZ3MnLCB7XG4gICAgICByZXRlbnRpb246IFJldGVudGlvbkRheXMuVFdPX1dFRUtTLFxuICAgIH0pO1xuXG4gICAgdGhpcy5yZXN0QXBpID0gbmV3IFJlc3RBcGkodGhpcywgJ1Jlc3RBcGknLCB7XG4gICAgICByZXN0QXBpTmFtZTogXFxgXFwke1N0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZX0tYXBpXFxgLFxuICAgICAgZGVzY3JpcHRpb246ICdBUEkgZm9yIE1WUCBVSSBhcHBsaWNhdGlvbicsXG4gICAgICBlbmRwb2ludFR5cGVzOiBbRW5kcG9pbnRUeXBlLlJFR0lPTkFMXSxcbiAgICAgIGNsb3VkV2F0Y2hSb2xlOiB0cnVlLFxuICAgICAgZGVwbG95T3B0aW9uczoge1xuICAgICAgICB0cmFjaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgbWV0cmljc0VuYWJsZWQ6IHRydWUsXG4gICAgICAgIGFjY2Vzc0xvZ0Rlc3RpbmF0aW9uOiBuZXcgTG9nR3JvdXBMb2dEZXN0aW5hdGlvbihhY2Nlc3NMb2dHcm91cCksXG4gICAgICAgIGFjY2Vzc0xvZ0Zvcm1hdDogQWNjZXNzTG9nRm9ybWF0Lmpzb25XaXRoU3RhbmRhcmRGaWVsZHMoKSxcbiAgICAgIH0sXG4gICAgICBwb2xpY3k6IG5ldyBQb2xpY3lEb2N1bWVudCh7XG4gICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgIGVmZmVjdDogRWZmZWN0LkRFTlksXG4gICAgICAgICAgICBwcmluY2lwYWxzOiBbbmV3IEFueVByaW5jaXBhbCgpXSxcbiAgICAgICAgICAgIGFjdGlvbnM6IFsnZXhlY3V0ZS1hcGk6SW52b2tlJ10sXG4gICAgICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICAgICAgY29uZGl0aW9uczoge1xuICAgICAgICAgICAgICBTdHJpbmdOb3RFcXVhbHM6IHtcbiAgICAgICAgICAgICAgICAnYXdzOnVzZXJhZ2VudCc6ICdBbWF6b24gQ2xvdWRGcm9udCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgICAgICBwcmluY2lwYWxzOiBbbmV3IEFueVByaW5jaXBhbCgpXSxcbiAgICAgICAgICAgIGFjdGlvbnM6IFsnZXhlY3V0ZS1hcGk6SW52b2tlJ10sXG4gICAgICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICAgICAgY29uZGl0aW9uczoge1xuICAgICAgICAgICAgICBTdHJpbmdFcXVhbHM6IHtcbiAgICAgICAgICAgICAgICAnYXdzOnVzZXJhZ2VudCc6ICdBbWF6b24gQ2xvdWRGcm9udCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlQXV0aG9yaXplcigpIHtcbiAgICB0aGlzLmF1dGhvcml6ZXIgPSBuZXcgVG9rZW5BdXRob3JpemVyKHRoaXMsICdDbGVya0F1dGhvcml6ZXInLCB7XG4gICAgICBoYW5kbGVyOiB0aGlzLmF1dGhvcml6ZXJGdW5jdGlvbixcbiAgICAgIGlkZW50aXR5U291cmNlOiAnbWV0aG9kLnJlcXVlc3QuaGVhZGVyLkF1dGhvcml6YXRpb24nLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldHVwQXBpSW50ZWdyYXRpb24oKSB7XG4gICAgY29uc3QgaW50ZWdyYXRpb24gPSBuZXcgTGFtYmRhSW50ZWdyYXRpb24odGhpcy5sYW1iZGFGdW5jdGlvbik7XG4gICAgdGhpcy5yZXN0QXBpLnJvb3QuYWRkUHJveHkoe1xuICAgICAgZGVmYXVsdEludGVncmF0aW9uOiBpbnRlZ3JhdGlvbixcbiAgICAgIGFueU1ldGhvZDogdHJ1ZSxcbiAgICAgIGRlZmF1bHRNZXRob2RPcHRpb25zOiB7XG4gICAgICAgIGF1dGhvcml6ZXI6IHRoaXMuYXV0aG9yaXplcixcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUNsZXJrQXV0aFNlY3JldCgpIHtcbiAgICB0aGlzLmNsZXJrQXV0aFNlY3JldCA9IG5ldyBTZWNyZXQodGhpcywgJ0NsZXJrQXV0aFNlY3JldCcsIHtcbiAgICAgIGdlbmVyYXRlU2VjcmV0U3RyaW5nOiB7XG4gICAgICAgIHNlY3JldFN0cmluZ1RlbXBsYXRlOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgY2xlcmtQdWJsaXNoYWJsZUtleTogJycsXG4gICAgICAgICAgY2xlcmtKd2tzVXJsOiAnJyxcbiAgICAgICAgfSksXG4gICAgICAgIGdlbmVyYXRlU3RyaW5nS2V5OiAnY2xlcmtQdWJsaXNoYWJsZUtleScsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5gLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
package/lib/Application.d.ts
CHANGED