projen 0.34.28 → 0.36.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 (104) hide show
  1. package/.jsii +299 -109
  2. package/API.md +83 -6
  3. package/docs/awscdk.md +22 -25
  4. package/lib/awscdk/auto-discover.d.ts +8 -0
  5. package/lib/awscdk/auto-discover.js +17 -2
  6. package/lib/awscdk/cdk-config.d.ts +14 -0
  7. package/lib/awscdk/cdk-config.js +7 -3
  8. package/lib/awscdk/cdk-tasks.js +1 -1
  9. package/lib/awscdk/index.d.ts +1 -0
  10. package/lib/awscdk/index.js +2 -1
  11. package/lib/awscdk/integration-test.d.ts +77 -0
  12. package/lib/awscdk/integration-test.js +100 -0
  13. package/lib/awscdk/internal.d.ts +4 -0
  14. package/lib/awscdk/internal.js +6 -2
  15. package/lib/awscdk/java-app.js +1 -1
  16. package/lib/awscdk/lambda-function.js +2 -2
  17. package/lib/awscdk-app-ts.js +17 -2
  18. package/lib/awscdk-construct.js +4 -3
  19. package/lib/cdk8s-app-ts.d.ts +0 -13
  20. package/lib/cdk8s-app-ts.js +4 -10
  21. package/lib/cdk8s-construct.d.ts +0 -13
  22. package/lib/cdk8s-construct.js +3 -9
  23. package/lib/cdktf-construct.js +1 -1
  24. package/lib/component.js +1 -1
  25. package/lib/construct-lib.js +1 -1
  26. package/lib/deps/dependencies.js +1 -1
  27. package/lib/dev-env.js +1 -1
  28. package/lib/docker-compose.js +2 -2
  29. package/lib/eslint.js +1 -1
  30. package/lib/file.js +1 -1
  31. package/lib/git/gitattributes.js +1 -1
  32. package/lib/github/auto-approve.js +1 -1
  33. package/lib/github/auto-merge.js +1 -1
  34. package/lib/github/dependabot.js +1 -1
  35. package/lib/github/github.js +1 -1
  36. package/lib/github/mergify.js +1 -1
  37. package/lib/github/pr-template.js +1 -1
  38. package/lib/github/pull-request-lint.js +1 -1
  39. package/lib/github/stale.js +1 -1
  40. package/lib/github/task-workflow.js +1 -1
  41. package/lib/github/workflows.js +1 -1
  42. package/lib/gitpod.js +1 -1
  43. package/lib/ignore-file.js +1 -1
  44. package/lib/ini.js +1 -1
  45. package/lib/java/java-project.js +1 -1
  46. package/lib/java/junit.js +1 -1
  47. package/lib/java/maven-compile.js +1 -1
  48. package/lib/java/maven-packaging.js +1 -1
  49. package/lib/java/maven-sample.js +1 -1
  50. package/lib/java/pom.js +1 -1
  51. package/lib/java/projenrc.js +1 -1
  52. package/lib/javascript/bundler.js +1 -1
  53. package/lib/javascript/npm-config.js +1 -1
  54. package/lib/javascript/projenrc.js +1 -1
  55. package/lib/jest.js +1 -1
  56. package/lib/jsii-project.js +1 -1
  57. package/lib/json/projenrc.js +1 -1
  58. package/lib/json.js +1 -1
  59. package/lib/license.js +1 -1
  60. package/lib/logger.js +1 -1
  61. package/lib/makefile.js +1 -1
  62. package/lib/node-package.js +1 -1
  63. package/lib/node-project.js +1 -1
  64. package/lib/object-file.js +1 -1
  65. package/lib/project-build.js +1 -1
  66. package/lib/project.js +2 -2
  67. package/lib/projects.js +1 -1
  68. package/lib/python/pip.js +1 -1
  69. package/lib/python/poetry.js +2 -2
  70. package/lib/python/projenrc.js +1 -1
  71. package/lib/python/pytest.js +1 -1
  72. package/lib/python/python-project.js +1 -1
  73. package/lib/python/python-sample.js +1 -1
  74. package/lib/python/requirements-file.js +1 -1
  75. package/lib/python/setuppy.js +1 -1
  76. package/lib/python/setuptools.js +1 -1
  77. package/lib/python/venv.js +1 -1
  78. package/lib/readme.js +1 -1
  79. package/lib/release/publisher.js +1 -1
  80. package/lib/release/release-trigger.js +1 -1
  81. package/lib/release/release.js +1 -1
  82. package/lib/sample-file.js +2 -2
  83. package/lib/semver.js +1 -1
  84. package/lib/source-code.js +1 -1
  85. package/lib/tasks/runtime.js +1 -1
  86. package/lib/tasks/task.js +1 -1
  87. package/lib/tasks/tasks.js +1 -1
  88. package/lib/textfile.js +1 -1
  89. package/lib/toml.js +1 -1
  90. package/lib/typescript/projenrc.js +1 -1
  91. package/lib/typescript-config.js +1 -1
  92. package/lib/typescript.js +5 -4
  93. package/lib/upgrade-dependencies.js +2 -2
  94. package/lib/version.js +1 -1
  95. package/lib/vscode/devcontainer.js +1 -1
  96. package/lib/vscode/launch-config.js +1 -1
  97. package/lib/vscode/vscode.js +1 -1
  98. package/lib/web/next.js +3 -3
  99. package/lib/web/postcss.js +1 -1
  100. package/lib/web/react.js +4 -4
  101. package/lib/web/tailwind.js +1 -1
  102. package/lib/xmlfile.js +1 -1
  103. package/lib/yaml.js +1 -1
  104. package/package.json +1 -1
package/API.md CHANGED
@@ -53,6 +53,7 @@ Name|Description
53
53
  [awscdk.AwsCdkJavaApp](#projen-awscdk-awscdkjavaapp)|AWS CDK app in Java.
54
54
  [awscdk.CdkConfig](#projen-awscdk-cdkconfig)|Represents cdk.json file.
55
55
  [awscdk.CdkTasks](#projen-awscdk-cdktasks)|Adds standard AWS CDK tasks to your project.
56
+ [awscdk.IntegrationTest](#projen-awscdk-integrationtest)|Cloud integration tests.
56
57
  [awscdk.LambdaFunction](#projen-awscdk-lambdafunction)|Generates a pre-bundled AWS Lambda function construct from handler code.
57
58
  [awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime)|The runtime for the AWS Lambda function.
58
59
  [deps.Dependencies](#projen-deps-dependencies)|The `Dependencies` component is responsible to track the list of dependencies a project has, and then used by project types as the model for rendering project-specific dependency manifests such as the dependencies section `package.json` files.
@@ -182,6 +183,8 @@ Name|Description
182
183
  [awscdk.AwsCdkJavaAppOptions](#projen-awscdk-awscdkjavaappoptions)|*No description*
183
184
  [awscdk.CdkConfigCommonOptions](#projen-awscdk-cdkconfigcommonoptions)|Common options for `cdk.json`.
184
185
  [awscdk.CdkConfigOptions](#projen-awscdk-cdkconfigoptions)|Options for `CdkJson`.
186
+ [awscdk.IntegrationTestCommonOptions](#projen-awscdk-integrationtestcommonoptions)|*No description*
187
+ [awscdk.IntegrationTestOptions](#projen-awscdk-integrationtestoptions)|Options for `IntegrationTest`.
185
188
  [awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)|Common options for `LambdaFunction`.
186
189
  [awscdk.LambdaFunctionOptions](#projen-awscdk-lambdafunctionoptions)|Options for `Function`.
187
190
  [deps.Dependency](#projen-deps-dependency)|Represents a project dependency.
@@ -674,6 +677,8 @@ new AwsCdkTypeScriptApp(options: AwsCdkTypeScriptAppOptions)
674
677
  * **context** (<code>Map<string, string></code>) Additional context to include in `cdk.json`. __*Default*__: no additional context
675
678
  * **featureFlags** (<code>boolean</code>) Include all feature flags in cdk.json. __*Default*__: true
676
679
  * **requireApproval** (<code>[awscdk.ApprovalLevel](#projen-awscdk-approvallevel)</code>) To protect you against unintended changes that affect your security posture, the AWS CDK Toolkit prompts you to approve security-related changes before deploying them. __*Default*__: ApprovalLevel.BROADENING
680
+ * **watchExcludes** (<code>Array<string></code>) Glob patterns to exclude from `cdk watch`. __*Default*__: []
681
+ * **watchIncludes** (<code>Array<string></code>) Glob patterns to include in `cdk watch`. __*Default*__: []
677
682
  * **cdkVersion** (<code>string</code>) AWS CDK version to use.
678
683
  * **appEntrypoint** (<code>string</code>) The CDK app's entrypoint (relative to the source directory, which is "src" by default). __*Default*__: "main.ts"
679
684
  * **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules (those that start with "@aws-cdk/") this app uses. __*Optional*__
@@ -852,7 +857,6 @@ new Cdk8sTypeScriptApp(options: Cdk8sTypeScriptAppOptions)
852
857
  * **appEntrypoint** (<code>string</code>) The CDK8s app's entrypoint (relative to the source directory, which is "src" by default). __*Default*__: "main.ts"
853
858
  * **cdk8sCliVersion** (<code>string</code>) cdk8s-cli version. __*Default*__: "cdk8sVersion"
854
859
  * **cdk8sCliVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK8s-cli. __*Default*__: false
855
- * **cdk8sPlusVersion** (<code>string</code>) cdk8s-plus-17 version. __*Default*__: "cdk8sVersion"
856
860
  * **cdk8sPlusVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for cdk8s-plus-17. __*Default*__: false
857
861
  * **cdk8sVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK8s. __*Default*__: false
858
862
  * **constructsVersion** (<code>string</code>) constructs verion. __*Default*__: "3.2.34"
@@ -867,7 +871,6 @@ Name | Type | Description
867
871
  -----|------|-------------
868
872
  **appEntrypoint**🔹 | <code>string</code> | The CDK8s app entrypoint.
869
873
  **cdk8sCliVersion**🔹 | <code>string</code> | The cdk8s-cli version this app is using.
870
- **cdk8sPlusVersion**🔹 | <code>string</code> | The cdk8s-plus-17 version this app is using.
871
874
  **cdk8sVersion**🔹 | <code>string</code> | The CDK8s version this app is using.
872
875
  **constructsVersion**🔹 | <code>string</code> | The constructs version this app is using.
873
876
 
@@ -1417,7 +1420,6 @@ new ConstructLibraryCdk8s(options: ConstructLibraryCdk8sOptions)
1417
1420
  * **rootdir** (<code>string</code>) *No description* __*Default*__: "."
1418
1421
  * **catalog** (<code>[Catalog](#projen-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
1419
1422
  * **cdk8sVersion** (<code>string</code>) Minimum target version this library is tested against.
1420
- * **cdk8sPlusVersion** (<code>string</code>) cdk8s-plus-17 version. __*Default*__: "cdk8sVersion"
1421
1423
  * **cdk8sPlusVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for cdk8s-plus-17. __*Default*__: false
1422
1424
  * **cdk8sVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK8s. __*Default*__: false
1423
1425
  * **constructsVersion** (<code>string</code>) constructs verion. __*Default*__: "3.2.34"
@@ -1430,7 +1432,6 @@ new ConstructLibraryCdk8s(options: ConstructLibraryCdk8sOptions)
1430
1432
 
1431
1433
  Name | Type | Description
1432
1434
  -----|------|-------------
1433
- **cdk8sPlusVersion**🔹 | <code>string</code> | The cdk8s-plus-17 version this app is using.
1434
1435
  **cdk8sVersion**🔹 | <code>string</code> | The CDK8s version this app is using.
1435
1436
  **constructsVersion**🔹 | <code>string</code> | The constructs version this app is using.
1436
1437
 
@@ -5175,6 +5176,7 @@ new awscdk.AutoDiscover(project: Project, options: AutoDiscoverOptions)
5175
5176
  * **project** (<code>[Project](#projen-project)</code>) *No description*
5176
5177
  * **options** (<code>[awscdk.AutoDiscoverOptions](#projen-awscdk-autodiscoveroptions)</code>) *No description*
5177
5178
  * **srcdir** (<code>string</code>) Project source tree (relative to project output directory).
5179
+ * **testdir** (<code>string</code>) Test source tree.
5178
5180
  * **lambdaOptions** (<code>[awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)</code>) Options for auto-discovery of AWS Lambda functions. __*Optional*__
5179
5181
 
5180
5182
 
@@ -5240,6 +5242,8 @@ new awscdk.AwsCdkJavaApp(options: AwsCdkJavaAppOptions)
5240
5242
  * **context** (<code>Map<string, string></code>) Additional context to include in `cdk.json`. __*Default*__: no additional context
5241
5243
  * **featureFlags** (<code>boolean</code>) Include all feature flags in cdk.json. __*Default*__: true
5242
5244
  * **requireApproval** (<code>[awscdk.ApprovalLevel](#projen-awscdk-approvallevel)</code>) To protect you against unintended changes that affect your security posture, the AWS CDK Toolkit prompts you to approve security-related changes before deploying them. __*Default*__: ApprovalLevel.BROADENING
5245
+ * **watchExcludes** (<code>Array<string></code>) Glob patterns to exclude from `cdk watch`. __*Default*__: []
5246
+ * **watchIncludes** (<code>Array<string></code>) Glob patterns to include in `cdk watch`. __*Default*__: []
5243
5247
  * **cdkVersion** (<code>string</code>) AWS CDK version to use (you can use semantic versioning).
5244
5248
  * **mainClass** (<code>string</code>) The name of the Java class with the static `main()` method.
5245
5249
  * **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules this app uses. __*Optional*__
@@ -5299,6 +5303,8 @@ new awscdk.CdkConfig(project: Project, options: CdkConfigOptions)
5299
5303
  * **context** (<code>Map<string, string></code>) Additional context to include in `cdk.json`. __*Default*__: no additional context
5300
5304
  * **featureFlags** (<code>boolean</code>) Include all feature flags in cdk.json. __*Default*__: true
5301
5305
  * **requireApproval** (<code>[awscdk.ApprovalLevel](#projen-awscdk-approvallevel)</code>) To protect you against unintended changes that affect your security posture, the AWS CDK Toolkit prompts you to approve security-related changes before deploying them. __*Default*__: ApprovalLevel.BROADENING
5306
+ * **watchExcludes** (<code>Array<string></code>) Glob patterns to exclude from `cdk watch`. __*Default*__: []
5307
+ * **watchIncludes** (<code>Array<string></code>) Glob patterns to include in `cdk watch`. __*Default*__: []
5302
5308
  * **app** (<code>string</code>) The command line to execute in order to synthesize the CDK application (language specific).
5303
5309
 
5304
5310
 
@@ -5346,6 +5352,43 @@ Name | Type | Description
5346
5352
 
5347
5353
 
5348
5354
 
5355
+ ## class IntegrationTest 🔹 <a id="projen-awscdk-integrationtest"></a>
5356
+
5357
+ Cloud integration tests.
5358
+
5359
+ __Submodule__: awscdk
5360
+
5361
+ __Extends__: [Component](#projen-component)
5362
+
5363
+ ### Initializer
5364
+
5365
+
5366
+
5367
+
5368
+ ```ts
5369
+ new awscdk.IntegrationTest(project: Project, options: IntegrationTestOptions)
5370
+ ```
5371
+
5372
+ * **project** (<code>[Project](#projen-project)</code>) *No description*
5373
+ * **options** (<code>[awscdk.IntegrationTestOptions](#projen-awscdk-integrationtestoptions)</code>) *No description*
5374
+ * **destroyAfterDeploy** (<code>boolean</code>) Destroy the test app after a successful deployment. __*Default*__: true
5375
+ * **entrypoint** (<code>string</code>) A path from the project root directory to a TypeScript file which contains the integration test app.
5376
+
5377
+
5378
+
5379
+ ### Properties
5380
+
5381
+
5382
+ Name | Type | Description
5383
+ -----|------|-------------
5384
+ **assertTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Synthesizes the integration test and compares against a local copy (runs during build).
5385
+ **deployTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Deploy the integration test and update the snapshot upon success.
5386
+ **destroyTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Destroys a deployed stack.
5387
+ **snapshotTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Just update snapshot (without deployment).
5388
+ **watchTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | The watch task.
5389
+
5390
+
5391
+
5349
5392
  ## class LambdaFunction 🔹 <a id="projen-awscdk-lambdafunction"></a>
5350
5393
 
5351
5394
  Generates a pre-bundled AWS Lambda function construct from handler code.
@@ -9200,6 +9243,8 @@ Name | Type | Description
9200
9243
  **typescriptVersion**?🔹 | <code>string</code> | TypeScript version to use.<br/>__*Default*__: "latest"
9201
9244
  **versionrcOptions**?🔹 | <code>Map<string, any></code> | Custom configuration used when creating changelog with standard-version package.<br/>__*Default*__: standard configuration applicable for GitHub repositories
9202
9245
  **vscode**?🔹 | <code>boolean</code> | Enable VSCode integration.<br/>__*Default*__: true
9246
+ **watchExcludes**?🔹 | <code>Array<string></code> | Glob patterns to exclude from `cdk watch`.<br/>__*Default*__: []
9247
+ **watchIncludes**?🔹 | <code>Array<string></code> | Glob patterns to include in `cdk watch`.<br/>__*Default*__: []
9203
9248
  **workflowBootstrapSteps**?🔹 | <code>Array<any></code> | Workflow steps to use in order to bootstrap this repo.<br/>__*Default*__: "yarn install --frozen-lockfile && yarn projen"
9204
9249
  **workflowContainerImage**?🔹 | <code>string</code> | Container image to use for GitHub workflows.<br/>__*Default*__: default image
9205
9250
  **workflowGitIdentity**?🔹 | <code>[github.GitIdentity](#projen-github-gitidentity)</code> | The git identity to use in workflows.<br/>__*Default*__: GitHub Actions
@@ -9252,7 +9297,6 @@ Name | Type | Description
9252
9297
  **bundlerOptions**?🔹 | <code>[javascript.BundlerOptions](#projen-javascript-bundleroptions)</code> | Options for `Bundler`.<br/>__*Optional*__
9253
9298
  **cdk8sCliVersion**?🔹 | <code>string</code> | cdk8s-cli version.<br/>__*Default*__: "cdk8sVersion"
9254
9299
  **cdk8sCliVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK8s-cli.<br/>__*Default*__: false
9255
- **cdk8sPlusVersion**?🔹 | <code>string</code> | cdk8s-plus-17 version.<br/>__*Default*__: "cdk8sVersion"
9256
9300
  **cdk8sPlusVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for cdk8s-plus-17.<br/>__*Default*__: false
9257
9301
  **cdk8sVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK8s.<br/>__*Default*__: false
9258
9302
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
@@ -9566,7 +9610,6 @@ Name | Type | Description
9566
9610
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
9567
9611
  **bundlerOptions**?🔹 | <code>[javascript.BundlerOptions](#projen-javascript-bundleroptions)</code> | Options for `Bundler`.<br/>__*Optional*__
9568
9612
  **catalog**?🔹 | <code>[Catalog](#projen-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
9569
- **cdk8sPlusVersion**?🔹 | <code>string</code> | cdk8s-plus-17 version.<br/>__*Default*__: "cdk8sVersion"
9570
9613
  **cdk8sPlusVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for cdk8s-plus-17.<br/>__*Default*__: false
9571
9614
  **cdk8sVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK8s.<br/>__*Default*__: false
9572
9615
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
@@ -11697,6 +11740,7 @@ Options for `AutoDiscover`.
11697
11740
  Name | Type | Description
11698
11741
  -----|------|-------------
11699
11742
  **srcdir**🔹 | <code>string</code> | Project source tree (relative to project output directory).
11743
+ **testdir**🔹 | <code>string</code> | Test source tree.
11700
11744
  **lambdaOptions**?🔹 | <code>[awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)</code> | Options for auto-discovery of AWS Lambda functions.<br/>__*Optional*__
11701
11745
 
11702
11746
 
@@ -11755,6 +11799,8 @@ Name | Type | Description
11755
11799
  **testDeps**?🔹 | <code>Array<string></code> | List of test dependencies for this project.<br/>__*Default*__: []
11756
11800
  **url**?🔹 | <code>string</code> | The URL, like the name, is not required.<br/>__*Default*__: undefined
11757
11801
  **vscode**?🔹 | <code>boolean</code> | Enable VSCode integration.<br/>__*Default*__: true
11802
+ **watchExcludes**?🔹 | <code>Array<string></code> | Glob patterns to exclude from `cdk watch`.<br/>__*Default*__: []
11803
+ **watchIncludes**?🔹 | <code>Array<string></code> | Glob patterns to include in `cdk watch`.<br/>__*Default*__: []
11758
11804
 
11759
11805
 
11760
11806
 
@@ -11771,6 +11817,8 @@ Name | Type | Description
11771
11817
  **context**?🔹 | <code>Map<string, string></code> | Additional context to include in `cdk.json`.<br/>__*Default*__: no additional context
11772
11818
  **featureFlags**?🔹 | <code>boolean</code> | Include all feature flags in cdk.json.<br/>__*Default*__: true
11773
11819
  **requireApproval**?🔹 | <code>[awscdk.ApprovalLevel](#projen-awscdk-approvallevel)</code> | To protect you against unintended changes that affect your security posture, the AWS CDK Toolkit prompts you to approve security-related changes before deploying them.<br/>__*Default*__: ApprovalLevel.BROADENING
11820
+ **watchExcludes**?🔹 | <code>Array<string></code> | Glob patterns to exclude from `cdk watch`.<br/>__*Default*__: []
11821
+ **watchIncludes**?🔹 | <code>Array<string></code> | Glob patterns to include in `cdk watch`.<br/>__*Default*__: []
11774
11822
 
11775
11823
 
11776
11824
 
@@ -11788,6 +11836,35 @@ Name | Type | Description
11788
11836
  **context**?🔹 | <code>Map<string, string></code> | Additional context to include in `cdk.json`.<br/>__*Default*__: no additional context
11789
11837
  **featureFlags**?🔹 | <code>boolean</code> | Include all feature flags in cdk.json.<br/>__*Default*__: true
11790
11838
  **requireApproval**?🔹 | <code>[awscdk.ApprovalLevel](#projen-awscdk-approvallevel)</code> | To protect you against unintended changes that affect your security posture, the AWS CDK Toolkit prompts you to approve security-related changes before deploying them.<br/>__*Default*__: ApprovalLevel.BROADENING
11839
+ **watchExcludes**?🔹 | <code>Array<string></code> | Glob patterns to exclude from `cdk watch`.<br/>__*Default*__: []
11840
+ **watchIncludes**?🔹 | <code>Array<string></code> | Glob patterns to include in `cdk watch`.<br/>__*Default*__: []
11841
+
11842
+
11843
+
11844
+ ## struct IntegrationTestCommonOptions 🔹 <a id="projen-awscdk-integrationtestcommonoptions"></a>
11845
+
11846
+
11847
+
11848
+
11849
+
11850
+
11851
+ Name | Type | Description
11852
+ -----|------|-------------
11853
+ **destroyAfterDeploy**?🔹 | <code>boolean</code> | Destroy the test app after a successful deployment.<br/>__*Default*__: true
11854
+
11855
+
11856
+
11857
+ ## struct IntegrationTestOptions 🔹 <a id="projen-awscdk-integrationtestoptions"></a>
11858
+
11859
+
11860
+ Options for `IntegrationTest`.
11861
+
11862
+
11863
+
11864
+ Name | Type | Description
11865
+ -----|------|-------------
11866
+ **entrypoint**🔹 | <code>string</code> | A path from the project root directory to a TypeScript file which contains the integration test app.
11867
+ **destroyAfterDeploy**?🔹 | <code>boolean</code> | Destroy the test app after a successful deployment.<br/>__*Default*__: true
11791
11868
 
11792
11869
 
11793
11870
 
package/docs/awscdk.md CHANGED
@@ -95,37 +95,34 @@ new awscdk.LambdaFunction(p, {
95
95
  });
96
96
  ```
97
97
 
98
- ## Integration Snapshot Tests (NOT IMPLEMENTED YET)
98
+ ## Integration Snapshot Tests
99
99
 
100
- Files in the test tree with the `.integ.ts` suffix are recognized as
100
+ Files in the `test/` tree with the `.integ.ts` suffix are recognized as
101
101
  *integration snapshot tests*.
102
102
 
103
- Each test is a simple app (e.g. calls `app.synth()`) which exercises certain
103
+ Each test is a simple CDK app (e.g. calls `app.synth()`) which exercises certain
104
104
  construct(s) within the project. A test is considered passing if the app can be
105
105
  successfully deployed.
106
106
 
107
- During build, integration test apps are synthesized and their output is compared
108
- to a committed *snapshot*. If the output is the same, the test has passed,
109
- otherwise the build will fail.
110
-
111
- To create/update the snapshot, developers need to manually execute the task
112
- `integ:NAME:deploy` with AWS credentials in their environment. This task will
113
- `cdk deploy` the test app to their development account and if deployment
114
- succeeded (i.e. the test passed), it will take a snapshot of the output and add
115
- it to the repository under a `xxx.integ.snapshot` directory. This directory
116
- should be committed to the repository.
117
-
118
- In addition to the `integ:NAME:deploy` task, for each integration test, the
119
- following set of tasks are created:
120
-
121
- * `integ:NAME:deploy` - deploys & destroys the test app and updates the snapshot.
122
- * `integ:NAME:destroy` - destroys a previously deployed test app.
123
- * `integ:NAME:assert` - synthesizes the test app and compares it with the
124
- snapshot (this is the task that runs during build).
125
- * `integ:NAME:snapshot` - synthesizes the test app and updates the snapshot
126
- (bypasses the deployment).
127
- * `integ:NAME:watch` - starts `cdk watch` for the test app (monitors all source
128
- files and bundles).
107
+ To create/update the snapshot, developers are expected to execute the task
108
+ `integ:NAME:deploy` with AWS credentials for their personal development
109
+ environment. This task will deploy the test app to their account. Upon
110
+ successful deployment (i.e. the test passed), the snapshot will be captured and
111
+ stored under a directory called `xxx.integ.snapshot` next to the test
112
+ entrypoint. This directory should be committed to the repository.
113
+
114
+ During builds (either local or within a workflow), the task `integ:NAME:assert`
115
+ will be executed. This task synthesizes the test app and compares the output to
116
+ the captured snapshot. The build will fail if the output differs.
117
+
118
+ For each integration test, the following set of tasks are created:
119
+
120
+ |Task|Description|
121
+ |----|-----------|
122
+ |`integ:NAME:deploy`|Deploys & destroys the test app and updates the snapshot.|
123
+ |`integ:NAME:assert`|Synthesizes the test app and compares it with the snapshot (this is the task that runs during build)|
124
+ |`integ:NAME:snapshot`|Synthesizes the test app and updates the snapshot (not recommended to use because it bypasses deployment).|
125
+ |`integ:NAME:destroy`|Destroys a previously deployed test app.|
129
126
 
130
127
  ### Writing test assertions
131
128
 
@@ -19,6 +19,12 @@ export interface AutoDiscoverOptions {
19
19
  * @experimental
20
20
  */
21
21
  readonly srcdir: string;
22
+ /**
23
+ * (experimental) Test source tree.
24
+ *
25
+ * @experimental
26
+ */
27
+ readonly testdir: string;
22
28
  }
23
29
  /**
24
30
  * (experimental) Automatically creates a `LambdaFunction` for all `.lambda.ts` files under the source directory of the project.
@@ -30,4 +36,6 @@ export declare class AutoDiscover extends Component {
30
36
  * @experimental
31
37
  */
32
38
  constructor(project: Project, options: AutoDiscoverOptions);
39
+ private autoDiscoverLambdaFunctions;
40
+ private autoDiscoverIntegrationTests;
33
41
  }
@@ -5,6 +5,7 @@ exports.AutoDiscover = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const path_1 = require("path");
7
7
  const glob = require("glob");
8
+ const _1 = require(".");
8
9
  const component_1 = require("../component");
9
10
  const internal_1 = require("./internal");
10
11
  const lambda_function_1 = require("./lambda-function");
@@ -19,6 +20,10 @@ class AutoDiscover extends component_1.Component {
19
20
  */
20
21
  constructor(project, options) {
21
22
  super(project);
23
+ this.autoDiscoverLambdaFunctions(options);
24
+ this.autoDiscoverIntegrationTests(options);
25
+ }
26
+ autoDiscoverLambdaFunctions(options) {
22
27
  const entrypoints = glob.sync(`**/*${internal_1.TYPESCRIPT_LAMBDA_EXT}`, {
23
28
  cwd: path_1.join(this.project.outdir, options.srcdir),
24
29
  });
@@ -29,8 +34,18 @@ class AutoDiscover extends component_1.Component {
29
34
  });
30
35
  }
31
36
  }
37
+ autoDiscoverIntegrationTests(options) {
38
+ const entrypoints = glob.sync(`**/*${internal_1.TYPESCRIPT_INTEG_EXT}`, {
39
+ cwd: path_1.join(this.project.outdir, options.testdir),
40
+ });
41
+ for (const entrypoint of entrypoints) {
42
+ new _1.IntegrationTest(this.project, {
43
+ entrypoint: path_1.join(options.testdir, entrypoint),
44
+ });
45
+ }
46
+ }
32
47
  }
33
48
  exports.AutoDiscover = AutoDiscover;
34
49
  _a = JSII_RTTI_SYMBOL_1;
35
- AutoDiscover[_a] = { fqn: "projen.awscdk.AutoDiscover", version: "0.34.28" };
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1kaXNjb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXV0by1kaXNjb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsNENBQXlDO0FBRXpDLHlDQUFtRDtBQUNuRCx1REFBZ0Y7Ozs7OztBQVloRixNQUFhLFlBQWEsU0FBUSxxQkFBUzs7OztJQUd6QyxZQUFZLE9BQWdCLEVBQUUsT0FBNEI7UUFDeEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLGdDQUFxQixFQUFFLEVBQUU7WUFDNUQsR0FBRyxFQUFFLFdBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDO1NBQy9DLENBQUMsQ0FBQztRQUVILEtBQUssTUFBTSxVQUFVLElBQUksV0FBVyxFQUFFO1lBQ3BDLElBQUksZ0NBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUMvQixVQUFVLEVBQUUsV0FBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDO2dCQUM1QyxHQUFHLE9BQU8sQ0FBQyxhQUFhO2FBQ3pCLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7QUFoQkgsb0NBaUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgam9pbiB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgZ2xvYiBmcm9tICdnbG9iJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi4vcHJvamVjdCc7XG5pbXBvcnQgeyBUWVBFU0NSSVBUX0xBTUJEQV9FWFQgfSBmcm9tICcuL2ludGVybmFsJztcbmltcG9ydCB7IExhbWJkYUZ1bmN0aW9uLCBMYW1iZGFGdW5jdGlvbkNvbW1vbk9wdGlvbnMgfSBmcm9tICcuL2xhbWJkYS1mdW5jdGlvbic7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9EaXNjb3Zlck9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbGFtYmRhT3B0aW9ucz86IExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBzcmNkaXI6IHN0cmluZztcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIEF1dG9EaXNjb3ZlciBleHRlbmRzIENvbXBvbmVudCB7XG5cblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBBdXRvRGlzY292ZXJPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICBjb25zdCBlbnRyeXBvaW50cyA9IGdsb2Iuc3luYyhgKiovKiR7VFlQRVNDUklQVF9MQU1CREFfRVhUfWAsIHtcbiAgICAgIGN3ZDogam9pbih0aGlzLnByb2plY3Qub3V0ZGlyLCBvcHRpb25zLnNyY2RpciksXG4gICAgfSk7XG5cbiAgICBmb3IgKGNvbnN0IGVudHJ5cG9pbnQgb2YgZW50cnlwb2ludHMpIHtcbiAgICAgIG5ldyBMYW1iZGFGdW5jdGlvbih0aGlzLnByb2plY3QsIHtcbiAgICAgICAgZW50cnlwb2ludDogam9pbihvcHRpb25zLnNyY2RpciwgZW50cnlwb2ludCksXG4gICAgICAgIC4uLm9wdGlvbnMubGFtYmRhT3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufSJdfQ==
50
+ AutoDiscover[_a] = { fqn: "projen.awscdk.AutoDiscover", version: "0.36.0" };
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1kaXNjb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXV0by1kaXNjb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0Isd0JBQW9DO0FBQ3BDLDRDQUF5QztBQUV6Qyx5Q0FBeUU7QUFDekUsdURBQWdGOzs7Ozs7QUFlaEYsTUFBYSxZQUFhLFNBQVEscUJBQVM7Ozs7SUFHekMsWUFBWSxPQUFnQixFQUFFLE9BQTRCO1FBQ3hELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLDJCQUEyQixDQUFDLE9BQTRCO1FBQzlELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxnQ0FBcUIsRUFBRSxFQUFFO1lBQzVELEdBQUcsRUFBRSxXQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQztTQUMvQyxDQUFDLENBQUM7UUFFSCxLQUFLLE1BQU0sVUFBVSxJQUFJLFdBQVcsRUFBRTtZQUNwQyxJQUFJLGdDQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDL0IsVUFBVSxFQUFFLFdBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQztnQkFDNUMsR0FBRyxPQUFPLENBQUMsYUFBYTthQUN6QixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTyw0QkFBNEIsQ0FBQyxPQUE0QjtRQUMvRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sK0JBQW9CLEVBQUUsRUFBRTtZQUMzRCxHQUFHLEVBQUUsV0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUM7U0FDaEQsQ0FBQyxDQUFDO1FBRUgsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUU7WUFDcEMsSUFBSSxrQkFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hDLFVBQVUsRUFBRSxXQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUM7YUFDOUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOztBQWpDSCxvQ0FtQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqb2luIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBnbG9iIGZyb20gJ2dsb2InO1xuaW1wb3J0IHsgSW50ZWdyYXRpb25UZXN0IH0gZnJvbSAnLic7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gJy4uL3Byb2plY3QnO1xuaW1wb3J0IHsgVFlQRVNDUklQVF9JTlRFR19FWFQsIFRZUEVTQ1JJUFRfTEFNQkRBX0VYVCB9IGZyb20gJy4vaW50ZXJuYWwnO1xuaW1wb3J0IHsgTGFtYmRhRnVuY3Rpb24sIExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucyB9IGZyb20gJy4vbGFtYmRhLWZ1bmN0aW9uJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgQXV0b0Rpc2NvdmVyT3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsYW1iZGFPcHRpb25zPzogTGFtYmRhRnVuY3Rpb25Db21tb25PcHRpb25zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHNyY2Rpcjogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHRlc3RkaXI6IHN0cmluZztcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIEF1dG9EaXNjb3ZlciBleHRlbmRzIENvbXBvbmVudCB7XG5cblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBBdXRvRGlzY292ZXJPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICB0aGlzLmF1dG9EaXNjb3ZlckxhbWJkYUZ1bmN0aW9ucyhvcHRpb25zKTtcbiAgICB0aGlzLmF1dG9EaXNjb3ZlckludGVncmF0aW9uVGVzdHMob3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIGF1dG9EaXNjb3ZlckxhbWJkYUZ1bmN0aW9ucyhvcHRpb25zOiBBdXRvRGlzY292ZXJPcHRpb25zKSB7XG4gICAgY29uc3QgZW50cnlwb2ludHMgPSBnbG9iLnN5bmMoYCoqLyoke1RZUEVTQ1JJUFRfTEFNQkRBX0VYVH1gLCB7XG4gICAgICBjd2Q6IGpvaW4odGhpcy5wcm9qZWN0Lm91dGRpciwgb3B0aW9ucy5zcmNkaXIpLFxuICAgIH0pO1xuXG4gICAgZm9yIChjb25zdCBlbnRyeXBvaW50IG9mIGVudHJ5cG9pbnRzKSB7XG4gICAgICBuZXcgTGFtYmRhRnVuY3Rpb24odGhpcy5wcm9qZWN0LCB7XG4gICAgICAgIGVudHJ5cG9pbnQ6IGpvaW4ob3B0aW9ucy5zcmNkaXIsIGVudHJ5cG9pbnQpLFxuICAgICAgICAuLi5vcHRpb25zLmxhbWJkYU9wdGlvbnMsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGF1dG9EaXNjb3ZlckludGVncmF0aW9uVGVzdHMob3B0aW9uczogQXV0b0Rpc2NvdmVyT3B0aW9ucykge1xuICAgIGNvbnN0IGVudHJ5cG9pbnRzID0gZ2xvYi5zeW5jKGAqKi8qJHtUWVBFU0NSSVBUX0lOVEVHX0VYVH1gLCB7XG4gICAgICBjd2Q6IGpvaW4odGhpcy5wcm9qZWN0Lm91dGRpciwgb3B0aW9ucy50ZXN0ZGlyKSxcbiAgICB9KTtcblxuICAgIGZvciAoY29uc3QgZW50cnlwb2ludCBvZiBlbnRyeXBvaW50cykge1xuICAgICAgbmV3IEludGVncmF0aW9uVGVzdCh0aGlzLnByb2plY3QsIHtcbiAgICAgICAgZW50cnlwb2ludDogam9pbihvcHRpb25zLnRlc3RkaXIsIGVudHJ5cG9pbnQpLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbn0iXX0=
@@ -37,6 +37,20 @@ export interface CdkConfigCommonOptions {
37
37
  * @experimental
38
38
  */
39
39
  readonly cdkout?: string;
40
+ /**
41
+ * (experimental) Glob patterns to include in `cdk watch`.
42
+ *
43
+ * @default []
44
+ * @experimental
45
+ */
46
+ readonly watchIncludes?: string[];
47
+ /**
48
+ * (experimental) Glob patterns to exclude from `cdk watch`.
49
+ *
50
+ * @default []
51
+ * @experimental
52
+ */
53
+ readonly watchExcludes?: string[];
40
54
  }
41
55
  /**
42
56
  * (experimental) Options for `CdkJson`.
@@ -16,7 +16,7 @@ class CdkConfig extends component_1.Component {
16
16
  * @experimental
17
17
  */
18
18
  constructor(project, options) {
19
- var _b, _c;
19
+ var _b, _c, _d, _e;
20
20
  super(project);
21
21
  this.cdkout = (_b = options.cdkout) !== null && _b !== void 0 ? _b : 'cdk.out';
22
22
  const context = { ...options.context };
@@ -33,6 +33,10 @@ class CdkConfig extends component_1.Component {
33
33
  context: context,
34
34
  requireApproval: options.requireApproval,
35
35
  output: this.cdkout,
36
+ watch: {
37
+ include: (_d = options.watchIncludes) !== null && _d !== void 0 ? _d : [],
38
+ exclude: (_e = options.watchExcludes) !== null && _e !== void 0 ? _e : [],
39
+ },
36
40
  },
37
41
  });
38
42
  project.gitignore.exclude(`/${this.cdkout}/`);
@@ -41,7 +45,7 @@ class CdkConfig extends component_1.Component {
41
45
  }
42
46
  exports.CdkConfig = CdkConfig;
43
47
  _a = JSII_RTTI_SYMBOL_1;
44
- CdkConfig[_a] = { fqn: "projen.awscdk.CdkConfig", version: "0.34.28" };
48
+ CdkConfig[_a] = { fqn: "projen.awscdk.CdkConfig", version: "0.36.0" };
45
49
  /**
46
50
  * (experimental) Which approval is required when deploying CDK apps.
47
51
  *
@@ -53,4 +57,4 @@ var ApprovalLevel;
53
57
  ApprovalLevel["ANY_CHANGE"] = "any-change";
54
58
  ApprovalLevel["BROADENING"] = "broadening";
55
59
  })(ApprovalLevel = exports.ApprovalLevel || (exports.ApprovalLevel = {}));
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvY2RrLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDRDQUF5QztBQUN6QyxrQ0FBbUM7QUFFbkMseUNBQTJDOzs7Ozs7QUF3QjNDLE1BQWEsU0FBVSxTQUFRLHFCQUFTOzs7O0lBUXRDLFlBQVksT0FBZ0IsRUFBRSxPQUF5Qjs7UUFDckQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLE1BQU0sU0FBRyxPQUFPLENBQUMsTUFBTSxtQ0FBSSxTQUFTLENBQUM7UUFFMUMsTUFBTSxPQUFPLEdBQXdCLEVBQUUsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUQsTUFBTSxNQUFNLFNBQUcsT0FBTyxDQUFDLFlBQVksbUNBQUksSUFBSSxDQUFDO1FBQzVDLElBQUksTUFBTSxFQUFFO1lBQ1YsS0FBSyxNQUFNLElBQUksSUFBSSx3QkFBYSxFQUFFO2dCQUNoQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO2FBQ3RCO1NBQ0Y7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksZUFBUSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUU7WUFDNUMsU0FBUyxFQUFFLElBQUk7WUFDZixHQUFHLEVBQUU7Z0JBQ0gsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHO2dCQUNoQixPQUFPLEVBQUUsT0FBTztnQkFDaEIsZUFBZSxFQUFFLE9BQU8sQ0FBQyxlQUFlO2dCQUN4QyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07YUFDcEI7U0FDRixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7O0FBakNILDhCQWtDQzs7Ozs7Ozs7QUFHRCxJQUFZLGFBT1g7QUFQRCxXQUFZLGFBQWE7SUFFdkIsZ0NBQWUsQ0FBQTtJQUVmLDBDQUF5QixDQUFBO0lBRXpCLDBDQUF5QixDQUFBO0FBQzNCLENBQUMsRUFQVyxhQUFhLEdBQWIscUJBQWEsS0FBYixxQkFBYSxRQU94QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBKc29uRmlsZSB9IGZyb20gJy4uL2pzb24nO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gJy4uL3Byb2plY3QnO1xuaW1wb3J0IHsgRkVBVFVSRV9GTEFHUyB9IGZyb20gJy4vaW50ZXJuYWwnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBDZGtDb25maWdDb21tb25PcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNvbnRleHQ/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGZlYXR1cmVGbGFncz86IGJvb2xlYW47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHJlcXVpcmVBcHByb3ZhbD86IEFwcHJvdmFsTGV2ZWw7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY2Rrb3V0Pzogc3RyaW5nO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgQ2RrQ29uZmlnT3B0aW9ucyBleHRlbmRzIENka0NvbmZpZ0NvbW1vbk9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgYXBwOiBzdHJpbmc7XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIENka0NvbmZpZyBleHRlbmRzIENvbXBvbmVudCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkganNvbjogSnNvbkZpbGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBjZGtvdXQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBDZGtDb25maWdPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICB0aGlzLmNka291dCA9IG9wdGlvbnMuY2Rrb3V0ID8/ICdjZGsub3V0JztcblxuICAgIGNvbnN0IGNvbnRleHQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7IC4uLm9wdGlvbnMuY29udGV4dCB9O1xuICAgIGNvbnN0IGZmbGFncyA9IG9wdGlvbnMuZmVhdHVyZUZsYWdzID8/IHRydWU7XG4gICAgaWYgKGZmbGFncykge1xuICAgICAgZm9yIChjb25zdCBmbGFnIG9mIEZFQVRVUkVfRkxBR1MpIHtcbiAgICAgICAgY29udGV4dFtmbGFnXSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5qc29uID0gbmV3IEpzb25GaWxlKHByb2plY3QsICdjZGsuanNvbicsIHtcbiAgICAgIG9taXRFbXB0eTogdHJ1ZSxcbiAgICAgIG9iajoge1xuICAgICAgICBhcHA6IG9wdGlvbnMuYXBwLFxuICAgICAgICBjb250ZXh0OiBjb250ZXh0LFxuICAgICAgICByZXF1aXJlQXBwcm92YWw6IG9wdGlvbnMucmVxdWlyZUFwcHJvdmFsLFxuICAgICAgICBvdXRwdXQ6IHRoaXMuY2Rrb3V0LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHByb2plY3QuZ2l0aWdub3JlLmV4Y2x1ZGUoYC8ke3RoaXMuY2Rrb3V0fS9gKTtcbiAgICBwcm9qZWN0LmdpdGlnbm9yZS5leGNsdWRlKCcuY2RrLnN0YWdpbmcvJyk7XG4gIH1cbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBlbnVtIEFwcHJvdmFsTGV2ZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBORVZFUiA9ICduZXZlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgQU5ZX0NIQU5HRSA9ICdhbnktY2hhbmdlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBCUk9BREVOSU5HID0gJ2Jyb2FkZW5pbmcnLFxufVxuXG4iXX0=
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvY2RrLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDRDQUF5QztBQUN6QyxrQ0FBbUM7QUFFbkMseUNBQTJDOzs7Ozs7QUE4QjNDLE1BQWEsU0FBVSxTQUFRLHFCQUFTOzs7O0lBUXRDLFlBQVksT0FBZ0IsRUFBRSxPQUF5Qjs7UUFDckQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLE1BQU0sU0FBRyxPQUFPLENBQUMsTUFBTSxtQ0FBSSxTQUFTLENBQUM7UUFFMUMsTUFBTSxPQUFPLEdBQXdCLEVBQUUsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUQsTUFBTSxNQUFNLFNBQUcsT0FBTyxDQUFDLFlBQVksbUNBQUksSUFBSSxDQUFDO1FBQzVDLElBQUksTUFBTSxFQUFFO1lBQ1YsS0FBSyxNQUFNLElBQUksSUFBSSx3QkFBYSxFQUFFO2dCQUNoQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO2FBQ3RCO1NBQ0Y7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksZUFBUSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUU7WUFDNUMsU0FBUyxFQUFFLElBQUk7WUFDZixHQUFHLEVBQUU7Z0JBQ0gsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHO2dCQUNoQixPQUFPLEVBQUUsT0FBTztnQkFDaEIsZUFBZSxFQUFFLE9BQU8sQ0FBQyxlQUFlO2dCQUN4QyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ25CLEtBQUssRUFBRTtvQkFDTCxPQUFPLFFBQUUsT0FBTyxDQUFDLGFBQWEsbUNBQUksRUFBRTtvQkFDcEMsT0FBTyxRQUFFLE9BQU8sQ0FBQyxhQUFhLG1DQUFJLEVBQUU7aUJBQ3JDO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7O0FBckNILDhCQXNDQzs7Ozs7Ozs7QUFHRCxJQUFZLGFBT1g7QUFQRCxXQUFZLGFBQWE7SUFFdkIsZ0NBQWUsQ0FBQTtJQUVmLDBDQUF5QixDQUFBO0lBRXpCLDBDQUF5QixDQUFBO0FBQzNCLENBQUMsRUFQVyxhQUFhLEdBQWIscUJBQWEsS0FBYixxQkFBYSxRQU94QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBKc29uRmlsZSB9IGZyb20gJy4uL2pzb24nO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gJy4uL3Byb2plY3QnO1xuaW1wb3J0IHsgRkVBVFVSRV9GTEFHUyB9IGZyb20gJy4vaW50ZXJuYWwnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBDZGtDb25maWdDb21tb25PcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNvbnRleHQ/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGZlYXR1cmVGbGFncz86IGJvb2xlYW47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHJlcXVpcmVBcHByb3ZhbD86IEFwcHJvdmFsTGV2ZWw7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY2Rrb3V0Pzogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHdhdGNoSW5jbHVkZXM/OiBzdHJpbmdbXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHdhdGNoRXhjbHVkZXM/OiBzdHJpbmdbXTtcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIENka0NvbmZpZ09wdGlvbnMgZXh0ZW5kcyBDZGtDb25maWdDb21tb25PcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGFwcDogc3RyaW5nO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBDZGtDb25maWcgZXh0ZW5kcyBDb21wb25lbnQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IGpzb246IEpzb25GaWxlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgY2Rrb3V0OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogQ2RrQ29uZmlnT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgdGhpcy5jZGtvdXQgPSBvcHRpb25zLmNka291dCA/PyAnY2RrLm91dCc7XG5cbiAgICBjb25zdCBjb250ZXh0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0geyAuLi5vcHRpb25zLmNvbnRleHQgfTtcbiAgICBjb25zdCBmZmxhZ3MgPSBvcHRpb25zLmZlYXR1cmVGbGFncyA/PyB0cnVlO1xuICAgIGlmIChmZmxhZ3MpIHtcbiAgICAgIGZvciAoY29uc3QgZmxhZyBvZiBGRUFUVVJFX0ZMQUdTKSB7XG4gICAgICAgIGNvbnRleHRbZmxhZ10gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuanNvbiA9IG5ldyBKc29uRmlsZShwcm9qZWN0LCAnY2RrLmpzb24nLCB7XG4gICAgICBvbWl0RW1wdHk6IHRydWUsXG4gICAgICBvYmo6IHtcbiAgICAgICAgYXBwOiBvcHRpb25zLmFwcCxcbiAgICAgICAgY29udGV4dDogY29udGV4dCxcbiAgICAgICAgcmVxdWlyZUFwcHJvdmFsOiBvcHRpb25zLnJlcXVpcmVBcHByb3ZhbCxcbiAgICAgICAgb3V0cHV0OiB0aGlzLmNka291dCxcbiAgICAgICAgd2F0Y2g6IHtcbiAgICAgICAgICBpbmNsdWRlOiBvcHRpb25zLndhdGNoSW5jbHVkZXMgPz8gW10sXG4gICAgICAgICAgZXhjbHVkZTogb3B0aW9ucy53YXRjaEV4Y2x1ZGVzID8/IFtdLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHByb2plY3QuZ2l0aWdub3JlLmV4Y2x1ZGUoYC8ke3RoaXMuY2Rrb3V0fS9gKTtcbiAgICBwcm9qZWN0LmdpdGlnbm9yZS5leGNsdWRlKCcuY2RrLnN0YWdpbmcvJyk7XG4gIH1cbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBlbnVtIEFwcHJvdmFsTGV2ZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBORVZFUiA9ICduZXZlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgQU5ZX0NIQU5HRSA9ICdhbnktY2hhbmdlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBCUk9BREVOSU5HID0gJ2Jyb2FkZW5pbmcnLFxufVxuXG4iXX0=
@@ -35,5 +35,5 @@ class CdkTasks extends component_1.Component {
35
35
  }
36
36
  exports.CdkTasks = CdkTasks;
37
37
  _a = JSII_RTTI_SYMBOL_1;
38
- CdkTasks[_a] = { fqn: "projen.awscdk.CdkTasks", version: "0.34.28" };
38
+ CdkTasks[_a] = { fqn: "projen.awscdk.CdkTasks", version: "0.36.0" };
39
39
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXRhc2tzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9jZGstdGFza3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0Q0FBeUM7Ozs7OztBQUt6QyxNQUFhLFFBQVMsU0FBUSxxQkFBUzs7OztJQWFyQyxZQUFZLE9BQWdCO1FBQzFCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDcEMsV0FBVyxFQUFFLDhEQUE4RDtZQUMzRSxJQUFJLEVBQUUsV0FBVztTQUNsQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3RDLFdBQVcsRUFBRSx1Q0FBdUM7WUFDcEQsSUFBSSxFQUFFLFlBQVk7U0FDbkIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUN4QyxXQUFXLEVBQUUsd0NBQXdDO1lBQ3JELElBQUksRUFBRSxhQUFhO1NBQ3BCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDbEMsV0FBVyxFQUFFLG9EQUFvRDtZQUNqRSxJQUFJLEVBQUUsVUFBVTtTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDOztBQW5DSCw0QkFvQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gJy4uL3Byb2plY3QnO1xuaW1wb3J0IHsgVGFzayB9IGZyb20gJy4uL3Rhc2tzJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIENka1Rhc2tzIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBzeW50aDogVGFzaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgZGVwbG95OiBUYXNrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgZGVzdHJveTogVGFzaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IGRpZmY6IFRhc2s7XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgdGhpcy5zeW50aCA9IHByb2plY3QuYWRkVGFzaygnc3ludGgnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1N5bnRoZXNpemVzIHlvdXIgY2RrIGFwcCBpbnRvIGNkay5vdXQgKHBhcnQgb2YgXCJ5YXJuIGJ1aWxkXCIpJyxcbiAgICAgIGV4ZWM6ICdjZGsgc3ludGgnLFxuICAgIH0pO1xuXG4gICAgdGhpcy5kZXBsb3kgPSBwcm9qZWN0LmFkZFRhc2soJ2RlcGxveScsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVwbG95cyB5b3VyIENESyBhcHAgdG8gdGhlIEFXUyBjbG91ZCcsXG4gICAgICBleGVjOiAnY2RrIGRlcGxveScsXG4gICAgfSk7XG5cbiAgICB0aGlzLmRlc3Ryb3kgPSBwcm9qZWN0LmFkZFRhc2soJ2Rlc3Ryb3knLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0Rlc3Ryb3lzIHlvdXIgY2RrIGFwcCBpbiB0aGUgQVdTIGNsb3VkJyxcbiAgICAgIGV4ZWM6ICdjZGsgZGVzdHJveScsXG4gICAgfSk7XG5cbiAgICB0aGlzLmRpZmYgPSBwcm9qZWN0LmFkZFRhc2soJ2RpZmYnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0RpZmZzIHRoZSBjdXJyZW50bHkgZGVwbG95ZWQgYXBwIGFnYWluc3QgeW91ciBjb2RlJyxcbiAgICAgIGV4ZWM6ICdjZGsgZGlmZicsXG4gICAgfSk7XG4gIH1cbn0iXX0=
@@ -3,3 +3,4 @@ export * from './cdk-config';
3
3
  export * from './cdk-tasks';
4
4
  export * from './auto-discover';
5
5
  export * from './lambda-function';
6
+ export * from './integration-test';
@@ -15,4 +15,5 @@ __exportStar(require("./cdk-config"), exports);
15
15
  __exportStar(require("./cdk-tasks"), exports);
16
16
  __exportStar(require("./auto-discover"), exports);
17
17
  __exportStar(require("./lambda-function"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXdzY2RrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDZDQUEyQjtBQUMzQiwrQ0FBNkI7QUFDN0IsOENBQTRCO0FBQzVCLGtEQUFnQztBQUNoQyxvREFBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2phdmEtYXBwJztcbmV4cG9ydCAqIGZyb20gJy4vY2RrLWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2Nkay10YXNrcyc7XG5leHBvcnQgKiBmcm9tICcuL2F1dG8tZGlzY292ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9sYW1iZGEtZnVuY3Rpb24nOyJdfQ==
18
+ __exportStar(require("./integration-test"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXdzY2RrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDZDQUEyQjtBQUMzQiwrQ0FBNkI7QUFDN0IsOENBQTRCO0FBQzVCLGtEQUFnQztBQUNoQyxvREFBa0M7QUFDbEMscURBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9qYXZhLWFwcCc7XG5leHBvcnQgKiBmcm9tICcuL2Nkay1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9jZGstdGFza3MnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRvLWRpc2NvdmVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGFtYmRhLWZ1bmN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZWdyYXRpb24tdGVzdCc7Il19
@@ -0,0 +1,77 @@
1
+ import { Component } from '../component';
2
+ import { Project } from '../project';
3
+ import { Task } from '../tasks';
4
+ /**
5
+ * @experimental
6
+ */
7
+ export interface IntegrationTestCommonOptions {
8
+ /**
9
+ * (experimental) Destroy the test app after a successful deployment.
10
+ *
11
+ * If disabled, leaves the
12
+ * app deployed in the dev account.
13
+ *
14
+ * @default true
15
+ * @experimental
16
+ */
17
+ readonly destroyAfterDeploy?: boolean;
18
+ }
19
+ /**
20
+ * (experimental) Options for `IntegrationTest`.
21
+ *
22
+ * @experimental
23
+ */
24
+ export interface IntegrationTestOptions extends IntegrationTestCommonOptions {
25
+ /**
26
+ * (experimental) A path from the project root directory to a TypeScript file which contains the integration test app.
27
+ *
28
+ * This is relative to the root directory of the project.
29
+ *
30
+ * @experimental
31
+ * @example
32
+ *
33
+ * "test/subdir/foo.integ.ts"
34
+ */
35
+ readonly entrypoint: string;
36
+ }
37
+ /**
38
+ * (experimental) Cloud integration tests.
39
+ *
40
+ * @experimental
41
+ */
42
+ export declare class IntegrationTest extends Component {
43
+ /**
44
+ * (experimental) Deploy the integration test and update the snapshot upon success.
45
+ *
46
+ * @experimental
47
+ */
48
+ readonly deployTask: Task;
49
+ /**
50
+ * (experimental) Destroys a deployed stack.
51
+ *
52
+ * @experimental
53
+ */
54
+ readonly destroyTask: Task;
55
+ /**
56
+ * (experimental) Synthesizes the integration test and compares against a local copy (runs during build).
57
+ *
58
+ * @experimental
59
+ */
60
+ readonly assertTask: Task;
61
+ /**
62
+ * (experimental) Just update snapshot (without deployment).
63
+ *
64
+ * @experimental
65
+ */
66
+ readonly snapshotTask: Task;
67
+ /**
68
+ * (experimental) The watch task.
69
+ *
70
+ * @experimental
71
+ */
72
+ readonly watchTask: Task;
73
+ /**
74
+ * @experimental
75
+ */
76
+ constructor(project: Project, options: IntegrationTestOptions);
77
+ }