cdklabs-projen-project-types 0.1.217 → 0.1.218

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 CHANGED
@@ -85,7 +85,7 @@
85
85
  "stability": "stable"
86
86
  },
87
87
  "homepage": "https://github.com/cdklabs/cdklabs-projen-project-types.git",
88
- "jsiiVersion": "5.5.19 (build 4b38fcf)",
88
+ "jsiiVersion": "5.5.20 (build d4f0601)",
89
89
  "license": "Apache-2.0",
90
90
  "metadata": {
91
91
  "jsii": {
@@ -108,7 +108,7 @@
108
108
  "cdklabs-projen-project-types.yarn": {
109
109
  "locationInModule": {
110
110
  "filename": "src/index.ts",
111
- "line": 10
111
+ "line": 11
112
112
  },
113
113
  "symbolId": "src/yarn/index:"
114
114
  }
@@ -119,6 +119,150 @@
119
119
  }
120
120
  },
121
121
  "types": {
122
+ "cdklabs-projen-project-types.CdkCliIntegTestsWorkflow": {
123
+ "assembly": "cdklabs-projen-project-types",
124
+ "base": "projen.Component",
125
+ "docs": {
126
+ "remarks": "This MUST be a separate workflow that runs in privileged context. We have a couple\nof options:\n\n- `workflow_run`: we can trigger a privileged workflow run after the unprivileged\n `pull_request` workflow finishes and reuse its output artifacts. The\n problem is that the second run is disconnected from the PR so we would need\n to script in visibility for approvals and success (by posting comments, for\n example)\n- Use only a `pull_request_target` workflow on the PR: this either would run\n a privileged workflow on any user code submission (might be fine given the\n workflow's `permissions`, but I'm sure this will make our security team uneasy\n anyway), OR this would mean any build needs human confirmation which means slow\n feedback.\n- Use a `pull_request` for a regular fast-feedback build, and a separate\n `pull_request_target` for the integ tests. This means we're building twice.\n\nUltimately, our build isn't heavy enough to put in a lot of effort deduping\nit, so we'll go with the simplest solution which is the last one: 2\nindependent workflows.\n\nprojen doesn't make it easy to copy the relevant parts of the 'build' workflow,\nso they're unfortunately duplicated here.",
127
+ "stability": "stable",
128
+ "summary": "Add a workflow for running the tests."
129
+ },
130
+ "fqn": "cdklabs-projen-project-types.CdkCliIntegTestsWorkflow",
131
+ "initializer": {
132
+ "docs": {
133
+ "stability": "stable"
134
+ },
135
+ "locationInModule": {
136
+ "filename": "src/cdk-cli-integ-tests.ts",
137
+ "line": 65
138
+ },
139
+ "parameters": [
140
+ {
141
+ "name": "repo",
142
+ "type": {
143
+ "fqn": "projen.javascript.NodeProject"
144
+ }
145
+ },
146
+ {
147
+ "name": "props",
148
+ "type": {
149
+ "fqn": "cdklabs-projen-project-types.CdkCliIntegTestsWorkflowProps"
150
+ }
151
+ }
152
+ ]
153
+ },
154
+ "kind": "class",
155
+ "locationInModule": {
156
+ "filename": "src/cdk-cli-integ-tests.ts",
157
+ "line": 64
158
+ },
159
+ "name": "CdkCliIntegTestsWorkflow",
160
+ "symbolId": "src/cdk-cli-integ-tests:CdkCliIntegTestsWorkflow"
161
+ },
162
+ "cdklabs-projen-project-types.CdkCliIntegTestsWorkflowProps": {
163
+ "assembly": "cdklabs-projen-project-types",
164
+ "datatype": true,
165
+ "docs": {
166
+ "stability": "stable"
167
+ },
168
+ "fqn": "cdklabs-projen-project-types.CdkCliIntegTestsWorkflowProps",
169
+ "kind": "interface",
170
+ "locationInModule": {
171
+ "filename": "src/cdk-cli-integ-tests.ts",
172
+ "line": 3
173
+ },
174
+ "name": "CdkCliIntegTestsWorkflowProps",
175
+ "properties": [
176
+ {
177
+ "abstract": true,
178
+ "docs": {
179
+ "remarks": "MUST be configured to require manual approval.",
180
+ "stability": "stable",
181
+ "summary": "GitHub environment name for approvals."
182
+ },
183
+ "immutable": true,
184
+ "locationInModule": {
185
+ "filename": "src/cdk-cli-integ-tests.ts",
186
+ "line": 19
187
+ },
188
+ "name": "approvalEnvironment",
189
+ "type": {
190
+ "primitive": "string"
191
+ }
192
+ },
193
+ {
194
+ "abstract": true,
195
+ "docs": {
196
+ "stability": "stable",
197
+ "summary": "Runners for the workflow."
198
+ },
199
+ "immutable": true,
200
+ "locationInModule": {
201
+ "filename": "src/cdk-cli-integ-tests.ts",
202
+ "line": 7
203
+ },
204
+ "name": "buildRunsOn",
205
+ "type": {
206
+ "primitive": "string"
207
+ }
208
+ },
209
+ {
210
+ "abstract": true,
211
+ "docs": {
212
+ "stability": "stable",
213
+ "summary": "Packages that are locally transfered (we will never use the upstream versions)."
214
+ },
215
+ "immutable": true,
216
+ "locationInModule": {
217
+ "filename": "src/cdk-cli-integ-tests.ts",
218
+ "line": 35
219
+ },
220
+ "name": "localPackages",
221
+ "type": {
222
+ "collection": {
223
+ "elementtype": {
224
+ "primitive": "string"
225
+ },
226
+ "kind": "array"
227
+ }
228
+ }
229
+ },
230
+ {
231
+ "abstract": true,
232
+ "docs": {
233
+ "remarks": "MUST be configured without approvals, and with the following vars and secrets:\n\n- vars: AWS_ROLE_TO_ASSUME_FOR_TESTING\n\nAnd the role needs to be configured to allow the AssumeRole operation.",
234
+ "stability": "stable",
235
+ "summary": "GitHub environment name for running the tests."
236
+ },
237
+ "immutable": true,
238
+ "locationInModule": {
239
+ "filename": "src/cdk-cli-integ-tests.ts",
240
+ "line": 30
241
+ },
242
+ "name": "testEnvironment",
243
+ "type": {
244
+ "primitive": "string"
245
+ }
246
+ },
247
+ {
248
+ "abstract": true,
249
+ "docs": {
250
+ "stability": "stable",
251
+ "summary": "Runners for the workflow."
252
+ },
253
+ "immutable": true,
254
+ "locationInModule": {
255
+ "filename": "src/cdk-cli-integ-tests.ts",
256
+ "line": 12
257
+ },
258
+ "name": "testRunsOn",
259
+ "type": {
260
+ "primitive": "string"
261
+ }
262
+ }
263
+ ],
264
+ "symbolId": "src/cdk-cli-integ-tests:CdkCliIntegTestsWorkflowProps"
265
+ },
122
266
  "cdklabs-projen-project-types.CdkCommonOptions": {
123
267
  "assembly": "cdklabs-projen-project-types",
124
268
  "datatype": true,
@@ -14127,6 +14271,6 @@
14127
14271
  "symbolId": "src/yarn/typescript-workspace-release:WorkspaceReleaseOptions"
14128
14272
  }
14129
14273
  },
14130
- "version": "0.1.217",
14131
- "fingerprint": "GB2971H+RE7g/bK6TndL6Qr2lggd39j+xysPvzNKA04="
14274
+ "version": "0.1.218",
14275
+ "fingerprint": "cd1L+WeHVBiRh7hl2Tw4ZshAsRhnFfYZQifIjAmzKak="
14132
14276
  }
package/API.md CHANGED
@@ -2,6 +2,194 @@
2
2
 
3
3
  ## Constructs <a name="Constructs" id="Constructs"></a>
4
4
 
5
+ ### CdkCliIntegTestsWorkflow <a name="CdkCliIntegTestsWorkflow" id="cdklabs-projen-project-types.CdkCliIntegTestsWorkflow"></a>
6
+
7
+ Add a workflow for running the tests.
8
+
9
+ This MUST be a separate workflow that runs in privileged context. We have a couple
10
+ of options:
11
+
12
+ - `workflow_run`: we can trigger a privileged workflow run after the unprivileged
13
+ `pull_request` workflow finishes and reuse its output artifacts. The
14
+ problem is that the second run is disconnected from the PR so we would need
15
+ to script in visibility for approvals and success (by posting comments, for
16
+ example)
17
+ - Use only a `pull_request_target` workflow on the PR: this either would run
18
+ a privileged workflow on any user code submission (might be fine given the
19
+ workflow's `permissions`, but I'm sure this will make our security team uneasy
20
+ anyway), OR this would mean any build needs human confirmation which means slow
21
+ feedback.
22
+ - Use a `pull_request` for a regular fast-feedback build, and a separate
23
+ `pull_request_target` for the integ tests. This means we're building twice.
24
+
25
+ Ultimately, our build isn't heavy enough to put in a lot of effort deduping
26
+ it, so we'll go with the simplest solution which is the last one: 2
27
+ independent workflows.
28
+
29
+ projen doesn't make it easy to copy the relevant parts of the 'build' workflow,
30
+ so they're unfortunately duplicated here.
31
+
32
+ #### Initializers <a name="Initializers" id="cdklabs-projen-project-types.CdkCliIntegTestsWorkflow.Initializer"></a>
33
+
34
+ ```typescript
35
+ import { CdkCliIntegTestsWorkflow } from 'cdklabs-projen-project-types'
36
+
37
+ new CdkCliIntegTestsWorkflow(repo: NodeProject, props: CdkCliIntegTestsWorkflowProps)
38
+ ```
39
+
40
+ | **Name** | **Type** | **Description** |
41
+ | --- | --- | --- |
42
+ | <code><a href="#cdklabs-projen-project-types.CdkCliIntegTestsWorkflow.Initializer.parameter.repo">repo</a></code> | <code>projen.javascript.NodeProject</code> | *No description.* |
43
+ | <code><a href="#cdklabs-projen-project-types.CdkCliIntegTestsWorkflow.Initializer.parameter.props">props</a></code> | <code><a href="#cdklabs-projen-project-types.CdkCliIntegTestsWorkflowProps">CdkCliIntegTestsWorkflowProps</a></code> | *No description.* |
44
+
45
+ ---
46
+
47
+ ##### `repo`<sup>Required</sup> <a name="repo" id="cdklabs-projen-project-types.CdkCliIntegTestsWorkflow.Initializer.parameter.repo"></a>
48
+
49
+ - *Type:* projen.javascript.NodeProject
50
+
51
+ ---
52
+
53
+ ##### `props`<sup>Required</sup> <a name="props" id="cdklabs-projen-project-types.CdkCliIntegTestsWorkflow.Initializer.parameter.props"></a>
54
+
55
+ - *Type:* <a href="#cdklabs-projen-project-types.CdkCliIntegTestsWorkflowProps">CdkCliIntegTestsWorkflowProps</a>
56
+
57
+ ---
58
+
59
+ #### Methods <a name="Methods" id="Methods"></a>
60
+
61
+ | **Name** | **Description** |
62
+ | --- | --- |
63
+ | <code><a href="#cdklabs-projen-project-types.CdkCliIntegTestsWorkflow.toString">toString</a></code> | Returns a string representation of this construct. |
64
+ | <code><a href="#cdklabs-projen-project-types.CdkCliIntegTestsWorkflow.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
65
+ | <code><a href="#cdklabs-projen-project-types.CdkCliIntegTestsWorkflow.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
66
+ | <code><a href="#cdklabs-projen-project-types.CdkCliIntegTestsWorkflow.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
67
+
68
+ ---
69
+
70
+ ##### `toString` <a name="toString" id="cdklabs-projen-project-types.CdkCliIntegTestsWorkflow.toString"></a>
71
+
72
+ ```typescript
73
+ public toString(): string
74
+ ```
75
+
76
+ Returns a string representation of this construct.
77
+
78
+ ##### `postSynthesize` <a name="postSynthesize" id="cdklabs-projen-project-types.CdkCliIntegTestsWorkflow.postSynthesize"></a>
79
+
80
+ ```typescript
81
+ public postSynthesize(): void
82
+ ```
83
+
84
+ Called after synthesis.
85
+
86
+ Order is *not* guaranteed.
87
+
88
+ ##### `preSynthesize` <a name="preSynthesize" id="cdklabs-projen-project-types.CdkCliIntegTestsWorkflow.preSynthesize"></a>
89
+
90
+ ```typescript
91
+ public preSynthesize(): void
92
+ ```
93
+
94
+ Called before synthesis.
95
+
96
+ ##### `synthesize` <a name="synthesize" id="cdklabs-projen-project-types.CdkCliIntegTestsWorkflow.synthesize"></a>
97
+
98
+ ```typescript
99
+ public synthesize(): void
100
+ ```
101
+
102
+ Synthesizes files to the project output directory.
103
+
104
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
105
+
106
+ | **Name** | **Description** |
107
+ | --- | --- |
108
+ | <code><a href="#cdklabs-projen-project-types.CdkCliIntegTestsWorkflow.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
109
+ | <code><a href="#cdklabs-projen-project-types.CdkCliIntegTestsWorkflow.isComponent">isComponent</a></code> | Test whether the given construct is a component. |
110
+
111
+ ---
112
+
113
+ ##### `isConstruct` <a name="isConstruct" id="cdklabs-projen-project-types.CdkCliIntegTestsWorkflow.isConstruct"></a>
114
+
115
+ ```typescript
116
+ import { CdkCliIntegTestsWorkflow } from 'cdklabs-projen-project-types'
117
+
118
+ CdkCliIntegTestsWorkflow.isConstruct(x: any)
119
+ ```
120
+
121
+ Checks if `x` is a construct.
122
+
123
+ Use this method instead of `instanceof` to properly detect `Construct`
124
+ instances, even when the construct library is symlinked.
125
+
126
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
127
+ disk are seen as independent, completely different libraries. As a
128
+ consequence, the class `Construct` in each copy of the `constructs` library
129
+ is seen as a different class, and an instance of one class will not test as
130
+ `instanceof` the other class. `npm install` will not create installations
131
+ like this, but users may manually symlink construct libraries together or
132
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
133
+ library can be accidentally installed, and `instanceof` will behave
134
+ unpredictably. It is safest to avoid using `instanceof`, and using
135
+ this type-testing method instead.
136
+
137
+ ###### `x`<sup>Required</sup> <a name="x" id="cdklabs-projen-project-types.CdkCliIntegTestsWorkflow.isConstruct.parameter.x"></a>
138
+
139
+ - *Type:* any
140
+
141
+ Any object.
142
+
143
+ ---
144
+
145
+ ##### `isComponent` <a name="isComponent" id="cdklabs-projen-project-types.CdkCliIntegTestsWorkflow.isComponent"></a>
146
+
147
+ ```typescript
148
+ import { CdkCliIntegTestsWorkflow } from 'cdklabs-projen-project-types'
149
+
150
+ CdkCliIntegTestsWorkflow.isComponent(x: any)
151
+ ```
152
+
153
+ Test whether the given construct is a component.
154
+
155
+ ###### `x`<sup>Required</sup> <a name="x" id="cdklabs-projen-project-types.CdkCliIntegTestsWorkflow.isComponent.parameter.x"></a>
156
+
157
+ - *Type:* any
158
+
159
+ ---
160
+
161
+ #### Properties <a name="Properties" id="Properties"></a>
162
+
163
+ | **Name** | **Type** | **Description** |
164
+ | --- | --- | --- |
165
+ | <code><a href="#cdklabs-projen-project-types.CdkCliIntegTestsWorkflow.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
166
+ | <code><a href="#cdklabs-projen-project-types.CdkCliIntegTestsWorkflow.property.project">project</a></code> | <code>projen.Project</code> | *No description.* |
167
+
168
+ ---
169
+
170
+ ##### `node`<sup>Required</sup> <a name="node" id="cdklabs-projen-project-types.CdkCliIntegTestsWorkflow.property.node"></a>
171
+
172
+ ```typescript
173
+ public readonly node: Node;
174
+ ```
175
+
176
+ - *Type:* constructs.Node
177
+
178
+ The tree node.
179
+
180
+ ---
181
+
182
+ ##### `project`<sup>Required</sup> <a name="project" id="cdklabs-projen-project-types.CdkCliIntegTestsWorkflow.property.project"></a>
183
+
184
+ ```typescript
185
+ public readonly project: Project;
186
+ ```
187
+
188
+ - *Type:* projen.Project
189
+
190
+ ---
191
+
192
+
5
193
  ### CdkConstructLibrary <a name="CdkConstructLibrary" id="cdklabs-projen-project-types.CdkConstructLibrary"></a>
6
194
 
7
195
  Create a Cdk Construct Library Project.
@@ -14484,6 +14672,96 @@ public readonly version: Version;
14484
14672
 
14485
14673
  ## Structs <a name="Structs" id="Structs"></a>
14486
14674
 
14675
+ ### CdkCliIntegTestsWorkflowProps <a name="CdkCliIntegTestsWorkflowProps" id="cdklabs-projen-project-types.CdkCliIntegTestsWorkflowProps"></a>
14676
+
14677
+ #### Initializer <a name="Initializer" id="cdklabs-projen-project-types.CdkCliIntegTestsWorkflowProps.Initializer"></a>
14678
+
14679
+ ```typescript
14680
+ import { CdkCliIntegTestsWorkflowProps } from 'cdklabs-projen-project-types'
14681
+
14682
+ const cdkCliIntegTestsWorkflowProps: CdkCliIntegTestsWorkflowProps = { ... }
14683
+ ```
14684
+
14685
+ #### Properties <a name="Properties" id="Properties"></a>
14686
+
14687
+ | **Name** | **Type** | **Description** |
14688
+ | --- | --- | --- |
14689
+ | <code><a href="#cdklabs-projen-project-types.CdkCliIntegTestsWorkflowProps.property.approvalEnvironment">approvalEnvironment</a></code> | <code>string</code> | GitHub environment name for approvals. |
14690
+ | <code><a href="#cdklabs-projen-project-types.CdkCliIntegTestsWorkflowProps.property.buildRunsOn">buildRunsOn</a></code> | <code>string</code> | Runners for the workflow. |
14691
+ | <code><a href="#cdklabs-projen-project-types.CdkCliIntegTestsWorkflowProps.property.localPackages">localPackages</a></code> | <code>string[]</code> | Packages that are locally transfered (we will never use the upstream versions). |
14692
+ | <code><a href="#cdklabs-projen-project-types.CdkCliIntegTestsWorkflowProps.property.testEnvironment">testEnvironment</a></code> | <code>string</code> | GitHub environment name for running the tests. |
14693
+ | <code><a href="#cdklabs-projen-project-types.CdkCliIntegTestsWorkflowProps.property.testRunsOn">testRunsOn</a></code> | <code>string</code> | Runners for the workflow. |
14694
+
14695
+ ---
14696
+
14697
+ ##### `approvalEnvironment`<sup>Required</sup> <a name="approvalEnvironment" id="cdklabs-projen-project-types.CdkCliIntegTestsWorkflowProps.property.approvalEnvironment"></a>
14698
+
14699
+ ```typescript
14700
+ public readonly approvalEnvironment: string;
14701
+ ```
14702
+
14703
+ - *Type:* string
14704
+
14705
+ GitHub environment name for approvals.
14706
+
14707
+ MUST be configured to require manual approval.
14708
+
14709
+ ---
14710
+
14711
+ ##### `buildRunsOn`<sup>Required</sup> <a name="buildRunsOn" id="cdklabs-projen-project-types.CdkCliIntegTestsWorkflowProps.property.buildRunsOn"></a>
14712
+
14713
+ ```typescript
14714
+ public readonly buildRunsOn: string;
14715
+ ```
14716
+
14717
+ - *Type:* string
14718
+
14719
+ Runners for the workflow.
14720
+
14721
+ ---
14722
+
14723
+ ##### `localPackages`<sup>Required</sup> <a name="localPackages" id="cdklabs-projen-project-types.CdkCliIntegTestsWorkflowProps.property.localPackages"></a>
14724
+
14725
+ ```typescript
14726
+ public readonly localPackages: string[];
14727
+ ```
14728
+
14729
+ - *Type:* string[]
14730
+
14731
+ Packages that are locally transfered (we will never use the upstream versions).
14732
+
14733
+ ---
14734
+
14735
+ ##### `testEnvironment`<sup>Required</sup> <a name="testEnvironment" id="cdklabs-projen-project-types.CdkCliIntegTestsWorkflowProps.property.testEnvironment"></a>
14736
+
14737
+ ```typescript
14738
+ public readonly testEnvironment: string;
14739
+ ```
14740
+
14741
+ - *Type:* string
14742
+
14743
+ GitHub environment name for running the tests.
14744
+
14745
+ MUST be configured without approvals, and with the following vars and secrets:
14746
+
14747
+ - vars: AWS_ROLE_TO_ASSUME_FOR_TESTING
14748
+
14749
+ And the role needs to be configured to allow the AssumeRole operation.
14750
+
14751
+ ---
14752
+
14753
+ ##### `testRunsOn`<sup>Required</sup> <a name="testRunsOn" id="cdklabs-projen-project-types.CdkCliIntegTestsWorkflowProps.property.testRunsOn"></a>
14754
+
14755
+ ```typescript
14756
+ public readonly testRunsOn: string;
14757
+ ```
14758
+
14759
+ - *Type:* string
14760
+
14761
+ Runners for the workflow.
14762
+
14763
+ ---
14764
+
14487
14765
  ### CdkCommonOptions <a name="CdkCommonOptions" id="cdklabs-projen-project-types.CdkCommonOptions"></a>
14488
14766
 
14489
14767
  CdkCommonOptions.
@@ -0,0 +1,60 @@
1
+ import { Component, javascript } from 'projen';
2
+ export interface CdkCliIntegTestsWorkflowProps {
3
+ /**
4
+ * Runners for the workflow
5
+ */
6
+ readonly buildRunsOn: string;
7
+ /**
8
+ * Runners for the workflow
9
+ */
10
+ readonly testRunsOn: string;
11
+ /**
12
+ * GitHub environment name for approvals
13
+ *
14
+ * MUST be configured to require manual approval.
15
+ */
16
+ readonly approvalEnvironment: string;
17
+ /**
18
+ * GitHub environment name for running the tests
19
+ *
20
+ * MUST be configured without approvals, and with the following vars and secrets:
21
+ *
22
+ * - vars: AWS_ROLE_TO_ASSUME_FOR_TESTING
23
+ *
24
+ * And the role needs to be configured to allow the AssumeRole operation.
25
+ */
26
+ readonly testEnvironment: string;
27
+ /**
28
+ * Packages that are locally transfered (we will never use the upstream versions)
29
+ */
30
+ readonly localPackages: string[];
31
+ }
32
+ /**
33
+ * Add a workflow for running the tests
34
+ *
35
+ * This MUST be a separate workflow that runs in privileged context. We have a couple
36
+ * of options:
37
+ *
38
+ * - `workflow_run`: we can trigger a privileged workflow run after the unprivileged
39
+ * `pull_request` workflow finishes and reuse its output artifacts. The
40
+ * problem is that the second run is disconnected from the PR so we would need
41
+ * to script in visibility for approvals and success (by posting comments, for
42
+ * example)
43
+ * - Use only a `pull_request_target` workflow on the PR: this either would run
44
+ * a privileged workflow on any user code submission (might be fine given the
45
+ * workflow's `permissions`, but I'm sure this will make our security team uneasy
46
+ * anyway), OR this would mean any build needs human confirmation which means slow
47
+ * feedback.
48
+ * - Use a `pull_request` for a regular fast-feedback build, and a separate
49
+ * `pull_request_target` for the integ tests. This means we're building twice.
50
+ *
51
+ * Ultimately, our build isn't heavy enough to put in a lot of effort deduping
52
+ * it, so we'll go with the simplest solution which is the last one: 2
53
+ * independent workflows.
54
+ *
55
+ * projen doesn't make it easy to copy the relevant parts of the 'build' workflow,
56
+ * so they're unfortunately duplicated here.
57
+ */
58
+ export declare class CdkCliIntegTestsWorkflow extends Component {
59
+ constructor(repo: javascript.NodeProject, props: CdkCliIntegTestsWorkflowProps);
60
+ }
@@ -0,0 +1,269 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.CdkCliIntegTestsWorkflow = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const projen_1 = require("projen");
7
+ /**
8
+ * Add a workflow for running the tests
9
+ *
10
+ * This MUST be a separate workflow that runs in privileged context. We have a couple
11
+ * of options:
12
+ *
13
+ * - `workflow_run`: we can trigger a privileged workflow run after the unprivileged
14
+ * `pull_request` workflow finishes and reuse its output artifacts. The
15
+ * problem is that the second run is disconnected from the PR so we would need
16
+ * to script in visibility for approvals and success (by posting comments, for
17
+ * example)
18
+ * - Use only a `pull_request_target` workflow on the PR: this either would run
19
+ * a privileged workflow on any user code submission (might be fine given the
20
+ * workflow's `permissions`, but I'm sure this will make our security team uneasy
21
+ * anyway), OR this would mean any build needs human confirmation which means slow
22
+ * feedback.
23
+ * - Use a `pull_request` for a regular fast-feedback build, and a separate
24
+ * `pull_request_target` for the integ tests. This means we're building twice.
25
+ *
26
+ * Ultimately, our build isn't heavy enough to put in a lot of effort deduping
27
+ * it, so we'll go with the simplest solution which is the last one: 2
28
+ * independent workflows.
29
+ *
30
+ * projen doesn't make it easy to copy the relevant parts of the 'build' workflow,
31
+ * so they're unfortunately duplicated here.
32
+ */
33
+ class CdkCliIntegTestsWorkflow extends projen_1.Component {
34
+ constructor(repo, props) {
35
+ super(repo);
36
+ const buildWorkflow = repo.buildWorkflow;
37
+ const runTestsWorkflow = repo.github?.addWorkflow('build-and-integ');
38
+ if (!buildWorkflow || !runTestsWorkflow) {
39
+ throw new Error('Expected build and run tests workflow');
40
+ }
41
+ buildWorkflow.workflow;
42
+ runTestsWorkflow.on({
43
+ pullRequestTarget: {
44
+ branches: ['main'],
45
+ },
46
+ });
47
+ // The 'build' part runs on the 'integ-approval' environment, which requires
48
+ // approval. The actual runs access the real environment, not requiring approval
49
+ // anymore.
50
+ //
51
+ // This is for 2 reasons:
52
+ // - The build job is the first one that runs. That means you get asked approval
53
+ // immediately after push, instead of 5 minutes later after the build completes.
54
+ // - The build job is only one job, versus the tests which are a matrix build.
55
+ // If the matrix test job needs approval, the Pull Request timeline gets spammed
56
+ // with an approval request for every individual run.
57
+ runTestsWorkflow.addJob('build', {
58
+ environment: props.approvalEnvironment,
59
+ runsOn: [props.buildRunsOn],
60
+ permissions: {
61
+ contents: projen_1.github.workflows.JobPermission.READ,
62
+ },
63
+ env: {
64
+ CI: 'true',
65
+ },
66
+ steps: [
67
+ {
68
+ name: 'Checkout',
69
+ uses: 'actions/checkout@v4',
70
+ with: {
71
+ // IMPORTANT! This must be `head.sha` not `head.ref`, otherwise we
72
+ // are vulnerable to a TOCTOU attack.
73
+ ref: '${{ github.event.pull_request.head.sha }}',
74
+ repository: '${{ github.event.pull_request.head.repo.full_name }}',
75
+ },
76
+ },
77
+ {
78
+ name: 'Setup Node.js',
79
+ uses: 'actions/setup-node@v4',
80
+ with: {
81
+ 'node-version': 'lts/*',
82
+ },
83
+ },
84
+ {
85
+ name: 'Install dependencies',
86
+ run: 'yarn install --check-files',
87
+ },
88
+ {
89
+ name: 'build',
90
+ run: 'npx projen build',
91
+ },
92
+ {
93
+ name: 'Upload artifact',
94
+ uses: 'actions/upload-artifact@v4.4.0',
95
+ with: {
96
+ name: 'build-artifact',
97
+ path: 'packages/**/dist/js/*.tgz',
98
+ overwrite: 'true',
99
+ },
100
+ },
101
+ ],
102
+ });
103
+ const verdaccioConfig = {
104
+ storage: './storage',
105
+ auth: { htpasswd: { file: './htpasswd' } },
106
+ uplinks: { npmjs: { url: 'https://registry.npmjs.org/' } },
107
+ packages: {},
108
+ };
109
+ for (const pack of props.localPackages) {
110
+ verdaccioConfig.packages[pack] = {
111
+ access: '$all',
112
+ publish: '$all',
113
+ proxy: 'none',
114
+ };
115
+ }
116
+ ;
117
+ verdaccioConfig.packages['**'] = {
118
+ access: '$all',
119
+ proxy: 'npmjs',
120
+ };
121
+ runTestsWorkflow.addJob('integ', {
122
+ environment: props.testEnvironment,
123
+ runsOn: [props.testRunsOn],
124
+ needs: ['build'],
125
+ permissions: {
126
+ contents: projen_1.github.workflows.JobPermission.READ,
127
+ idToken: projen_1.github.workflows.JobPermission.WRITE,
128
+ },
129
+ env: {
130
+ // Otherwise Maven is too noisy
131
+ MAVEN_ARGS: '--no-transfer-progress',
132
+ // This is not actually a canary, but this prevents the tests from making
133
+ // assumptions about the availability of source packages.
134
+ IS_CANARY: 'true',
135
+ CI: 'true',
136
+ },
137
+ strategy: {
138
+ failFast: false,
139
+ matrix: {
140
+ domain: {
141
+ suite: [
142
+ 'cli-integ-tests',
143
+ 'init-csharp',
144
+ 'init-fsharp',
145
+ 'init-go',
146
+ 'init-java',
147
+ 'init-javascript',
148
+ 'init-python',
149
+ 'init-typescript-app',
150
+ 'init-typescript-lib',
151
+ 'tool-integrations',
152
+ ],
153
+ },
154
+ },
155
+ },
156
+ steps: [
157
+ {
158
+ name: 'Download build artifacts',
159
+ uses: 'actions/download-artifact@v4',
160
+ with: {
161
+ name: 'build-artifact',
162
+ path: 'packages',
163
+ },
164
+ },
165
+ {
166
+ name: 'Set up JDK 18',
167
+ if: 'matrix.suite == \'init-java\' || matrix.suite == \'cli-integ-tests\'',
168
+ uses: 'actions/setup-java@v4',
169
+ with: {
170
+ 'java-version': '18',
171
+ 'distribution': 'corretto',
172
+ },
173
+ },
174
+ {
175
+ name: 'Authenticate Via OIDC Role',
176
+ id: 'creds',
177
+ uses: 'aws-actions/configure-aws-credentials@v4',
178
+ with: {
179
+ 'aws-region': 'us-east-1',
180
+ 'role-duration-seconds': 4 * 60 * 60,
181
+ // Expect this in Environment Variables
182
+ 'role-to-assume': '${{ vars.AWS_ROLE_TO_ASSUME_FOR_TESTING }}',
183
+ 'role-session-name': 'run-tests@aws-cdk-cli-integ',
184
+ 'output-credentials': true,
185
+ },
186
+ },
187
+ // This is necessary for the init tests to succeed, they set up a git repo.
188
+ {
189
+ name: 'Set git identity',
190
+ run: [
191
+ 'git config --global user.name "aws-cdk-cli-integ"',
192
+ 'git config --global user.email "noreply@example.com"',
193
+ ].join('\n'),
194
+ },
195
+ {
196
+ name: 'Install Verdaccio',
197
+ run: 'npm install -g verdaccio pm2',
198
+ },
199
+ {
200
+ name: 'Create Verdaccio config',
201
+ run: [
202
+ 'mkdir -p $HOME/.config/verdaccio',
203
+ `echo '${JSON.stringify(verdaccioConfig)}' > $HOME/.config/verdaccio/config.yaml`,
204
+ ].join('\n'),
205
+ },
206
+ {
207
+ name: 'Start Verdaccio',
208
+ run: [
209
+ 'pm2 start verdaccio -- --config $HOME/.config/verdaccio/config.yaml',
210
+ 'sleep 5 # Wait for Verdaccio to start',
211
+ ].join('\n'),
212
+ },
213
+ {
214
+ name: 'Configure npm to use local registry',
215
+ run: [
216
+ 'npm config set registry http://localhost:4873/',
217
+ // This token is a bogus token. It doesn't represent any actual secret, it just needs to exist.
218
+ 'echo \'//localhost:4873/:_authToken="MWRjNDU3OTE1NTljYWUyOTFkMWJkOGUyYTIwZWMwNTI6YTgwZjkyNDE0NzgwYWQzNQ=="\' > ~/.npmrc',
219
+ ].join('\n'),
220
+ },
221
+ {
222
+ name: 'Find an locally publish all tarballs',
223
+ run: 'find packages -name \\*.tgz -print0 | xargs -0 -n1 npm publish --registry http://localhost:4873/',
224
+ },
225
+ {
226
+ name: 'Download and install the test artifact',
227
+ run: [
228
+ 'npm install @aws-cdk-testing/cli-integ',
229
+ // Move the installed files to the current directory, because as
230
+ // currently configured the tests won't run from an installed
231
+ // node_modules directory.
232
+ 'mv ./node_modules/@aws-cdk-testing/cli-integ/* .',
233
+ ].join('\n'),
234
+ },
235
+ {
236
+ name: 'Determine latest CLI version',
237
+ id: 'cli_version',
238
+ run: [
239
+ 'CLI_VERSION=$(cd ${TMPDIR:-/tmp} && npm view aws-cdk version)',
240
+ 'echo "CLI version: ${CLI_VERSION}"',
241
+ 'echo "cli_version=${CLI_VERSION}" >> $GITHUB_OUTPUT',
242
+ ].join('\n'),
243
+ },
244
+ {
245
+ name: 'Run the test suite: ${{ matrix.suite }}',
246
+ run: [
247
+ 'bin/run-suite --use-cli-release=${{ steps.cli_version.outputs.cli_version }} ${{ matrix.suite }}',
248
+ ].join('\n'),
249
+ env: {
250
+ // Concurrency only for long-running cli-integ-tests
251
+ JEST_TEST_CONCURRENT: "${{ matrix.suite == 'cli-integ-tests' && 'true' || 'false' }}",
252
+ JSII_SILENCE_WARNING_DEPRECATED_NODE_VERSION: 'true',
253
+ JSII_SILENCE_WARNING_UNTESTED_NODE_VERSION: 'true',
254
+ JSII_SILENCE_WARNING_KNOWN_BROKEN_NODE_VERSION: 'true',
255
+ DOCKERHUB_DISABLED: 'true',
256
+ AWS_REGIONS: ['us-east-2', 'eu-west-1', 'eu-north-1', 'ap-northeast-1', 'ap-south-1'].join(','),
257
+ CDK_MAJOR_VERSION: '2',
258
+ RELEASE_TAG: 'latest',
259
+ GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}',
260
+ },
261
+ },
262
+ ],
263
+ });
264
+ }
265
+ }
266
+ exports.CdkCliIntegTestsWorkflow = CdkCliIntegTestsWorkflow;
267
+ _a = JSII_RTTI_SYMBOL_1;
268
+ CdkCliIntegTestsWorkflow[_a] = { fqn: "cdklabs-projen-project-types.CdkCliIntegTestsWorkflow", version: "0.1.218" };
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNsaS1pbnRlZy10ZXN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jZGstY2xpLWludGVnLXRlc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQXVEO0FBcUN2RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlCRztBQUNILE1BQWEsd0JBQXlCLFNBQVEsa0JBQVM7SUFDckQsWUFBWSxJQUE0QixFQUFFLEtBQW9DO1FBQzVFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVaLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDekMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBQ0MsYUFBcUIsQ0FBQyxRQUFrQyxDQUFDO1FBRTNELGdCQUFnQixDQUFDLEVBQUUsQ0FBQztZQUNsQixpQkFBaUIsRUFBRTtnQkFDakIsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDO2FBQ25CO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsNEVBQTRFO1FBQzVFLGdGQUFnRjtRQUNoRixXQUFXO1FBQ1gsRUFBRTtRQUNGLHlCQUF5QjtRQUN6QixnRkFBZ0Y7UUFDaEYsa0ZBQWtGO1FBQ2xGLDhFQUE4RTtRQUM5RSxrRkFBa0Y7UUFDbEYsdURBQXVEO1FBQ3ZELGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDL0IsV0FBVyxFQUFFLEtBQUssQ0FBQyxtQkFBbUI7WUFDdEMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztZQUMzQixXQUFXLEVBQUU7Z0JBQ1gsUUFBUSxFQUFFLGVBQU0sQ0FBQyxTQUFTLENBQUMsYUFBYSxD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QkFBNkI7cUJBQzVDO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOztBQTNPSCw0REE0T0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGdpdGh1YiwgamF2YXNjcmlwdCB9IGZyb20gJ3Byb2plbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrQ2xpSW50ZWdUZXN0c1dvcmtmbG93UHJvcHMge1xuICAvKipcbiAgICogUnVubmVycyBmb3IgdGhlIHdvcmtmbG93XG4gICAqL1xuICByZWFkb25seSBidWlsZFJ1bnNPbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSdW5uZXJzIGZvciB0aGUgd29ya2Zsb3dcbiAgICovXG4gIHJlYWRvbmx5IHRlc3RSdW5zT246IHN0cmluZztcblxuICAvKipcbiAgICogR2l0SHViIGVudmlyb25tZW50IG5hbWUgZm9yIGFwcHJvdmFsc1xuICAgKlxuICAgKiBNVVNUIGJlIGNvbmZpZ3VyZWQgdG8gcmVxdWlyZSBtYW51YWwgYXBwcm92YWwuXG4gICAqL1xuICByZWFkb25seSBhcHByb3ZhbEVudmlyb25tZW50OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEdpdEh1YiBlbnZpcm9ubWVudCBuYW1lIGZvciBydW5uaW5nIHRoZSB0ZXN0c1xuICAgKlxuICAgKiBNVVNUIGJlIGNvbmZpZ3VyZWQgd2l0aG91dCBhcHByb3ZhbHMsIGFuZCB3aXRoIHRoZSBmb2xsb3dpbmcgdmFycyBhbmQgc2VjcmV0czpcbiAgICpcbiAgICogLSB2YXJzOiBBV1NfUk9MRV9UT19BU1NVTUVfRk9SX1RFU1RJTkdcbiAgICpcbiAgICogQW5kIHRoZSByb2xlIG5lZWRzIHRvIGJlIGNvbmZpZ3VyZWQgdG8gYWxsb3cgdGhlIEFzc3VtZVJvbGUgb3BlcmF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdGVzdEVudmlyb25tZW50OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhY2thZ2VzIHRoYXQgYXJlIGxvY2FsbHkgdHJhbnNmZXJlZCAod2Ugd2lsbCBuZXZlciB1c2UgdGhlIHVwc3RyZWFtIHZlcnNpb25zKVxuICAgKi9cbiAgcmVhZG9ubHkgbG9jYWxQYWNrYWdlczogc3RyaW5nW107XG59XG5cbi8qKlxuICogQWRkIGEgd29ya2Zsb3cgZm9yIHJ1bm5pbmcgdGhlIHRlc3RzXG4gKlxuICogVGhpcyBNVVNUIGJlIGEgc2VwYXJhdGUgd29ya2Zsb3cgdGhhdCBydW5zIGluIHByaXZpbGVnZWQgY29udGV4dC4gV2UgaGF2ZSBhIGNvdXBsZVxuICogb2Ygb3B0aW9uczpcbiAqXG4gKiAtIGB3b3JrZmxvd19ydW5gOiB3ZSBjYW4gdHJpZ2dlciBhIHByaXZpbGVnZWQgd29ya2Zsb3cgcnVuIGFmdGVyIHRoZSB1bnByaXZpbGVnZWRcbiAqICAgYHB1bGxfcmVxdWVzdGAgd29ya2Zsb3cgZmluaXNoZXMgYW5kIHJldXNlIGl0cyBvdXRwdXQgYXJ0aWZhY3RzLiBUaGVcbiAqICAgcHJvYmxlbSBpcyB0aGF0IHRoZSBzZWNvbmQgcnVuIGlzIGRpc2Nvbm5lY3RlZCBmcm9tIHRoZSBQUiBzbyB3ZSB3b3VsZCBuZWVkXG4gKiAgIHRvIHNjcmlwdCBpbiB2aXNpYmlsaXR5IGZvciBhcHByb3ZhbHMgYW5kIHN1Y2Nlc3MgKGJ5IHBvc3RpbmcgY29tbWVudHMsIGZvclxuICogICBleGFtcGxlKVxuICogLSBVc2Ugb25seSBhIGBwdWxsX3JlcXVlc3RfdGFyZ2V0YCB3b3JrZmxvdyBvbiB0aGUgUFI6IHRoaXMgZWl0aGVyIHdvdWxkIHJ1blxuICogICBhIHByaXZpbGVnZWQgd29ya2Zsb3cgb24gYW55IHVzZXIgY29kZSBzdWJtaXNzaW9uIChtaWdodCBiZSBmaW5lIGdpdmVuIHRoZVxuICogICB3b3JrZmxvdydzIGBwZXJtaXNzaW9uc2AsIGJ1dCBJJ20gc3VyZSB0aGlzIHdpbGwgbWFrZSBvdXIgc2VjdXJpdHkgdGVhbSB1bmVhc3lcbiAqICAgYW55d2F5KSwgT1IgdGhpcyB3b3VsZCBtZWFuIGFueSBidWlsZCBuZWVkcyBodW1hbiBjb25maXJtYXRpb24gd2hpY2ggbWVhbnMgc2xvd1xuICogICBmZWVkYmFjay5cbiAqIC0gVXNlIGEgYHB1bGxfcmVxdWVzdGAgZm9yIGEgcmVndWxhciBmYXN0LWZlZWRiYWNrIGJ1aWxkLCBhbmQgYSBzZXBhcmF0ZVxuICogICBgcHVsbF9yZXF1ZXN0X3RhcmdldGAgZm9yIHRoZSBpbnRlZyB0ZXN0cy4gVGhpcyBtZWFucyB3ZSdyZSBidWlsZGluZyB0d2ljZS5cbiAqXG4gKiBVbHRpbWF0ZWx5LCBvdXIgYnVpbGQgaXNuJ3QgaGVhdnkgZW5vdWdoIHRvIHB1dCBpbiBhIGxvdCBvZiBlZmZvcnQgZGVkdXBpbmdcbiAqIGl0LCBzbyB3ZSdsbCBnbyB3aXRoIHRoZSBzaW1wbGVzdCBzb2x1dGlvbiB3aGljaCBpcyB0aGUgbGFzdCBvbmU6IDJcbiAqIGluZGVwZW5kZW50IHdvcmtmbG93cy5cbiAqXG4gKiBwcm9qZW4gZG9lc24ndCBtYWtlIGl0IGVhc3kgdG8gY29weSB0aGUgcmVsZXZhbnQgcGFydHMgb2YgdGhlICdidWlsZCcgd29ya2Zsb3csXG4gKiBzbyB0aGV5J3JlIHVuZm9ydHVuYXRlbHkgZHVwbGljYXRlZCBoZXJlLlxuICovXG5leHBvcnQgY2xhc3MgQ2RrQ2xpSW50ZWdUZXN0c1dvcmtmbG93IGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocmVwbzogamF2YXNjcmlwdC5Ob2RlUHJvamVjdCwgcHJvcHM6IENka0NsaUludGVnVGVzdHNXb3JrZmxvd1Byb3BzKSB7XG4gICAgc3VwZXIocmVwbyk7XG5cbiAgICBjb25zdCBidWlsZFdvcmtmbG93ID0gcmVwby5idWlsZFdvcmtmbG93O1xuICAgIGNvbnN0IHJ1blRlc3RzV29ya2Zsb3cgPSByZXBvLmdpdGh1Yj8uYWRkV29ya2Zsb3coJ2J1aWxkLWFuZC1pbnRlZycpO1xuICAgIGlmICghYnVpbGRXb3JrZmxvdyB8fCAhcnVuVGVzdHNXb3JrZmxvdykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBidWlsZCBhbmQgcnVuIHRlc3RzIHdvcmtmbG93Jyk7XG4gICAgfVxuICAgICgoYnVpbGRXb3JrZmxvdyBhcyBhbnkpLndvcmtmbG93IGFzIGdpdGh1Yi5HaXRodWJXb3JrZmxvdyk7XG5cbiAgICBydW5UZXN0c1dvcmtmbG93Lm9uKHtcbiAgICAgIHB1bGxSZXF1ZXN0VGFyZ2V0OiB7XG4gICAgICAgIGJyYW5jaGVzOiBbJ21haW4nXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgLy8gVGhlICdidWlsZCcgcGFydCBydW5zIG9uIHRoZSAnaW50ZWctYXBwcm92YWwnIGVudmlyb25tZW50LCB3aGljaCByZXF1aXJlc1xuICAgIC8vIGFwcHJvdmFsLiBUaGUgYWN0dWFsIHJ1bnMgYWNjZXNzIHRoZSByZWFsIGVudmlyb25tZW50LCBub3QgcmVxdWlyaW5nIGFwcHJvdmFsXG4gICAgLy8gYW55bW9yZS5cbiAgICAvL1xuICAgIC8vIFRoaXMgaXMgZm9yIDIgcmVhc29uczpcbiAgICAvLyAtIFRoZSBidWlsZCBqb2IgaXMgdGhlIGZpcnN0IG9uZSB0aGF0IHJ1bnMuIFRoYXQgbWVhbnMgeW91IGdldCBhc2tlZCBhcHByb3ZhbFxuICAgIC8vICAgaW1tZWRpYXRlbHkgYWZ0ZXIgcHVzaCwgaW5zdGVhZCBvZiA1IG1pbnV0ZXMgbGF0ZXIgYWZ0ZXIgdGhlIGJ1aWxkIGNvbXBsZXRlcy5cbiAgICAvLyAtIFRoZSBidWlsZCBqb2IgaXMgb25seSBvbmUgam9iLCB2ZXJzdXMgdGhlIHRlc3RzIHdoaWNoIGFyZSBhIG1hdHJpeCBidWlsZC5cbiAgICAvLyAgIElmIHRoZSBtYXRyaXggdGVzdCBqb2IgbmVlZHMgYXBwcm92YWwsIHRoZSBQdWxsIFJlcXVlc3QgdGltZWxpbmUgZ2V0cyBzcGFtbWVkXG4gICAgLy8gICB3aXRoIGFuIGFwcHJvdmFsIHJlcXVlc3QgZm9yIGV2ZXJ5IGluZGl2aWR1YWwgcnVuLlxuICAgIHJ1blRlc3RzV29ya2Zsb3cuYWRkSm9iKCdidWlsZCcsIHtcbiAgICAgIGVudmlyb25tZW50OiBwcm9wcy5hcHByb3ZhbEVudmlyb25tZW50LFxuICAgICAgcnVuc09uOiBbcHJvcHMuYnVpbGRSdW5zT25dLFxuICAgICAgcGVybWlzc2lvbnM6IHtcbiAgICAgICAgY29udGVudHM6IGdpdGh1Yi53b3JrZmxvd3MuSm9iUGVybWlzc2lvbi5SRUFELFxuICAgICAgfSxcbiAgICAgIGVudjoge1xuICAgICAgICBDSTogJ3RydWUnLFxuICAgICAgfSxcbiAgICAgIHN0ZXBzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnQ2hlY2tvdXQnLFxuICAgICAgICAgIHVzZXM6ICdhY3Rpb25zL2NoZWNrb3V0QHY0JyxcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAvLyBJTVBPUlRBTlQhIFRoaXMgbXVzdCBiZSBgaGVhZC5zaGFgIG5vdCBgaGVhZC5yZWZgLCBvdGhlcndpc2Ugd2VcbiAgICAgICAgICAgIC8vIGFyZSB2dWxuZXJhYmxlIHRvIGEgVE9DVE9VIGF0dGFjay5cbiAgICAgICAgICAgIHJlZjogJyR7eyBnaXRodWIuZXZlbnQucHVsbF9yZXF1ZXN0LmhlYWQuc2hhIH19JyxcbiAgICAgICAgICAgIHJlcG9zaXRvcnk6ICcke3sgZ2l0aHViLmV2ZW50LnB1bGxfcmVxdWVzdC5oZWFkLnJlcG8uZnVsbF9uYW1lIH19JyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ1NldHVwIE5vZGUuanMnLFxuICAgICAgICAgIHVzZXM6ICdhY3Rpb25zL3NldHVwLW5vZGVAdjQnLFxuICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgICdub2RlLXZlcnNpb24nOiAnbHRzLyonLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnSW5zdGFsbCBkZXBlbmRlbmNpZXMnLFxuICAgICAgICAgIHJ1bjogJ3lhcm4gaW5zdGFsbCAtLWNoZWNrLWZpbGVzJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdidWlsZCcsXG4gICAgICAgICAgcnVuOiAnbnB4IHByb2plbiBidWlsZCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnVXBsb2FkIGFydGlmYWN0JyxcbiAgICAgICAgICB1c2VzOiAnYWN0aW9ucy91cGxvYWQtYXJ0aWZhY3RAdjQuNC4wJyxcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICBuYW1lOiAnYnVpbGQtYXJ0aWZhY3QnLFxuICAgICAgICAgICAgcGF0aDogJ3BhY2thZ2VzLyoqL2Rpc3QvanMvKi50Z3onLFxuICAgICAgICAgICAgb3ZlcndyaXRlOiAndHJ1ZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBjb25zdCB2ZXJkYWNjaW9Db25maWcgPSB7XG4gICAgICBzdG9yYWdlOiAnLi9zdG9yYWdlJyxcbiAgICAgIGF1dGg6IHsgaHRwYXNzd2Q6IHsgZmlsZTogJy4vaHRwYXNzd2QnIH0gfSxcbiAgICAgIHVwbGlua3M6IHsgbnBtanM6IHsgdXJsOiAnaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvJyB9IH0sXG4gICAgICBwYWNrYWdlczoge30gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgfTtcblxuICAgIGZvciAoY29uc3QgcGFjayBvZiBwcm9wcy5sb2NhbFBhY2thZ2VzKSB7XG4gICAgICB2ZXJkYWNjaW9Db25maWcucGFja2FnZXNbcGFja10gPSB7XG4gICAgICAgIGFjY2VzczogJyRhbGwnLFxuICAgICAgICBwdWJsaXNoOiAnJGFsbCcsXG4gICAgICAgIHByb3h5OiAnbm9uZScsXG4gICAgICB9O1xuICAgIH07XG4gICAgdmVyZGFjY2lvQ29uZmlnLnBhY2thZ2VzWycqKiddID0ge1xuICAgICAgYWNjZXNzOiAnJGFsbCcsXG4gICAgICBwcm94eTogJ25wbWpzJyxcbiAgICB9O1xuXG4gICAgcnVuVGVzdHNXb3JrZmxvdy5hZGRKb2IoJ2ludGVnJywge1xuICAgICAgZW52aXJvbm1lbnQ6IHByb3BzLnRlc3RFbnZpcm9ubWVudCxcbiAgICAgIHJ1bnNPbjogW3Byb3BzLnRlc3RSdW5zT25dLFxuICAgICAgbmVlZHM6IFsnYnVpbGQnXSxcbiAgICAgIHBlcm1pc3Npb25zOiB7XG4gICAgICAgIGNvbnRlbnRzOiBnaXRodWIud29ya2Zsb3dzLkpvYlBlcm1pc3Npb24uUkVBRCxcbiAgICAgICAgaWRUb2tlbjogZ2l0aHViLndvcmtmbG93cy5Kb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgICAgfSxcbiAgICAgIGVudjoge1xuICAgICAgICAvLyBPdGhlcndpc2UgTWF2ZW4gaXMgdG9vIG5vaXN5XG4gICAgICAgIE1BVkVOX0FSR1M6ICctLW5vLXRyYW5zZmVyLXByb2dyZXNzJyxcbiAgICAgICAgLy8gVGhpcyBpcyBub3QgYWN0dWFsbHkgYSBjYW5hcnksIGJ1dCB0aGlzIHByZXZlbnRzIHRoZSB0ZXN0cyBmcm9tIG1ha2luZ1xuICAgICAgICAvLyBhc3N1bXB0aW9ucyBhYm91dCB0aGUgYXZhaWxhYmlsaXR5IG9mIHNvdXJjZSBwYWNrYWdlcy5cbiAgICAgICAgSVNfQ0FOQVJZOiAndHJ1ZScsXG4gICAgICAgIENJOiAndHJ1ZScsXG4gICAgICB9LFxuICAgICAgc3RyYXRlZ3k6IHtcbiAgICAgICAgZmFpbEZhc3Q6IGZhbHNlLFxuICAgICAgICBtYXRyaXg6IHtcbiAgICAgICAgICBkb21haW46IHtcbiAgICAgICAgICAgIHN1aXRlOiBbXG4gICAgICAgICAgICAgICdjbGktaW50ZWctdGVzdHMnLFxuICAgICAgICAgICAgICAnaW5pdC1jc2hhcnAnLFxuICAgICAgICAgICAgICAnaW5pdC1mc2hhcnAnLFxuICAgICAgICAgICAgICAnaW5pdC1nbycsXG4gICAgICAgICAgICAgICdpbml0LWphdmEnLFxuICAgICAgICAgICAgICAnaW5pdC1qYXZhc2NyaXB0JyxcbiAgICAgICAgICAgICAgJ2luaXQtcHl0aG9uJyxcbiAgICAgICAgICAgICAgJ2luaXQtdHlwZXNjcmlwdC1hcHAnLFxuICAgICAgICAgICAgICAnaW5pdC10eXBlc2NyaXB0LWxpYicsXG4gICAgICAgICAgICAgICd0b29sLWludGVncmF0aW9ucycsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdEb3dubG9hZCBidWlsZCBhcnRpZmFjdHMnLFxuICAgICAgICAgIHVzZXM6ICdhY3Rpb25zL2Rvd25sb2FkLWFydGlmYWN0QHY0JyxcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICBuYW1lOiAnYnVpbGQtYXJ0aWZhY3QnLFxuICAgICAgICAgICAgcGF0aDogJ3BhY2thZ2VzJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ1NldCB1cCBKREsgMTgnLFxuICAgICAgICAgIGlmOiAnbWF0cml4LnN1aXRlID09IFxcJ2luaXQtamF2YVxcJyB8fCBtYXRyaXguc3VpdGUgPT0gXFwnY2xpLWludGVnLXRlc3RzXFwnJyxcbiAgICAgICAgICB1c2VzOiAnYWN0aW9ucy9zZXR1cC1qYXZhQHY0JyxcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAnamF2YS12ZXJzaW9uJzogJzE4JyxcbiAgICAgICAgICAgICdkaXN0cmlidXRpb24nOiAnY29ycmV0dG8nLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnQXV0aGVudGljYXRlIFZpYSBPSURDIFJvbGUnLFxuICAgICAgICAgIGlkOiAnY3JlZHMnLFxuICAgICAgICAgIHVzZXM6ICdhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQHY0JyxcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAnYXdzLXJlZ2lvbic6ICd1cy1lYXN0LTEnLFxuICAgICAgICAgICAgJ3JvbGUtZHVyYXRpb24tc2Vjb25kcyc6IDQgKiA2MCAqIDYwLFxuICAgICAgICAgICAgLy8gRXhwZWN0IHRoaXMgaW4gRW52aXJvbm1lbnQgVmFyaWFibGVzXG4gICAgICAgICAgICAncm9sZS10by1hc3N1bWUnOiAnJHt7IHZhcnMuQVdTX1JPTEVfVE9fQVNTVU1FX0ZPUl9URVNUSU5HIH19JyxcbiAgICAgICAgICAgICdyb2xlLXNlc3Npb24tbmFtZSc6ICdydW4tdGVzdHNAYXdzLWNkay1jbGktaW50ZWcnLFxuICAgICAgICAgICAgJ291dHB1dC1jcmVkZW50aWFscyc6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgZm9yIHRoZSBpbml0IHRlc3RzIHRvIHN1Y2NlZWQsIHRoZXkgc2V0IHVwIGEgZ2l0IHJlcG8uXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnU2V0IGdpdCBpZGVudGl0eScsXG4gICAgICAgICAgcnVuOiBbXG4gICAgICAgICAgICAnZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLm5hbWUgXCJhd3MtY2RrLWNsaS1pbnRlZ1wiJyxcbiAgICAgICAgICAgICdnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIuZW1haWwgXCJub3JlcGx5QGV4YW1wbGUuY29tXCInLFxuICAgICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnSW5zdGFsbCBWZXJkYWNjaW8nLFxuICAgICAgICAgIHJ1bjogJ25wbSBpbnN0YWxsIC1nIHZlcmRhY2NpbyBwbTInLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ0NyZWF0ZSBWZXJkYWNjaW8gY29uZmlnJyxcbiAgICAgICAgICBydW46IFtcbiAgICAgICAgICAgICdta2RpciAtcCAkSE9NRS8uY29uZmlnL3ZlcmRhY2NpbycsXG4gICAgICAgICAgICBgZWNobyAnJHtKU09OLnN0cmluZ2lmeSh2ZXJkYWNjaW9Db25maWcpfScgPiAkSE9NRS8uY29uZmlnL3ZlcmRhY2Npby9jb25maWcueWFtbGAsXG4gICAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdTdGFydCBWZXJkYWNjaW8nLFxuICAgICAgICAgIHJ1bjogW1xuICAgICAgICAgICAgJ3BtMiBzdGFydCB2ZXJkYWNjaW8gLS0gLS1jb25maWcgJEhPTUUvLmNvbmZpZy92ZXJkYWNjaW8vY29uZmlnLnlhbWwnLFxuICAgICAgICAgICAgJ3NsZWVwIDUgIyBXYWl0IGZvciBWZXJkYWNjaW8gdG8gc3RhcnQnLFxuICAgICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnQ29uZmlndXJlIG5wbSB0byB1c2UgbG9jYWwgcmVnaXN0cnknLFxuICAgICAgICAgIHJ1bjogW1xuICAgICAgICAgICAgJ25wbSBjb25maWcgc2V0IHJlZ2lzdHJ5IGh0dHA6Ly9sb2NhbGhvc3Q6NDg3My8nLFxuICAgICAgICAgICAgLy8gVGhpcyB0b2tlbiBpcyBhIGJvZ3VzIHRva2VuLiBJdCBkb2Vzbid0IHJlcHJlc2VudCBhbnkgYWN0dWFsIHNlY3JldCwgaXQganVzdCBuZWVkcyB0byBleGlzdC5cbiAgICAgICAgICAgICdlY2hvIFxcJy8vbG9jYWxob3N0OjQ4NzMvOl9hdXRoVG9rZW49XCJNV1JqTkRVM09URTFOVGxqWVdVeU9URmtNV0prT0dVeVlUSXdaV013TlRJNllUZ3daamt5TkRFME56Z3dZV1F6TlE9PVwiXFwnID4gfi8ubnBtcmMnLFxuICAgICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnRmluZCBhbiBsb2NhbGx5IHB1Ymxpc2ggYWxsIHRhcmJhbGxzJyxcbiAgICAgICAgICBydW46ICdmaW5kIHBhY2thZ2VzIC1uYW1lIFxcXFwqLnRneiAtcHJpbnQwIHwgeGFyZ3MgLTAgLW4xIG5wbSBwdWJsaXNoIC0tcmVnaXN0cnkgaHR0cDovL2xvY2FsaG9zdDo0ODczLycsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnRG93bmxvYWQgYW5kIGluc3RhbGwgdGhlIHRlc3QgYXJ0aWZhY3QnLFxuICAgICAgICAgIHJ1bjogW1xuICAgICAgICAgICAgJ25wbSBpbnN0YWxsIEBhd3MtY2RrLXRlc3RpbmcvY2xpLWludGVnJyxcbiAgICAgICAgICAgIC8vIE1vdmUgdGhlIGluc3RhbGxlZCBmaWxlcyB0byB0aGUgY3VycmVudCBkaXJlY3RvcnksIGJlY2F1c2UgYXNcbiAgICAgICAgICAgIC8vIGN1cnJlbnRseSBjb25maWd1cmVkIHRoZSB0ZXN0cyB3b24ndCBydW4gZnJvbSBhbiBpbnN0YWxsZWRcbiAgICAgICAgICAgIC8vIG5vZGVfbW9kdWxlcyBkaXJlY3RvcnkuXG4gICAgICAgICAgICAnbXYgLi9ub2RlX21vZHVsZXMvQGF3cy1jZGstdGVzdGluZy9jbGktaW50ZWcvKiAuJyxcbiAgICAgICAgICBdLmpvaW4oJ1xcbicpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ0RldGVybWluZSBsYXRlc3QgQ0xJIHZlcnNpb24nLFxuICAgICAgICAgIGlkOiAnY2xpX3ZlcnNpb24nLFxuICAgICAgICAgIHJ1bjogW1xuICAgICAgICAgICAgJ0NMSV9WRVJTSU9OPSQoY2QgJHtUTVBESVI6LS90bXB9ICYmIG5wbSB2aWV3IGF3cy1jZGsgdmVyc2lvbiknLFxuICAgICAgICAgICAgJ2VjaG8gXCJDTEkgdmVyc2lvbjogJHtDTElfVkVSU0lPTn1cIicsXG4gICAgICAgICAgICAnZWNobyBcImNsaV92ZXJzaW9uPSR7Q0xJX1ZFUlNJT059XCIgPj4gJEdJVEhVQl9PVVRQVVQnLFxuICAgICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnUnVuIHRoZSB0ZXN0IHN1aXRlOiAke3sgbWF0cml4LnN1aXRlIH19JyxcbiAgICAgICAgICBydW46IFtcbiAgICAgICAgICAgICdiaW4vcnVuLXN1aXRlIC0tdXNlLWNsaS1yZWxlYXNlPSR7eyBzdGVwcy5jbGlfdmVyc2lvbi5vdXRwdXRzLmNsaV92ZXJzaW9uIH19ICR7eyBtYXRyaXguc3VpdGUgfX0nLFxuICAgICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICAgICAgZW52OiB7XG4gICAgICAgICAgICAvLyBDb25jdXJyZW5jeSBvbmx5IGZvciBsb25nLXJ1bm5pbmcgY2xpLWludGVnLXRlc3RzXG4gICAgICAgICAgICBKRVNUX1RFU1RfQ09OQ1VSUkVOVDogXCIke3sgbWF0cml4LnN1aXRlID09ICdjbGktaW50ZWctdGVzdHMnICYmICd0cnVlJyB8fCAnZmFsc2UnIH19XCIsXG4gICAgICAgICAgICBKU0lJX1NJTEVOQ0VfV0FSTklOR19ERVBSRUNBVEVEX05PREVfVkVSU0lPTjogJ3RydWUnLFxuICAgICAgICAgICAgSlNJSV9TSUxFTkNFX1dBUk5JTkdfVU5URVNURURfTk9ERV9WRVJTSU9OOiAndHJ1ZScsXG4gICAgICAgICAgICBKU0lJX1NJTEVOQ0VfV0FSTklOR19LTk9XTl9CUk9LRU5fTk9ERV9WRVJTSU9OOiAndHJ1ZScsXG4gICAgICAgICAgICBET0NLRVJIVUJfRElTQUJMRUQ6ICd0cnVlJyxcbiAgICAgICAgICAgIEFXU19SRUdJT05TOiBbJ3VzLWVhc3QtMicsICdldS13ZXN0LTEnLCAnZXUtbm9ydGgtMScsICdhcC1ub3J0aGVhc3QtMScsICdhcC1zb3V0aC0xJ10uam9pbignLCcpLFxuICAgICAgICAgICAgQ0RLX01BSk9SX1ZFUlNJT046ICcyJyxcbiAgICAgICAgICAgIFJFTEVBU0VfVEFHOiAnbGF0ZXN0JyxcbiAgICAgICAgICAgIEdJVEhVQl9UT0tFTjogJyR7eyBzZWNyZXRzLkdJVEhVQl9UT0tFTiB9fScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
package/lib/cdk.js CHANGED
@@ -55,7 +55,7 @@ class CdkConstructLibrary extends projen_1.awscdk.AwsCdkConstructLibrary {
55
55
  }
56
56
  exports.CdkConstructLibrary = CdkConstructLibrary;
57
57
  _a = JSII_RTTI_SYMBOL_1;
58
- CdkConstructLibrary[_a] = { fqn: "cdklabs-projen-project-types.CdkConstructLibrary", version: "0.1.217" };
58
+ CdkConstructLibrary[_a] = { fqn: "cdklabs-projen-project-types.CdkConstructLibrary", version: "0.1.218" };
59
59
  /**
60
60
  * Create a Cdk TypeScript Project
61
61
  *
@@ -71,5 +71,5 @@ class CdkTypeScriptProject extends projen_1.typescript.TypeScriptProject {
71
71
  }
72
72
  exports.CdkTypeScriptProject = CdkTypeScriptProject;
73
73
  _b = JSII_RTTI_SYMBOL_1;
74
- CdkTypeScriptProject[_b] = { fqn: "cdklabs-projen-project-types.CdkTypeScriptProject", version: "0.1.217" };
74
+ CdkTypeScriptProject[_b] = { fqn: "cdklabs-projen-project-types.CdkTypeScriptProject", version: "0.1.218" };
75
75
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Nkay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFpRDtBQUdqRCxxREFBd0Y7QUFDeEYsaURBQTZDO0FBQzdDLHVDQUFvQztBQUdwQzs7OztHQUlHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSxlQUFNLENBQUMsc0JBQXNCO0lBQzVELE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxPQUFtQztRQUN0RSxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMzQixNQUFNLENBQUMsSUFBSSxDQUFDLCtEQUErRCxDQUFDLENBQUM7UUFDL0UsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDNUIsTUFBTSxDQUFDLElBQUksQ0FBQyw4REFBOEQsQ0FBQyxDQUFDO1FBQzlFLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzVCLE1BQU0sQ0FBQyxJQUFJLENBQUMsOERBQThELENBQUMsQ0FBQztRQUM5RSxDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6QixNQUFNLENBQUMsSUFBSSxDQUFDLDJEQUEyRCxDQUFDLENBQUM7UUFDM0UsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFJRCxZQUFZLE9BQW1DO1FBQzdDLElBQUksT0FBTyxDQUFDLFNBQVMsS0FBSyxZQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQy9DLE1BQU0sTUFBTSxHQUFHLG1CQUFtQixDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xFLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvRkFBb0YsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDN0gsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLElBQUksR0FBRyxJQUFBLDBDQUF5QixFQUFDO1lBQ3JDLEdBQUcsT0FBTztZQUNWLGtEQUFrRDtZQUNsRCxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVUsSUFBSSxPQUFPLENBQUMsYUFBYTtTQUN4RCxDQUFDLENBQUM7UUFFSCxLQUFLLENBQUM7WUFDSixTQUFTLEVBQUUsWUFBRyxDQUFDLFNBQVMsQ0FBQyxZQUFZO1lBQ3JDLHNEQUFzRDtZQUN0RCxhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDOUIsR0FBRyxJQUFJO1NBQ1IsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRTVCLElBQUksaUJBQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFDLElBQUksMEJBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixJQUFBLDBDQUF5QixFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDOztBQTdDSCxrREE4Q0M7OztBQUlEOzs7O0dBSUc7QUFDSCxNQUFhLG9CQUFxQixTQUFRLG1CQUFVLENBQUMsaUJBQWlCO0lBR3BFLFlBQVksT0FBb0M7UUFDOUMsTUFBTSxJQUFJLEdBQUcsSUFBQSwwQ0FBeUIsRUFBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDWixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFNUIsSUFBQSwwQ0FBeUIsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7QUFUSCxvREFVQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGF3c2NkaywgY2RrLCB0eXBlc2NyaXB0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IENka0NvbW1vbk9wdGlvbnMgfSBmcm9tICcuL2Nkay1jb21tb24tb3B0aW9ucyc7XG5pbXBvcnQgeyBDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyB9IGZyb20gJy4vY2RrLWNvbnN0cnVjdC1saWJyYXJ5LW9wdGlvbnMnO1xuaW1wb3J0IHsgY29uZmlndXJlQ29tbW9uQ29tcG9uZW50cywgd2l0aENvbW1vbk9wdGlvbnNEZWZhdWx0cyB9IGZyb20gJy4vY29tbW9uLW9wdGlvbnMnO1xuaW1wb3J0IHsgSW50ZWdSdW5uZXIgfSBmcm9tICcuL2ludGVnLXJ1bm5lcic7XG5pbXBvcnQgeyBSb3NldHRhIH0gZnJvbSAnLi9yb3NldHRhJztcblxuXG4vKipcbiAqIENyZWF0ZSBhIENkayBDb25zdHJ1Y3QgTGlicmFyeSBQcm9qZWN0XG4gKlxuICogQHBqaWQgY2RrLWNvbnN0cnVjdC1saWJcbiAqL1xuZXhwb3J0IGNsYXNzIENka0NvbnN0cnVjdExpYnJhcnkgZXh0ZW5kcyBhd3NjZGsuQXdzQ2RrQ29uc3RydWN0TGlicmFyeSB7XG4gIHByaXZhdGUgc3RhdGljIHN0YWJpbGl0eVJlcXVpcmVtZW50cyhvcHRpb25zOiBDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG4gICAgaWYgKCFvcHRpb25zLnB1Ymxpc2hUb1B5cGkpIHtcbiAgICAgIGVycm9ycy5wdXNoKCdQdWJsaXNoaW5nIEVycm9yOiBwcm9qZWN0IG5vdCBjb25maWd1cmVkIHRvIHB1Ymxpc2ggdG8gUHl0aG9uJyk7XG4gICAgfVxuICAgIGlmICghb3B0aW9ucy5wdWJsaXNoVG9NYXZlbikge1xuICAgICAgZXJyb3JzLnB1c2goJ1B1Ymxpc2hpbmcgRXJyb3I6IHByb2plY3Qgbm90IGNvbmZpZ3VyZWQgdG8gcHVibGlzaCB0byBNYXZlbicpO1xuICAgIH1cbiAgICBpZiAoIW9wdGlvbnMucHVibGlzaFRvTnVnZXQpIHtcbiAgICAgIGVycm9ycy5wdXNoKCdQdWJsaXNoaW5nIEVycm9yOiBwcm9qZWN0IG5vdCBjb25maWd1cmVkIHRvIHB1Ymxpc2ggdG8gTnVnZXQnKTtcbiAgICB9XG4gICAgaWYgKCFvcHRpb25zLnB1Ymxpc2hUb0dvKSB7XG4gICAgICBlcnJvcnMucHVzaCgnUHVibGlzaGluZyBFcnJvcjogcHJvamVjdCBub3QgY29uZmlndXJlZCB0byBwdWJsaXNoIHRvIEdvJyk7XG4gICAgfVxuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgcHJpdmF0ZTogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucykge1xuICAgIGlmIChvcHRpb25zLnN0YWJpbGl0eSA9PT0gY2RrLlN0YWJpbGl0eS5TVEFCTEUpIHtcbiAgICAgIGNvbnN0IGVycm9ycyA9IENka0NvbnN0cnVjdExpYnJhcnkuc3RhYmlsaXR5UmVxdWlyZW1lbnRzKG9wdGlvbnMpO1xuICAgICAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIHByb2plY3QgZG9lcyBub3QgcGFzcyBzdGFiaWxpdHkgcmVxdWlyZW1lbnRzIGR1ZSB0byB0aGUgZm9sbG93aW5nIGVycm9yczpcXG4gICR7ZXJyb3JzLmpvaW4oJ1xcbiAgJyl9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgb3B0cyA9IHdpdGhDb21tb25PcHRpb25zRGVmYXVsdHMoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIC8vIGFsc28gYWNjZXB0IHRoZSBkZXByZWNhdGVkIHJlcG9zaXRvcnlVcmwgb3B0aW9uXG4gICAgICByZXBvc2l0b3J5OiBvcHRpb25zLnJlcG9zaXRvcnkgPz8gb3B0aW9ucy5yZXBvc2l0b3J5VXJsLFxuICAgIH0pO1xuXG4gICAgc3VwZXIoe1xuICAgICAgc3RhYmlsaXR5OiBjZGsuU3RhYmlsaXR5LkVYUEVSSU1FTlRBTCxcbiAgICAgIC8vIHVwc3RyZWFtIEpzaWlQcm9qZWN0IHVzZXMgYSBkaWZmZXJlbnQgbmFtZSBmb3IgdGhpc1xuICAgICAgcmVwb3NpdG9yeVVybDogb3B0cy5yZXBvc2l0b3J5LFxuICAgICAgLi4ub3B0cyxcbiAgICB9KTtcbiAgICB0aGlzLnByaXZhdGUgPSBvcHRzLnByaXZhdGU7XG5cbiAgICBuZXcgUm9zZXR0YSh0aGlzLCBvcHRpb25zLnJvc2V0dGFPcHRpb25zKTtcbiAgICBuZXcgSW50ZWdSdW5uZXIodGhpcyk7XG4gICAgY29uZmlndXJlQ29tbW9uQ29tcG9uZW50cyh0aGlzLCBvcHRzKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENka1R5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucyBleHRlbmRzIHR5cGVzY3JpcHQuVHlwZVNjcmlwdFByb2plY3RPcHRpb25zLCBDZGtDb21tb25PcHRpb25zIHsgfVxuXG4vKipcbiAqIENyZWF0ZSBhIENkayBUeXBlU2NyaXB0IFByb2plY3RcbiAqXG4gKiBAcGppZCBjZGstdHMtcHJvalxuICovXG5leHBvcnQgY2xhc3MgQ2RrVHlwZVNjcmlwdFByb2plY3QgZXh0ZW5kcyB0eXBlc2NyaXB0LlR5cGVTY3JpcHRQcm9qZWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IHByaXZhdGU6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogQ2RrVHlwZVNjcmlwdFByb2plY3RPcHRpb25zKSB7XG4gICAgY29uc3Qgb3B0cyA9IHdpdGhDb21tb25PcHRpb25zRGVmYXVsdHMob3B0aW9ucyk7XG4gICAgc3VwZXIob3B0cyk7XG4gICAgdGhpcy5wcml2YXRlID0gb3B0cy5wcml2YXRlO1xuXG4gICAgY29uZmlndXJlQ29tbW9uQ29tcG9uZW50cyh0aGlzLCBvcHRzKTtcbiAgfVxufVxuIl19
package/lib/cdklabs.js CHANGED
@@ -120,7 +120,7 @@ class CdklabsConstructLibrary extends cdk_1.CdkConstructLibrary {
120
120
  }
121
121
  exports.CdklabsConstructLibrary = CdklabsConstructLibrary;
122
122
  _a = JSII_RTTI_SYMBOL_1;
123
- CdklabsConstructLibrary[_a] = { fqn: "cdklabs-projen-project-types.CdklabsConstructLibrary", version: "0.1.217" };
123
+ CdklabsConstructLibrary[_a] = { fqn: "cdklabs-projen-project-types.CdklabsConstructLibrary", version: "0.1.218" };
124
124
  /**
125
125
  * Create a Cdklabs TypeScript Project
126
126
  *
@@ -140,7 +140,7 @@ class CdklabsTypeScriptProject extends cdk_1.CdkTypeScriptProject {
140
140
  }
141
141
  exports.CdklabsTypeScriptProject = CdklabsTypeScriptProject;
142
142
  _b = JSII_RTTI_SYMBOL_1;
143
- CdklabsTypeScriptProject[_b] = { fqn: "cdklabs-projen-project-types.CdklabsTypeScriptProject", version: "0.1.217" };
143
+ CdklabsTypeScriptProject[_b] = { fqn: "cdklabs-projen-project-types.CdklabsTypeScriptProject", version: "0.1.218" };
144
144
  /**
145
145
  * Create a Cdklabs Jsii Project
146
146
  *
@@ -163,5 +163,5 @@ class CdklabsJsiiProject extends jsii_1.CdkJsiiProject {
163
163
  }
164
164
  exports.CdklabsJsiiProject = CdklabsJsiiProject;
165
165
  _c = JSII_RTTI_SYMBOL_1;
166
- CdklabsJsiiProject[_c] = { fqn: "cdklabs-projen-project-types.CdklabsJsiiProject", version: "0.1.217" };
166
+ CdklabsJsiiProject[_c] = { fqn: "cdklabs-projen-project-types.CdklabsJsiiProject", version: "0.1.218" };
167
167
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrbGFicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jZGtsYWJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0JBQWdDO0FBQ2hDLHNEQUF1RDtBQUN2RCwwQ0FBNEM7QUFFNUMsSUFBWSxZQUtYO0FBTEQsV0FBWSxZQUFZO0lBQ3RCLG1EQUFNLENBQUE7SUFDTiwrQ0FBSSxDQUFBO0lBQ0osbURBQU0sQ0FBQTtJQUNOLDJDQUFFLENBQUE7QUFDSixDQUFDLEVBTFcsWUFBWSw0QkFBWixZQUFZLFFBS3ZCO0FBQUEsQ0FBQztBQUVGLCtCQUllO0FBR2YsaUNBQXdDO0FBQ3hDLHdDQUF3QztBQUN4QyxtQ0FBMkM7QUFFM0Msd0VBQXdFO0FBQ3hFLE1BQU0sa0JBQWtCLEdBQUc7SUFDekIsTUFBTSxFQUFFLHFCQUFxQjtJQUM3QixVQUFVLEVBQUUscUJBQXFCO0lBQ2pDLGFBQWEsRUFBRSx3QkFBd0I7SUFDdkMsV0FBVyxFQUFFLHdCQUF3QjtJQUNyQyxrQkFBa0IsRUFBRSxJQUFJO0NBQ3pCLENBQUM7QUFFRixNQUFNLG1CQUFtQixHQUE0QztJQUNuRSxtQkFBbUIsRUFBRSxJQUFJO0lBQ3pCLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLG1CQUFtQixFQUFFLE9BQU87SUFDNUIsV0FBVyxFQUFFO1FBQ1gsY0FBYyxFQUFFLDJCQUFjLENBQUMsTUFBTTtLQUN0QztJQUNELG9CQUFvQixFQUFFLE1BQU07SUFDNUIsbUZBQW1GO0lBQ25GLHdGQUF3RjtJQUN4RixvREFBb0Q7SUFDcEQsaUJBQWlCLEVBQUUsMEJBQWlCLENBQUMsZ0JBQWdCLEVBQUU7SUFDdkQsV0FBVyxFQUFFLE1BQU07Q0FDcEIsQ0FBQztBQUVGLFNBQVMsK0JBQStCLENBQUMsY0FBc0IsRUFBRSxLQUFzQjtJQUNyRixNQUFNLGVBQWUsR0FBRyxJQUFBLGVBQVEsRUFBQyxjQUFjLENBQUMsQ0FBQztJQUVqRCxPQUFPLHdCQUF3QixDQUFDLFNBQVMsRUFB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QU0sYUFBYSxHQUFHLElBQUEsZ0JBQVMsRUFBQztZQUM5QixFQUFFO1lBQ0YsbUJBQW1CO1lBQ25CLDZCQUE2QjtZQUM3QixPQUFPO1lBQ1Asa0JBQWtCO1NBQ25CLENBQThCLENBQUM7UUFFaEMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7O0FBZEgsZ0RBZUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBiYXNlbmFtZSB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgVXBkYXRlU25hcHNob3QgfSBmcm9tICdwcm9qZW4vbGliL2phdmFzY3JpcHQnO1xuaW1wb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSAncHJvamVuL2xpYi91dGlsJztcblxuZXhwb3J0IGVudW0gSnNpaUxhbmd1YWdlIHtcbiAgUFlUSE9OLFxuICBKQVZBLFxuICBET1RORVQsXG4gIEdPLFxufTtcblxuaW1wb3J0IHtcbiAgQ2RrQ29uc3RydWN0TGlicmFyeSxcbiAgQ2RrVHlwZVNjcmlwdFByb2plY3QsXG4gIENka1R5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucyxcbn0gZnJvbSAnLi9jZGsnO1xuaW1wb3J0IHsgQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnMgfSBmcm9tICcuL2Nkay1jb25zdHJ1Y3QtbGlicmFyeS1vcHRpb25zJztcbmltcG9ydCB7IENka0pzaWlQcm9qZWN0T3B0aW9ucyB9IGZyb20gJy4vY2RrLWpzaWktb3B0aW9ucyc7XG5pbXBvcnQgeyBDZGtKc2lpUHJvamVjdCB9IGZyb20gJy4vanNpaSc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L29yZGVyXG5pbXBvcnQgeyBSZWxlYXNhYmxlQ29tbWl0cyB9IGZyb20gJ3Byb2plbic7XG5cbi8vIG92ZXJyaWRlIHRoZXNlIHByb3BlcnRpZXMgbm8gbWF0dGVyIHdoYXQgdmFsdWVzIGFyZSBnaXZlbiBjbGllbnQtc2lkZVxuY29uc3QgY2RrbGFic0ZvcmNlZFByb3BzID0ge1xuICBhdXRob3I6ICdBbWF6b24gV2ViIFNlcnZpY2VzJyxcbiAgYXV0aG9yTmFtZTogJ0FtYXpvbiBXZWIgU2VydmljZXMnLFxuICBhdXRob3JBZGRyZXNzOiAnYXdzLWNkay1kZXZAYW1hem9uLmNvbScsXG4gIGF1dGhvckVtYWlsOiAnYXdzLWNkay1kZXZAYW1hem9uLmNvbScsXG4gIGF1dGhvck9yZ2FuaXphdGlvbjogdHJ1ZSxcbn07XG5cbmNvbnN0IGNka2xhYnNEZWZhdWx0UHJvcHM6IFBhcnRpYWw8Q2RrbGFic0NvbnN0cnVjdExpYnJhcnlPcHRpb25zPiA9IHtcbiAgYXV0b0FwcHJvdmVVcGdyYWRlczogdHJ1ZSxcbiAgbWluTm9kZVZlcnNpb246ICcxOC4xMi4wJyxcbiAgd29ya2Zsb3dOb2RlVmVyc2lvbjogJ2x0cy8qJyxcbiAgamVzdE9wdGlvbnM6IHtcbiAgICB1cGRhdGVTbmFwc2hvdDogVXBkYXRlU25hcHNob3QuQUxXQVlTLFxuICB9LFxuICBkZWZhdWx0UmVsZWFzZUJyYW5jaDogJ21haW4nLFxuICAvLyBEZWZhdWx0IGlzIHRvIHJlbGVhc2Ugb25seSBmZWF0dXJlcyBhbmQgZml4ZXMuIElmIHdlIGRvbid0IGRvIHRoaXMsIGV2ZXJ5IHByb2plblxuICAvLyBwcm9qZWN0IHdpbGwgYmFzaWNhbGx5IHJlbGVhc2UgZXZlcnkgZGF5LCBiZWNhdXNlIGl0IHdpbGwgc2VlIGRldkRlcGVuZGVuY2llcyB1cGRhdGVzXG4gIC8vIGV2ZXJ5IGRheSwgZXZlbiB0aG91Z2ggdGhvc2UgYXJlIG5vdCBpbnRlcmVzdGluZy5cbiAgcmVsZWFzYWJsZUNvbW1pdHM6IFJlbGVhc2FibGVDb21taXRzLmZlYXR1cmVzQW5kRml4ZXMoKSxcbiAganNpaVZlcnNpb246ICd+NS43Jyxcbn07XG5cbmZ1bmN0aW9uIGNyZWF0ZUNka2xhYnNQdWJsaXNoaW5nRGVmYXVsdHMobnBtUGFja2FnZU5hbWU6IHN0cmluZywgbGFuZ3M/OiBKc2lpTGFuZ3VhZ2VbXSkge1xuICBjb25zdCBwYWNrYWdlQmFzZW5hbWUgPSBiYXNlbmFtZShucG1QYWNrYWdlTmFtZSk7XG5cbiAgcmV0dXJuIGNyZWF0ZVB1Ymxpc2hpbmdEZWZhdWx0cygnY2RrbGFicycsIHBhY2thZ2VCYXNlbmFtZSwgQm9vbGVhbihwYWNrYWdlQmFzZW5hbWUgIT09IG5wbVBhY2thZ2VOYW1lKSwgbGFuZ3MpO1xufTtcblxuZnVuY3Rpb24gY3JlYXRlUHVibGlzaGluZ0RlZmF1bHRzKG5hbWVzcGFjZTogc3RyaW5nLCBwYWNrYWdlQmFzZW5hbWU6IHN0cmluZywgYWx3YXlzVXNlTmFtZXNwYWNlID0gdHJ1ZSwgbGFuZ3M/OiBKc2lpTGFuZ3VhZ2VbXSkge1xuICBjb25zdCBwaVB5UHJlZml4ID0gYWx3YXlzVXNlTmFtZXNwYWNlID8gYCR7bmFtZXNwYWNlfS5gIDogJyc7XG4gIGNvbnN0IG51Z2V0UHJlZml4ID0gYWx3YXlzVXNlTmFtZXNwYWNlID8gYCR7dXBwZXJDYXNlTmFtZShuYW1lc3BhY2UpfS5gIDogYCR7dXBwZXJDYXNlTmFtZShuYW1lc3BhY2UpfWA7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5wdWJsaXNoTGFuZ3VhZ2VXcmFwcGVyKEpzaWlMYW5ndWFnZS5QWVRIT04sIHtcbiAgICAgIHB1Ymxpc2hUb1B5cGk6IHtcbiAgICAgICAgZGlzdE5hbWU6IGAke3BpUHlQcmVmaXh9JHtwYWNrYWdlQmFzZW5hbWV9YCxcbiAgICAgICAgbW9kdWxlOiBgJHtwaVB5UHJlZml4fSR7Y2hhbmdlRGVsaW1pdGVyKHBhY2thZ2VCYXNlbmFtZSwgJ18nKX1gLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICAuLi5wdWJsaXNoTGFuZ3VhZ2VXcmFwcGVyKEpzaWlMYW5ndWFnZS5KQVZBLCB7XG4gICAgICBwdWJsaXNoVG9NYXZlbjoge1xuICAgICAgICBqYXZhUGFja2FnZTogYGlvLmdpdGh1Yi4ke25hbWVzcGFjZX0uJHtjaGFuZ2VEZWxpbWl0ZXIocGFja2FnZUJhc2VuYW1lLCAnLicpfWAsXG4gICAgICAgIG1hdmVuR3JvdXBJZDogYGlvLmdpdGh1Yi4ke25hbWVzcGFjZX1gLFxuICAgICAgICBtYXZlbkFydGlmYWN0SWQ6IHBhY2thZ2VCYXNlbmFtZSxcbiAgICAgICAgbWF2ZW5FbmRwb2ludDogJ2h0dHBzOi8vczAxLm9zcy5zb25hdHlwZS5vcmcnLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICAuLi5wdWJsaXNoTGFuZ3VhZ2VXcmFwcGVyKEpzaWlMYW5ndWFnZS5ET1RORVQsIHtcbiAgICAgIHB1Ymxpc2hUb051Z2V0OiB7XG4gICAgICAgIGRvdE5ldE5hbWVzcGFjZTogYCR7bnVnZXRQcmVmaXh9JHt1cHBlckNhc2VOYW1lKHBhY2thZ2VCYXNlbmFtZSl9YCxcbiAgICAgICAgcGFja2FnZUlkOiBgJHtudWdldFByZWZpeH0ke3VwcGVyQ2FzZU5hbWUocGFja2FnZUJhc2VuYW1lKX1gLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICAuLi5wdWJsaXNoTGFuZ3VhZ2VXcmFwcGVyKEpzaWlMYW5ndWFnZS5HTywge1xuICAgICAgcHVibGlzaFRvR286IHtcbiAgICAgICAgbW9kdWxlTmFtZTogYGdpdGh1Yi5jb20vJHtuYW1lc3BhY2V9LyR7cGFja2FnZUJhc2VuYW1lfS1nb2AsXG4gICAgICB9LFxuICAgIH0pLFxuICB9O1xuXG4gIGZ1bmN0aW9uIHB1Ymxpc2hMYW5ndWFnZVdyYXBwZXIobGFuZzogSnNpaUxhbmd1YWdlLCBvYmo6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbiAgICByZXR1cm4gcHVibGlzaExhbmd1YWdlKGxhbmcpID8gb2JqIDoge307XG4gIH1cblxuICBmdW5jdGlvbiBwdWJsaXNoTGFuZ3VhZ2UobGFuZzogSnNpaUxhbmd1YWdlKTogYm9vbGVhbiB7XG4gICAgLy8gbGFuZ3Mgbm90IHNwZWNpZmllZCA9PT0gYWxsIGxhbmd1YWdlcyBwdWJsaXNoZWRcbiAgICBpZiAoIWxhbmdzKSB7IHJldHVybiB0cnVlOyB9XG4gICAgaWYgKGxhbmdzLmluY2x1ZGVzKGxhbmcpKSB7IHJldHVybiB0cnVlOyB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBwZXJDYXNlTmFtZShzdHI6IHN0cmluZykge1xuICAgIGxldCB3b3JkcyA9IHN0ci5zcGxpdCgnLScpO1xuICAgIHdvcmRzID0gd29yZHMubWFwKCh3KSA9PiB3WzBdLnRvVXBwZXJDYXNlKCkgKyB3LnN1YnN0cmluZygxKSk7XG4gICAgcmV0dXJuIHdvcmRzLmpvaW4oJycpO1xuICB9XG5cbiAgZnVuY3Rpb24gY2hhbmdlRGVsaW1pdGVyKHN0cjogc3RyaW5nLCBkZWxpbTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHN0ci5zcGxpdCgnLScpLmpvaW4oZGVsaW0pO1xuICB9XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIENka2xhYnNQdWJsaXNoaW5nUHJvamVjdE9wdGlvbnMge1xuICAvKipcbiAgICogU2V0IGRlZmF1bHQgcHVibGlzaGluZyBwcm9wZXJ0aWVzLiBTZXR0aW5nIHRoaXMgcHJvcGVydHkgZ3VhcmFudGVlc1xuICAgKiB0aGF0IHlvdXIgcHJvamVjdCB3aWxsIGhhdmUgcmVhc29uYWJsZSBwdWJsaXNoaW5nIG5hbWVzLiBZb3UgY2FuIGNob29zZVxuICAgKiB0byBtb2RpZnkgdGhlbSBob3dldmVyIHlvdSB3aXNoIHdpdGggdGhlIHRyYWRpdGlvbmFsIGBwdWJsaXNoVG9QeXBpYCxcbiAgICogYHB1Ymxpc2hUb01hdmVuYCwgYHB1Ymxpc2hUb051Z2V0YCwgYW5kIGBwdWJsaXNoVG9Hb2AgcHJvcGVydGllcywgYW5kXG4gICAqIHlvdXIgY29uZmlndXJhdGlvbiB3aWxsIGJlIHJlc3BlY3RlZC5cbiAgICpcbiAgICogVGhpcyBzaG91bGQgYmUgc2V0IHRvIGZhbHNlIG9ubHkgaWYgeW91IGRvIG5vdCBwbGFuIG9uIHJlbGVhc2luZyB0aGUgcGFja2FnZS5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgY2RrbGFic1B1Ymxpc2hpbmdEZWZhdWx0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgc3BlY2lmaWMgbGFuZ3VhZ2VzIHRvIHB1Ymxpc2ggdG8uIFRoaXMgY2FuIGJlIHVzZWQgd2hlbiB0aGUgbGlicmFyeVxuICAgKiBpcyBleHBlcmltZW50YWwgb25seSwgYmVjYXVzZSBzdGFibGUgbGlicmFyaWVzIG11c3QgcHVibGlzaCB0byBhbGwganNpaSBsYW5ndWFnZXMuXG4gICAqIFRoaXMgc2hvdWxkIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBgY2RrbGFic1B1Ymxpc2hpbmdEZWZhdWx0czogdHJ1ZWA7IG90aGVyd2lzZVxuICAgKiBpdCBpcyBhIG5vLW9wLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGFsbCBqc2lpIHRhcmdldCBsYW5ndWFnZXNcbiAgICovXG4gIHJlYWRvbmx5IGpzaWlUYXJnZXRMYW5ndWFnZXM/OiBKc2lpTGFuZ3VhZ2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZGtsYWJzQ29uc3RydWN0TGlicmFyeU9wdGlvbnMgZXh0ZW5kcyBDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucywgQ2RrbGFic1B1Ymxpc2hpbmdQcm9qZWN0T3B0aW9ucyB7IH1cblxuLyoqXG4gKiBDcmVhdGUgYSBDZGtsYWJzIENvbnN0cnVjdCBMaWJyYXJ5IFByb2plY3RcbiAqXG4gKiBAcGppZCBjZGtsYWJzLWNvbnN0cnVjdC1saWJcbiAqL1xuZXhwb3J0IGNsYXNzIENka2xhYnNDb25zdHJ1Y3RMaWJyYXJ5IGV4dGVuZHMgQ2RrQ29uc3RydWN0TGlicmFyeSB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IENka2xhYnNDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucykge1xuICAgIGNvbnN0IGNka2xhYnNQdWJsaXNoaW5nRGVmYXVsdFByb3BzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gKG9wdGlvbnMuY2RrbGFic1B1Ymxpc2hpbmdEZWZhdWx0cyA/PyB0cnVlKSA/XG4gICAgICBjcmVhdGVDZGtsYWJzUHVibGlzaGluZ0RlZmF1bHRzKG9wdGlvbnMubmFtZSwgb3B0aW9ucy5qc2lpVGFyZ2V0TGFuZ3VhZ2VzKSA6IHt9O1xuXG4gICAgLy8gdGhlIGxlZnRtb3N0IG9iamVjdCBpcyBtdXRhdGVkIGFuZCByZXR1cm5lZCBieSBkZWVwTWVyZ2VcbiAgICBjb25zdCBtZXJnZWRPcHRpb25zID0gZGVlcE1lcmdlKFtcbiAgICAgIHt9LFxuICAgICAgY2RrbGFic0RlZmF1bHRQcm9wcyxcbiAgICAgIGNka2xhYnNQdWJsaXNoaW5nRGVmYXVsdFByb3BzLFxuICAgICAgb3B0aW9ucyxcbiAgICAgIGNka2xhYnNGb3JjZWRQcm9wcyxcbiAgICBdKSBhcyBDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucztcblxuICAgIHN1cGVyKG1lcmdlZE9wdGlvbnMpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrbGFic1R5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucyBleHRlbmRzIENka1R5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucyB7IH1cblxuLyoqXG4gKiBDcmVhdGUgYSBDZGtsYWJzIFR5cGVTY3JpcHQgUHJvamVjdFxuICpcbiAqIEBwamlkIGNka2xhYnMtdHMtcHJvalxuICovXG5leHBvcnQgY2xhc3MgQ2RrbGFic1R5cGVTY3JpcHRQcm9qZWN0IGV4dGVuZHMgQ2RrVHlwZVNjcmlwdFByb2plY3Qge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBDZGtsYWJzVHlwZVNjcmlwdFByb2plY3RPcHRpb25zKSB7XG4gICAgLy8gdGhlIGxlZnRtb3N0IG9iamVjdCBpcyBtdXRhdGVkIGFuZCByZXR1cm5lZCBieSBkZWVwTWVyZ2VcbiAgICBjb25zdCBtZXJnZWRPcHRpb25zID0gZGVlcE1lcmdlKFtcbiAgICAgIHt9LFxuICAgICAgY2RrbGFic0RlZmF1bHRQcm9wcyxcbiAgICAgIG9wdGlvbnMsXG4gICAgICBjZGtsYWJzRm9yY2VkUHJvcHMsXG4gICAgXSkgYXMgQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnM7XG5cbiAgICBzdXBlcihtZXJnZWRPcHRpb25zKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENka2xhYnNKc2lpUHJvamVjdE9wdGlvbnMgZXh0ZW5kcyBDZGtKc2lpUHJvamVjdE9wdGlvbnMsIENka2xhYnNQdWJsaXNoaW5nUHJvamVjdE9wdGlvbnMgeyB9XG5cbi8qKlxuICogQ3JlYXRlIGEgQ2RrbGFicyBKc2lpIFByb2plY3RcbiAqXG4gKiBAcGppZCBjZGtsYWJzLWpzaWktcHJvalxuICovXG5leHBvcnQgY2xhc3MgQ2RrbGFic0pzaWlQcm9qZWN0IGV4dGVuZHMgQ2RrSnNpaVByb2plY3Qge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBDZGtsYWJzSnNpaVByb2plY3RPcHRpb25zKSB7XG4gICAgY29uc3QgY2RrbGFic1B1Ymxpc2hpbmdEZWZhdWx0UHJvcHM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSAob3B0aW9ucy5jZGtsYWJzUHVibGlzaGluZ0RlZmF1bHRzID8/IHRydWUpID9cbiAgICAgIGNyZWF0ZUNka2xhYnNQdWJsaXNoaW5nRGVmYXVsdHMob3B0aW9ucy5uYW1lLCBvcHRpb25zLmpzaWlUYXJnZXRMYW5ndWFnZXMpIDoge307XG4gICAgLy8gdGhlIGxlZnRtb3N0IG9iamVjdCBpcyBtdXRhdGVkIGFuZCByZXR1cm5lZCBieSBkZWVwTWVyZ2VcbiAgICBjb25zdCBtZXJnZWRPcHRpb25zID0gZGVlcE1lcmdlKFtcbiAgICAgIHt9LFxuICAgICAgY2RrbGFic0RlZmF1bHRQcm9wcyxcbiAgICAgIGNka2xhYnNQdWJsaXNoaW5nRGVmYXVsdFByb3BzLFxuICAgICAgb3B0aW9ucyxcbiAgICAgIGNka2xhYnNGb3JjZWRQcm9wcyxcbiAgICBdKSBhcyBDZGtsYWJzSnNpaVByb2plY3RPcHRpb25zO1xuXG4gICAgc3VwZXIobWVyZ2VkT3B0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
package/lib/index.d.ts CHANGED
@@ -6,4 +6,5 @@ export * from './common-options';
6
6
  export * from './jsii';
7
7
  export * from './cdklabs';
8
8
  export * from './rosetta';
9
+ export * from './cdk-cli-integ-tests';
9
10
  export * as yarn from './yarn';
package/lib/index.js CHANGED
@@ -23,5 +23,6 @@ __exportStar(require("./common-options"), exports);
23
23
  __exportStar(require("./jsii"), exports);
24
24
  __exportStar(require("./cdklabs"), exports);
25
25
  __exportStar(require("./rosetta"), exports);
26
+ __exportStar(require("./cdk-cli-integ-tests"), exports);
26
27
  exports.yarn = require("./yarn");
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3Q0FBc0I7QUFDdEIsdURBQXFDO0FBQ3JDLGtFQUFnRDtBQUNoRCxxREFBbUM7QUFDbkMsbURBQWlDO0FBQ2pDLHlDQUF1QjtBQUN2Qiw0Q0FBMEI7QUFDMUIsNENBQTBCO0FBRTFCLGlDQUErQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2RrJztcbmV4cG9ydCAqIGZyb20gJy4vY2RrLWNvbW1vbi1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vY2RrLWNvbnN0cnVjdC1saWJyYXJ5LW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9jZGstanNpaS1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uLW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9qc2lpJztcbmV4cG9ydCAqIGZyb20gJy4vY2RrbGFicyc7XG5leHBvcnQgKiBmcm9tICcuL3Jvc2V0dGEnO1xuXG5leHBvcnQgKiBhcyB5YXJuIGZyb20gJy4veWFybic7XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3Q0FBc0I7QUFDdEIsdURBQXFDO0FBQ3JDLGtFQUFnRDtBQUNoRCxxREFBbUM7QUFDbkMsbURBQWlDO0FBQ2pDLHlDQUF1QjtBQUN2Qiw0Q0FBMEI7QUFDMUIsNENBQTBCO0FBQzFCLHdEQUFzQztBQUV0QyxpQ0FBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Nkayc7XG5leHBvcnQgKiBmcm9tICcuL2Nkay1jb21tb24tb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2Nkay1jb25zdHJ1Y3QtbGlicmFyeS1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vY2RrLWpzaWktb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1vbi1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vanNpaSc7XG5leHBvcnQgKiBmcm9tICcuL2Nka2xhYnMnO1xuZXhwb3J0ICogZnJvbSAnLi9yb3NldHRhJztcbmV4cG9ydCAqIGZyb20gJy4vY2RrLWNsaS1pbnRlZy10ZXN0cyc7XG5cbmV4cG9ydCAqIGFzIHlhcm4gZnJvbSAnLi95YXJuJztcbiJdfQ==
package/lib/jsii.js CHANGED
@@ -28,5 +28,5 @@ class CdkJsiiProject extends projen_1.cdk.JsiiProject {
28
28
  }
29
29
  exports.CdkJsiiProject = CdkJsiiProject;
30
30
  _a = JSII_RTTI_SYMBOL_1;
31
- CdkJsiiProject[_a] = { fqn: "cdklabs-projen-project-types.CdkJsiiProject", version: "0.1.217" };
31
+ CdkJsiiProject[_a] = { fqn: "cdklabs-projen-project-types.CdkJsiiProject", version: "0.1.218" };
32
32
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNpaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9qc2lpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQTZCO0FBRTdCLHFEQUF3RjtBQUV4Rjs7OztHQUlHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsWUFBRyxDQUFDLFdBQVc7SUFHakQsWUFBWSxPQUE4QjtRQUN4QyxNQUFNLElBQUksR0FBRyxJQUFBLDBDQUF5QixFQUFDO1lBQ3JDLEdBQUcsT0FBTztZQUNWLGtEQUFrRDtZQUNsRCxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVUsSUFBSSxPQUFPLENBQUMsYUFBYTtTQUN4RCxDQUFDLENBQUM7UUFDSCxLQUFLLENBQUM7WUFDSixHQUFHLElBQUk7WUFDUCxzREFBc0Q7WUFDdEQsYUFBYSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQy9CLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUU1QixJQUFBLDBDQUF5QixFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDOztBQWpCSCx3Q0FrQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjZGsgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgQ2RrSnNpaVByb2plY3RPcHRpb25zIH0gZnJvbSAnLi9jZGstanNpaS1vcHRpb25zJztcbmltcG9ydCB7IGNvbmZpZ3VyZUNvbW1vbkNvbXBvbmVudHMsIHdpdGhDb21tb25PcHRpb25zRGVmYXVsdHMgfSBmcm9tICcuL2NvbW1vbi1vcHRpb25zJztcblxuLyoqXG4gKiBDcmVhdGUgYSBDZGsgSnNpaSBKc2lpIHByb2plY3RcbiAqXG4gKiBAcGppZCBjZGstanNpaS1wcm9qXG4gKi9cbmV4cG9ydCBjbGFzcyBDZGtKc2lpUHJvamVjdCBleHRlbmRzIGNkay5Kc2lpUHJvamVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBwcml2YXRlOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IENka0pzaWlQcm9qZWN0T3B0aW9ucykge1xuICAgIGNvbnN0IG9wdHMgPSB3aXRoQ29tbW9uT3B0aW9uc0RlZmF1bHRzKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAvLyBhbHNvIGFjY2VwdCB0aGUgZGVwcmVjYXRlZCByZXBvc2l0b3J5VXJsIG9wdGlvblxuICAgICAgcmVwb3NpdG9yeTogb3B0aW9ucy5yZXBvc2l0b3J5ID8/IG9wdGlvbnMucmVwb3NpdG9yeVVybCxcbiAgICB9KTtcbiAgICBzdXBlcih7XG4gICAgICAuLi5vcHRzLFxuICAgICAgLy8gdXBzdHJlYW0gSnNpaVByb2plY3QgdXNlcyBhIGRpZmZlcmVudCBuYW1lIGZvciB0aGlzXG4gICAgICByZXBvc2l0b3J5VXJsOiBvcHRzLnJlcG9zaXRvcnksXG4gICAgfSk7XG4gICAgdGhpcy5wcml2YXRlID0gb3B0cy5wcml2YXRlO1xuXG4gICAgY29uZmlndXJlQ29tbW9uQ29tcG9uZW50cyh0aGlzLCBvcHRzKTtcbiAgfVxufVxuIl19
package/lib/rosetta.js CHANGED
@@ -48,5 +48,5 @@ class Rosetta extends projen_1.Component {
48
48
  }
49
49
  exports.Rosetta = Rosetta;
50
50
  _a = JSII_RTTI_SYMBOL_1;
51
- Rosetta[_a] = { fqn: "cdklabs-projen-project-types.Rosetta", version: "0.1.217" };
51
+ Rosetta[_a] = { fqn: "cdklabs-projen-project-types.Rosetta", version: "0.1.218" };
52
52
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9zZXR0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yb3NldHRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQW9EO0FBa0JwRDs7Ozs7R0FLRztBQUNILE1BQWEsT0FBUSxTQUFRLGtCQUFTO0lBQ3BDLFlBQVksT0FBd0IsRUFBRSxVQUEwQixFQUFFO1FBQ2hFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDO1FBRXRDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHVHQUF1RyxDQUFDLENBQUM7UUFDL0gsQ0FBQztRQUVELGFBQWE7UUFDYixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7UUFDeEYsT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUvQixNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFO1lBQ3JELFdBQVcsRUFBRSxzQkFBc0I7WUFDbkMsSUFBSSxFQUFFLHNDQUFzQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFO1NBQzlFLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNDLE9BQU8sQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN4QyxJQUFJLG1CQUFVLENBQUMsT0FBTyxFQUFFLDRCQUE0QixFQUFFO1lBQ3BELFFBQVEsRUFBRTtnQkFDUixxREFBcUQ7Z0JBQ3JELHlDQUF5QztnQkFDekMsVUFBVTtnQkFDVixVQUFVO2dCQUNWLHVCQUF1QjtnQkFDdkIsRUFBRTtnQkFDRiwrQkFBK0I7Z0JBQy9CLCtDQUErQztnQkFDL0MsdUJBQXVCO2dCQUN2QixFQUFFO2dCQUNGLGNBQWM7Z0JBQ2QsS0FBSztnQkFDTCxHQUFHO2FBQ0osQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ2IsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLFlBQVksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7O0FBdENILDBCQXVDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgU2FtcGxlRmlsZSwgY2RrIH0gZnJvbSAncHJvamVuJztcblxuZXhwb3J0IGludGVyZmFjZSBSb3NldHRhT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBFbmFibGUgb3IgZGlzYWJsZSBzdHJpY3QgbW9kZS5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgc3RyaWN0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2V0IGFuIGV4cGxpY2l0IHZlcnNpb24gb2Ygcm9zZXR0YS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyB2ZXJzaW9uIGlzIHNldCwgdXNlIGF1dG9tYXRpYyBkZXRlY3Rpb25cbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIFJvc2V0dGEgY29tcG9uZW50IGFkZHMgYnVpbHRpbiByb3NldHRhIHN1cHBvcnRcbiAqIGZvciBhIGNvbnN0cnVjdCBsaWJyYXJ5LiBTaW5jZSBDb25zdHJ1Y3RIdWIgd2lsbCBydW5cbiAqIHJvc2V0dGEgZm9yIHJlYWwsIHRoaXMganVzdCBhZGRzIGEgY2hlY2sgdG8gdGhlIGJ1aWxkIHRvXG4gKiBlbnN1cmUgdGhhdCByb3NldHRhIHdpbGwgcnVuIHN1Y2Nlc3NmdWxseVxuICovXG5leHBvcnQgY2xhc3MgUm9zZXR0YSBleHRlbmRzIENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IGNkay5Kc2lpUHJvamVjdCwgb3B0aW9uczogUm9zZXR0YU9wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgY29uc3Qgc3RyaWN0ID0gb3B0aW9ucy5zdHJpY3QgPz8gdHJ1ZTtcblxuICAgIGlmICghc3RyaWN0KSB7XG4gICAgICBwcm9qZWN0LmxvZ2dlci53YXJuKCdSb3NldHRhIGlzIE5PVCBvcGVyYXRpbmcgaW4gc3RyaWN0IG1vZGUuIFdlIGFyZSBnb2luZyB0byBlbmZvcmNlIHRoaXMgc29vbi5cXG5QbGVhc2UgZml4IGFueSBleGFtcGxlcy4nKTtcbiAgICB9XG5cbiAgICAvLyBBZGQgRGV2RGVwXG4gICAgY29uc3Qgcm9zZXR0YURlcCA9IG9wdGlvbnMudmVyc2lvbiA/IGBqc2lpLXJvc2V0dGFAJHtvcHRpb25zLnZlcnNpb259YCA6ICdqc2lpLXJvc2V0dGEnO1xuICAgIHByb2plY3QuYWRkRGV2RGVwcyhyb3NldHRhRGVwKTtcblxuICAgIGNvbnN0IHJvc2V0dGFUYXNrID0gcHJvamVjdC5hZGRUYXNrKCdyb3NldHRhOmV4dHJhY3QnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1Rlc3Qgcm9zZXR0YSBleHRyYWN0JyxcbiAgICAgIGV4ZWM6IGB5YXJuIC0tc2lsZW50IGpzaWktcm9zZXR0YSBleHRyYWN0ICR7c3RyaWN0ID8gJy0tc3RyaWN0JyA6ICcnfWAudHJpbSgpLFxuICAgIH0pO1xuICAgIHByb2plY3QucG9zdENvbXBpbGVUYXNrLnNwYXduKHJvc2V0dGFUYXNrKTtcbiAgICBwcm9qZWN0LmFkZEdpdElnbm9yZSgnLmpzaWkudGFibC5qc29uJyk7XG4gICAgbmV3IFNhbXBsZUZpbGUocHJvamVjdCwgJ3Jvc2V0dGEvZGVmYXVsdC50cy1maXh0dXJlJywge1xuICAgICAgY29udGVudHM6IFtcbiAgICAgICAgJy8vIEZpeHR1cmUgd2l0aCBwYWNrYWdlcyBpbXBvcnRlZCwgYnV0IG5vdGhpbmcgZWxzZScsXG4gICAgICAgIFwiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XCIsXG4gICAgICAgICdpbXBvcnQgeycsXG4gICAgICAgICcgIFN0YWNrLCcsXG4gICAgICAgIFwifSBmcm9tICdhd3MtY2RrLWxpYic7XCIsXG4gICAgICAgICcnLFxuICAgICAgICAnY2xhc3MgRml4dHVyZSBleHRlbmRzIFN0YWNrIHsnLFxuICAgICAgICAnICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7JyxcbiAgICAgICAgJyAgICBzdXBlcihzY29wZSwgaWQpOycsXG4gICAgICAgICcnLFxuICAgICAgICAnICAgIC8vLyBoZXJlJyxcbiAgICAgICAgJyAgfScsXG4gICAgICAgICd9JyxcbiAgICAgIF0uam9pbignXFxuJyksXG4gICAgfSk7XG4gICAgcHJvamVjdC5hZGRHaXRJZ25vcmUoJyEvcm9zZXR0YS9kZWZhdWx0LnRzLWZpeHR1cmUnKTtcbiAgfVxufVxuIl19
@@ -239,7 +239,7 @@ class MonorepoRelease extends projen_1.Component {
239
239
  }
240
240
  exports.MonorepoRelease = MonorepoRelease;
241
241
  _a = JSII_RTTI_SYMBOL_1;
242
- MonorepoRelease[_a] = { fqn: "cdklabs-projen-project-types.yarn.MonorepoRelease", version: "0.1.217" };
242
+ MonorepoRelease[_a] = { fqn: "cdklabs-projen-project-types.yarn.MonorepoRelease", version: "0.1.218" };
243
243
  function slugify(x) {
244
244
  return x.replace(/[^a-zA-Z0-9_-]/g, '-').replace(/^[0-9-]+/, '');
245
245
  }
@@ -189,7 +189,7 @@ class Monorepo extends projen_1.typescript.TypeScriptProject {
189
189
  }
190
190
  exports.Monorepo = Monorepo;
191
191
  _a = JSII_RTTI_SYMBOL_1;
192
- Monorepo[_a] = { fqn: "cdklabs-projen-project-types.yarn.Monorepo", version: "0.1.217" };
192
+ Monorepo[_a] = { fqn: "cdklabs-projen-project-types.yarn.Monorepo", version: "0.1.218" };
193
193
  function getObjFromFile(project, file) {
194
194
  return project.tryFindObjectFile(file)?.obj;
195
195
  }
@@ -224,5 +224,5 @@ class CdkLabsMonorepo extends Monorepo {
224
224
  }
225
225
  exports.CdkLabsMonorepo = CdkLabsMonorepo;
226
226
  _b = JSII_RTTI_SYMBOL_1;
227
- CdkLabsMonorepo[_b] = { fqn: "cdklabs-projen-project-types.yarn.CdkLabsMonorepo", version: "0.1.217" };
227
+ CdkLabsMonorepo[_b] = { fqn: "cdklabs-projen-project-types.yarn.CdkLabsMonorepo", version: "0.1.218" };
228
228
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ub3JlcG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMveWFybi9tb25vcmVwby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUEyRTtBQUUzRSx5REFBcUQ7QUFDckQsNkJBQTBCO0FBRzFCOztHQUVHO0FBQ0gsTUFBYSxRQUFTLFNBQVEsbUJBQVUsQ0FBQyxpQkFBaUI7SUFXeEQsWUFBWSxPQUF3QjtRQUNsQyxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixjQUFjLEVBQUUsbUJBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZO1lBQzFELFVBQVUsRUFBRSxLQUFLO1lBQ2pCLElBQUksRUFBRSxLQUFLO1lBQ1gsTUFBTSxFQUFFLEtBQUs7WUFDYixPQUFPLEVBQUUsS0FBSztTQUNmLENBQUMsQ0FBQztRQVhHLGFBQVEsR0FBRyxJQUFJLEtBQUssRUFBdUIsQ0FBQztRQUM1Qyw0QkFBdUIsR0FBRyxJQUFJLEtBQUssRUFBaUIsQ0FBQztRQVkzRCxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFFeEM7O1dBRUc7UUFDSCxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLHdCQUF3QixFQUFFLHdCQUF3QixDQUFDLENBQUM7WUFDcEUsSUFBSSxpQkFBUSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtnQkFDbkMsYUFBYSxFQUFFLElBQUk7Z0JBQ25CLEdBQUcsRUFBRTtvQkFDSCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxVQUFVLENBQUM7b0JBQzNDLE1BQU0sRUFBRSwyQkFBMkI7b0JBQ25DLGFBQWEsRUFBRTt3QkFDYixXQUFXLEVBQUUsSUFBSTt3QkFDakIsVUFBVSxFQUFFLFFBQVE7d0JBQ3BCLE9BQU8sRUFBRSxxQkFBcUI7cUJBQy9CO29CQUNELGNBQWMsRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDakMsT0FB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Q0wsQ0FBQzs7QUF6QkgsMENBMEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSnNvbkZpbGUsIFByb2plY3QsIGphdmFzY3JpcHQsIHR5cGVzY3JpcHQsIGdpdGh1YiB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBNb25vcmVwb09wdGlvbnMgfSBmcm9tICcuL21vbm9yZXBvLW9wdGlvbnMnO1xuaW1wb3J0IHsgTW9ub3JlcG9SZWxlYXNlIH0gZnJvbSAnLi9tb25vcmVwby1yZWxlYXNlJztcbmltcG9ydCB7IE54IH0gZnJvbSAnLi9ueCc7XG5pbXBvcnQgeyBUeXBlU2NyaXB0V29ya3NwYWNlIH0gZnJvbSAnLi90eXBlc2NyaXB0LXdvcmtzcGFjZSc7XG5cbi8qKlxuICogQSBtb25vcmVwbyB1c2luZyB5YXJuIHdvcmtzcGFjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBNb25vcmVwbyBleHRlbmRzIHR5cGVzY3JpcHQuVHlwZVNjcmlwdFByb2plY3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgbW9ub3JlcG9SZWxlYXNlPzogTW9ub3JlcG9SZWxlYXNlO1xuXG4gIC8qKlxuICAgKiBUaGUgVVJMIHdoZXJlIHRoZSBhY3R1YWwgY29kZSBmb3IgdGhlIHBhY2thZ2UgbGl2ZXMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcmVwb3NpdG9yeVVybD86IHN0cmluZztcblxuICBwcml2YXRlIHByb2plY3RzID0gbmV3IEFycmF5PFR5cGVTY3JpcHRXb3Jrc3BhY2U+KCk7XG4gIHByaXZhdGUgcG9zdEluc3RhbGxEZXBlbmRlbmNpZXMgPSBuZXcgQXJyYXk8KCkgPT4gYm9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBNb25vcmVwb09wdGlvbnMpIHtcbiAgICBzdXBlcih7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgcGFja2FnZU1hbmFnZXI6IGphdmFzY3JpcHQuTm9kZVBhY2thZ2VNYW5hZ2VyLllBUk5fQ0xBU1NJQyxcbiAgICAgIHNhbXBsZUNvZGU6IGZhbHNlLFxuICAgICAgamVzdDogZmFsc2UsXG4gICAgICBlc2xpbnQ6IGZhbHNlLFxuICAgICAgcmVsZWFzZTogZmFsc2UsXG4gICAgfSk7XG5cbiAgICB0aGlzLnJlcG9zaXRvcnlVcmwgPSBvcHRpb25zLnJlcG9zaXRvcnk7XG5cbiAgICAvKipcbiAgICAgKiBQcmV0dGllciBmb3JtYXR0aW5nXG4gICAgICovXG4gICAgaWYgKG9wdGlvbnMucHJldHRpZXIpIHtcbiAgICAgIHRoaXMuYWRkRGV2RGVwcygnZXNsaW50LWNvbmZpZy1wcmV0dGllcicsICdlc2xpbnQtcGx1Z2luLXByZXR0aWVyJyk7XG4gICAgICBuZXcgSnNvbkZpbGUodGhpcywgJy5lc2xpbnRyYy5qc29uJywge1xuICAgICAgICBhbGxvd0NvbW1lbnRzOiB0cnVlLFxuICAgICAgICBvYmo6IHtcbiAgICAgICAgICBwbHVnaW5zOiBbJ0B0eXBlc2NyaXB0LWVzbGludCcsICdwcmV0dGllciddLFxuICAgICAgICAgIHBhcnNlcjogJ0B0eXBlc2NyaXB0LWVzbGludC9wYXJzZXInLFxuICAgICAgICAgIHBhcnNlck9wdGlvbnM6IHtcbiAgICAgICAgICAgIGVjbWFWZXJzaW9uOiAyMDE4LFxuICAgICAgICAgICAgc291cmNlVHlwZTogJ21vZHVsZScsXG4gICAgICAgICAgICBwcm9qZWN0OiAnLi90c2NvbmZpZy5kZXYuanNvbicsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBpZ25vcmVQYXR0ZXJuczogWychLnByb2plbnJjLnRzJ10sXG4gICAgICAgICAgZXh0ZW5kczogWydwbHVnaW46cHJldHRpZXIvcmVjb21tZW5kZWQnXSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy50YXNrcy5hZGRUYXNrKCdmbXQnLCB7IGV4ZWM6ICdlc2xpbnQgLS1leHQgLnRzIC0tZml4IC0tbm8tZXJyb3Itb24tdW5tYXRjaGVkLXBhdHRlcm4gcHJvamVucmMgLnByb2plbnJjLnRzJyB9KTtcblxuICAgICAgdGhpcy52c2NvZGU/LmV4dGVuc2lvbnMuYWRkUmVjb21tZW5kYXRpb25zKCdlc2JlbnAucHJldHRpZXItdnNjb2RlJywgJ2RiYWV1bWVyLnZzY29kZS1lc2xpbnQnKTtcbiAgICAgIHRoaXMudnNjb2RlPy5zZXR0aW5ncy5hZGRTZXR0aW5nKCdlZGl0b3IuZGVmYXVsdEZvcm1hdHRlcicsICdlc2JlbnAucHJldHRpZXItdnNjb2RlJyk7XG4gICAgICB0aGlzLnZzY29kZT8uc2V0dGluZ3MuYWRkU2V0dGluZygnZXNsaW50LmZvcm1hdC5lbmFibGUnLCB0cnVlKTtcbiAgICAgIHRoaXMudnNjb2RlPy5zZXR0aW5ncy5hZGRTZXR0aW5ncyh7ICdlZGl0b3IuZGVmYXVsdEZvcm1hdHRlcic6ICdkYmFldW1lci52c2NvZGUtZXNsaW50JyB9LCBbXG4gICAgICAgICdqYXZhc2NyaXB0JyxcbiAgICAgICAgJ3R5cGVzY3JpcHQnLFxuICAgICAgXSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGEgVlNDb2RlIFdvcmtzcGFjZVxuICAgICAqL1xuICAgIGlmIChvcHRpb25zLnZzY29kZVdvcmtzcGFjZSkge1xuICAgICAgY29uc3Qgd29ya3NwYWNlRmlsZSA9IGAke3RoaXMubmFtZX0uY29kZS13b3Jrc3BhY2VgO1xuICAgICAgbmV3IEpzb25GaWxlKHRoaXMsIHdvcmtzcGFjZUZpbGUsIHtcbiAgICAgICAgYWxsb3dDb21tZW50czogdHJ1ZSxcbiAgICAgICAgb2JqOiAoKSA9PiAoe1xuICAgICAgICAgIGZvbGRlcnM6IHRoaXMucHJvamVjdHNcbiAgICAgICAgICAgIC5zb3J0KChwMSwgcDIpID0+IHAxLm5hbWUubG9jYWxlQ29tcGFyZShwMi5uYW1lKSlcbiAgICAgICAgICAgIC5tYXAoKHApID0+ICh7IHBhdGg6IHAud29ya3NwYWNlRGlyZWN0b3J5IH0pKSxcbiAgICAgICAgICBzZXR0aW5nczogKCkgPT4gZ2V0T2JqRnJvbUZpbGUodGhpcywgJy52c2NvZGUvc2V0dGluZ3MuanNvbicpLFxuICAgICAgICAgIGV4dGVuc2lvbnM6ICgpID0+IGdldE9iakZyb21GaWxlKHRoaXMsICcudnNjb2RlL2V4dGVuc2lvbnMuanNvbicpLFxuICAgICAgICB9KSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRhc2tzXG4gICAgICovXG4gICAgLy8gYnVpbGQgdGFza1xuICAgIHRoaXMudGFza3MucmVtb3ZlVGFzaygnYnVpbGQnKTtcbiAgICBjb25zdCBmbXRUYXNrID0gdGhpcy50YXNrcy50cnlGaW5kKCdmbXQnKTtcbiAgICBjb25zdCBidWlsZFRhc2sgPSB0aGlzLnRhc2tzLmFkZFRhc2soJ2J1aWxkJyk7XG4gICAgaWYgKHRoaXMuZGVmYXVsdFRhc2spIHtcbiAgICAgIGJ1aWxkVGFzay5zcGF3bih0aGlzLmRlZmF1bHRUYXNrKTtcbiAgICB9XG4gICAgaWYgKGZtdFRhc2spIHtcbiAgICAgIGJ1aWxkVGFzay5zcGF3bihmbXRUYXNrKTtcbiAgICB9XG4gICAgYnVpbGRUYXNrLmV4ZWMoJ3lhcm4gd29ya3NwYWNlcyBydW4gYnVpbGQnKTtcblxuICAgIC8vIFJ1biBpbiBhbGwgd29ya3NwYWNlcyB0YXNrc1xuICAgIHRoaXMudGFza3MudHJ5RmluZCgnY29tcGlsZScpPy5yZXNldCgneWFybiB3b3Jrc3BhY2VzIHJ1biBjb21waWxlJyk7XG4gICAgdGhpcy50YXNrcy50cnlGaW5kKCdwYWNrYWdlJyk/LnJlc2V0KCd5YXJuIHdvcmtzcGFjZXMgcnVuIHBhY2thZ2UnKTtcbiAgICB0aGlzLnRhc2tzLnRyeUZpbmQoJ3Rlc3QnKT8ucmVzZXQoJ3lhcm4gd29ya3NwYWNlcyBydW4gdGVzdCcpO1xuICAgIHRoaXMuYWRkVGFzaygncnVuJywge1xuICAgICAgZXhlYzogJ3lhcm4gd29ya3NwYWNlcyBydW4nLFxuICAgICAgcmVjZWl2ZUFyZ3M6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBVcGdyYWRlIGFsbCBwYWNrYWdlc1xuICAgIHRoaXMudGFza3MucmVtb3ZlVGFzaygndXBncmFkZScpO1xuICAgIHRoaXMudGFza3MuYWRkVGFzaygndXBncmFkZScsIHtcbiAgICAgIGVudjogeyBDSTogJzAnIH0sXG4gICAgICBkZXNjcmlwdGlvbjogJ1VwZ3JhZGUgZGVwZW5kZW5jaWVzIGluIGFsbCB3b3Jrc3BhY2VzJyxcbiAgICAgIHN0ZXBzOiBbXG4gICAgICAgIC8vIEl0IGlzIG5vdCBzYWZlIGFueW1vcmUgdG8gaGF2ZSAnbnBtLWNoZWNrLXVwZGF0ZXMnIGluIGEgWWFybiAxIGRlcGVuZGVuY3kgdHJlZSwgc28gcnVuIGl0IGluIGEgc2VwYXJhdGVcbiAgICAgICAgLy8gdHJlZSBieSB1c2luZyBucHguXG4gICAgICAgIHsgZXhlYzogJ25weCBucG0tY2hlY2stdXBkYXRlc0AxNiAtLWRlcD1kZXYsb3B0aW9uYWwscGVlcixwcm9kLGJ1bmRsZSAtLXVwZ3JhZGUgLS10YXJnZXQ9bWlub3InIH0sXG4gICAgICAgIHsgZXhlYzogJ3lhcm4gd29ya3NwYWNlcyBydW4gY2hlY2stZm9yLXVwZGF0ZXMnIH0sXG4gICAgICAgIHsgZXhlYzogJ3lhcm4gaW5zdGFsbCAtLWNoZWNrLWZpbGVzJyB9LFxuICAgICAgICB7IGV4ZWM6ICd5YXJuIHVwZ3JhZGUnIH0sXG4gICAgICAgIHsgc3Bhd246ICdkZWZhdWx0JyB9LFxuICAgICAgICB7IHNwYXduOiAncG9zdC11cGdyYWRlJyB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIC8vIENsZWFuIHVwIHRhc2tzIG5vdCByZXF1aXJlZCBhdCB0b3AtbGV2ZWxcbiAgICB0aGlzLnRhc2tzLnJlbW92ZVRhc2soJ2VqZWN0Jyk7XG4gICAgdGhpcy50YXNrcy5yZW1vdmVUYXNrKCd3YXRjaCcpO1xuICAgIHRoaXMudGFza3MucmVtb3ZlVGFzaygncHJlLWNvbXBpbGUnKTtcbiAgICB0aGlzLnRhc2tzLnJlbW92ZVRhc2soJ3Bvc3QtY29tcGlsZScpO1xuXG4gICAgLy8gTnhcbiAgICBpZiAob3B0aW9ucy5ueCkge1xuICAgICAgbmV3IE54KHRoaXMsIHtcbiAgICAgICAgZGVmYXVsdEJhc2U6IG9wdGlvbnMuZGVmYXVsdFJlbGVhc2VCcmFuY2gsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBSZWxlYXNlIFdvcmtmbG93XG4gICAgaWYgKG9wdGlvbnMucmVsZWFzZSkge1xuICAgICAgdGhpcy5tb25vcmVwb1JlbGVhc2UgPSBuZXcgTW9ub3JlcG9SZWxlYXNlKHRoaXMsIHtcbiAgICAgICAgd29ya2Zsb3dSdW5zT246IG9wdGlvbnMud29ya2Zsb3dSdW5zT24sXG4gICAgICAgIC4uLm9wdGlvbnMucmVsZWFzZU9wdGlvbnMsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXIocHJvamVjdDogVHlwZVNjcmlwdFdvcmtzcGFjZSkge1xuICAgIHRoaXMucHJvamVjdHMucHVzaChwcm9qZWN0KTtcbiAgfVxuXG4gIHB1YmxpYyBzeW50aCgpIHtcbiAgICB0aGlzLmZpbmFsRXNjYXBlSGF0Y2hlcygpO1xuICAgIHN1cGVyLnN5bnRoKCk7XG4gIH1cblxuICAvKipcbiAgICogQWxsb3dzIGEgc3ViIHByb2plY3QgdG8gcmVxdWVzdCBpbnN0YWxsYXRpb24gb2YgZGVwZW5kZW5jeSBhdCB0aGUgTW9ub3JlcG8gcm9vdFxuICAgKiBUaGV5IG11c3QgcHJvdmlkZSBhIGZ1bmN0aW9uIHRoYXQgaXMgZXhlY3V0ZWQgYWZ0ZXIgZGVwZW5kZW5jaWVzIGhhdmUgYmVlbiBpbnN0YWxsZWRcbiAgICogSWYgdGhpcyBmdW5jdGlvbiByZXR1cm5zIHRydWUsIHRoZSBpbnN0YWxsIGNvbW1hbmQgaXMgcnVuIGZvciBhIHNlY29uZCB0aW1lIGFmdGVyIGFsbCBzdWIgcHJvamVjdCByZXF1ZXN0cyBoYXZlIHJ1bi5cbiAgICogVGhpcyBpcyB1c2VkIHRvIHJlc29sdmUgZGVwZW5kZW5jeSB2ZXJzaW9ucyBmcm9tIGAqYCB0byBhIGNvbmNyZXRlIHZlcnNpb24gY29uc3RyYWludC5cbiAgICovXG4gIHB1YmxpYyByZXF1ZXN0SW5zdGFsbERlcGVuZGVuY2llcyhyZXNvbHZlcjogSURlcGVuZGVuY3lSZXNvbHZlcikge1xuICAgIHRoaXMucG9zdEluc3RhbGxEZXBlbmRlbmNpZXMucHVzaChyZXNvbHZlci5yZXNvbHZlRGVwc0FuZFdyaXRlUGFja2FnZUpzb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvZGUgdGhhdCBuZWVkcyB0byBydW4ganVzdCBiZWZvcmUgc3ludGgsIGJ1dCBhZnRlciBhbGwgb3RoZXIgY29kZVxuICAgKi9cbiAgcHJpdmF0ZSBmaW5hbEVzY2FwZUhhdGNoZXMoKSB7XG4gICAgLy8gR2V0IHRoZSBPYmplY3RGaWxlXG4gICAgdGhpcy5wYWNrYWdlLmFkZEZpZWxkKCdwcml2YXRlJywgdHJ1ZSk7XG4gICAgdGhpcy5wYWNrYWdlLmFkZEZpZWxkKCd3b3Jrc3BhY2VzJywge1xuICAgICAgcGFja2FnZXM6IHRoaXMucHJvamVjdHMubWFwKChwKSA9PiBwLndvcmtzcGFjZURpcmVjdG9yeSksXG4gICAgICAuLi50aGlzLnJlbmRlck5vSG9pc3QoKSxcbiAgICB9KTtcblxuICAgIHRoaXMudHNjb25maWc/LmZpbGUuYWRkT3ZlcnJpZGUoJ2luY2x1ZGUnLCBbXSk7XG4gICAgdGhpcy50c2NvbmZpZ0Rldj8uZmlsZS5hZGRPdmVycmlkZSgnaW5jbHVkZScsIFsnLnByb2plbnJjLnRzJywgJ3Byb2plbnJjLyoqLyoudHMnXSk7XG4gICAgZm9yIChjb25zdCB0c2NvbmZpZyBvZiBbdGhpcy50c2NvbmZpZywgdGhpcy50c2NvbmZpZ0Rldl0pIHtcbiAgICAgIHRzY29uZmlnPy5maWxlLmFkZE92ZXJyaWRlKFxuICAgICAgICAncmVmZXJlbmNlcycsXG4gICAgICAgIHRoaXMucHJvamVjdHMubWFwKChwKSA9PiAoeyBwYXRoOiBwLndvcmtzcGFjZURpcmVjdG9yeSB9KSksXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMucGFja2FnZS5hZGRGaWVsZCgnamVzdCcsIHtcbiAgICAgIHByb2plY3RzOiB0aGlzLnByb2plY3RzLm1hcCgocCkgPT4gYDxyb290RGlyPi8ke3Aud29ya3NwYWNlRGlyZWN0b3J5fWApLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlciB0aGUgJ25vaG9pc3QnIGRpcmVjdGl2ZVxuICAgKlxuICAgKiBCdW5kbGVkIGRlcGVuZGVuY2llcyBtdXN0IGJlIG5vaG9pc3QnZWQsIG90aGVyd2lzZSBOUE0gc2lsZW50bHkgd29uJ3QgYnVuZGxlIHRoZW0uXG4gICAqXG4gICAqIFJlbmRlcnMgYW4gb2JqZWN0IHRoYXQgc2hvdWxkIGJlIG1peGVkIGludG8gdGhlIGB3b3Jrc3BhY2VzYCBvYmplY3QuXG4gICAqL1xuICBwcml2YXRlIHJlbmRlck5vSG9pc3QoKTogYW55IHtcbiAgICBjb25zdCBub2hvaXN0ID0gdGhpcy5wcm9qZWN0cy5mbGF0TWFwKHAgPT4gcC5idW5kbGVkRGVwcy5mbGF0TWFwKGRlcCA9PiBbXG4gICAgICBgJHtwLm5hbWV9LyR7ZGVwfWAsXG4gICAgICBgJHtwLm5hbWV9LyR7ZGVwfS8qKmAsXG4gICAgXSkpO1xuICAgIHJldHVybiBub2hvaXN0Lmxlbmd0aCA+IDAgPyB7IG5vaG9pc3QgfSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBIb29rcyBpbnRvIHRoZSBpbnN0YWxsIGRlcGVuZGVuY2llcyBjeWNsZVxuICAgKi9cbiAgcHVibGljIHBvc3RTeW50aGVzaXplKCkge1xuICAgIGlmICh0aGlzLnBvc3RJbnN0YWxsRGVwZW5kZW5jaWVzLmxlbmd0aCkge1xuICAgICAgY29uc3Qgbm9kZVBrZzogYW55ID0gdGhpcy5wYWNrYWdlO1xuICAgICAgbm9kZVBrZy5pbnN0YWxsRGVwZW5kZW5jaWVzKCk7XG5cbiAgICAgIGNvbnN0IGNvbXBsZXRlZFJlcXVlc3RzID0gdGhpcy5wb3N0SW5zdGFsbERlcGVuZGVuY2llcy5tYXAoKHJlcXVlc3QpID0+IHJlcXVlc3QoKSk7XG4gICAgICBpZiAoY29tcGxldGVkUmVxdWVzdHMuc29tZShCb29sZWFuKSkge1xuICAgICAgICBub2RlUGtnLmluc3RhbGxEZXBlbmRlbmNpZXMoKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5wb3N0SW5zdGFsbERlcGVuZGVuY2llcyA9IFtdO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEZXBlbmRlbmN5UmVzb2x2ZXIge1xuICByZXNvbHZlRGVwc0FuZFdyaXRlUGFja2FnZUpzb24oKTogYm9vbGVhbjtcbn1cblxuZnVuY3Rpb24gZ2V0T2JqRnJvbUZpbGUocHJvamVjdDogUHJvamVjdCwgZmlsZTogc3RyaW5nKTogb2JqZWN0IHtcbiAgcmV0dXJuIChwcm9qZWN0LnRyeUZpbmRPYmplY3RGaWxlKGZpbGUpIGFzIGFueSk/Lm9iajtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBDZGtMYWJzTW9ub3JlcG9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZGtMYWJzTW9ub3JlcG9PcHRpb25zIGV4dGVuZHMgTW9ub3JlcG9PcHRpb25zIHt9XG5cbi8qKlxuICogT3BpbmlvbmF0ZWQgaW1wbGVtZW50YXRpb24gb2YgeWFybi5Nb25vcmVwb1xuICogQHBqaWQgY2RrbGFicy15YXJuLW1vbm9yZXBvXG4gKi9cbmV4cG9ydCBjbGFzcyBDZGtMYWJzTW9ub3JlcG8gZXh0ZW5kcyBNb25vcmVwbyB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IENka0xhYnNNb25vcmVwb09wdGlvbnMpIHtcbiAgICBzdXBlcih7XG4gICAgICBwcm9qZW5yY1RzOiB0cnVlLFxuXG4gICAgICBhdXRvQXBwcm92ZVVwZ3JhZGVzOiB0cnVlLFxuICAgICAgYXV0b0FwcHJvdmVPcHRpb25zOiB7XG4gICAgICAgIGFsbG93ZWRVc2VybmFtZXM6IFsnZ2l0aHViLWJvdCcsICdjZGtsYWJzLWF1dG9tYXRpb24nLCAnZGVwZW5kYWJvdFtib3RdJ10sXG4gICAgICAgIHNlY3JldDogJ0dJVEhVQl9UT0tFTicsXG4gICAgICB9LFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGdpdGh1Yk9wdGlvbnM6IHtcbiAgICAgICAgLi4ub3B0aW9ucy5naXRodWJPcHRpb25zLFxuICAgICAgICBtZXJnaWZ5OiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICAvLyBEZXZpYXRpb24gZnJvbSB1cHN0cmVhbSBwcm9qZW46IHVwc3RyZWFtIHByb2plbiBkZWZhdWx0cyB0byBtaW5Ob2RlVmVyc2lvbiwgYnV0IHdlIGhhdmUgdG9vIG1hbnkgd29ya2Zsb3dzXG4gICAgICAvLyB0aGF0IHVzZSB0b29scyB0aGF0IHdhbnQgYSByZWNlbnQgTm9kZSB2ZXJzaW9uLCBzbyBkZWZhdWx0IHRvIGEgcmVhc29uYWJsZSBmbG9hdGluZyB2ZXJzaW9uLlxuICAgICAgd29ya2Zsb3dOb2RlVmVyc2lvbjogb3B0aW9ucy53b3JrZmxvd05vZGVWZXJzaW9uID8/ICdsdHMvKicsXG4gICAgfSk7XG5cbiAgICBuZXcgZ2l0aHViLk1lcmdlUXVldWUodGhpcywge1xuICAgICAgYXV0b1F1ZXVlT3B0aW9uczoge1xuICAgICAgICBwcm9qZW5DcmVkZW50aWFsczogZ2l0aHViLkdpdGh1YkNyZWRlbnRpYWxzLmZyb21QZXJzb25hbEFjY2Vzc1Rva2VuKHsgc2VjcmV0OiAnUFJPSkVOX0dJVEhVQl9UT0tFTicgfSksXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -104,5 +104,5 @@ class WorkspaceRelease extends projen_1.Component {
104
104
  }
105
105
  exports.WorkspaceRelease = WorkspaceRelease;
106
106
  _a = JSII_RTTI_SYMBOL_1;
107
- WorkspaceRelease[_a] = { fqn: "cdklabs-projen-project-types.yarn.WorkspaceRelease", version: "0.1.217" };
107
+ WorkspaceRelease[_a] = { fqn: "cdklabs-projen-project-types.yarn.WorkspaceRelease", version: "0.1.218" };
108
108
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC13b3Jrc3BhY2UtcmVsZWFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy95YXJuL3R5cGVzY3JpcHQtd29ya3NwYWNlLXJlbGVhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrQ0FBa0M7QUFDbEMsbUNBQW9HO0FBQ3BHLGlFQUFzRTtBQWN0RSxNQUFhLGdCQUFpQixTQUFRLGtCQUFTO0lBSzdDLFlBQW1CLE9BQTRCLEVBQUUsT0FBZ0M7UUFDL0UsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7UUFFekIsK0RBQStEO1FBQy9ELG1FQUFtRTtRQUNuRSwwRUFBMEU7UUFDMUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksZ0JBQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUN6QyxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsNENBQTRDO2dCQUM5RSxrQkFBa0IsRUFBRSxPQUFPLENBQUMsa0JBQWtCO2dCQUM5QyxnQkFBZ0IsRUFBRTtvQkFDaEIsSUFBSSxFQUFFLEdBQUcsRUFBRSwwRkFBMEY7aUJBQ3RHO2dCQUNELGlEQUFpRDtnQkFDakQsb0RBQW9EO2dCQUNwRCx1REFBdUQ7Z0JBQ3ZELFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLEdBQUc7Z0JBRTdCLGtFQUFrRTtnQkFDbEUseUVBQXlFO2dCQUN6RSxpQkFBaUIsRUFBRSxPQUFPLENBQUMsaUJBQWlCLElBQUksMEJBQWlCLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQztnQkFFbEYsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLGtCQUFrQjthQUMvQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksZ0JBQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFB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LFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO2dCQUMvQixXQUFXLEVBQUUsZ0RBQWdEO2FBQzlELENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7QUFsSEgsNENBbUhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBSZWxlYXNhYmxlQ29tbWl0cywgVGFzaywgVmVyc2lvbiwgVmVyc2lvbkJyYW5jaE9wdGlvbnMsIHJlbGVhc2UgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgR2F0aGVyVmVyc2lvbnMsIFZlcnNpb25NYXRjaCB9IGZyb20gJy4vZ2F0aGVyLXZlcnNpb25zLnRhc2snO1xuaW1wb3J0IHsgVHlwZVNjcmlwdFdvcmtzcGFjZSB9IGZyb20gJy4vdHlwZXNjcmlwdC13b3Jrc3BhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtzcGFjZVJlbGVhc2VPcHRpb25zIHtcbiAgcmVhZG9ubHkgcHJpdmF0ZTogYm9vbGVhbjtcblxuICAvKiogQGRlZmF1bHQgJ2x0cy8qJyAqL1xuICByZWFkb25seSB3b3JrZmxvd05vZGVWZXJzaW9uPzogc3RyaW5nO1xuICByZWFkb25seSBwdWJsaXNoVG9OcG0/OiBib29sZWFuO1xuICByZWFkb25seSByZWxlYXNhYmxlQ29tbWl0cz86IFJlbGVhc2FibGVDb21taXRzO1xuICByZWFkb25seSBuZXh0VmVyc2lvbkNvbW1hbmQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZlcnNpb25CcmFuY2hPcHRpb25zOiBWZXJzaW9uQnJhbmNoT3B0aW9ucztcbn1cblxuZXhwb3J0IGNsYXNzIFdvcmtzcGFjZVJlbGVhc2UgZXh0ZW5kcyBDb21wb25lbnQge1xuICBwdWJsaWMgcmVhZG9ubHkgcHVibGlzaGVyPzogcmVsZWFzZS5QdWJsaXNoZXI7XG4gIHB1YmxpYyByZWFkb25seSB2ZXJzaW9uPzogVmVyc2lvbjtcbiAgcHVibGljIHJlYWRvbmx5IHdvcmtzcGFjZTogVHlwZVNjcmlwdFdvcmtzcGFjZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJvamVjdDogVHlwZVNjcmlwdFdvcmtzcGFjZSwgb3B0aW9uczogV29ya3NwYWNlUmVsZWFzZU9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcbiAgICB0aGlzLndvcmtzcGFjZSA9IHByb2plY3Q7XG5cbiAgICAvLyBUaGUgcm9vdCBwYWNrYWdlIGlzIHJlbGVhc2UtYXdhcmUuIEVpdGhlciB3ZSBjcmVhdGUgYSBwcm9wZXJcbiAgICAvLyAneWFybiByZWxlYXNlJyB0YXNrIGhlcmUsIG9yIHdlIGNyZWF0ZSBhIGZha2Ugb25lIHRoYXQganVzdCBkb2VzXG4gICAgLy8gYSAnYnVpbGQnICh3aWxsIGJlIHJ1biBpbiBkZXBlbmRlbmN5IG9yZGVyIGJ5IHRoZSBwYXJlbnQgcmVsZWFzZSB0YXNrKS5cbiAgICBpZiAoIW9wdGlvbnMucHJpdmF0ZSkge1xuICAgICAgdGhpcy52ZXJzaW9uID0gbmV3IFZlcnNpb24odGhpcy53b3Jrc3BhY2UsIHtcbiAgICAgICAgdmVyc2lvbklucHV0RmlsZTogJ3BhY2thZ2UuanNvbicsIC8vIHRoaXMgaXMgd2hlcmUgXCJ2ZXJzaW9uXCIgaXMgc2V0IGFmdGVyIGJ1bXBcbiAgICAgICAgYXJ0aWZhY3RzRGlyZWN0b3J5OiBwcm9qZWN0LmFydGlmYWN0c0RpcmVjdG9yeSxcbiAgICAgICAgdmVyc2lvbnJjT3B0aW9uczoge1xuICAgICAgICAgIHBhdGg6ICcuJywgLy8gSW4gYSBtb25vcmVwbywgd2Ugd2FudCBzdGFuZGFyZC12ZXJzaW9uIHRvIG9ubHkgY29uc2lkZXIgdGhlIGRpcmVjdG9yeSBvZiB0aGUgd29ya3NwYWNlXG4gICAgICAgIH0sXG4gICAgICAgIC8vIFRoaXMgbWl4ZXMgdGhlIHBhY2thZ2UgbmFtZSBpbnRvIHRoZSB0YWcgbmFtZSxcbiAgICAgICAgLy8gc28gdGhhdCB3ZSBjYW4gZ2l2ZSBwYWNrYWdlcyBpbmRpdmlkdWFsIHZlcnNpb25zLlxuICAgICAgICAvLyBUYWdzIGVuZCB1cCBsb29raW5nIGxpa2UgdGhpczogQHNjb3BlL3BhY2thZ2VAdjEuMi4zXG4gICAgICAgIHRhZ1ByZWZpeDogYCR7cHJvamVjdC5uYW1lfUBgLFxuXG4gICAgICAgIC8vIEluIGEgbW9ub3JlcG8sIG9ubHkgY29uc2lkZXIgY2hhbmdlcyByZWxldmFudCB0byB0aGUgc3VicHJvamVjdFxuICAgICAgICAvLyBQYXRoIGlzIHJlbGF0aXZlIHRvIHRoZSBzdWJwcm9qZWN0IG91dGRpciwgc28gJy4nIGlzIHdoYXQgd2Ugd2FudCBoZXJlXG4gICAgICAgIHJlbGVhc2FibGVDb21taXRzOiBvcHRpb25zLnJlbGVhc2FibGVDb21taXRzID8/IFJlbGVhc2FibGVDb21taXRzLmV2ZXJ5Q29tbWl0KCcuJyksXG5cbiAgICAgICAgbmV4dFZlcnNpb25Db21tYW5kOiBvcHRpb25zLm5leHRWZXJzaW9uQ29tbWFuZCxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnB1Ymxpc2hlciA9IG5ldyByZWxlYXNlLlB1Ymxpc2hlcih0aGlzLndvcmtzcGFjZSwge1xuICAgICAgICBhcnRpZmFjdE5hbWU6IHByb2plY3QuYXJ0aWZhY3RzRGlyZWN0b3J5LFxuICAgICAgICBjb25kaXRpb246ICduZWVkcy5yZWxlYXNlLm91dHB1dHMubGF0ZXN0X2NvbW1pdCA9PSBnaXRodWIuc2hhJyxcbiAgICAgICAgYnVpbGRKb2JJZDogJ3JlbGVhc2UnLFxuICAgICAgICB3b3JrZmxvd05vZGVWZXJzaW9uOiBvcHRpb25zLndvcmtmbG93Tm9kZVZlcnNpb24gPz8gJ2x0cy8qJyxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnB1Ymxpc2hlci5wdWJsaXNoVG9HaXRIdWJSZWxlYXNlcyh7XG4gICAgICAgIGNoYW5nZWxvZ0ZpbGU6IHBhdGgucG9zaXguam9pbihwcm9qZWN0LmFydGlmYWN0c0RpcmVjdG9yeSwgdGhpcy52ZXJzaW9uLmNoYW5nZWxvZ0ZpbGVOYW1lKSxcbiAgICAgICAgdmVyc2lvbkZpbGU6IHBhdGgucG9zaXguam9pbihwcm9qZWN0LmFydGlmYWN0c0RpcmVjdG9yeSwgdGhpcy52ZXJzaW9uLnZlcnNpb25GaWxlTmFtZSksXG4gICAgICAgIHJlbGVhc2VUYWdGaWxlOiBwYXRoLnBvc2l4LmpvaW4ocHJvamVjdC5hcnRpZmFjdHNEaXJlY3RvcnksIHRoaXMudmVyc2lvbi5yZWxlYXNlVGFnRmlsZU5hbWUpLFxuICAgICAgfSk7XG5cbiAgICAgIC8vIEdpdEh1YiBSZWxlYXNlcyBjb21lcyBmb3IgZnJlZSB3aXRoIGEgYFJlbGVhc2VgIGNvbXBvbmVudCwgTlBNIG11c3QgYmUgYWRkZWQgZXhwbGljaXRseVxuICAgICAgaWYgKG9wdGlvbnMucHVibGlzaFRvTnBtID8/IHRydWUpIHtcbiAgICAgICAgdGhpcy5wdWJsaXNoZXIucHVibGlzaFRvTnBtKHtcbiAgICAgICAgICByZWdpc3RyeTogcHJvamVjdC5wYWNrYWdlLm5wbVJlZ2lzdHJ5LFxuICAgICAgICAgIG5wbVRva2VuU2VjcmV0OiBwcm9qZWN0LnBhY2thZ2UubnBtVG9rZW5TZWNyZXQsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRoaXMgdGFza3Mgc2V0cyBhbGwgbG9jYWwgZGVwZW5kZW5jaWVzIHRvIHRoZWlyIGN1cnJlbnQgdmVyc2lvblxuICAgIC8vIEluIHRoZSBtb25vcmVwbyB3ZSBjYWxsIHRoaXMgdGFzayBpbiB0b3BvbG9naWNhbCBvcmRlci5cbiAgICAvLyBUaGVyZWZvciBpdCBpcyBndWFyYW50ZWVkIHRoYXQgYW55IGxvY2FsIHBhY2thZ2VzIGEgcGFja2FnZSBkZXBlbmRzIG9uLFxuICAgIC8vIGFscmVhZHkgaGF2ZSBiZWVuIGJ1bXBlZC5cbiAgICBjb25zdCBnYXRoZXJWZXJzaW9ucyA9IHByb2plY3QuYWRkVGFzaygnZ2F0aGVyLXZlcnNpb25zJywge1xuICAgICAgc3RlcHM6IFtuZXcgR2F0aGVyVmVyc2lvbnMocHJvamVjdCwgVmVyc2lvbk1hdGNoLk1BSk9SKV0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBidW1wVGFzayA9IHRoaXMub2J0YWluQnVtcFRhc2soKTtcbiAgICBidW1wVGFzay5wcmVwZW5kU3Bhd24oZ2F0aGVyVmVyc2lvbnMpO1xuICAgIC8vIFRoZSBidW1wVGFzayBuZWVkcyB0byBiZSBleGVjdXRlZCB3aXRoIGVudmlyb25tZW50IHZhcmlhYmxlcyB0aGF0IGNvbnRyb2xcbiAgICAvLyB2ZXJzaW9uIGluZm9ybWF0aW9uLiBUaGVzZSBhcmUgbm90IHBhcnQgb2YgdGhlIHVwc3RyZWFtIHRhc2sgaXRzZWxmIHlldCxcbiAgICAvLyBzaW5jZSB0aGV5IGFyZSBwYXJ0IG9mIHRoZSBpbnZvY2F0aW9uIHRoZXJlLiBXZSBhbHNvIG5lZWQgdG8gbWFrZSB0aGVtIHBhcnRcbiAgICAvLyBvZiB0aGUgaW52b2NhdGlvbiBoZXJlLlxuICAgIGlmICh0aGlzLnZlcnNpb24pIHtcbiAgICAgIGlmIChvcHRpb25zLnZlcnNpb25CcmFuY2hPcHRpb25zPy50YWdQcmVmaXgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdEbyBub3Qgc2V0IHZlcnNpb25CcmFuY2hPcHRpb25zLnRhZ1ByZWZpeDsgaXQgaXMgY29uZmlndXJlZCBhbm90aGVyIHdheScpO1xuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXModGhpcy52ZXJzaW9uLmVudkZvckJyYW5jaCh7XG4gICAgICAgIC4uLm9wdGlvbnMudmVyc2lvbkJyYW5jaE9wdGlvbnMsXG4gICAgICB9KSkpIHtcbiAgICAgICAgYnVtcFRhc2suZW52KGtleSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gQWZ0ZXIgd2UgaGF2ZSB1bmJ1bXBlZCBwYWNrYWdlIHZlcnNpb25zIGJhY2sgdG8gMC4wLjAsXG4gICAgLy8gd2UgY2FuIHJ1biB0aGUgZ2F0aGVyLXZlcnNpb25zIHRhc2sgYWdhaW4gd2hpY2ggd2lsbCBub3cgcmVwbGFjZSB0aGUgdG8tYmUtcmVsZWFzZSB2ZXJzaW9ucyB3aXRoIDAuMC4wXG4gICAgdGhpcy5vYnRhaW5VbmJ1bXBUYXNrKCkuc3Bhd24oZ2F0aGVyVmVyc2lvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgYnVtcCB2ZXJzaW9uIHRhc2tcbiAgICpcbiAgICogSWYgdGhpcyBpcyBhIHByaXZhdGUgcGFja2FnZSwgaXQgd29uJ3QgaGF2ZSBhIGJ1bXAgdGFzayB5ZXQuXG4gICAqIFNvIGluc3RlYWQgd2UgY3JlYXRlIGFuIGVtcHR5IG9uZSB0aGF0IGNhbiBiZSBjYWxsZWQgZnJvbSB0aGUgbW9ub3JlcG8gcm9vdFxuICAgKiBhbmQgc2VydmUgYXMgYSBjb250YWluZXIgZm9yIG90aGVyIHN0ZXBzIHRoYXQgbmVlZCB0byBvY2N1ciBhcyBwYXJ0IG9mIHRoZSByZWxlYXNlXG4gICAqL1xuICBwcml2YXRlIG9idGFpbkJ1bXBUYXNrKCk6IFRhc2sge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLndvcmtzcGFjZS50YXNrcy50cnlGaW5kKCdidW1wJykgPz9cbiAgICAgIHRoaXMud29ya3NwYWNlLmFkZFRhc2soJ2J1bXAnLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnQnVtcHMgdmVyc2lvbnMgb2YgbG9jYWwgZGVwZW5kZW5jaWVzJyxcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHVuYnVtcCB2ZXJzaW9uIHRhc2tcbiAgICouXG4gICAqIElmIHRoaXMgaXMgYSBwcml2YXRlIHBhY2thZ2UsIGl0IHdvbid0IGhhdmUgYSBidW1wIHRhc2sgeWV0XG4gICAqIFNvIGluc3RlYWQgd2UgY3JlYXRlIGFuIGVtcHR5IG9uZSB0aGF0IGNhbiBiZSBjYWxsZWQgZnJvbSB0aGUgbW9ub3JlcG8gcm9vdFxuICAgKiBhbmQgc2VydmUgYXMgYSBjb250YWluZXIgZm9yIG90aGVyIHN0ZXBzIHRoYXQgbmVlZCB0byBvY2N1ciBhcyBwYXJ0IG9mIHRoZSByZWxlYXNlXG4gICAqL1xuICBwcml2YXRlIG9idGFpblVuYnVtcFRhc2soKTogVGFzayB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMud29ya3NwYWNlLnRhc2tzLnRyeUZpbmQoJ3VuYnVtcCcpID8/XG4gICAgICB0aGlzLndvcmtzcGFjZS5hZGRUYXNrKCd1bmJ1bXAnLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUmVzZXRzIHZlcnNpb25zIG9mIGxvY2FsIGRlcGVuZGVuY2llcyB0byAwLjAuMCcsXG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -184,7 +184,7 @@ class TypeScriptWorkspace extends projen_1.typescript.TypeScriptProject {
184
184
  }
185
185
  exports.TypeScriptWorkspace = TypeScriptWorkspace;
186
186
  _a = JSII_RTTI_SYMBOL_1;
187
- TypeScriptWorkspace[_a] = { fqn: "cdklabs-projen-project-types.yarn.TypeScriptWorkspace", version: "0.1.217" };
187
+ TypeScriptWorkspace[_a] = { fqn: "cdklabs-projen-project-types.yarn.TypeScriptWorkspace", version: "0.1.218" };
188
188
  function packageNames(xs) {
189
189
  if (!xs) {
190
190
  return undefined;
package/package.json CHANGED
@@ -54,7 +54,7 @@
54
54
  "jsii-pacmak": "^1.106.0",
55
55
  "jsii-reflect": "^1.106.0",
56
56
  "jsii-rosetta": "~5.5",
57
- "projen": "^0.91.6",
57
+ "projen": "^0.91.8",
58
58
  "ts-jest": "^29",
59
59
  "ts-node": "^10.9.2",
60
60
  "typescript": "~5.5"
@@ -74,7 +74,7 @@
74
74
  "publishConfig": {
75
75
  "access": "public"
76
76
  },
77
- "version": "0.1.217",
77
+ "version": "0.1.218",
78
78
  "jest": {
79
79
  "coverageProvider": "v8",
80
80
  "testMatch": [