projen 0.38.4 → 0.39.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/.jsii +48 -28
  2. package/API.md +15 -11
  3. package/lib/awscdk/auto-discover.js +1 -1
  4. package/lib/awscdk/awscdk-app-ts.js +1 -1
  5. package/lib/awscdk/awscdk-construct.d.ts +21 -13
  6. package/lib/awscdk/awscdk-construct.js +64 -34
  7. package/lib/awscdk/cdk-config.js +1 -1
  8. package/lib/awscdk/cdk-tasks.js +1 -1
  9. package/lib/awscdk/integration-test.js +1 -1
  10. package/lib/awscdk/java-app.js +1 -1
  11. package/lib/awscdk/lambda-function.js +2 -2
  12. package/lib/cdk/construct-lib.js +1 -1
  13. package/lib/cdk/jsii-docgen.js +1 -1
  14. package/lib/cdk/jsii-project.js +1 -1
  15. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  16. package/lib/cdk8s/cdk8s-construct.js +1 -1
  17. package/lib/cdktf/cdktf-construct.js +1 -1
  18. package/lib/component.js +1 -1
  19. package/lib/dependencies.js +1 -1
  20. package/lib/dev-env.js +1 -1
  21. package/lib/docker-compose.js +2 -2
  22. package/lib/file.js +1 -1
  23. package/lib/gitattributes.js +1 -1
  24. package/lib/github/auto-approve.js +1 -1
  25. package/lib/github/auto-merge.js +1 -1
  26. package/lib/github/dependabot.js +1 -1
  27. package/lib/github/github-project.js +1 -1
  28. package/lib/github/github.js +1 -1
  29. package/lib/github/mergify.js +1 -1
  30. package/lib/github/pr-template.js +1 -1
  31. package/lib/github/pull-request-lint.js +1 -1
  32. package/lib/github/stale.js +1 -1
  33. package/lib/github/task-workflow.js +1 -1
  34. package/lib/github/workflows.js +1 -1
  35. package/lib/gitpod.js +1 -1
  36. package/lib/ignore-file.js +1 -1
  37. package/lib/ini.js +1 -1
  38. package/lib/java/java-project.js +1 -1
  39. package/lib/java/junit.js +1 -1
  40. package/lib/java/maven-compile.js +1 -1
  41. package/lib/java/maven-packaging.js +1 -1
  42. package/lib/java/maven-sample.js +1 -1
  43. package/lib/java/pom.js +1 -1
  44. package/lib/java/projenrc.js +1 -1
  45. package/lib/javascript/bundler.js +1 -1
  46. package/lib/javascript/eslint.js +1 -1
  47. package/lib/javascript/jest.js +1 -1
  48. package/lib/javascript/node-package.js +1 -1
  49. package/lib/javascript/node-project.js +1 -1
  50. package/lib/javascript/npm-config.js +1 -1
  51. package/lib/javascript/projenrc.js +1 -1
  52. package/lib/javascript/typescript-config.js +1 -1
  53. package/lib/javascript/upgrade-dependencies.js +2 -2
  54. package/lib/json.js +1 -1
  55. package/lib/license.js +1 -1
  56. package/lib/logger.js +1 -1
  57. package/lib/makefile.js +1 -1
  58. package/lib/object-file.js +1 -1
  59. package/lib/project-build.js +1 -1
  60. package/lib/project.js +1 -1
  61. package/lib/projects.js +1 -1
  62. package/lib/projenrc-json.js +1 -1
  63. package/lib/python/pip.js +1 -1
  64. package/lib/python/poetry.js +2 -2
  65. package/lib/python/projenrc.js +1 -1
  66. package/lib/python/pytest.js +1 -1
  67. package/lib/python/python-project.js +1 -1
  68. package/lib/python/python-sample.js +1 -1
  69. package/lib/python/requirements-file.js +1 -1
  70. package/lib/python/setuppy.js +1 -1
  71. package/lib/python/setuptools.js +1 -1
  72. package/lib/python/venv.js +1 -1
  73. package/lib/readme.js +1 -1
  74. package/lib/release/publisher.js +1 -1
  75. package/lib/release/release-trigger.js +1 -1
  76. package/lib/release/release.js +1 -1
  77. package/lib/sample-file.js +2 -2
  78. package/lib/semver.js +1 -1
  79. package/lib/source-code.js +1 -1
  80. package/lib/task-runtime.js +1 -1
  81. package/lib/task.js +1 -1
  82. package/lib/tasks.js +1 -1
  83. package/lib/textfile.js +1 -1
  84. package/lib/toml.js +1 -1
  85. package/lib/typescript/projenrc.js +1 -1
  86. package/lib/typescript/typescript-typedoc.js +1 -1
  87. package/lib/typescript/typescript.js +3 -3
  88. package/lib/version.js +1 -1
  89. package/lib/vscode/devcontainer.js +1 -1
  90. package/lib/vscode/launch-config.js +1 -1
  91. package/lib/vscode/vscode.js +1 -1
  92. package/lib/web/next.js +3 -3
  93. package/lib/web/postcss.js +1 -1
  94. package/lib/web/react.js +4 -4
  95. package/lib/web/tailwind.js +1 -1
  96. package/lib/xmlfile.js +1 -1
  97. package/lib/yaml.js +1 -1
  98. package/package.json +1 -1
package/.jsii CHANGED
@@ -9163,7 +9163,7 @@
9163
9163
  },
9164
9164
  "locationInModule": {
9165
9165
  "filename": "src/awscdk/awscdk-construct.ts",
9166
- "line": 112
9166
+ "line": 129
9167
9167
  },
9168
9168
  "parameters": [
9169
9169
  {
@@ -9177,7 +9177,7 @@
9177
9177
  "kind": "class",
9178
9178
  "locationInModule": {
9179
9179
  "filename": "src/awscdk/awscdk-construct.ts",
9180
- "line": 101
9180
+ "line": 118
9181
9181
  },
9182
9182
  "methods": [
9183
9183
  {
@@ -9188,7 +9188,7 @@
9188
9188
  },
9189
9189
  "locationInModule": {
9190
9190
  "filename": "src/awscdk/awscdk-construct.ts",
9191
- "line": 180
9191
+ "line": 228
9192
9192
  },
9193
9193
  "name": "addCdkDependencies",
9194
9194
  "parameters": [
@@ -9212,7 +9212,7 @@
9212
9212
  },
9213
9213
  "locationInModule": {
9214
9214
  "filename": "src/awscdk/awscdk-construct.ts",
9215
- "line": 196
9215
+ "line": 244
9216
9216
  },
9217
9217
  "name": "addCdkTestDependencies",
9218
9218
  "parameters": [
@@ -9241,7 +9241,7 @@
9241
9241
  "immutable": true,
9242
9242
  "locationInModule": {
9243
9243
  "filename": "src/awscdk/awscdk-construct.ts",
9244
- "line": 110
9244
+ "line": 127
9245
9245
  },
9246
9246
  "name": "cdkDependenciesAsDeps",
9247
9247
  "type": {
@@ -9256,7 +9256,7 @@
9256
9256
  "immutable": true,
9257
9257
  "locationInModule": {
9258
9258
  "filename": "src/awscdk/awscdk-construct.ts",
9259
- "line": 105
9259
+ "line": 122
9260
9260
  },
9261
9261
  "name": "cdkVersion",
9262
9262
  "type": {
@@ -9271,7 +9271,7 @@
9271
9271
  "immutable": true,
9272
9272
  "locationInModule": {
9273
9273
  "filename": "src/awscdk/awscdk-construct.ts",
9274
- "line": 163
9274
+ "line": 211
9275
9275
  },
9276
9276
  "name": "version",
9277
9277
  "type": {
@@ -9306,7 +9306,7 @@
9306
9306
  "custom": {
9307
9307
  "featured": "true"
9308
9308
  },
9309
- "default": "\"1.129.0\"",
9309
+ "default": "\"2.0.0\"",
9310
9310
  "stability": "experimental",
9311
9311
  "summary": "Minimum target version this library is tested against."
9312
9312
  },
@@ -9323,14 +9323,15 @@
9323
9323
  {
9324
9324
  "abstract": true,
9325
9325
  "docs": {
9326
- "default": "true",
9327
- "stability": "experimental",
9326
+ "default": "false",
9327
+ "deprecated": "- use cdkAssertions instead",
9328
+ "stability": "deprecated",
9328
9329
  "summary": "Install the @aws-cdk/assert library?"
9329
9330
  },
9330
9331
  "immutable": true,
9331
9332
  "locationInModule": {
9332
9333
  "filename": "src/awscdk/awscdk-construct.ts",
9333
- "line": 66
9334
+ "line": 69
9334
9335
  },
9335
9336
  "name": "cdkAssert",
9336
9337
  "optional": true,
@@ -9341,10 +9342,27 @@
9341
9342
  {
9342
9343
  "abstract": true,
9343
9344
  "docs": {
9344
- "custom": {
9345
- "featured": "true"
9346
- },
9345
+ "default": "true",
9346
+ "remarks": "Only needed for CDK 1.x. If using CDK 2.x then\nassertions is already included in 'aws-cdk-lib'",
9347
9347
  "stability": "experimental",
9348
+ "summary": "Install the @aws-cdk/assertions library?"
9349
+ },
9350
+ "immutable": true,
9351
+ "locationInModule": {
9352
+ "filename": "src/awscdk/awscdk-construct.ts",
9353
+ "line": 79
9354
+ },
9355
+ "name": "cdkAssertions",
9356
+ "optional": true,
9357
+ "type": {
9358
+ "primitive": "boolean"
9359
+ }
9360
+ },
9361
+ {
9362
+ "abstract": true,
9363
+ "docs": {
9364
+ "deprecated": "- For CDK 2.x use 'peerDeps' instead",
9365
+ "stability": "deprecated",
9348
9366
  "summary": "Which AWS CDK modules (those that start with \"@aws-cdk/\") does this library require when consumed?"
9349
9367
  },
9350
9368
  "immutable": true,
@@ -9367,14 +9385,15 @@
9367
9385
  "abstract": true,
9368
9386
  "docs": {
9369
9387
  "default": "true",
9388
+ "deprecated": "- Not used for CDK 2.x",
9370
9389
  "remarks": "This is to ensure that downstream consumers actually have your CDK dependencies installed\nwhen using npm < 7 or yarn, where peer dependencies are not automatically installed.\nIf this is disabled, `cdkDependencies` will be added to `devDependencies` to ensure\nthey are present during development.",
9371
- "stability": "experimental",
9390
+ "stability": "deprecated",
9372
9391
  "summary": "If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`)."
9373
9392
  },
9374
9393
  "immutable": true,
9375
9394
  "locationInModule": {
9376
9395
  "filename": "src/awscdk/awscdk-construct.ts",
9377
- "line": 60
9396
+ "line": 61
9378
9397
  },
9379
9398
  "name": "cdkDependenciesAsDeps",
9380
9399
  "optional": true,
@@ -9388,13 +9407,14 @@
9388
9407
  "custom": {
9389
9408
  "featured": "true"
9390
9409
  },
9391
- "stability": "experimental",
9410
+ "deprecated": "- For CDK 2.x use 'devDeps' instead",
9411
+ "stability": "deprecated",
9392
9412
  "summary": "AWS CDK modules required for testing."
9393
9413
  },
9394
9414
  "immutable": true,
9395
9415
  "locationInModule": {
9396
9416
  "filename": "src/awscdk/awscdk-construct.ts",
9397
- "line": 72
9417
+ "line": 89
9398
9418
  },
9399
9419
  "name": "cdkTestDependencies",
9400
9420
  "optional": true,
@@ -9418,7 +9438,7 @@
9418
9438
  "immutable": true,
9419
9439
  "locationInModule": {
9420
9440
  "filename": "src/awscdk/awscdk-construct.ts",
9421
- "line": 40
9441
+ "line": 39
9422
9442
  },
9423
9443
  "name": "cdkVersionPinning",
9424
9444
  "optional": true,
@@ -9429,7 +9449,7 @@
9429
9449
  {
9430
9450
  "abstract": true,
9431
9451
  "docs": {
9432
- "default": "- When the default behavior is used, the dependency on `constructs` will only\nbe added as a `peerDependency`. Otherwise, a `devDependency` will also be\nadded, set to the exact version configrued here.",
9452
+ "default": "- When the default behavior is used, the dependency on `constructs` will\nbe added as both a `peerDependency` and a `devDependency`.",
9433
9453
  "remarks": "- For CDK 1.x, the default is \"3.2.27\"\n- For CDK 2.x, the default is \"10.0.5\"\n- Otherwise, the default is \"*\"",
9434
9454
  "stability": "experimental",
9435
9455
  "summary": "Minimum target version of constructs being tested against. If not provided, the default value depends on the configured `cdkVersion`:."
@@ -9437,7 +9457,7 @@
9437
9457
  "immutable": true,
9438
9458
  "locationInModule": {
9439
9459
  "filename": "src/awscdk/awscdk-construct.ts",
9440
- "line": 30
9460
+ "line": 29
9441
9461
  },
9442
9462
  "name": "constructsVersion",
9443
9463
  "optional": true,
@@ -9455,7 +9475,7 @@
9455
9475
  "immutable": true,
9456
9476
  "locationInModule": {
9457
9477
  "filename": "src/awscdk/awscdk-construct.ts",
9458
- "line": 82
9478
+ "line": 99
9459
9479
  },
9460
9480
  "name": "lambdaAutoDiscover",
9461
9481
  "optional": true,
@@ -9473,7 +9493,7 @@
9473
9493
  "immutable": true,
9474
9494
  "locationInModule": {
9475
9495
  "filename": "src/awscdk/awscdk-construct.ts",
9476
- "line": 89
9496
+ "line": 106
9477
9497
  },
9478
9498
  "name": "lambdaOptions",
9479
9499
  "optional": true,
@@ -10349,7 +10369,7 @@
10349
10369
  },
10350
10370
  "locationInModule": {
10351
10371
  "filename": "src/awscdk/awscdk-construct.ts",
10352
- "line": 112
10372
+ "line": 129
10353
10373
  },
10354
10374
  "parameters": [
10355
10375
  {
@@ -10363,7 +10383,7 @@
10363
10383
  "kind": "class",
10364
10384
  "locationInModule": {
10365
10385
  "filename": "src/awscdk/awscdk-construct.ts",
10366
- "line": 209
10386
+ "line": 257
10367
10387
  },
10368
10388
  "name": "ConstructLibraryAws",
10369
10389
  "namespace": "awscdk",
@@ -10383,7 +10403,7 @@
10383
10403
  "kind": "interface",
10384
10404
  "locationInModule": {
10385
10405
  "filename": "src/awscdk/awscdk-construct.ts",
10386
- "line": 206
10406
+ "line": 254
10387
10407
  },
10388
10408
  "name": "ConstructLibraryAwsOptions",
10389
10409
  "namespace": "awscdk",
@@ -35219,6 +35239,6 @@
35219
35239
  "symbolId": "src/web/tailwind:TailwindConfigOptions"
35220
35240
  }
35221
35241
  },
35222
- "version": "0.38.4",
35223
- "fingerprint": "MRvQmGLVbrwvoBLCGaS7WEKhH7x3ep71jmlIjU3e66g="
35242
+ "version": "0.39.0",
35243
+ "fingerprint": "91IBwgWECu0O63+irpEyBKBVfFN5J5Q1EctliJGWNnU="
35224
35244
  }
package/API.md CHANGED
@@ -2995,12 +2995,13 @@ new awscdk.AwsCdkConstructLibrary(options: AwsCdkConstructLibraryOptions)
2995
2995
  * **rootdir** (<code>string</code>) *No description* __*Default*__: "."
2996
2996
  * **catalog** (<code>[cdk.Catalog](#projen-cdk-catalog)</code>) Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:. __*Default*__: new version will be announced
2997
2997
  * **cdkVersion** (<code>string</code>) Minimum target version this library is tested against.
2998
- * **cdkAssert** (<code>boolean</code>) Install the @aws-cdk/assert library? __*Default*__: true
2998
+ * **cdkAssert** (<code>boolean</code>) Install the @aws-cdk/assert library? __*Default*__: false
2999
+ * **cdkAssertions** (<code>boolean</code>) Install the @aws-cdk/assertions library? __*Default*__: true
2999
3000
  * **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed? __*Optional*__
3000
3001
  * **cdkDependenciesAsDeps** (<code>boolean</code>) If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`). __*Default*__: true
3001
3002
  * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
3002
3003
  * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Default*__: false
3003
- * **constructsVersion** (<code>string</code>) Minimum target version of constructs being tested against. If not provided, the default value depends on the configured `cdkVersion`:. __*Default*__: When the default behavior is used, the dependency on `constructs` will only be added as a `peerDependency`. Otherwise, a `devDependency` will also be added, set to the exact version configrued here.
3004
+ * **constructsVersion** (<code>string</code>) Minimum target version of constructs being tested against. If not provided, the default value depends on the configured `cdkVersion`:. __*Default*__: When the default behavior is used, the dependency on `constructs` will be added as both a `peerDependency` and a `devDependency`.
3004
3005
  * **lambdaAutoDiscover** (<code>boolean</code>) Automatically adds an `aws_lambda.Function` for each `.lambda.ts` handler in your source tree. If this is disabled, you either need to explicitly call `aws_lambda.Function.autoDiscover()` or define a `new aws_lambda.Function()` for each handler. __*Default*__: true
3005
3006
  * **lambdaOptions** (<code>[awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)</code>) Common options for all AWS Lambda functions. __*Default*__: default options
3006
3007
 
@@ -3562,12 +3563,13 @@ new awscdk.ConstructLibraryAws(options: AwsCdkConstructLibraryOptions)
3562
3563
  * **rootdir** (<code>string</code>) *No description* __*Default*__: "."
3563
3564
  * **catalog** (<code>[cdk.Catalog](#projen-cdk-catalog)</code>) Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:. __*Default*__: new version will be announced
3564
3565
  * **cdkVersion** (<code>string</code>) Minimum target version this library is tested against.
3565
- * **cdkAssert** (<code>boolean</code>) Install the @aws-cdk/assert library? __*Default*__: true
3566
+ * **cdkAssert** (<code>boolean</code>) Install the @aws-cdk/assert library? __*Default*__: false
3567
+ * **cdkAssertions** (<code>boolean</code>) Install the @aws-cdk/assertions library? __*Default*__: true
3566
3568
  * **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed? __*Optional*__
3567
3569
  * **cdkDependenciesAsDeps** (<code>boolean</code>) If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`). __*Default*__: true
3568
3570
  * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
3569
3571
  * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Default*__: false
3570
- * **constructsVersion** (<code>string</code>) Minimum target version of constructs being tested against. If not provided, the default value depends on the configured `cdkVersion`:. __*Default*__: When the default behavior is used, the dependency on `constructs` will only be added as a `peerDependency`. Otherwise, a `devDependency` will also be added, set to the exact version configrued here.
3572
+ * **constructsVersion** (<code>string</code>) Minimum target version of constructs being tested against. If not provided, the default value depends on the configured `cdkVersion`:. __*Default*__: When the default behavior is used, the dependency on `constructs` will be added as both a `peerDependency` and a `devDependency`.
3571
3573
  * **lambdaAutoDiscover** (<code>boolean</code>) Automatically adds an `aws_lambda.Function` for each `.lambda.ts` handler in your source tree. If this is disabled, you either need to explicitly call `aws_lambda.Function.autoDiscover()` or define a `new aws_lambda.Function()` for each handler. __*Default*__: true
3572
3574
  * **lambdaOptions** (<code>[awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)</code>) Common options for all AWS Lambda functions. __*Default*__: default options
3573
3575
 
@@ -10013,10 +10015,11 @@ Name | Type | Description
10013
10015
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
10014
10016
  **bundlerOptions**?🔹 | <code>[javascript.BundlerOptions](#projen-javascript-bundleroptions)</code> | Options for `Bundler`.<br/>__*Optional*__
10015
10017
  **catalog**?🔹 | <code>[cdk.Catalog](#projen-cdk-catalog)</code> | Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:.<br/>__*Default*__: new version will be announced
10016
- **cdkAssert**?🔹 | <code>boolean</code> | Install the @aws-cdk/assert library?<br/>__*Default*__: true
10017
- **cdkDependencies**?🔹 | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?<br/>__*Optional*__
10018
- **cdkDependenciesAsDeps**?🔹 | <code>boolean</code> | If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`).<br/>__*Default*__: true
10019
- **cdkTestDependencies**?🔹 | <code>Array<string></code> | AWS CDK modules required for testing.<br/>__*Optional*__
10018
+ **cdkAssert**?⚠️ | <code>boolean</code> | Install the @aws-cdk/assert library?<br/>__*Default*__: false
10019
+ **cdkAssertions**?🔹 | <code>boolean</code> | Install the @aws-cdk/assertions library?<br/>__*Default*__: true
10020
+ **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?<br/>__*Optional*__
10021
+ **cdkDependenciesAsDeps**?⚠️ | <code>boolean</code> | If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`).<br/>__*Default*__: true
10022
+ **cdkTestDependencies**?⚠️ | <code>Array<string></code> | AWS CDK modules required for testing.<br/>__*Optional*__
10020
10023
  **cdkVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Default*__: false
10021
10024
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
10022
10025
  **codeArtifactOptions**?🔹 | <code>[javascript.CodeArtifactOptions](#projen-javascript-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
@@ -10024,7 +10027,7 @@ Name | Type | Description
10024
10027
  **codeCovTokenSecret**?🔹 | <code>string</code> | Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.<br/>__*Default*__: if this option is not specified, only public repositories are supported
10025
10028
  **compat**?🔹 | <code>boolean</code> | Automatically run API compatibility test against the latest version published to npm after compilation.<br/>__*Default*__: false
10026
10029
  **compatIgnore**?🔹 | <code>string</code> | Name of the ignore file for API compatibility tests.<br/>__*Default*__: ".compatignore"
10027
- **constructsVersion**?🔹 | <code>string</code> | Minimum target version of constructs being tested against. If not provided, the default value depends on the configured `cdkVersion`:.<br/>__*Default*__: When the default behavior is used, the dependency on `constructs` will only be added as a `peerDependency`. Otherwise, a `devDependency` will also be added, set to the exact version configrued here.
10030
+ **constructsVersion**?🔹 | <code>string</code> | Minimum target version of constructs being tested against. If not provided, the default value depends on the configured `cdkVersion`:.<br/>__*Default*__: When the default behavior is used, the dependency on `constructs` will be added as both a `peerDependency` and a `devDependency`.
10028
10031
  **copyrightOwner**?🔹 | <code>string</code> | License copyright owner.<br/>__*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
10029
10032
  **copyrightPeriod**?🔹 | <code>string</code> | The copyright years to put in the LICENSE file.<br/>__*Default*__: current year
10030
10033
  **dependabot**?🔹 | <code>boolean</code> | Use dependabot to handle dependency upgrades.<br/>__*Default*__: false
@@ -10412,7 +10415,8 @@ Name | Type | Description
10412
10415
  **bundledDeps**?⚠️ | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
10413
10416
  **bundlerOptions**?⚠️ | <code>[javascript.BundlerOptions](#projen-javascript-bundleroptions)</code> | Options for `Bundler`.<br/>__*Optional*__
10414
10417
  **catalog**?⚠️ | <code>[cdk.Catalog](#projen-cdk-catalog)</code> | Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:.<br/>__*Default*__: new version will be announced
10415
- **cdkAssert**?⚠️ | <code>boolean</code> | Install the @aws-cdk/assert library?<br/>__*Default*__: true
10418
+ **cdkAssert**?⚠️ | <code>boolean</code> | Install the @aws-cdk/assert library?<br/>__*Default*__: false
10419
+ **cdkAssertions**?⚠️ | <code>boolean</code> | Install the @aws-cdk/assertions library?<br/>__*Default*__: true
10416
10420
  **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?<br/>__*Optional*__
10417
10421
  **cdkDependenciesAsDeps**?⚠️ | <code>boolean</code> | If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`).<br/>__*Default*__: true
10418
10422
  **cdkTestDependencies**?⚠️ | <code>Array<string></code> | AWS CDK modules required for testing.<br/>__*Optional*__
@@ -10423,7 +10427,7 @@ Name | Type | Description
10423
10427
  **codeCovTokenSecret**?⚠️ | <code>string</code> | Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.<br/>__*Default*__: if this option is not specified, only public repositories are supported
10424
10428
  **compat**?⚠️ | <code>boolean</code> | Automatically run API compatibility test against the latest version published to npm after compilation.<br/>__*Default*__: false
10425
10429
  **compatIgnore**?⚠️ | <code>string</code> | Name of the ignore file for API compatibility tests.<br/>__*Default*__: ".compatignore"
10426
- **constructsVersion**?⚠️ | <code>string</code> | Minimum target version of constructs being tested against. If not provided, the default value depends on the configured `cdkVersion`:.<br/>__*Default*__: When the default behavior is used, the dependency on `constructs` will only be added as a `peerDependency`. Otherwise, a `devDependency` will also be added, set to the exact version configrued here.
10430
+ **constructsVersion**?⚠️ | <code>string</code> | Minimum target version of constructs being tested against. If not provided, the default value depends on the configured `cdkVersion`:.<br/>__*Default*__: When the default behavior is used, the dependency on `constructs` will be added as both a `peerDependency` and a `devDependency`.
10427
10431
  **copyrightOwner**?⚠️ | <code>string</code> | License copyright owner.<br/>__*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
10428
10432
  **copyrightPeriod**?⚠️ | <code>string</code> | The copyright years to put in the LICENSE file.<br/>__*Default*__: current year
10429
10433
  **dependabot**?⚠️ | <code>boolean</code> | Use dependabot to handle dependency upgrades.<br/>__*Default*__: false
@@ -48,5 +48,5 @@ class AutoDiscover extends component_1.Component {
48
48
  }
49
49
  exports.AutoDiscover = AutoDiscover;
50
50
  _a = JSII_RTTI_SYMBOL_1;
51
- AutoDiscover[_a] = { fqn: "projen.awscdk.AutoDiscover", version: "0.38.4" };
51
+ AutoDiscover[_a] = { fqn: "projen.awscdk.AutoDiscover", version: "0.39.0" };
52
52
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1kaXNjb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXV0by1kaXNjb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0Isd0JBQW9DO0FBQ3BDLDRDQUF5QztBQUV6Qyx5Q0FBeUU7QUFDekUsdURBQWdGOzs7Ozs7QUFrQmhGLE1BQWEsWUFBYSxTQUFRLHFCQUFTOzs7O0lBR3pDLFlBQVksT0FBZ0IsRUFBRSxPQUE0QjtRQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTywyQkFBMkIsQ0FBQyxPQUE0QjtRQUM5RCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sZ0NBQXFCLEVBQUUsRUFBRTtZQUM1RCxHQUFHLEVBQUUsV0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUM7U0FDL0MsQ0FBQyxDQUFDO1FBRUgsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUU7WUFDcEMsSUFBSSxnQ0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQy9CLFVBQVUsRUFBRSxXQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUM7Z0JBQzVDLEdBQUcsT0FBTyxDQUFDLGFBQWE7YUFDekIsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sNEJBQTRCLENBQUMsT0FBNEI7UUFDL0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLCtCQUFvQixFQUFFLEVBQUU7WUFDM0QsR0FBRyxFQUFFLFdBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDO1NBQ2hELENBQUMsQ0FBQztRQUVILEtBQUssTUFBTSxVQUFVLElBQUksV0FBVyxFQUFFO1lBQ3BDLElBQUksa0JBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNoQyxVQUFVLEVBQUUsV0FBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDO2dCQUM3QyxZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVk7YUFDbkMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOztBQWxDSCxvQ0FvQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqb2luIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBnbG9iIGZyb20gJ2dsb2InO1xuaW1wb3J0IHsgSW50ZWdyYXRpb25UZXN0IH0gZnJvbSAnLic7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gJy4uL3Byb2plY3QnO1xuaW1wb3J0IHsgVFlQRVNDUklQVF9JTlRFR19FWFQsIFRZUEVTQ1JJUFRfTEFNQkRBX0VYVCB9IGZyb20gJy4vaW50ZXJuYWwnO1xuaW1wb3J0IHsgTGFtYmRhRnVuY3Rpb24sIExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucyB9IGZyb20gJy4vbGFtYmRhLWZ1bmN0aW9uJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgQXV0b0Rpc2NvdmVyT3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsYW1iZGFPcHRpb25zPzogTGFtYmRhRnVuY3Rpb25Db21tb25PcHRpb25zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHNyY2Rpcjogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHRlc3RkaXI6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHRzY29uZmlnUGF0aDogc3RyaW5nO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgQXV0b0Rpc2NvdmVyIGV4dGVuZHMgQ29tcG9uZW50IHtcblxuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IEF1dG9EaXNjb3Zlck9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIHRoaXMuYXV0b0Rpc2NvdmVyTGFtYmRhRnVuY3Rpb25zKG9wdGlvbnMpO1xuICAgIHRoaXMuYXV0b0Rpc2NvdmVySW50ZWdyYXRpb25UZXN0cyhvcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgYXV0b0Rpc2NvdmVyTGFtYmRhRnVuY3Rpb25zKG9wdGlvbnM6IEF1dG9EaXNjb3Zlck9wdGlvbnMpIHtcbiAgICBjb25zdCBlbnRyeXBvaW50cyA9IGdsb2Iuc3luYyhgKiovKiR7VFlQRVNDUklQVF9MQU1CREFfRVhUfWAsIHtcbiAgICAgIGN3ZDogam9pbih0aGlzLnByb2plY3Qub3V0ZGlyLCBvcHRpb25zLnNyY2RpciksXG4gICAgfSk7XG5cbiAgICBmb3IgKGNvbnN0IGVudHJ5cG9pbnQgb2YgZW50cnlwb2ludHMpIHtcbiAgICAgIG5ldyBMYW1iZGFGdW5jdGlvbih0aGlzLnByb2plY3QsIHtcbiAgICAgICAgZW50cnlwb2ludDogam9pbihvcHRpb25zLnNyY2RpciwgZW50cnlwb2ludCksXG4gICAgICAgIC4uLm9wdGlvbnMubGFtYmRhT3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXV0b0Rpc2NvdmVySW50ZWdyYXRpb25UZXN0cyhvcHRpb25zOiBBdXRvRGlzY292ZXJPcHRpb25zKSB7XG4gICAgY29uc3QgZW50cnlwb2ludHMgPSBnbG9iLnN5bmMoYCoqLyoke1RZUEVTQ1JJUFRfSU5URUdfRVhUfWAsIHtcbiAgICAgIGN3ZDogam9pbih0aGlzLnByb2plY3Qub3V0ZGlyLCBvcHRpb25zLnRlc3RkaXIpLFxuICAgIH0pO1xuXG4gICAgZm9yIChjb25zdCBlbnRyeXBvaW50IG9mIGVudHJ5cG9pbnRzKSB7XG4gICAgICBuZXcgSW50ZWdyYXRpb25UZXN0KHRoaXMucHJvamVjdCwge1xuICAgICAgICBlbnRyeXBvaW50OiBqb2luKG9wdGlvbnMudGVzdGRpciwgZW50cnlwb2ludCksXG4gICAgICAgIHRzY29uZmlnUGF0aDogb3B0aW9ucy50c2NvbmZpZ1BhdGgsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxufSJdfQ==
@@ -115,7 +115,7 @@ class AwsCdkTypeScriptApp extends typescript_1.TypeScriptAppProject {
115
115
  }
116
116
  exports.AwsCdkTypeScriptApp = AwsCdkTypeScriptApp;
117
117
  _a = JSII_RTTI_SYMBOL_1;
118
- AwsCdkTypeScriptApp[_a] = { fqn: "projen.awscdk.AwsCdkTypeScriptApp", version: "0.38.4" };
118
+ AwsCdkTypeScriptApp[_a] = { fqn: "projen.awscdk.AwsCdkTypeScriptApp", version: "0.39.0" };
119
119
  class SampleCode extends component_1.Component {
120
120
  constructor(project, cdkMajorVersion) {
121
121
  super(project);
@@ -9,7 +9,7 @@ export interface AwsCdkConstructLibraryOptions extends ConstructLibraryOptions {
9
9
  /**
10
10
  * (experimental) Minimum target version this library is tested against.
11
11
  *
12
- * @default "1.129.0"
12
+ * @default "2.0.0"
13
13
  * @experimental
14
14
  * @featured true
15
15
  */
@@ -21,9 +21,8 @@ export interface AwsCdkConstructLibraryOptions extends ConstructLibraryOptions {
21
21
  * - For CDK 2.x, the default is "10.0.5"
22
22
  * - Otherwise, the default is "*"
23
23
  *
24
- * @default - When the default behavior is used, the dependency on `constructs` will only
25
- * be added as a `peerDependency`. Otherwise, a `devDependency` will also be
26
- * added, set to the exact version configrued here.
24
+ * @default - When the default behavior is used, the dependency on `constructs` will
25
+ * be added as both a `peerDependency` and a `devDependency`.
27
26
  * @experimental
28
27
  */
29
28
  readonly constructsVersion?: string;
@@ -38,14 +37,13 @@ export interface AwsCdkConstructLibraryOptions extends ConstructLibraryOptions {
38
37
  */
39
38
  readonly cdkVersionPinning?: boolean;
40
39
  /**
41
- * (experimental) Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?
40
+ * (deprecated) Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?
42
41
  *
43
- * @experimental
44
- * @featured true
42
+ * @deprecated - For CDK 2.x use 'peerDeps' instead
45
43
  */
46
44
  readonly cdkDependencies?: string[];
47
45
  /**
48
- * (experimental) If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`).
46
+ * (deprecated) If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`).
49
47
  *
50
48
  * This is to ensure that downstream consumers actually have your CDK dependencies installed
51
49
  * when using npm < 7 or yarn, where peer dependencies are not automatically installed.
@@ -53,20 +51,30 @@ export interface AwsCdkConstructLibraryOptions extends ConstructLibraryOptions {
53
51
  * they are present during development.
54
52
  *
55
53
  * @default true
56
- * @experimental
54
+ * @deprecated - Not used for CDK 2.x
57
55
  */
58
56
  readonly cdkDependenciesAsDeps?: boolean;
59
57
  /**
60
- * (experimental) Install the @aws-cdk/assert library?
58
+ * (deprecated) Install the @aws-cdk/assert library?
61
59
  *
62
- * @default true
63
- * @experimental
60
+ * @default false
61
+ * @deprecated - use cdkAssertions instead
64
62
  */
65
63
  readonly cdkAssert?: boolean;
66
64
  /**
67
- * (experimental) AWS CDK modules required for testing.
65
+ * (experimental) Install the @aws-cdk/assertions library?
68
66
  *
67
+ * Only needed for CDK 1.x. If using CDK 2.x then
68
+ * assertions is already included in 'aws-cdk-lib'
69
+ *
70
+ * @default true
69
71
  * @experimental
72
+ */
73
+ readonly cdkAssertions?: boolean;
74
+ /**
75
+ * (deprecated) AWS CDK modules required for testing.
76
+ *
77
+ * @deprecated - For CDK 2.x use 'devDeps' instead
70
78
  * @featured true
71
79
  */
72
80
  readonly cdkTestDependencies?: string[];
@@ -21,41 +21,71 @@ class AwsCdkConstructLibrary extends cdk_1.ConstructLibrary {
21
21
  * @experimental
22
22
  */
23
23
  constructor(options) {
24
- var _c, _d, _e, _f, _g, _h, _j;
24
+ var _c, _d, _e, _f, _g, _h, _j, _k, _l;
25
+ const cdkVersion = options.cdkVersionPinning ? options.cdkVersion : `^${options.cdkVersion}`;
26
+ const cdkMajorVersion = (_d = (_c = semver.minVersion(cdkVersion)) === null || _c === void 0 ? void 0 : _c.major) !== null && _d !== void 0 ? _d : 2;
25
27
  super({
26
- ...options,
27
- peerDependencyOptions: {
28
+ peerDependencyOptions: cdkMajorVersion === 1 ? {
28
29
  pinnedDevDependency: false,
29
- },
30
+ } : undefined,
31
+ ...options,
30
32
  });
31
- if (!options.cdkVersion) {
32
- throw new Error('Required field cdkVersion is not specified.');
33
- }
34
- this.cdkVersion = options.cdkVersionPinning ? options.cdkVersion : `^${options.cdkVersion}`;
35
- this.cdkDependenciesAsDeps = (_c = options.cdkDependenciesAsDeps) !== null && _c !== void 0 ? _c : true;
36
- const cdkMajorVersion = (_e = (_d = semver.minVersion(this.cdkVersion)) === null || _d === void 0 ? void 0 : _d.major) !== null && _e !== void 0 ? _e : 1;
37
- if (options.constructsVersion) {
38
- this.addPeerDeps(`constructs@^${options.constructsVersion}`);
39
- this.addDevDeps(`constructs@${options.constructsVersion}`);
40
- }
41
- else if (cdkMajorVersion === 1) {
42
- // CDK 1.x is built on constructs 3.x
43
- this.addPeerDeps('constructs@^3.2.27');
44
- }
45
- else if (cdkMajorVersion == 2) {
46
- // CDK 2.x is built on constructs 10.x
47
- this.addPeerDeps('constructs@^10.0.5');
48
- }
49
- else {
50
- // Otherwise, let the user manage which version they use
51
- this.addPeerDeps('constructs');
52
- }
53
- if ((_f = options.cdkAssert) !== null && _f !== void 0 ? _f : true) {
54
- this.addDevDeps(this.formatModuleSpec('@aws-cdk/assert'));
33
+ this.cdkVersion = cdkVersion;
34
+ this.cdkDependenciesAsDeps = (_e = options.cdkDependenciesAsDeps) !== null && _e !== void 0 ? _e : true;
35
+ switch (cdkMajorVersion) {
36
+ case 1:
37
+ if (options.cdkAssert) {
38
+ this.addDevDeps(this.formatModuleSpec('@aws-cdk/assert'));
39
+ }
40
+ if ((_f = options.cdkAssertions) !== null && _f !== void 0 ? _f : true) {
41
+ this.addDevDeps(this.formatModuleSpec('@aws-cdk/assertions'));
42
+ }
43
+ // CDK 1.x is built on constructs 3.x
44
+ if (options.constructsVersion) {
45
+ const constructsMajorVersion = (_g = semver.minVersion(options.constructsVersion)) === null || _g === void 0 ? void 0 : _g.major;
46
+ if (constructsMajorVersion !== undefined && constructsMajorVersion >= 10) {
47
+ throw new Error('CDK 1.x requires constructs version < 10');
48
+ }
49
+ this.addPeerDeps(`constructs@^${options.constructsVersion}`);
50
+ }
51
+ else {
52
+ this.addPeerDeps('constructs@^3.2.27');
53
+ }
54
+ this.addCdkDependencies(...(_h = options.cdkDependencies) !== null && _h !== void 0 ? _h : []);
55
+ this.addCdkTestDependencies(...(_j = options.cdkTestDependencies) !== null && _j !== void 0 ? _j : []);
56
+ break;
57
+ case 2:
58
+ if (options.cdkAssert !== undefined) {
59
+ throw new Error('cdkAssert is not used for CDK 2.x. Use the assertions library that is provided in aws-cdk-lib');
60
+ }
61
+ if (options.cdkDependencies !== undefined) {
62
+ throw new Error('cdkDependencies is not used for CDK 2.x. Use "peerDeps" instead');
63
+ }
64
+ if (options.cdkDependenciesAsDeps !== undefined) {
65
+ throw new Error('cdkDependenciesAsDeps is not used for CDK 2.x');
66
+ }
67
+ if (options.cdkTestDependencies !== undefined) {
68
+ throw new Error('cdkTestDependencies is not used for CDK 2.x. Use "devDeps" instead');
69
+ }
70
+ // CDK 2.x is built on constructs 10.x
71
+ if (options.constructsVersion) {
72
+ const constructsMajorVersion = (_k = semver.minVersion(options.constructsVersion)) === null || _k === void 0 ? void 0 : _k.major;
73
+ if (constructsMajorVersion !== undefined && constructsMajorVersion < 10) {
74
+ throw new Error('CDK 2.x requires constructs version >= 10');
75
+ }
76
+ this.addPeerDeps(`constructs@^${options.constructsVersion}`);
77
+ }
78
+ else {
79
+ this.addPeerDeps('constructs@^10.0.5');
80
+ }
81
+ this.addPeerDeps(`aws-cdk-lib@${this.cdkVersion}`);
82
+ break;
83
+ default:
84
+ // Otherwise, let the user manage which version they use
85
+ this.addPeerDeps('constructs');
86
+ break;
55
87
  }
56
- this.addCdkDependencies(...(_g = options.cdkDependencies) !== null && _g !== void 0 ? _g : []);
57
- this.addCdkTestDependencies(...(_h = options.cdkTestDependencies) !== null && _h !== void 0 ? _h : []);
58
- const lambdaAutoDiscover = (_j = options.lambdaAutoDiscover) !== null && _j !== void 0 ? _j : true;
88
+ const lambdaAutoDiscover = (_l = options.lambdaAutoDiscover) !== null && _l !== void 0 ? _l : true;
59
89
  if (lambdaAutoDiscover) {
60
90
  new auto_discover_1.AutoDiscover(this, {
61
91
  srcdir: this.srcdir,
@@ -110,7 +140,7 @@ class AwsCdkConstructLibrary extends cdk_1.ConstructLibrary {
110
140
  }
111
141
  exports.AwsCdkConstructLibrary = AwsCdkConstructLibrary;
112
142
  _a = JSII_RTTI_SYMBOL_1;
113
- AwsCdkConstructLibrary[_a] = { fqn: "projen.awscdk.AwsCdkConstructLibrary", version: "0.38.4" };
143
+ AwsCdkConstructLibrary[_a] = { fqn: "projen.awscdk.AwsCdkConstructLibrary", version: "0.39.0" };
114
144
  /**
115
145
  * @deprecated use `AwsCdkConstructLibrary`
116
146
  */
@@ -118,5 +148,5 @@ class ConstructLibraryAws extends AwsCdkConstructLibrary {
118
148
  }
119
149
  exports.ConstructLibraryAws = ConstructLibraryAws;
120
150
  _b = JSII_RTTI_SYMBOL_1;
121
- ConstructLibraryAws[_b] = { fqn: "projen.awscdk.ConstructLibraryAws", version: "0.38.4" };
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLWNvbnN0cnVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXdzY2RrLWNvbnN0cnVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlDQUFpQztBQUNqQyxnQ0FBbUU7QUFDbkUsbURBQStDOzs7Ozs7Ozs7OztBQWtDL0MsTUFBYSxzQkFBdUIsU0FBUSxzQkFBZ0I7Ozs7SUFPMUQsWUFBWSxPQUFzQzs7UUFDaEQsS0FBSyxDQUFDO1lBQ0osR0FBRyxPQUFPO1lBQ1YscUJBQXFCLEVBQUU7Z0JBQ3JCLG1CQUFtQixFQUFFLEtBQUs7YUFDM0I7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRTtZQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUM7U0FDaEU7UUFFRCxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDNUYsSUFBSSxDQUFDLHFCQUFxQixTQUFHLE9BQU8sQ0FBQyxxQkFBcUIsbUNBQUksSUFBSSxDQUFDO1FBRW5FLE1BQU0sZUFBZSxlQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQywwQ0FBRSxLQUFLLG1DQUFJLENBQUMsQ0FBQztRQUN2RSxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTtZQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztTQUM1RDthQUFNLElBQUksZUFBZSxLQUFLLENBQUMsRUFBRTtZQUNoQyxxQ0FBcUM7WUFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQ3hDO2FBQU0sSUFBSSxlQUFlLElBQUksQ0FBQyxFQUFFO1lBQy9CLHNDQUFzQztZQUN0QyxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFDLENBQUM7U0FDeEM7YUFBTTtZQUNMLHdEQUF3RDtZQUN4RCxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ2hDO1FBRUQsVUFBSSxPQUFPLENBQUMsU0FBUyxtQ0FBSSxJQUFJLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO1NBQzNEO1FBRUQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQUcsT0FBTyxDQUFDLGVBQWUsbUNBQUksRUFBRSxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQUcsT0FBTyxDQUFDLG1CQUFtQixtQ0FBSSxFQUFFLENBQUMsQ0FBQztRQUVsRSxNQUFNLGtCQUFrQixTQUFHLE9BQU8sQ0FBQyxrQkFBa0IsbUNBQUksSUFBSSxDQUFDO1FBQzlELElBQUksa0JBQWtCLEVBQUU7WUFDdEIsSUFBSSw0QkFBWSxDQUFDLElBQUksRUFBRTtnQkFDckIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ3JCLGFBQWEsRUFBRSxPQUFPLENBQUMsYUFBYTtnQkFDcEMsWUFBWSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUTthQUN4QyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7Ozs7SUFHRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztJQUdNLGtCQUFrQixDQUFDLEdBQUcsSUFBYztRQUN6Qyx5Q0FBeUM7UUFDekMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTdELElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMxRDthQUFNO1lBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzdEO0lBQ0gsQ0FBQzs7Ozs7OztJQUdNLHNCQUFzQixDQUFDLEdBQUcsSUFBYztRQUM3QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLGdCQUFnQixDQUFDLE1BQWM7UUFDckMsT0FBTyxHQUFHLE1BQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDeEMsQ0FBQzs7QUEvRUgsd0RBZ0ZDOzs7Ozs7QUFNRCxNQUFhLG1CQUFvQixTQUFRLHNCQUFzQjs7QUFBL0Qsa0RBQW1FIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgc2VtdmVyIGZyb20gJ3NlbXZlcic7XG5pbXBvcnQgeyBDb25zdHJ1Y3RMaWJyYXJ5LCBDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyB9IGZyb20gJy4uL2Nkayc7XG5pbXBvcnQgeyBBdXRvRGlzY292ZXIgfSBmcm9tICcuL2F1dG8tZGlzY292ZXInO1xuaW1wb3J0IHsgTGFtYmRhRnVuY3Rpb25Db21tb25PcHRpb25zIH0gZnJvbSAnLi9sYW1iZGEtZnVuY3Rpb24nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyBleHRlbmRzIENvbnN0cnVjdExpYnJhcnlPcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY2RrVmVyc2lvbjogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBjb25zdHJ1Y3RzVmVyc2lvbj86IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNka1ZlcnNpb25QaW5uaW5nPzogYm9vbGVhbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNka0RlcGVuZGVuY2llcz86IHN0cmluZ1tdO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBjZGtEZXBlbmRlbmNpZXNBc0RlcHM/OiBib29sZWFuO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY2RrQXNzZXJ0PzogYm9vbGVhbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNka1Rlc3REZXBlbmRlbmNpZXM/OiBzdHJpbmdbXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsYW1iZGFBdXRvRGlzY292ZXI/OiBib29sZWFuO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbGFtYmRhT3B0aW9ucz86IExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucztcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgQXdzQ2RrQ29uc3RydWN0TGlicmFyeSBleHRlbmRzIENvbnN0cnVjdExpYnJhcnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBjZGtWZXJzaW9uOiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgY2RrRGVwZW5kZW5jaWVzQXNEZXBzOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEF3c0Nka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zKSB7XG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHBlZXJEZXBlbmRlbmN5T3B0aW9uczoge1xuICAgICAgICBwaW5uZWREZXZEZXBlbmRlbmN5OiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpZiAoIW9wdGlvbnMuY2RrVmVyc2lvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBmaWVsZCBjZGtWZXJzaW9uIGlzIG5vdCBzcGVjaWZpZWQuJyk7XG4gICAgfVxuXG4gICAgdGhpcy5jZGtWZXJzaW9uID0gb3B0aW9ucy5jZGtWZXJzaW9uUGlubmluZyA/IG9wdGlvbnMuY2RrVmVyc2lvbiA6IGBeJHtvcHRpb25zLmNka1ZlcnNpb259YDtcbiAgICB0aGlzLmNka0RlcGVuZGVuY2llc0FzRGVwcyA9IG9wdGlvbnMuY2RrRGVwZW5kZW5jaWVzQXNEZXBzID8/IHRydWU7XG5cbiAgICBjb25zdCBjZGtNYWpvclZlcnNpb24gPSBzZW12ZXIubWluVmVyc2lvbih0aGlzLmNka1ZlcnNpb24pPy5tYWpvciA/PyAxO1xuICAgIGlmIChvcHRpb25zLmNvbnN0cnVjdHNWZXJzaW9uKSB7XG4gICAgICB0aGlzLmFkZFBlZXJEZXBzKGBjb25zdHJ1Y3RzQF4ke29wdGlvbnMuY29uc3RydWN0c1ZlcnNpb259YCk7XG4gICAgICB0aGlzLmFkZERldkRlcHMoYGNvbnN0cnVjdHNAJHtvcHRpb25zLmNvbnN0cnVjdHNWZXJzaW9ufWApO1xuICAgIH0gZWxzZSBpZiAoY2RrTWFqb3JWZXJzaW9uID09PSAxKSB7XG4gICAgICAvLyBDREsgMS54IGlzIGJ1aWx0IG9uIGNvbnN0cnVjdHMgMy54XG4gICAgICB0aGlzLmFkZFBlZXJEZXBzKCdjb25zdHJ1Y3RzQF4zLjIuMjcnKTtcbiAgICB9IGVsc2UgaWYgKGNka01ham9yVmVyc2lvbiA9PSAyKSB7XG4gICAgICAvLyBDREsgMi54IGlzIGJ1aWx0IG9uIGNvbnN0cnVjdHMgMTAueFxuICAgICAgdGhpcy5hZGRQZWVyRGVwcygnY29uc3RydWN0c0BeMTAuMC41Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE90aGVyd2lzZSwgbGV0IHRoZSB1c2VyIG1hbmFnZSB3aGljaCB2ZXJzaW9uIHRoZXkgdXNlXG4gICAgICB0aGlzLmFkZFBlZXJEZXBzKCdjb25zdHJ1Y3RzJyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuY2RrQXNzZXJ0ID8/IHRydWUpIHtcbiAgICAgIHRoaXMuYWRkRGV2RGVwcyh0aGlzLmZvcm1hdE1vZHVsZVNwZWMoJ0Bhd3MtY2RrL2Fzc2VydCcpKTtcbiAgICB9XG5cbiAgICB0aGlzLmFkZENka0RlcGVuZGVuY2llcyguLi5vcHRpb25zLmNka0RlcGVuZGVuY2llcyA/PyBbXSk7XG4gICAgdGhpcy5hZGRDZGtUZXN0RGVwZW5kZW5jaWVzKC4uLm9wdGlvbnMuY2RrVGVzdERlcGVuZGVuY2llcyA/PyBbXSk7XG5cbiAgICBjb25zdCBsYW1iZGFBdXRvRGlzY292ZXIgPSBvcHRpb25zLmxhbWJkYUF1dG9EaXNjb3ZlciA/PyB0cnVlO1xuICAgIGlmIChsYW1iZGFBdXRvRGlzY292ZXIpIHtcbiAgICAgIG5ldyBBdXRvRGlzY292ZXIodGhpcywge1xuICAgICAgICBzcmNkaXI6IHRoaXMuc3JjZGlyLFxuICAgICAgICB0ZXN0ZGlyOiB0aGlzLnRlc3RkaXIsXG4gICAgICAgIGxhbWJkYU9wdGlvbnM6IG9wdGlvbnMubGFtYmRhT3B0aW9ucyxcbiAgICAgICAgdHNjb25maWdQYXRoOiB0aGlzLnRzY29uZmlnRGV2LmZpbGVOYW1lLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgZ2V0IHZlcnNpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuY2RrVmVyc2lvbjtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgYWRkQ2RrRGVwZW5kZW5jaWVzKC4uLmRlcHM6IHN0cmluZ1tdKSB7XG4gICAgLy8gdGhpcyB1Z2xpbmVzcyB3aWxsIGdvIGF3YXkgaW4gY2RrIHYyLjBcbiAgICB0aGlzLmFkZFBlZXJEZXBzKC4uLmRlcHMubWFwKG0gPT4gdGhpcy5mb3JtYXRNb2R1bGVTcGVjKG0pKSk7XG5cbiAgICBpZiAodGhpcy5jZGtEZXBlbmRlbmNpZXNBc0RlcHMpIHtcbiAgICAgIHRoaXMuYWRkRGVwcyguLi5kZXBzLm1hcChtID0+IHRoaXMuZm9ybWF0TW9kdWxlU3BlYyhtKSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFkZERldkRlcHMoLi4uZGVwcy5tYXAobSA9PiB0aGlzLmZvcm1hdE1vZHVsZVNwZWMobSkpKTtcbiAgICB9XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGFkZENka1Rlc3REZXBlbmRlbmNpZXMoLi4uZGVwczogc3RyaW5nW10pIHtcbiAgICB0aGlzLmFkZERldkRlcHMoLi4uZGVwcy5tYXAobSA9PiB0aGlzLmZvcm1hdE1vZHVsZVNwZWMobSkpKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0TW9kdWxlU3BlYyhtb2R1bGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke21vZHVsZX1AJHt0aGlzLmNka1ZlcnNpb259YDtcbiAgfVxufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgQ29uc3RydWN0TGlicmFyeUF3c09wdGlvbnMgZXh0ZW5kcyBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyB7IH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBDb25zdHJ1Y3RMaWJyYXJ5QXdzIGV4dGVuZHMgQXdzQ2RrQ29uc3RydWN0TGlicmFyeSB7IH1cbiJdfQ==
151
+ ConstructLibraryAws[_b] = { fqn: "projen.awscdk.ConstructLibraryAws", version: "0.39.0" };
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLWNvbnN0cnVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXdzY2RrLWNvbnN0cnVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlDQUFpQztBQUNqQyxnQ0FBbUU7QUFDbkUsbURBQStDOzs7Ozs7Ozs7OztBQXFDL0MsTUFBYSxzQkFBdUIsU0FBUSxzQkFBZ0I7Ozs7SUFPMUQsWUFBWSxPQUFzQzs7UUFDaEQsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM3RixNQUFNLGVBQWUsZUFBRyxNQUFNLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQywwQ0FBRSxLQUFLLG1DQUFJLENBQUMsQ0FBQztRQUNsRSxLQUFLLENBQUM7WUFDSixxQkFBcUIsRUFBRSxlQUFlLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDN0MsbUJBQW1CLEVBQUUsS0FBSzthQUMzQixDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQ2IsR0FBRyxPQUFPO1NBQ1gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFFN0IsSUFBSSxDQUFDLHFCQUFxQixTQUFHLE9BQU8sQ0FBQyxxQkFBcUIsbUNBQUksSUFBSSxDQUFDO1FBRW5FLFFBQVEsZUFBZSxFQUFFO1lBQ3ZCLEtBQUssQ0FBQztnQkFDSixJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7b0JBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztpQkFDM0Q7Z0JBQ0QsVUFBSSxPQUFPLENBQUMsYUFBYSxtQ0FBSSxJQUFJLEVBQUU7b0JBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQztpQkFDL0Q7Z0JBQ0QscUNBQXFDO2dCQUNyQyxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTtvQkFDN0IsTUFBTSxzQkFBc0IsU0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQywwQ0FBRSxLQUFLLENBQUM7b0JBQ25GLElBQUksc0JBQXNCLEtBQUssU0FBUyxJQUFJLHNCQUFzQixJQUFJLEVBQUUsRUFBRTt3QkFDeEUsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO3FCQUM3RDtvQkFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztpQkFDOUQ7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2lCQUN4QztnQkFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBRyxPQUFPLENBQUMsZUFBZSxtQ0FBSSxFQUFFLENBQUMsQ0FBQztnQkFDMUQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQUcsT0FBTyxDQUFDLG1CQUFtQixtQ0FBSSxFQUFFLENBQUMsQ0FBQztnQkFDbEUsTUFBTTtZQUNSLEtBQUssQ0FBQztnQkFDSixJQUFJLE9BQU8sQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFO29CQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLCtGQUErRixDQUFDLENBQUM7aUJBQ2xIO2dCQUNELElBQUksT0FBTyxDQUFDLGVBQWUsS0FBSyxTQUFTLEVBQUU7b0JBQ3pDLE1BQU0sSUFBSSxLQUFLLENBQUMsaUVBQWlFLENBQUMsQ0FBQztpQkFDcEY7Z0JBQ0QsSUFBSSxPQUFPLENBQUMscUJBQXFCLEtBQUssU0FBUyxFQUFFO29CQUMvQyxNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7aUJBQ2xFO2dCQUNELElBQUksT0FBTyxDQUFDLG1CQUFtQixLQUFLLFNBQVMsRUFBRTtvQkFDN0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxvRUFBb0UsQ0FBQyxDQUFDO2lCQUN2RjtnQkFDRCxzQ0FBc0M7Z0JBQ3RDLElBQUksT0FBTyxDQUFDLGlCQUFpQixFQUFFO29CQUM3QixNQUFNLHNCQUFzQixTQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLDBDQUFFLEtBQUssQ0FBQztvQkFDbkYsSUFBSSxzQkFBc0IsS0FBSyxTQUFTLElBQUksc0JBQXNCLEdBQUcsRUFBRSxFQUFFO3dCQUN2RSxNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7cUJBQzlEO29CQUNELElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO2lCQUM5RDtxQkFBTTtvQkFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFDLENBQUM7aUJBQ3hDO2dCQUNELElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztnQkFFbkQsTUFBTTtZQUNSO2dCQUNFLHdEQUF3RDtnQkFDeEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDL0IsTUFBTTtTQUNUO1FBR0QsTUFBTSxrQkFBa0IsU0FBRyxPQUFPLENBQUMsa0JBQWtCLG1DQUFJLElBQUksQ0FBQztRQUM5RCxJQUFJLGtCQUFrQixFQUFFO1lBQ3RCLElBQUksNEJBQVksQ0FBQyxJQUFJLEVBQUU7Z0JBQ3JCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNyQixhQUFhLEVBQUUsT0FBTyxDQUFDLGFBQWE7Z0JBQ3BDLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVE7YUFDeEMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOzs7O0lBR0QsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7SUFHTSxrQkFBa0IsQ0FBQyxHQUFHLElBQWM7UUFDekMseUNBQXlDO1FBQ3pDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU3RCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDMUQ7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM3RDtJQUNILENBQUM7Ozs7Ozs7SUFHTSxzQkFBc0IsQ0FBQyxHQUFHLElBQWM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxNQUFjO1FBQ3JDLE9BQU8sR0FBRyxNQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3hDLENBQUM7O0FBOUdILHdEQStHQzs7Ozs7O0FBTUQsTUFBYSxtQkFBb0IsU0FBUSxzQkFBc0I7O0FBQS9ELGtEQUFtRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHNlbXZlciBmcm9tICdzZW12ZXInO1xuaW1wb3J0IHsgQ29uc3RydWN0TGlicmFyeSwgQ29uc3RydWN0TGlicmFyeU9wdGlvbnMgfSBmcm9tICcuLi9jZGsnO1xuaW1wb3J0IHsgQXV0b0Rpc2NvdmVyIH0gZnJvbSAnLi9hdXRvLWRpc2NvdmVyJztcbmltcG9ydCB7IExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucyB9IGZyb20gJy4vbGFtYmRhLWZ1bmN0aW9uJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgQXdzQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnMgZXh0ZW5kcyBDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBjZGtWZXJzaW9uOiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBjb25zdHJ1Y3RzVmVyc2lvbj86IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNka1ZlcnNpb25QaW5uaW5nPzogYm9vbGVhbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY2RrRGVwZW5kZW5jaWVzPzogc3RyaW5nW107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBjZGtEZXBlbmRlbmNpZXNBc0RlcHM/OiBib29sZWFuO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY2RrQXNzZXJ0PzogYm9vbGVhbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY2RrQXNzZXJ0aW9ucz86IGJvb2xlYW47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNka1Rlc3REZXBlbmRlbmNpZXM/OiBzdHJpbmdbXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsYW1iZGFBdXRvRGlzY292ZXI/OiBib29sZWFuO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbGFtYmRhT3B0aW9ucz86IExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucztcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgQXdzQ2RrQ29uc3RydWN0TGlicmFyeSBleHRlbmRzIENvbnN0cnVjdExpYnJhcnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBjZGtWZXJzaW9uOiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgY2RrRGVwZW5kZW5jaWVzQXNEZXBzOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEF3c0Nka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zKSB7XG4gICAgY29uc3QgY2RrVmVyc2lvbiA9IG9wdGlvbnMuY2RrVmVyc2lvblBpbm5pbmcgPyBvcHRpb25zLmNka1ZlcnNpb24gOiBgXiR7b3B0aW9ucy5jZGtWZXJzaW9ufWA7XG4gICAgY29uc3QgY2RrTWFqb3JWZXJzaW9uID0gc2VtdmVyLm1pblZlcnNpb24oY2RrVmVyc2lvbik/Lm1ham9yID8/IDI7XG4gICAgc3VwZXIoe1xuICAgICAgcGVlckRlcGVuZGVuY3lPcHRpb25zOiBjZGtNYWpvclZlcnNpb24gPT09IDEgPyB7XG4gICAgICAgIHBpbm5lZERldkRlcGVuZGVuY3k6IGZhbHNlLFxuICAgICAgfSA6IHVuZGVmaW5lZCxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICB0aGlzLmNka1ZlcnNpb24gPSBjZGtWZXJzaW9uO1xuXG4gICAgdGhpcy5jZGtEZXBlbmRlbmNpZXNBc0RlcHMgPSBvcHRpb25zLmNka0RlcGVuZGVuY2llc0FzRGVwcyA/PyB0cnVlO1xuXG4gICAgc3dpdGNoIChjZGtNYWpvclZlcnNpb24pIHtcbiAgICAgIGNhc2UgMTpcbiAgICAgICAgaWYgKG9wdGlvbnMuY2RrQXNzZXJ0KSB7XG4gICAgICAgICAgdGhpcy5hZGREZXZEZXBzKHRoaXMuZm9ybWF0TW9kdWxlU3BlYygnQGF3cy1jZGsvYXNzZXJ0JykpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zLmNka0Fzc2VydGlvbnMgPz8gdHJ1ZSkge1xuICAgICAgICAgIHRoaXMuYWRkRGV2RGVwcyh0aGlzLmZvcm1hdE1vZHVsZVNwZWMoJ0Bhd3MtY2RrL2Fzc2VydGlvbnMnKSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQ0RLIDEueCBpcyBidWlsdCBvbiBjb25zdHJ1Y3RzIDMueFxuICAgICAgICBpZiAob3B0aW9ucy5jb25zdHJ1Y3RzVmVyc2lvbikge1xuICAgICAgICAgIGNvbnN0IGNvbnN0cnVjdHNNYWpvclZlcnNpb24gPSBzZW12ZXIubWluVmVyc2lvbihvcHRpb25zLmNvbnN0cnVjdHNWZXJzaW9uKT8ubWFqb3I7XG4gICAgICAgICAgaWYgKGNvbnN0cnVjdHNNYWpvclZlcnNpb24gIT09IHVuZGVmaW5lZCAmJiBjb25zdHJ1Y3RzTWFqb3JWZXJzaW9uID49IDEwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NESyAxLnggcmVxdWlyZXMgY29uc3RydWN0cyB2ZXJzaW9uIDwgMTAnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5hZGRQZWVyRGVwcyhgY29uc3RydWN0c0BeJHtvcHRpb25zLmNvbnN0cnVjdHNWZXJzaW9ufWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYWRkUGVlckRlcHMoJ2NvbnN0cnVjdHNAXjMuMi4yNycpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYWRkQ2RrRGVwZW5kZW5jaWVzKC4uLm9wdGlvbnMuY2RrRGVwZW5kZW5jaWVzID8/IFtdKTtcbiAgICAgICAgdGhpcy5hZGRDZGtUZXN0RGVwZW5kZW5jaWVzKC4uLm9wdGlvbnMuY2RrVGVzdERlcGVuZGVuY2llcyA/PyBbXSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAyOlxuICAgICAgICBpZiAob3B0aW9ucy5jZGtBc3NlcnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignY2RrQXNzZXJ0IGlzIG5vdCB1c2VkIGZvciBDREsgMi54LiBVc2UgdGhlIGFzc2VydGlvbnMgbGlicmFyeSB0aGF0IGlzIHByb3ZpZGVkIGluIGF3cy1jZGstbGliJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdGlvbnMuY2RrRGVwZW5kZW5jaWVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Nka0RlcGVuZGVuY2llcyBpcyBub3QgdXNlZCBmb3IgQ0RLIDIueC4gVXNlIFwicGVlckRlcHNcIiBpbnN0ZWFkJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdGlvbnMuY2RrRGVwZW5kZW5jaWVzQXNEZXBzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Nka0RlcGVuZGVuY2llc0FzRGVwcyBpcyBub3QgdXNlZCBmb3IgQ0RLIDIueCcpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zLmNka1Rlc3REZXBlbmRlbmNpZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignY2RrVGVzdERlcGVuZGVuY2llcyBpcyBub3QgdXNlZCBmb3IgQ0RLIDIueC4gVXNlIFwiZGV2RGVwc1wiIGluc3RlYWQnKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBDREsgMi54IGlzIGJ1aWx0IG9uIGNvbnN0cnVjdHMgMTAueFxuICAgICAgICBpZiAob3B0aW9ucy5jb25zdHJ1Y3RzVmVyc2lvbikge1xuICAgICAgICAgIGNvbnN0IGNvbnN0cnVjdHNNYWpvclZlcnNpb24gPSBzZW12ZXIubWluVmVyc2lvbihvcHRpb25zLmNvbnN0cnVjdHNWZXJzaW9uKT8ubWFqb3I7XG4gICAgICAgICAgaWYgKGNvbnN0cnVjdHNNYWpvclZlcnNpb24gIT09IHVuZGVmaW5lZCAmJiBjb25zdHJ1Y3RzTWFqb3JWZXJzaW9uIDwgMTApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ0RLIDIueCByZXF1aXJlcyBjb25zdHJ1Y3RzIHZlcnNpb24gPj0gMTAnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5hZGRQZWVyRGVwcyhgY29uc3RydWN0c0BeJHtvcHRpb25zLmNvbnN0cnVjdHNWZXJzaW9ufWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYWRkUGVlckRlcHMoJ2NvbnN0cnVjdHNAXjEwLjAuNScpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYWRkUGVlckRlcHMoYGF3cy1jZGstbGliQCR7dGhpcy5jZGtWZXJzaW9ufWApO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBsZXQgdGhlIHVzZXIgbWFuYWdlIHdoaWNoIHZlcnNpb24gdGhleSB1c2VcbiAgICAgICAgdGhpcy5hZGRQZWVyRGVwcygnY29uc3RydWN0cycpO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cblxuICAgIGNvbnN0IGxhbWJkYUF1dG9EaXNjb3ZlciA9IG9wdGlvbnMubGFtYmRhQXV0b0Rpc2NvdmVyID8/IHRydWU7XG4gICAgaWYgKGxhbWJkYUF1dG9EaXNjb3Zlcikge1xuICAgICAgbmV3IEF1dG9EaXNjb3Zlcih0aGlzLCB7XG4gICAgICAgIHNyY2RpcjogdGhpcy5zcmNkaXIsXG4gICAgICAgIHRlc3RkaXI6IHRoaXMudGVzdGRpcixcbiAgICAgICAgbGFtYmRhT3B0aW9uczogb3B0aW9ucy5sYW1iZGFPcHRpb25zLFxuICAgICAgICB0c2NvbmZpZ1BhdGg6IHRoaXMudHNjb25maWdEZXYuZmlsZU5hbWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBnZXQgdmVyc2lvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jZGtWZXJzaW9uO1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBhZGRDZGtEZXBlbmRlbmNpZXMoLi4uZGVwczogc3RyaW5nW10pIHtcbiAgICAvLyB0aGlzIHVnbGluZXNzIHdpbGwgZ28gYXdheSBpbiBjZGsgdjIuMFxuICAgIHRoaXMuYWRkUGVlckRlcHMoLi4uZGVwcy5tYXAobSA9PiB0aGlzLmZvcm1hdE1vZHVsZVNwZWMobSkpKTtcblxuICAgIGlmICh0aGlzLmNka0RlcGVuZGVuY2llc0FzRGVwcykge1xuICAgICAgdGhpcy5hZGREZXBzKC4uLmRlcHMubWFwKG0gPT4gdGhpcy5mb3JtYXRNb2R1bGVTcGVjKG0pKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWRkRGV2RGVwcyguLi5kZXBzLm1hcChtID0+IHRoaXMuZm9ybWF0TW9kdWxlU3BlYyhtKSkpO1xuICAgIH1cbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgYWRkQ2RrVGVzdERlcGVuZGVuY2llcyguLi5kZXBzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuYWRkRGV2RGVwcyguLi5kZXBzLm1hcChtID0+IHRoaXMuZm9ybWF0TW9kdWxlU3BlYyhtKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRNb2R1bGVTcGVjKG1vZHVsZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7bW9kdWxlfUAke3RoaXMuY2RrVmVyc2lvbn1gO1xuICB9XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBDb25zdHJ1Y3RMaWJyYXJ5QXdzT3B0aW9ucyBleHRlbmRzIEF3c0Nka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zIHsgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIENvbnN0cnVjdExpYnJhcnlBd3MgZXh0ZW5kcyBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5IHsgfVxuIl19
@@ -45,7 +45,7 @@ class CdkConfig extends component_1.Component {
45
45
  }
46
46
  exports.CdkConfig = CdkConfig;
47
47
  _a = JSII_RTTI_SYMBOL_1;
48
- CdkConfig[_a] = { fqn: "projen.awscdk.CdkConfig", version: "0.38.4" };
48
+ CdkConfig[_a] = { fqn: "projen.awscdk.CdkConfig", version: "0.39.0" };
49
49
  /**
50
50
  * (experimental) Which approval is required when deploying CDK apps.
51
51
  *