projen 0.52.45 → 0.52.48

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 (129) hide show
  1. package/.jsii +299 -57
  2. package/README.md +1 -0
  3. package/changelog.md +6 -1
  4. package/docs/api/API.md +203 -0
  5. package/docs/awscdk-apps.md +1 -1
  6. package/lib/awscdk/auto-discover.js +3 -3
  7. package/lib/awscdk/awscdk-app-java.js +1 -1
  8. package/lib/awscdk/awscdk-app-py.d.ts +49 -0
  9. package/lib/awscdk/awscdk-app-py.js +118 -0
  10. package/lib/awscdk/awscdk-app-ts.js +1 -1
  11. package/lib/awscdk/awscdk-construct.js +2 -2
  12. package/lib/awscdk/awscdk-deps-java.js +1 -1
  13. package/lib/awscdk/awscdk-deps-js.js +1 -1
  14. package/lib/awscdk/awscdk-deps-py.d.ts +7 -0
  15. package/lib/awscdk/awscdk-deps-py.js +20 -0
  16. package/lib/awscdk/awscdk-deps.js +1 -1
  17. package/lib/awscdk/awscdk-pytest-sample.d.ts +5 -0
  18. package/lib/awscdk/awscdk-pytest-sample.js +34 -0
  19. package/lib/awscdk/cdk-config.js +1 -1
  20. package/lib/awscdk/cdk-tasks.js +1 -1
  21. package/lib/awscdk/index.d.ts +1 -0
  22. package/lib/awscdk/index.js +2 -1
  23. package/lib/awscdk/integration-test.js +1 -1
  24. package/lib/awscdk/lambda-function.js +2 -2
  25. package/lib/build/build-workflow.js +1 -1
  26. package/lib/cdk/auto-discover-base.js +2 -2
  27. package/lib/cdk/construct-lib.js +1 -1
  28. package/lib/cdk/integration-test-base.js +1 -1
  29. package/lib/cdk/jsii-docgen.js +1 -1
  30. package/lib/cdk/jsii-project.js +1 -1
  31. package/lib/cdk8s/auto-discover.js +2 -2
  32. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  33. package/lib/cdk8s/cdk8s-construct.js +1 -1
  34. package/lib/cdk8s/integration-test.js +1 -1
  35. package/lib/cdktf/cdktf-construct.js +1 -1
  36. package/lib/component.js +1 -1
  37. package/lib/dependencies.js +1 -1
  38. package/lib/dev-env.js +1 -1
  39. package/lib/docker-compose.js +2 -2
  40. package/lib/file.js +1 -1
  41. package/lib/gitattributes.js +1 -1
  42. package/lib/github/auto-approve.js +1 -1
  43. package/lib/github/auto-merge.js +1 -1
  44. package/lib/github/dependabot.js +1 -1
  45. package/lib/github/github-project.js +1 -1
  46. package/lib/github/github.js +1 -1
  47. package/lib/github/mergify.js +1 -1
  48. package/lib/github/pr-template.js +1 -1
  49. package/lib/github/pull-request-lint.js +1 -1
  50. package/lib/github/stale.js +1 -1
  51. package/lib/github/task-workflow.js +1 -1
  52. package/lib/github/workflows.js +1 -1
  53. package/lib/gitlab/configuration.js +1 -1
  54. package/lib/gitlab/gitlab-configuration.js +1 -1
  55. package/lib/gitlab/nested-configuration.js +1 -1
  56. package/lib/gitpod.js +1 -1
  57. package/lib/ignore-file.js +1 -1
  58. package/lib/ini.js +1 -1
  59. package/lib/java/java-project.js +1 -1
  60. package/lib/java/junit.js +1 -1
  61. package/lib/java/maven-compile.js +1 -1
  62. package/lib/java/maven-packaging.js +1 -1
  63. package/lib/java/maven-sample.js +1 -1
  64. package/lib/java/pom.js +1 -1
  65. package/lib/java/projenrc.js +1 -1
  66. package/lib/javascript/bundler.js +1 -1
  67. package/lib/javascript/eslint.js +1 -1
  68. package/lib/javascript/jest.js +1 -1
  69. package/lib/javascript/node-package.js +45 -23
  70. package/lib/javascript/node-project.js +1 -1
  71. package/lib/javascript/npm-config.js +1 -1
  72. package/lib/javascript/prettier.js +1 -1
  73. package/lib/javascript/projenrc.js +1 -1
  74. package/lib/javascript/typescript-config.js +1 -1
  75. package/lib/javascript/upgrade-dependencies.js +2 -2
  76. package/lib/json.js +1 -1
  77. package/lib/license.js +1 -1
  78. package/lib/logger.js +1 -1
  79. package/lib/makefile.js +1 -1
  80. package/lib/object-file.js +1 -1
  81. package/lib/project-build.js +1 -1
  82. package/lib/project.js +1 -1
  83. package/lib/projects.js +1 -1
  84. package/lib/projenrc-json.js +1 -1
  85. package/lib/python/index.d.ts +1 -0
  86. package/lib/python/index.js +2 -1
  87. package/lib/python/pip.js +1 -1
  88. package/lib/python/poetry.js +2 -2
  89. package/lib/python/projenrc.js +1 -1
  90. package/lib/python/pytest-sample.d.ts +5 -0
  91. package/lib/python/pytest-sample.js +38 -0
  92. package/lib/python/pytest.d.ts +1 -0
  93. package/lib/python/pytest.js +4 -27
  94. package/lib/python/python-project.d.ts +1 -1
  95. package/lib/python/python-project.js +4 -2
  96. package/lib/python/python-sample.js +1 -1
  97. package/lib/python/requirements-file.js +1 -1
  98. package/lib/python/setuppy.js +1 -1
  99. package/lib/python/setuptools.js +1 -1
  100. package/lib/python/venv.js +1 -1
  101. package/lib/readme.js +1 -1
  102. package/lib/release/publisher.js +1 -1
  103. package/lib/release/release-trigger.js +1 -1
  104. package/lib/release/release.js +1 -1
  105. package/lib/sample-file.js +2 -2
  106. package/lib/semver.js +1 -1
  107. package/lib/source-code.js +1 -1
  108. package/lib/task-runtime.js +1 -1
  109. package/lib/task.js +1 -1
  110. package/lib/tasks.js +1 -1
  111. package/lib/testing.js +1 -1
  112. package/lib/textfile.js +1 -1
  113. package/lib/toml.js +1 -1
  114. package/lib/typescript/projenrc.js +1 -1
  115. package/lib/typescript/typescript-typedoc.js +1 -1
  116. package/lib/typescript/typescript.js +3 -3
  117. package/lib/version.js +1 -1
  118. package/lib/vscode/devcontainer.js +1 -1
  119. package/lib/vscode/launch-config.js +1 -1
  120. package/lib/vscode/vscode.js +1 -1
  121. package/lib/web/next.js +3 -3
  122. package/lib/web/postcss.js +1 -1
  123. package/lib/web/react.js +4 -4
  124. package/lib/web/tailwind.js +1 -1
  125. package/lib/xmlfile.js +1 -1
  126. package/lib/yaml.js +1 -1
  127. package/package.json +1 -1
  128. package/releasetag.txt +1 -1
  129. package/version.txt +1 -1
package/README.md CHANGED
@@ -47,6 +47,7 @@ list):
47
47
 
48
48
  <!-- <macro exec="node ./scripts/readme-projects.js"> -->
49
49
  * [awscdk-app-java](https://projen.io/api/API.html#projen-awscdk-awscdkjavaapp) - AWS CDK app in Java.
50
+ * [awscdk-app-py](https://projen.io/api/API.html#projen-awscdk-awscdkpythonapp) - AWS CDK app in Python.
50
51
  * [awscdk-app-ts](https://projen.io/api/API.html#projen-awscdk-awscdktypescriptapp) - AWS CDK app in TypeScript.
51
52
  * [awscdk-construct](https://projen.io/api/API.html#projen-awscdk-awscdkconstructlibrary) - AWS CDK construct library project.
52
53
  * [cdk8s-app-ts](https://projen.io/api/API.html#projen-cdk8s-cdk8stypescriptapp) - CDK8s app in TypeScript.
package/changelog.md CHANGED
@@ -1,2 +1,7 @@
1
1
 
2
- ### [0.52.45](https://github.com/projen/projen/compare/v0.52.44...v0.52.45) (2022-02-24)
2
+ ### [0.52.48](https://github.com/projen/projen/compare/v0.52.47...v0.52.48) (2022-02-25)
3
+
4
+
5
+ ### Features
6
+
7
+ * **awscdk-app-py:** adding support for building CDK apps with python ([#1579](https://github.com/projen/projen/issues/1579)) ([0289e61](https://github.com/projen/projen/commit/0289e61f209c238a0294c6dafcf300d11b9fec18)), closes [#1577](https://github.com/projen/projen/issues/1577)
package/docs/api/API.md CHANGED
@@ -43,6 +43,7 @@ Name|Description
43
43
  [awscdk.AwsCdkDepsJava](#projen-awscdk-awscdkdepsjava)|Manages dependencies on the AWS CDK for Java projects.
44
44
  [awscdk.AwsCdkDepsJs](#projen-awscdk-awscdkdepsjs)|Manages dependencies on the AWS CDK for Node.js projects.
45
45
  [awscdk.AwsCdkJavaApp](#projen-awscdk-awscdkjavaapp)|AWS CDK app in Java.
46
+ [awscdk.AwsCdkPythonApp](#projen-awscdk-awscdkpythonapp)|AWS CDK app in Python.
46
47
  [awscdk.AwsCdkTypeScriptApp](#projen-awscdk-awscdktypescriptapp)|AWS CDK app in TypeScript.
47
48
  [awscdk.CdkConfig](#projen-awscdk-cdkconfig)|Represents cdk.json file.
48
49
  [awscdk.CdkTasks](#projen-awscdk-cdktasks)|Adds standard AWS CDK tasks to your project.
@@ -102,6 +103,7 @@ Name|Description
102
103
  [python.PoetryPyproject](#projen-python-poetrypyproject)|Represents configuration of a pyproject.toml file for a Poetry project.
103
104
  [python.Projenrc](#projen-python-projenrc)|Allows writing projenrc files in python.
104
105
  [python.Pytest](#projen-python-pytest)|*No description*
106
+ [python.PytestSample](#projen-python-pytestsample)|*No description*
105
107
  [python.PythonProject](#projen-python-pythonproject)|Python project.
106
108
  [python.PythonSample](#projen-python-pythonsample)|Python code sample.
107
109
  [python.RequirementsFile](#projen-python-requirementsfile)|Specifies a list of packages to be installed using pip.
@@ -184,6 +186,7 @@ Name|Description
184
186
  [awscdk.AwsCdkDepsOptions](#projen-awscdk-awscdkdepsoptions)|*No description*
185
187
  [awscdk.AwsCdkJavaAppOptions](#projen-awscdk-awscdkjavaappoptions)|*No description*
186
188
  [awscdk.AwsCdkPackageNames](#projen-awscdk-awscdkpackagenames)|Language-specific AWS CDK package names.
189
+ [awscdk.AwsCdkPythonAppOptions](#projen-awscdk-awscdkpythonappoptions)|Options for `AwsCdkPythonApp`.
187
190
  [awscdk.AwsCdkTypeScriptAppOptions](#projen-awscdk-awscdktypescriptappoptions)|*No description*
188
191
  [awscdk.CdkConfigCommonOptions](#projen-awscdk-cdkconfigcommonoptions)|Common options for `cdk.json`.
189
192
  [awscdk.CdkConfigOptions](#projen-awscdk-cdkconfigoptions)|Options for `CdkJson`.
@@ -3497,6 +3500,102 @@ addCdkDependency(...modules: string[]): void
3497
3500
 
3498
3501
 
3499
3502
 
3503
+ ## class AwsCdkPythonApp 🔹 <a id="projen-awscdk-awscdkpythonapp"></a>
3504
+
3505
+ AWS CDK app in Python.
3506
+
3507
+ __Submodule__: awscdk
3508
+
3509
+ __Extends__: [python.PythonProject](#projen-python-pythonproject)
3510
+
3511
+ ### Initializer
3512
+
3513
+
3514
+
3515
+
3516
+ ```ts
3517
+ new awscdk.AwsCdkPythonApp(options: AwsCdkPythonAppOptions)
3518
+ ```
3519
+
3520
+ * **options** (<code>[awscdk.AwsCdkPythonAppOptions](#projen-awscdk-awscdkpythonappoptions)</code>) *No description*
3521
+ * **name** (<code>string</code>) This is the name of your project.
3522
+ * **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
3523
+ * **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
3524
+ * **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
3525
+ * **projenCommand** (<code>string</code>) The shell command to use in order to run the projen CLI. __*Default*__: "npx projen"
3526
+ * **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
3527
+ * **projenrcJsonOptions** (<code>[ProjenrcOptions](#projen-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
3528
+ * **autoApproveOptions** (<code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code>) Enable and configure the 'auto approve' workflow. __*Default*__: auto approve is disabled
3529
+ * **autoMergeOptions** (<code>[github.AutoMergeOptions](#projen-github-automergeoptions)</code>) Configure options for automatic merging on GitHub. __*Default*__: see defaults in `AutoMergeOptions`
3530
+ * **clobber** (<code>boolean</code>) Add a `clobber` task which resets the repo to origin. __*Default*__: true
3531
+ * **devContainer** (<code>boolean</code>) Add a VSCode development environment (used for GitHub Codespaces). __*Default*__: false
3532
+ * **github** (<code>boolean</code>) Enable GitHub integration. __*Default*__: true
3533
+ * **githubOptions** (<code>[github.GitHubOptions](#projen-github-githuboptions)</code>) Options for GitHub integration. __*Default*__: see GitHubOptions
3534
+ * **gitpod** (<code>boolean</code>) Add a Gitpod development environment. __*Default*__: false
3535
+ * **mergify** (<code>boolean</code>) Whether mergify should be enabled on this repository or not. __*Default*__: true
3536
+ * **mergifyOptions** (<code>[github.MergifyOptions](#projen-github-mergifyoptions)</code>) Options for mergify. __*Default*__: default options
3537
+ * **projectType** (<code>[ProjectType](#projen-projecttype)</code>) Which type of project this is (library/app). __*Default*__: ProjectType.UNKNOWN
3538
+ * **projenTokenSecret** (<code>string</code>) The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows. __*Default*__: "PROJEN_GITHUB_TOKEN"
3539
+ * **readme** (<code>[SampleReadmeProps](#projen-samplereadmeprops)</code>) The README setup. __*Default*__: { filename: 'README.md', contents: '# replace this' }
3540
+ * **stale** (<code>boolean</code>) Auto-close of stale issues and pull request. __*Default*__: true
3541
+ * **staleOptions** (<code>[github.StaleOptions](#projen-github-staleoptions)</code>) Auto-close stale issues and pull requests. __*Default*__: see defaults in `StaleOptions`
3542
+ * **vscode** (<code>boolean</code>) Enable VSCode integration. __*Default*__: true
3543
+ * **authorEmail** (<code>string</code>) Author's e-mail.
3544
+ * **authorName** (<code>string</code>) Author's name.
3545
+ * **version** (<code>string</code>) Version of the package.
3546
+ * **classifiers** (<code>Array<string></code>) A list of PyPI trove classifiers that describe the project. __*Optional*__
3547
+ * **description** (<code>string</code>) A short description of the package. __*Optional*__
3548
+ * **homepage** (<code>string</code>) A URL to the website of the project. __*Optional*__
3549
+ * **license** (<code>string</code>) License of this package as an SPDX identifier. __*Optional*__
3550
+ * **poetryOptions** (<code>[python.PoetryPyprojectOptionsWithoutDeps](#projen-python-poetrypyprojectoptionswithoutdeps)</code>) Additional options to set for poetry if using poetry. __*Optional*__
3551
+ * **setupConfig** (<code>Map<string, any></code>) Additional fields to pass in the setup() function if using setuptools. __*Optional*__
3552
+ * **moduleName** (<code>string</code>) Name of the python package as used in imports and filenames.
3553
+ * **deps** (<code>Array<string></code>) List of runtime dependencies for this project. __*Default*__: []
3554
+ * **devDeps** (<code>Array<string></code>) List of dev dependencies for this project. __*Default*__: []
3555
+ * **pip** (<code>boolean</code>) Use pip with a requirements.txt file to track project dependencies. __*Default*__: true
3556
+ * **poetry** (<code>boolean</code>) Use poetry to manage your project dependencies, virtual environment, and (optional) packaging/publishing. __*Default*__: false
3557
+ * **projenrcPython** (<code>boolean</code>) Use projenrc in python. __*Default*__: true
3558
+ * **projenrcPythonOptions** (<code>[python.ProjenrcOptions](#projen-python-projenrcoptions)</code>) Options related to projenrc in python. __*Default*__: default options
3559
+ * **pytest** (<code>boolean</code>) Include pytest tests. __*Default*__: true
3560
+ * **pytestOptions** (<code>[python.PytestOptions](#projen-python-pytestoptions)</code>) pytest options. __*Default*__: defaults
3561
+ * **sample** (<code>boolean</code>) Include sample code and test if the relevant directories don't exist. __*Default*__: true
3562
+ * **setuptools** (<code>boolean</code>) Use setuptools with a setup.py script for packaging and publishing. __*Default*__: true if the project type is library
3563
+ * **venv** (<code>boolean</code>) Use venv to manage a virtual environment for installing dependencies inside. __*Default*__: true
3564
+ * **venvOptions** (<code>[python.VenvOptions](#projen-python-venvoptions)</code>) Venv options. __*Default*__: defaults
3565
+ * **buildCommand** (<code>string</code>) A command to execute before synthesis. __*Default*__: no build command
3566
+ * **cdkout** (<code>string</code>) cdk.out directory. __*Default*__: "cdk.out"
3567
+ * **context** (<code>Map<string, any></code>) Additional context to include in `cdk.json`. __*Default*__: no additional context
3568
+ * **featureFlags** (<code>boolean</code>) Include all feature flags in cdk.json. __*Default*__: true
3569
+ * **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
3570
+ * **watchExcludes** (<code>Array<string></code>) Glob patterns to exclude from `cdk watch`. __*Default*__: []
3571
+ * **watchIncludes** (<code>Array<string></code>) Glob patterns to include in `cdk watch`. __*Default*__: []
3572
+ * **cdkVersion** (<code>string</code>) Minimum version of the AWS CDK to depend on.
3573
+ * **cdkAssert** (<code>boolean</code>) Warning: NodeJS only. __*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
3574
+ * **cdkAssertions** (<code>boolean</code>) Install the assertions library? __*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
3575
+ * **cdkDependencies** (<code>Array<string></code>) Which AWS CDKv1 modules this project requires. __*Optional*__
3576
+ * **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
3577
+ * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
3578
+ * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Optional*__
3579
+ * **constructsVersion** (<code>string</code>) Minimum version of the `constructs` library to depend on. __*Default*__: for CDK 1.x the default is "3.2.27", for CDK 2.x the default is "10.0.5".
3580
+ * **appEntrypoint** (<code>string</code>) The CDK app's entrypoint (relative to the source directory, which is "src" by default). __*Default*__: "app.py"
3581
+ * **testdir** (<code>string</code>) Python sources directory. __*Default*__: "tests"
3582
+
3583
+
3584
+
3585
+ ### Properties
3586
+
3587
+
3588
+ Name | Type | Description
3589
+ -----|------|-------------
3590
+ **appEntrypoint**🔹 | <code>string</code> | The CDK app entrypoint.
3591
+ **cdkConfig**🔹 | <code>[awscdk.CdkConfig](#projen-awscdk-cdkconfig)</code> | cdk.json configuration.
3592
+ **cdkDeps**🔹 | <code>[awscdk.AwsCdkDeps](#projen-awscdk-awscdkdeps)</code> | <span></span>
3593
+ **cdkTasks**🔹 | <code>[awscdk.CdkTasks](#projen-awscdk-cdktasks)</code> | Common CDK tasks.
3594
+ **cdkVersion**🔹 | <code>string</code> | The CDK version this app is using.
3595
+ **testdir**🔹 | <code>string</code> | The directory in which the python tests reside.
3596
+
3597
+
3598
+
3500
3599
  ## class AwsCdkTypeScriptApp 🔹 <a id="projen-awscdk-awscdktypescriptapp"></a>
3501
3600
 
3502
3601
  AWS CDK app in TypeScript.
@@ -8213,6 +8312,37 @@ new python.Pytest(project: PythonProject, options?: PytestOptions)
8213
8312
 
8214
8313
 
8215
8314
 
8315
+ ### Properties
8316
+
8317
+
8318
+ Name | Type | Description
8319
+ -----|------|-------------
8320
+ **testdir**🔹 | <code>string</code> | <span></span>
8321
+
8322
+
8323
+
8324
+ ## class PytestSample 🔹 <a id="projen-python-pytestsample"></a>
8325
+
8326
+
8327
+
8328
+ __Submodule__: python
8329
+
8330
+ __Extends__: [Component](#projen-component)
8331
+
8332
+ ### Initializer
8333
+
8334
+
8335
+
8336
+
8337
+ ```ts
8338
+ new python.PytestSample(project: PythonProject, testdir: string)
8339
+ ```
8340
+
8341
+ * **project** (<code>[python.PythonProject](#projen-python-pythonproject)</code>) *No description*
8342
+ * **testdir** (<code>string</code>) *No description*
8343
+
8344
+
8345
+
8216
8346
 
8217
8347
  ## class PythonProject 🔹 <a id="projen-python-pythonproject"></a>
8218
8348
 
@@ -11652,6 +11782,79 @@ Name | Type | Description
11652
11782
 
11653
11783
 
11654
11784
 
11785
+ ## struct AwsCdkPythonAppOptions 🔹 <a id="projen-awscdk-awscdkpythonappoptions"></a>
11786
+
11787
+
11788
+ Options for `AwsCdkPythonApp`.
11789
+
11790
+
11791
+
11792
+ Name | Type | Description
11793
+ -----|------|-------------
11794
+ **authorEmail**🔹 | <code>string</code> | Author's e-mail.
11795
+ **authorName**🔹 | <code>string</code> | Author's name.
11796
+ **cdkVersion**🔹 | <code>string</code> | Minimum version of the AWS CDK to depend on.
11797
+ **moduleName**🔹 | <code>string</code> | Name of the python package as used in imports and filenames.
11798
+ **name**🔹 | <code>string</code> | This is the name of your project.
11799
+ **version**🔹 | <code>string</code> | Version of the package.
11800
+ **appEntrypoint**?🔹 | <code>string</code> | The CDK app's entrypoint (relative to the source directory, which is "src" by default).<br/>__*Default*__: "app.py"
11801
+ **autoApproveOptions**?🔹 | <code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code> | Enable and configure the 'auto approve' workflow.<br/>__*Default*__: auto approve is disabled
11802
+ **autoMergeOptions**?🔹 | <code>[github.AutoMergeOptions](#projen-github-automergeoptions)</code> | Configure options for automatic merging on GitHub.<br/>__*Default*__: see defaults in `AutoMergeOptions`
11803
+ **buildCommand**?🔹 | <code>string</code> | A command to execute before synthesis.<br/>__*Default*__: no build command
11804
+ **cdkAssert**?⚠️ | <code>boolean</code> | Warning: NodeJS only.<br/>__*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
11805
+ **cdkAssertions**?🔹 | <code>boolean</code> | Install the assertions library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
11806
+ **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDKv1 modules this project requires.<br/>__*Optional*__
11807
+ **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
11808
+ **cdkTestDependencies**?⚠️ | <code>Array<string></code> | AWS CDK modules required for testing.<br/>__*Optional*__
11809
+ **cdkVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Optional*__
11810
+ **cdkout**?🔹 | <code>string</code> | cdk.out directory.<br/>__*Default*__: "cdk.out"
11811
+ **classifiers**?🔹 | <code>Array<string></code> | A list of PyPI trove classifiers that describe the project.<br/>__*Optional*__
11812
+ **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
11813
+ **constructsVersion**?🔹 | <code>string</code> | Minimum version of the `constructs` library to depend on.<br/>__*Default*__: for CDK 1.x the default is "3.2.27", for CDK 2.x the default is "10.0.5".
11814
+ **context**?🔹 | <code>Map<string, any></code> | Additional context to include in `cdk.json`.<br/>__*Default*__: no additional context
11815
+ **deps**?🔹 | <code>Array<string></code> | List of runtime dependencies for this project.<br/>__*Default*__: []
11816
+ **description**?🔹 | <code>string</code> | A short description of the package.<br/>__*Optional*__
11817
+ **devContainer**?🔹 | <code>boolean</code> | Add a VSCode development environment (used for GitHub Codespaces).<br/>__*Default*__: false
11818
+ **devDeps**?🔹 | <code>Array<string></code> | List of dev dependencies for this project.<br/>__*Default*__: []
11819
+ **featureFlags**?🔹 | <code>boolean</code> | Include all feature flags in cdk.json.<br/>__*Default*__: true
11820
+ **github**?🔹 | <code>boolean</code> | Enable GitHub integration.<br/>__*Default*__: true
11821
+ **githubOptions**?🔹 | <code>[github.GitHubOptions](#projen-github-githuboptions)</code> | Options for GitHub integration.<br/>__*Default*__: see GitHubOptions
11822
+ **gitpod**?🔹 | <code>boolean</code> | Add a Gitpod development environment.<br/>__*Default*__: false
11823
+ **homepage**?🔹 | <code>string</code> | A URL to the website of the project.<br/>__*Optional*__
11824
+ **license**?🔹 | <code>string</code> | License of this package as an SPDX identifier.<br/>__*Optional*__
11825
+ **logging**?🔹 | <code>[LoggerOptions](#projen-loggeroptions)</code> | Configure logging options such as verbosity.<br/>__*Default*__: {}
11826
+ **mergify**?⚠️ | <code>boolean</code> | Whether mergify should be enabled on this repository or not.<br/>__*Default*__: true
11827
+ **mergifyOptions**?⚠️ | <code>[github.MergifyOptions](#projen-github-mergifyoptions)</code> | Options for mergify.<br/>__*Default*__: default options
11828
+ **outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
11829
+ **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
11830
+ **pip**?🔹 | <code>boolean</code> | Use pip with a requirements.txt file to track project dependencies.<br/>__*Default*__: true
11831
+ **poetry**?🔹 | <code>boolean</code> | Use poetry to manage your project dependencies, virtual environment, and (optional) packaging/publishing.<br/>__*Default*__: false
11832
+ **poetryOptions**?🔹 | <code>[python.PoetryPyprojectOptionsWithoutDeps](#projen-python-poetrypyprojectoptionswithoutdeps)</code> | Additional options to set for poetry if using poetry.<br/>__*Optional*__
11833
+ **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
11834
+ **projenCommand**?🔹 | <code>string</code> | The shell command to use in order to run the projen CLI.<br/>__*Default*__: "npx projen"
11835
+ **projenTokenSecret**?🔹 | <code>string</code> | The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows.<br/>__*Default*__: "PROJEN_GITHUB_TOKEN"
11836
+ **projenrcJson**?🔹 | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.<br/>__*Default*__: false
11837
+ **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
11838
+ **projenrcPython**?🔹 | <code>boolean</code> | Use projenrc in python.<br/>__*Default*__: true
11839
+ **projenrcPythonOptions**?🔹 | <code>[python.ProjenrcOptions](#projen-python-projenrcoptions)</code> | Options related to projenrc in python.<br/>__*Default*__: default options
11840
+ **pytest**?🔹 | <code>boolean</code> | Include pytest tests.<br/>__*Default*__: true
11841
+ **pytestOptions**?🔹 | <code>[python.PytestOptions](#projen-python-pytestoptions)</code> | pytest options.<br/>__*Default*__: defaults
11842
+ **readme**?🔹 | <code>[SampleReadmeProps](#projen-samplereadmeprops)</code> | The README setup.<br/>__*Default*__: { filename: 'README.md', contents: '# replace this' }
11843
+ **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
11844
+ **sample**?🔹 | <code>boolean</code> | Include sample code and test if the relevant directories don't exist.<br/>__*Default*__: true
11845
+ **setupConfig**?🔹 | <code>Map<string, any></code> | Additional fields to pass in the setup() function if using setuptools.<br/>__*Optional*__
11846
+ **setuptools**?🔹 | <code>boolean</code> | Use setuptools with a setup.py script for packaging and publishing.<br/>__*Default*__: true if the project type is library
11847
+ **stale**?🔹 | <code>boolean</code> | Auto-close of stale issues and pull request.<br/>__*Default*__: true
11848
+ **staleOptions**?🔹 | <code>[github.StaleOptions](#projen-github-staleoptions)</code> | Auto-close stale issues and pull requests.<br/>__*Default*__: see defaults in `StaleOptions`
11849
+ **testdir**?🔹 | <code>string</code> | Python sources directory.<br/>__*Default*__: "tests"
11850
+ **venv**?🔹 | <code>boolean</code> | Use venv to manage a virtual environment for installing dependencies inside.<br/>__*Default*__: true
11851
+ **venvOptions**?🔹 | <code>[python.VenvOptions](#projen-python-venvoptions)</code> | Venv options.<br/>__*Default*__: defaults
11852
+ **vscode**?🔹 | <code>boolean</code> | Enable VSCode integration.<br/>__*Default*__: true
11853
+ **watchExcludes**?🔹 | <code>Array<string></code> | Glob patterns to exclude from `cdk watch`.<br/>__*Default*__: []
11854
+ **watchIncludes**?🔹 | <code>Array<string></code> | Glob patterns to include in `cdk watch`.<br/>__*Default*__: []
11855
+
11856
+
11857
+
11655
11858
  ## struct AwsCdkTypeScriptAppOptions 🔹 <a id="projen-awscdk-awscdktypescriptappoptions"></a>
11656
11859
 
11657
11860
 
@@ -1,6 +1,6 @@
1
1
  # AWS CDK Applications
2
2
 
3
- Project types: `awscdk-app-java`, `awscdk-app-ts`.
3
+ Project types: `awscdk-app-java`, `awscdk-app-py`, `awscdk-app-ts`.
4
4
 
5
5
  ## Deployment (NOT IMPLEMENTED YET)
6
6
 
@@ -26,7 +26,7 @@ class IntegrationTestAutoDiscover extends cdk_1.IntegrationTestAutoDiscoverBase
26
26
  }
27
27
  exports.IntegrationTestAutoDiscover = IntegrationTestAutoDiscover;
28
28
  _a = JSII_RTTI_SYMBOL_1;
29
- IntegrationTestAutoDiscover[_a] = { fqn: "projen.awscdk.IntegrationTestAutoDiscover", version: "0.52.45" };
29
+ IntegrationTestAutoDiscover[_a] = { fqn: "projen.awscdk.IntegrationTestAutoDiscover", version: "0.52.48" };
30
30
  /**
31
31
  * Creates lambdas from entry points discovered in the project's source tree.
32
32
  */
@@ -47,7 +47,7 @@ class LambdaAutoDiscover extends cdk_1.AutoDiscoverBase {
47
47
  }
48
48
  exports.LambdaAutoDiscover = LambdaAutoDiscover;
49
49
  _b = JSII_RTTI_SYMBOL_1;
50
- LambdaAutoDiscover[_b] = { fqn: "projen.awscdk.LambdaAutoDiscover", version: "0.52.45" };
50
+ LambdaAutoDiscover[_b] = { fqn: "projen.awscdk.LambdaAutoDiscover", version: "0.52.48" };
51
51
  /**
52
52
  * Discovers and creates integration tests and lambdas from code in the
53
53
  * project's source and test trees.
@@ -76,5 +76,5 @@ class AutoDiscover extends component_1.Component {
76
76
  }
77
77
  exports.AutoDiscover = AutoDiscover;
78
78
  _c = JSII_RTTI_SYMBOL_1;
79
- AutoDiscover[_c] = { fqn: "projen.awscdk.AutoDiscover", version: "0.52.45" };
79
+ AutoDiscover[_c] = { fqn: "projen.awscdk.AutoDiscover", version: "0.52.48" };
80
80
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1kaXNjb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXV0by1kaXNjb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdDQUlnQjtBQUNoQiw0Q0FBeUM7QUFHekMseURBRzRCO0FBQzVCLHlDQUFtRDtBQUNuRCx1REFBZ0Y7QUE2QmhGOztHQUVHO0FBQ0gsTUFBYSwyQkFBNEIsU0FBUSxxQ0FBK0I7SUFDOUUsWUFBWSxPQUFnQixFQUFFLE9BQTJDO1FBQ3ZFLEtBQUssQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFeEIsS0FBSyxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3pDLElBQUksa0NBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNoQyxVQUFVO2dCQUNWLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztnQkFDeEIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO2dCQUNsQyxHQUFHLE9BQU8sQ0FBQyxzQkFBc0I7YUFDbEMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOztBQVpILGtFQWFDOzs7QUFpQkQ7O0dBRUc7QUFDSCxNQUFhLGtCQUFtQixTQUFRLHNCQUFnQjtJQUN0RCxZQUFZLE9BQWdCLEVBQUUsT0FBa0M7UUFDOUQsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUNiLFVBQVUsRUFBRSxPQUFPLENBQUMsTUFBTTtZQUMxQixTQUFTLEVBQUUsZ0NBQXFCO1NBQ2pDLENBQUMsQ0FBQztRQUVILEtBQUssTUFBTSxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN6QyxJQUFJLGdDQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDL0IsVUFBVTtnQkFDVixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87Z0JBQ3hCLEdBQUcsT0FBTyxDQUFDLGFBQWE7YUFDekIsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOztBQWRILGdEQWVDOzs7QUF1QkQ7OztHQUdHO0FBQ0gsTUFBYSxZQUFhLFNBQVEscUJBQVM7SUFDekMsWUFBWSxPQUFnQixFQUFFLE9BQTRCOztRQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixVQUFJLE9BQU8sQ0FBQyxrQkFBa0IsbUNBQUksSUFBSSxFQUFFO1lBQ3RDLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDbkMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO2dCQUN4QixZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVk7Z0JBQ2xDLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtnQkFDdEIsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhO2FBQ3JDLENBQUMsQ0FBQztTQUNKO1FBRUQsVUFBSSxPQUFPLENBQUMsMkJBQTJCLG1DQUFJLElBQUksRUFBRTtZQUMvQyxJQUFJLDJCQUEyQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQzVDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztnQkFDeEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO2dCQUN4QixZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVk7Z0JBQ2xDLHNCQUFzQixFQUFFLE9BQU8sQ0FBQyxzQkFBc0I7YUFDdkQsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOztBQXJCSCxvQ0FzQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBdXRvRGlzY292ZXJCYXNlLFxuICBJbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXJCYXNlLFxuICBJbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXJCYXNlT3B0aW9ucyxcbn0gZnJvbSBcIi4uL2Nka1wiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudFwiO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gXCIuLi9wcm9qZWN0XCI7XG5pbXBvcnQgeyBBd3NDZGtEZXBzIH0gZnJvbSBcIi4vYXdzY2RrLWRlcHNcIjtcbmltcG9ydCB7XG4gIEludGVncmF0aW9uVGVzdCxcbiAgSW50ZWdyYXRpb25UZXN0Q29tbW9uT3B0aW9ucyxcbn0gZnJvbSBcIi4vaW50ZWdyYXRpb24tdGVzdFwiO1xuaW1wb3J0IHsgVFlQRVNDUklQVF9MQU1CREFfRVhUIH0gZnJvbSBcIi4vaW50ZXJuYWxcIjtcbmltcG9ydCB7IExhbWJkYUZ1bmN0aW9uLCBMYW1iZGFGdW5jdGlvbkNvbW1vbk9wdGlvbnMgfSBmcm9tIFwiLi9sYW1iZGEtZnVuY3Rpb25cIjtcblxuLyoqXG4gKiBDb21tb24gb3B0aW9ucyBmb3IgYXV0byBkaXNjb3ZlcmluZyBwcm9qZWN0IHN1YmNvbXBvbmVudHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0b0Rpc2NvdmVyQ29tbW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSB0c2NvbmZpZyBmaWxlIHRvIHVzZSBmb3IgaW50ZWdyYXRpb24gdGVzdHMuXG4gICAqL1xuICByZWFkb25seSB0c2NvbmZpZ1BhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogQVdTIENESyBkZXBlbmRlbmN5IG1hbmFnZXIuXG4gICAqL1xuICByZWFkb25seSBjZGtEZXBzOiBBd3NDZGtEZXBzO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBJbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXJgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyT3B0aW9uc1xuICBleHRlbmRzIEF1dG9EaXNjb3ZlckNvbW1vbk9wdGlvbnMsXG4gICAgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyQmFzZU9wdGlvbnMge1xuICAvKipcbiAgICogT3B0aW9ucyBmb3IgaW50ZWdyYXRpb24gdGVzdHMuXG4gICAqL1xuICByZWFkb25seSBpbnRlZ3JhdGlvblRlc3RPcHRpb25zPzogSW50ZWdyYXRpb25UZXN0Q29tbW9uT3B0aW9ucztcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGludGVncmF0aW9uIHRlc3RzIGZyb20gZW50cnkgcG9pbnRzIGRpc2NvdmVyZWQgaW4gdGhlIHRlc3QgdHJlZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEludGVncmF0aW9uVGVzdEF1dG9EaXNjb3ZlciBleHRlbmRzIEludGVncmF0aW9uVGVzdEF1dG9EaXNjb3ZlckJhc2Uge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBJbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXJPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCwgb3B0aW9ucyk7XG5cbiAgICBmb3IgKGNvbnN0IGVudHJ5cG9pbnQgb2YgdGhpcy5lbnRyeXBvaW50cykge1xuICAgICAgbmV3IEludGVncmF0aW9uVGVzdCh0aGlzLnByb2plY3QsIHtcbiAgICAgICAgZW50cnlwb2ludCxcbiAgICAgICAgY2RrRGVwczogb3B0aW9ucy5jZGtEZXBzLFxuICAgICAgICB0c2NvbmZpZ1BhdGg6IG9wdGlvbnMudHNjb25maWdQYXRoLFxuICAgICAgICAuLi5vcHRpb25zLmludGVncmF0aW9uVGVzdE9wdGlvbnMsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgTGFtYmRhQXV0b0Rpc2NvdmVyYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYUF1dG9EaXNjb3Zlck9wdGlvbnMgZXh0ZW5kcyBBdXRvRGlzY292ZXJDb21tb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIFByb2plY3Qgc291cmNlIHRyZWUgKHJlbGF0aXZlIHRvIHByb2plY3Qgb3V0cHV0IGRpcmVjdG9yeSkuXG4gICAqL1xuICByZWFkb25seSBzcmNkaXI6IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9ucyBmb3IgYXV0by1kaXNjb3Zlcnkgb2YgQVdTIExhbWJkYSBmdW5jdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFPcHRpb25zPzogTGFtYmRhRnVuY3Rpb25Db21tb25PcHRpb25zO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgbGFtYmRhcyBmcm9tIGVudHJ5IHBvaW50cyBkaXNjb3ZlcmVkIGluIHRoZSBwcm9qZWN0J3Mgc291cmNlIHRyZWUuXG4gKi9cbmV4cG9ydCBjbGFzcyBMYW1iZGFBdXRvRGlzY292ZXIgZXh0ZW5kcyBBdXRvRGlzY292ZXJCYXNlIHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogTGFtYmRhQXV0b0Rpc2NvdmVyT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QsIHtcbiAgICAgIHByb2plY3RkaXI6IG9wdGlvbnMuc3JjZGlyLFxuICAgICAgZXh0ZW5zaW9uOiBUWVBFU0NSSVBUX0xBTUJEQV9FWFQsXG4gICAgfSk7XG5cbiAgICBmb3IgKGNvbnN0IGVudHJ5cG9pbnQgb2YgdGhpcy5lbnRyeXBvaW50cykge1xuICAgICAgbmV3IExhbWJkYUZ1bmN0aW9uKHRoaXMucHJvamVjdCwge1xuICAgICAgICBlbnRyeXBvaW50LFxuICAgICAgICBjZGtEZXBzOiBvcHRpb25zLmNka0RlcHMsXG4gICAgICAgIC4uLm9wdGlvbnMubGFtYmRhT3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBBdXRvRGlzY292ZXJgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0b0Rpc2NvdmVyT3B0aW9uc1xuICBleHRlbmRzIExhbWJkYUF1dG9EaXNjb3Zlck9wdGlvbnMsXG4gICAgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBdXRvLWRpc2NvdmVyIGxhbWJkYSBmdW5jdGlvbnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYUF1dG9EaXNjb3Zlcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEF1dG8tZGlzY292ZXIgaW50ZWdyYXRpb24gdGVzdHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGludGVncmF0aW9uVGVzdEF1dG9EaXNjb3Zlcj86IGJvb2xlYW47XG59XG5cbi8qKlxuICogRGlzY292ZXJzIGFuZCBjcmVhdGVzIGludGVncmF0aW9uIHRlc3RzIGFuZCBsYW1iZGFzIGZyb20gY29kZSBpbiB0aGVcbiAqIHByb2plY3QncyBzb3VyY2UgYW5kIHRlc3QgdHJlZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBBdXRvRGlzY292ZXIgZXh0ZW5kcyBDb21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBBdXRvRGlzY292ZXJPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICBpZiAob3B0aW9ucy5sYW1iZGFBdXRvRGlzY292ZXIgPz8gdHJ1ZSkge1xuICAgICAgbmV3IExhbWJkYUF1dG9EaXNjb3Zlcih0aGlzLnByb2plY3QsIHtcbiAgICAgICAgY2RrRGVwczogb3B0aW9ucy5jZGtEZXBzLFxuICAgICAgICB0c2NvbmZpZ1BhdGg6IG9wdGlvbnMudHNjb25maWdQYXRoLFxuICAgICAgICBzcmNkaXI6IG9wdGlvbnMuc3JjZGlyLFxuICAgICAgICBsYW1iZGFPcHRpb25zOiBvcHRpb25zLmxhbWJkYU9wdGlvbnMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5pbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXIgPz8gdHJ1ZSkge1xuICAgICAgbmV3IEludGVncmF0aW9uVGVzdEF1dG9EaXNjb3Zlcih0aGlzLnByb2plY3QsIHtcbiAgICAgICAgY2RrRGVwczogb3B0aW9ucy5jZGtEZXBzLFxuICAgICAgICB0ZXN0ZGlyOiBvcHRpb25zLnRlc3RkaXIsXG4gICAgICAgIHRzY29uZmlnUGF0aDogb3B0aW9ucy50c2NvbmZpZ1BhdGgsXG4gICAgICAgIGludGVncmF0aW9uVGVzdE9wdGlvbnM6IG9wdGlvbnMuaW50ZWdyYXRpb25UZXN0T3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -83,5 +83,5 @@ class AwsCdkJavaApp extends java_1.JavaProject {
83
83
  }
84
84
  exports.AwsCdkJavaApp = AwsCdkJavaApp;
85
85
  _a = JSII_RTTI_SYMBOL_1;
86
- AwsCdkJavaApp[_a] = { fqn: "projen.awscdk.AwsCdkJavaApp", version: "0.52.45" };
86
+ AwsCdkJavaApp[_a] = { fqn: "projen.awscdk.AwsCdkJavaApp", version: "0.52.48" };
87
87
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLWFwcC1qYXZhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9hd3NjZGstYXBwLWphdmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBNEI7QUFDNUIsMEJBQStDO0FBQy9DLGtDQUEwRDtBQUUxRCx5REFBb0Q7QUFDcEQsNkNBQWlFO0FBQ2pFLDJDQUF1QztBQWV2Qzs7OztHQUlHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsa0JBQVc7SUErQjVDLFlBQVksT0FBNkI7O1FBQ3ZDLE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekQsTUFBTSxXQUFXLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUUxRSxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixNQUFNLEVBQUUsS0FBSztZQUNiLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ3pDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFFbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGlDQUFjLENBQUMsSUFBSSxFQUFFO1lBQ3RDLGNBQWMsRUFBRSxrQkFBYyxDQUFDLE9BQU87WUFDdEMsR0FBRyxPQUFPO1NBQ1gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLG9CQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVoRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksc0JBQVMsQ0FBQyxJQUFJLEVBQUU7WUFDbkMsR0FBRyxFQUFFLDBDQUEwQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQy9ELFlBQVksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsR0FBRyxDQUFDO1lBQzlDLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztRQUVILFVBQUksT0FBTyxDQUFDLE1BQU0sbUNBQUksSUFBSSxFQUFFO1lBQzFCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLGdCQUFnQixDQUFDLEdBQUcsT0FBaUI7UUFDMUMsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7SUFFTyxTQUFTO1FBQ2YsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsTUFBTSxRQUFRLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxPQUFPLENBQUM7UUFDOUMsSUFBSSxhQUFTLENBQUMsSUFBSSxFQUFFLFdBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZELEtBQUssRUFBRTtnQkFDTCxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUNWLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRztvQkFDM0IsRUFBRTtvQkFDRixJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsSUFBSSxDQUFDO3dCQUMvQixDQUFDLENBQUMseUNBQXlDO3dCQUMzQyxDQUFDLENBQUMsb0NBQW9DO29CQUN4QyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsSUFBSSxDQUFDO3dCQUMvQixDQUFDLENBQUMsMkNBQTJDO3dCQUM3QyxDQUFDLENBQUMsc0NBQXNDO29CQUMxQyxFQUFFO29CQUNGLGdCQUFnQixJQUFJLENBQUMsYUFBYSxJQUFJO29CQUN0QyxrREFBa0Q7b0JBQ2xELDBCQUEwQjtvQkFDMUIsZ0NBQWdDO29CQUNoQyxrQkFBa0I7b0JBQ2xCLEtBQUs7b0JBQ0wsR0FBRztpQkFDSixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDYjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBdEdILHNDQXVHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpvaW4gfSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgRGVwZW5kZW5jeVR5cGUsIFNhbXBsZURpciB9IGZyb20gXCIuLlwiO1xuaW1wb3J0IHsgSmF2YVByb2plY3QsIEphdmFQcm9qZWN0T3B0aW9ucyB9IGZyb20gXCIuLi9qYXZhXCI7XG5pbXBvcnQgeyBBd3NDZGtEZXBzLCBBd3NDZGtEZXBzQ29tbW9uT3B0aW9ucyB9IGZyb20gXCIuL2F3c2Nkay1kZXBzXCI7XG5pbXBvcnQgeyBBd3NDZGtEZXBzSmF2YSB9IGZyb20gXCIuL2F3c2Nkay1kZXBzLWphdmFcIjtcbmltcG9ydCB7IENka0NvbmZpZywgQ2RrQ29uZmlnQ29tbW9uT3B0aW9ucyB9IGZyb20gXCIuL2Nkay1jb25maWdcIjtcbmltcG9ydCB7IENka1Rhc2tzIH0gZnJvbSBcIi4vY2RrLXRhc2tzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXdzQ2RrSmF2YUFwcE9wdGlvbnNcbiAgZXh0ZW5kcyBKYXZhUHJvamVjdE9wdGlvbnMsXG4gICAgQ2RrQ29uZmlnQ29tbW9uT3B0aW9ucyxcbiAgICBBd3NDZGtEZXBzQ29tbW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgSmF2YSBjbGFzcyB3aXRoIHRoZSBzdGF0aWMgYG1haW4oKWAgbWV0aG9kLiBUaGlzIG1ldGhvZFxuICAgKiBzaG91bGQgY2FsbCBgYXBwLnN5bnRoKClgIG9uIHRoZSBDREsgYXBwLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcIm9yZy5hY21lLk15QXBwXCJcbiAgICovXG4gIHJlYWRvbmx5IG1haW5DbGFzczogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFXUyBDREsgYXBwIGluIEphdmEuXG4gKlxuICogQHBqaWQgYXdzY2RrLWFwcC1qYXZhXG4gKi9cbmV4cG9ydCBjbGFzcyBBd3NDZGtKYXZhQXBwIGV4dGVuZHMgSmF2YVByb2plY3Qge1xuICAvKipcbiAgICogVGhlIGBjZGsuanNvbmAgZmlsZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjZGtDb25maWc6IENka0NvbmZpZztcblxuICAvKipcbiAgICogQ0RLIGRlcGVuZGVuY3kgbWFuYWdlbWVudCBoZWxwZXIgY2xhc3NcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjZGtEZXBzOiBBd3NDZGtEZXBzO1xuXG4gIC8qKlxuICAgKiBUaGUgZnVsbCBuYW1lIG9mIHRoZSBtYWluIGNsYXNzIG9mIHRoZSBqYXZhIGFwcCAocGFja2FnZS5DbGFzcykuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbWFpbkNsYXNzOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENESyB0YXNrcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjZGtUYXNrczogQ2RrVGFza3M7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBKYXZhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGUgbWFpbiBjbGFzcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBtYWluUGFja2FnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgSmF2YSBjbGFzcyB3aXRoIHRoZSBzdGF0aWMgYG1haW4oKWAgbWV0aG9kLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG1haW5DbGFzc05hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBBd3NDZGtKYXZhQXBwT3B0aW9ucykge1xuICAgIGNvbnN0IG1haW5DbGFzc0NvbXBvbmVudHMgPSBvcHRpb25zLm1haW5DbGFzcy5zcGxpdChcIi5cIik7XG4gICAgY29uc3QgbWFpblBhY2thZ2UgPSBtYWluQ2xhc3NDb21wb25lbnRzLnNsaWNlKDAsIC0xKTtcbiAgICBjb25zdCBtYWluQ2xhc3NOYW1lID0gbWFpbkNsYXNzQ29tcG9uZW50c1ttYWluQ2xhc3NDb21wb25lbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHNhbXBsZTogZmFsc2UsXG4gICAgICBzYW1wbGVKYXZhUGFja2FnZTogbWFpblBhY2thZ2Uuam9pbihcIi5cIiksXG4gICAgfSk7XG5cbiAgICB0aGlzLm1haW5DbGFzcyA9IG9wdGlvbnMubWFpbkNsYXNzO1xuICAgIHRoaXMubWFpblBhY2thZ2UgPSBtYWluUGFja2FnZS5qb2luKFwiLlwiKTtcbiAgICB0aGlzLm1haW5DbGFzc05hbWUgPSBtYWluQ2xhc3NOYW1lO1xuXG4gICAgdGhpcy5jZGtEZXBzID0gbmV3IEF3c0Nka0RlcHNKYXZhKHRoaXMsIHtcbiAgICAgIGRlcGVuZGVuY3lUeXBlOiBEZXBlbmRlbmN5VHlwZS5SVU5USU1FLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcblxuICAgIHRoaXMuY2RrVGFza3MgPSBuZXcgQ2RrVGFza3ModGhpcyk7XG4gICAgdGhpcy5wb3N0Q29tcGlsZVRhc2suc3Bhd24odGhpcy5jZGtUYXNrcy5zeW50aCk7XG5cbiAgICB0aGlzLmNka0NvbmZpZyA9IG5ldyBDZGtDb25maWcodGhpcywge1xuICAgICAgYXBwOiBgbXZuIGV4ZWM6amF2YSAtLXF1aWV0IC1EZXhlYy5tYWluQ2xhc3M9JHt0aGlzLm1haW5DbGFzc31gLFxuICAgICAgZmVhdHVyZUZsYWdzOiB0aGlzLmNka0RlcHMuY2RrTWFqb3JWZXJzaW9uIDwgMixcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICBpZiAob3B0aW9ucy5zYW1wbGUgPz8gdHJ1ZSkge1xuICAgICAgdGhpcy5hZGRTYW1wbGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhbiBBV1MgQ0RLIG1vZHVsZSBkZXBlbmRlbmNpZXNcbiAgICpcbiAgICogQHBhcmFtIG1vZHVsZXMgVGhlIGxpc3Qgb2YgbW9kdWxlcyB0byBkZXBlbmQgb24gKGUuZy4gXCJzb2Z0d2FyZS5hbWF6b24uYXdzY2RrL2F3cy1sYW1iZGFcIiwgXCJzb2Z0d2FyZS5hbWF6b24uYXdzY2RrL2F3cy1pYW1cIiwgZXRjKVxuICAgKiBAZGVwcmVjYXRlZCBJbiBDREsgMi54IGFsbCBtb2R1bGVzIGFyZSBhdmFpbGFibGUgYnkgZGVmYXVsdC4gQWxwaGEgbW9kdWxlcyBzaG91bGQgYmUgYWRkZWQgdXNpbmcgdGhlIHN0YW5kYXJkICdkZXBzJ1xuICAgKi9cbiAgcHVibGljIGFkZENka0RlcGVuZGVuY3koLi4ubW9kdWxlczogc3RyaW5nW10pIHtcbiAgICBmb3IgKGNvbnN0IG0gb2YgbW9kdWxlcykge1xuICAgICAgdGhpcy5jZGtEZXBzLmFkZFYxRGVwZW5kZW5jaWVzKG0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkU2FtcGxlKCkge1xuICAgIGNvbnN0IHBrZyA9IHRoaXMubWFpblBhY2thZ2Uuc3BsaXQoXCIuXCIpO1xuICAgIGNvbnN0IGphdmFGaWxlID0gYCR7dGhpcy5tYWluQ2xhc3NOYW1lfS5qYXZhYDtcbiAgICBuZXcgU2FtcGxlRGlyKHRoaXMsIGpvaW4oXCJzcmNcIiwgXCJtYWluXCIsIFwiamF2YVwiLCAuLi5wa2cpLCB7XG4gICAgICBmaWxlczoge1xuICAgICAgICBbamF2YUZpbGVdOiBbXG4gICAgICAgICAgYHBhY2thZ2UgJHtwa2cuam9pbihcIi5cIil9O2AsXG4gICAgICAgICAgXCJcIixcbiAgICAgICAgICB0aGlzLmNka0RlcHMuY2RrTWFqb3JWZXJzaW9uID09IDFcbiAgICAgICAgICAgID8gXCJpbXBvcnQgc29mdHdhcmUuYW1hem9uLmF3c2Nkay5jb3JlLkFwcDtcIlxuICAgICAgICAgICAgOiBcImltcG9ydCBzb2Z0d2FyZS5hbWF6b24uYXdzY2RrLkFwcDtcIixcbiAgICAgICAgICB0aGlzLmNka0RlcHMuY2RrTWFqb3JWZXJzaW9uID09IDFcbiAgICAgICAgICAgID8gXCJpbXBvcnQgc29mdHdhcmUuYW1hem9uLmF3c2Nkay5jb3JlLlN0YWNrO1wiXG4gICAgICAgICAgICA6IFwiaW1wb3J0IHNvZnR3YXJlLmFtYXpvbi5hd3NjZGsuU3RhY2s7XCIsXG4gICAgICAgICAgXCJcIixcbiAgICAgICAgICBgcHVibGljIGNsYXNzICR7dGhpcy5tYWluQ2xhc3NOYW1lfSB7YCxcbiAgICAgICAgICBcIiAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oZmluYWwgU3RyaW5nW10gYXJncykge1wiLFxuICAgICAgICAgIFwiICAgIEFwcCBhcHAgPSBuZXcgQXBwKCk7XCIsXG4gICAgICAgICAgJyAgICBuZXcgU3RhY2soYXBwLCBcIk15U3RhY2tcIik7JyxcbiAgICAgICAgICBcIiAgICBhcHAuc3ludGgoKTtcIixcbiAgICAgICAgICBcIiAgfVwiLFxuICAgICAgICAgIFwifVwiLFxuICAgICAgICBdLmpvaW4oXCJcXG5cIiksXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,49 @@
1
+ import { AwsCdkDeps, AwsCdkDepsCommonOptions, CdkConfig, CdkConfigCommonOptions, CdkTasks } from ".";
2
+ import { PythonProject, PythonProjectOptions } from "../python/python-project";
3
+ /**
4
+ * Options for `AwsCdkPythonApp`
5
+ */
6
+ export interface AwsCdkPythonAppOptions extends PythonProjectOptions, CdkConfigCommonOptions, AwsCdkDepsCommonOptions {
7
+ /**
8
+ * The CDK app's entrypoint (relative to the source directory, which is
9
+ * "src" by default).
10
+ *
11
+ * @default "app.py"
12
+ */
13
+ readonly appEntrypoint?: string;
14
+ /**
15
+ * Python sources directory.
16
+ *
17
+ * @default "tests"
18
+ */
19
+ readonly testdir?: string;
20
+ }
21
+ /**
22
+ * AWS CDK app in Python
23
+ *
24
+ * @pjid awscdk-app-py
25
+ */
26
+ export declare class AwsCdkPythonApp extends PythonProject {
27
+ /**
28
+ * Common CDK tasks.
29
+ */
30
+ readonly cdkTasks: CdkTasks;
31
+ /**
32
+ * cdk.json configuration.
33
+ */
34
+ readonly cdkConfig: CdkConfig;
35
+ readonly cdkDeps: AwsCdkDeps;
36
+ /**
37
+ * The CDK app entrypoint
38
+ */
39
+ readonly appEntrypoint: string;
40
+ /**
41
+ * The directory in which the python tests reside.
42
+ */
43
+ readonly testdir: string;
44
+ /**
45
+ * The CDK version this app is using.
46
+ */
47
+ get cdkVersion(): string;
48
+ constructor(options: AwsCdkPythonAppOptions);
49
+ }
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AwsCdkPythonApp = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const _1 = require(".");
7
+ const __1 = require("..");
8
+ const pytest_1 = require("../python/pytest");
9
+ const python_project_1 = require("../python/python-project");
10
+ const awscdk_deps_py_1 = require("./awscdk-deps-py");
11
+ const awscdk_pytest_sample_1 = require("./awscdk-pytest-sample");
12
+ /**
13
+ * AWS CDK app in Python
14
+ *
15
+ * @pjid awscdk-app-py
16
+ */
17
+ class AwsCdkPythonApp extends python_project_1.PythonProject {
18
+ constructor(options) {
19
+ var _b, _c, _d, _e;
20
+ super({ ...options, pytest: false, sample: false });
21
+ this.cdkDeps = new awscdk_deps_py_1.AwsCdkDepsPy(this, {
22
+ dependencyType: __1.DependencyType.RUNTIME,
23
+ ...options,
24
+ });
25
+ this.appEntrypoint = (_b = options.appEntrypoint) !== null && _b !== void 0 ? _b : "app.py";
26
+ this.testdir = (_c = options.testdir) !== null && _c !== void 0 ? _c : "tests";
27
+ this.cdkTasks = new _1.CdkTasks(this);
28
+ this.postCompileTask.spawn(this.cdkTasks.synthSilent);
29
+ this.cdkConfig = new _1.CdkConfig(this, {
30
+ app: `python ${this.appEntrypoint}`,
31
+ featureFlags: this.cdkDeps.cdkMajorVersion < 2,
32
+ watchIncludes: ["**"],
33
+ watchExcludes: [
34
+ "README.md",
35
+ "cdk*.json",
36
+ "requirements*.txt",
37
+ "source.bat",
38
+ "**/__init__.py",
39
+ "python/__pycache__",
40
+ "tests",
41
+ ],
42
+ ...options,
43
+ });
44
+ if ((_d = options.sample) !== null && _d !== void 0 ? _d : true) {
45
+ new AppCode(this, "app.py", this.cdkDeps.cdkMajorVersion);
46
+ new MyStackCode(this, this.moduleName, this.cdkDeps.cdkMajorVersion);
47
+ }
48
+ if ((_e = options.pytest) !== null && _e !== void 0 ? _e : true) {
49
+ this.pytest = new pytest_1.Pytest(this, options.pytestOptions);
50
+ new awscdk_pytest_sample_1.AwsCdkPytestSample(this, this.pytest.testdir);
51
+ }
52
+ }
53
+ /**
54
+ * The CDK version this app is using.
55
+ */
56
+ get cdkVersion() {
57
+ return this.cdkDeps.cdkVersion;
58
+ }
59
+ }
60
+ exports.AwsCdkPythonApp = AwsCdkPythonApp;
61
+ _a = JSII_RTTI_SYMBOL_1;
62
+ AwsCdkPythonApp[_a] = { fqn: "projen.awscdk.AwsCdkPythonApp", version: "0.52.48" };
63
+ class AppCode extends __1.Component {
64
+ constructor(project, fileName, cdkVersion) {
65
+ super(project);
66
+ const src = new __1.SourceCode(project, fileName);
67
+ src.line("import os");
68
+ if (cdkVersion < 2) {
69
+ src.line("from aws_cdk.core import App, Environment");
70
+ }
71
+ else {
72
+ src.line("from aws_cdk import App, Environment");
73
+ }
74
+ src.line(`from ${project.moduleName}.my_stack import MyStack`);
75
+ src.line("");
76
+ src.line("# for development, use account/region from cdk cli");
77
+ src.open("dev_env = Environment(");
78
+ src.line("account=os.getenv('CDK_DEFAULT_ACCOUNT'),");
79
+ src.line("region=os.getenv('CDK_DEFAULT_REGION'),");
80
+ src.close(")");
81
+ src.line("");
82
+ src.line("app = App()");
83
+ src.line('MyStack(app, "my-stack-dev", env=dev_env)');
84
+ src.line('# MyStack(app, "my-stack-prod", env=prod_env)');
85
+ src.line("");
86
+ src.line("app.synth()");
87
+ }
88
+ }
89
+ class MyStackCode extends __1.Component {
90
+ constructor(project, sampleFile, cdkMajorVersion) {
91
+ super(project);
92
+ let appFile = [];
93
+ appFile.push("import os");
94
+ if (cdkMajorVersion < 2) {
95
+ appFile.push("from aws_cdk.core import Construct, Stack");
96
+ }
97
+ else {
98
+ appFile.push("from aws_cdk import Stack");
99
+ appFile.push("from constructs import Construct");
100
+ }
101
+ appFile.push("");
102
+ appFile.push("");
103
+ appFile.push("class MyStack(Stack):");
104
+ appFile.push("");
105
+ appFile.push(" def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None:");
106
+ appFile.push(" super().__init__(scope, construct_id, **kwargs)");
107
+ appFile.push("");
108
+ appFile.push(" # The code that defines your stack goes here");
109
+ appFile.push("");
110
+ new __1.SampleDir(project, sampleFile, {
111
+ files: {
112
+ "__init__.py": "",
113
+ "my_stack.py": appFile.join("\n"),
114
+ },
115
+ });
116
+ }
117
+ }
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLWFwcC1weS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXdzY2RrLWFwcC1weS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHdCQU1XO0FBQ1gsMEJBQXNFO0FBQ3RFLDZDQUEwQztBQUMxQyw2REFBK0U7QUFDL0UscURBQWdEO0FBQ2hELGlFQUE0RDtBQXdCNUQ7Ozs7R0FJRztBQUNILE1BQWEsZUFBZ0IsU0FBUSw4QkFBYTtJQThCaEQsWUFBWSxPQUErQjs7UUFDekMsS0FBSyxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUVwRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksNkJBQVksQ0FBQyxJQUFJLEVBQUU7WUFDcEMsY0FBYyxFQUFFLGtCQUFjLENBQUMsT0FBTztZQUN0QyxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxTQUFHLE9BQU8sQ0FBQyxhQUFhLG1DQUFJLFFBQVEsQ0FBQztRQUN2RCxJQUFJLENBQUMsT0FBTyxTQUFHLE9BQU8sQ0FBQyxPQUFPLG1DQUFJLE9BQU8sQ0FBQztRQUUxQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksV0FBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFlBQVMsQ0FBQyxJQUFJLEVBQUU7WUFDbkMsR0FBRyxFQUFFLFVBQVUsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNuQyxZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEdBQUcsQ0FBQztZQUM5QyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDckIsYUFBYSxFQUFFO2dCQUNiLFdBQVc7Z0JBQ1gsV0FBVztnQkFDWCxtQkFBbUI7Z0JBQ25CLFlBQVk7Z0JBQ1osZ0JBQWdCO2dCQUNoQixvQkFBb0I7Z0JBQ3BCLE9BQU87YUFDUjtZQUNELEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztRQUVILFVBQUksT0FBTyxDQUFDLE1BQU0sbUNBQUksSUFBSSxFQUFFO1lBQzFCLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUMxRCxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ3RFO1FBRUQsVUFBSSxPQUFPLENBQUMsTUFBTSxtQ0FBSSxJQUFJLEVBQUU7WUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3RELElBQUkseUNBQWtCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDbkQ7SUFDSCxDQUFDO0lBN0NEOztPQUVHO0lBQ0gsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDakMsQ0FBQzs7QUE1QkgsMENBcUVDOzs7QUFFRCxNQUFNLE9BQVEsU0FBUSxhQUFTO0lBQzdCLFlBQVksT0FBd0IsRUFBRSxRQUFnQixFQUFFLFVBQWtCO1FBQ3hFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLE1BQU0sR0FBRyxHQUFHLElBQUksY0FBVSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUU5QyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksVUFBVSxHQUFHLENBQUMsRUFBRTtZQUNsQixHQUFHLENBQUMsSUFBSSxDQUFDLDJDQUEyQyxDQUFDLENBQUM7U0FDdkQ7YUFBTTtZQUNMLEdBQUcsQ0FBQyxJQUFJLENBQUMsc0NBQXNDLENBQUMsQ0FBQztTQUNsRDtRQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxPQUFPLENBQUMsVUFBVSwwQkFBMEIsQ0FBQyxDQUFDO1FBQy9ELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDYixHQUFHLENBQUMsSUFBSSxDQUFDLG9EQUFvRCxDQUFDLENBQUM7UUFDL0QsR0FBRyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ25DLEdBQUcsQ0FBQyxJQUFJLENBQUMsMkNBQTJDLENBQUMsQ0FBQztRQUN0RCxHQUFHLENBQUMsSUFBSSxDQUFDLHlDQUF5QyxDQUFDLENBQUM7UUFDcEQsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNmLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDYixHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hCLEdBQUcsQ0FBQyxJQUFJLENBQUMsMkNBQTJDLENBQUMsQ0FBQztRQUN0RCxHQUFHLENBQUMsSUFBSSxDQUFDLCtDQUErQyxDQUFDLENBQUM7UUFDMUQsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNiLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDMUIsQ0FBQztDQUNGO0FBRUQsTUFBTSxXQUFZLFNBQVEsYUFBUztJQUNqQyxZQUNFLE9BQXdCLEVBQ3hCLFVBQWtCLEVBQ2xCLGVBQXVCO1FBRXZCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksT0FBTyxHQUFhLEVBQUUsQ0FBQztRQUMzQixPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFCLElBQUksZUFBZSxHQUFHLENBQUMsRUFBRTtZQUN2QixPQUFPLENBQUMsSUFBSSxDQUFDLDJDQUEyQyxDQUFDLENBQUM7U0FDM0Q7YUFBTTtZQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQztZQUMxQyxPQUFPLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7U0FDbEQ7UUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakIsT0FBTyxDQUFDLElBQUksQ0FDViw4RUFBOEUsQ0FDL0UsQ0FBQztRQUNGLE9BQU8sQ0FBQyxJQUFJLENBQUMscURBQXFELENBQUMsQ0FBQztRQUNwRSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0RBQWtELENBQUMsQ0FBQztRQUNqRSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksYUFBUyxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUU7WUFDakMsS0FBSyxFQUFFO2dCQUNMLGFBQWEsRUFBRSxFQUFFO2dCQUNqQixhQUFhLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDbEM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBd3NDZGtEZXBzLFxuICBBd3NDZGtEZXBzQ29tbW9uT3B0aW9ucyxcbiAgQ2RrQ29uZmlnLFxuICBDZGtDb25maWdDb21tb25PcHRpb25zLFxuICBDZGtUYXNrcyxcbn0gZnJvbSBcIi5cIjtcbmltcG9ydCB7IENvbXBvbmVudCwgRGVwZW5kZW5jeVR5cGUsIFNhbXBsZURpciwgU291cmNlQ29kZSB9IGZyb20gXCIuLlwiO1xuaW1wb3J0IHsgUHl0ZXN0IH0gZnJvbSBcIi4uL3B5dGhvbi9weXRlc3RcIjtcbmltcG9ydCB7IFB5dGhvblByb2plY3QsIFB5dGhvblByb2plY3RPcHRpb25zIH0gZnJvbSBcIi4uL3B5dGhvbi9weXRob24tcHJvamVjdFwiO1xuaW1wb3J0IHsgQXdzQ2RrRGVwc1B5IH0gZnJvbSBcIi4vYXdzY2RrLWRlcHMtcHlcIjtcbmltcG9ydCB7IEF3c0Nka1B5dGVzdFNhbXBsZSB9IGZyb20gXCIuL2F3c2Nkay1weXRlc3Qtc2FtcGxlXCI7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEF3c0Nka1B5dGhvbkFwcGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBd3NDZGtQeXRob25BcHBPcHRpb25zXG4gIGV4dGVuZHMgUHl0aG9uUHJvamVjdE9wdGlvbnMsXG4gICAgQ2RrQ29uZmlnQ29tbW9uT3B0aW9ucyxcbiAgICBBd3NDZGtEZXBzQ29tbW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgQ0RLIGFwcCdzIGVudHJ5cG9pbnQgKHJlbGF0aXZlIHRvIHRoZSBzb3VyY2UgZGlyZWN0b3J5LCB3aGljaCBpc1xuICAgKiBcInNyY1wiIGJ5IGRlZmF1bHQpLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcImFwcC5weVwiXG4gICAqL1xuICByZWFkb25seSBhcHBFbnRyeXBvaW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogUHl0aG9uIHNvdXJjZXMgZGlyZWN0b3J5LlxuICAgKlxuICAgKiBAZGVmYXVsdCBcInRlc3RzXCJcbiAgICovXG4gIHJlYWRvbmx5IHRlc3RkaXI/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQVdTIENESyBhcHAgaW4gUHl0aG9uXG4gKlxuICogQHBqaWQgYXdzY2RrLWFwcC1weVxuICovXG5leHBvcnQgY2xhc3MgQXdzQ2RrUHl0aG9uQXBwIGV4dGVuZHMgUHl0aG9uUHJvamVjdCB7XG4gIC8qKlxuICAgKiBDb21tb24gQ0RLIHRhc2tzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNka1Rhc2tzOiBDZGtUYXNrcztcblxuICAvKipcbiAgICogY2RrLmpzb24gY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjZGtDb25maWc6IENka0NvbmZpZztcblxuICBwdWJsaWMgcmVhZG9ubHkgY2RrRGVwczogQXdzQ2RrRGVwcztcblxuICAvKipcbiAgICogVGhlIENESyBhcHAgZW50cnlwb2ludFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFwcEVudHJ5cG9pbnQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRpcmVjdG9yeSBpbiB3aGljaCB0aGUgcHl0aG9uIHRlc3RzIHJlc2lkZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB0ZXN0ZGlyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBDREsgdmVyc2lvbiB0aGlzIGFwcCBpcyB1c2luZy5cbiAgICovXG4gIHB1YmxpYyBnZXQgY2RrVmVyc2lvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jZGtEZXBzLmNka1ZlcnNpb247XG4gIH1cblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBBd3NDZGtQeXRob25BcHBPcHRpb25zKSB7XG4gICAgc3VwZXIoeyAuLi5vcHRpb25zLCBweXRlc3Q6IGZhbHNlLCBzYW1wbGU6IGZhbHNlIH0pO1xuXG4gICAgdGhpcy5jZGtEZXBzID0gbmV3IEF3c0Nka0RlcHNQeSh0aGlzLCB7XG4gICAgICBkZXBlbmRlbmN5VHlwZTogRGVwZW5kZW5jeVR5cGUuUlVOVElNRSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG4gICAgdGhpcy5hcHBFbnRyeXBvaW50ID0gb3B0aW9ucy5hcHBFbnRyeXBvaW50ID8/IFwiYXBwLnB5XCI7XG4gICAgdGhpcy50ZXN0ZGlyID0gb3B0aW9ucy50ZXN0ZGlyID8/IFwidGVzdHNcIjtcblxuICAgIHRoaXMuY2RrVGFza3MgPSBuZXcgQ2RrVGFza3ModGhpcyk7XG4gICAgdGhpcy5wb3N0Q29tcGlsZVRhc2suc3Bhd24odGhpcy5jZGtUYXNrcy5zeW50aFNpbGVudCk7XG5cbiAgICB0aGlzLmNka0NvbmZpZyA9IG5ldyBDZGtDb25maWcodGhpcywge1xuICAgICAgYXBwOiBgcHl0aG9uICR7dGhpcy5hcHBFbnRyeXBvaW50fWAsXG4gICAgICBmZWF0dXJlRmxhZ3M6IHRoaXMuY2RrRGVwcy5jZGtNYWpvclZlcnNpb24gPCAyLFxuICAgICAgd2F0Y2hJbmNsdWRlczogW1wiKipcIl0sXG4gICAgICB3YXRjaEV4Y2x1ZGVzOiBbXG4gICAgICAgIFwiUkVBRE1FLm1kXCIsXG4gICAgICAgIFwiY2RrKi5qc29uXCIsXG4gICAgICAgIFwicmVxdWlyZW1lbnRzKi50eHRcIixcbiAgICAgICAgXCJzb3VyY2UuYmF0XCIsXG4gICAgICAgIFwiKiovX19pbml0X18ucHlcIixcbiAgICAgICAgXCJweXRob24vX19weWNhY2hlX19cIixcbiAgICAgICAgXCJ0ZXN0c1wiLFxuICAgICAgXSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICBpZiAob3B0aW9ucy5zYW1wbGUgPz8gdHJ1ZSkge1xuICAgICAgbmV3IEFwcENvZGUodGhpcywgXCJhcHAucHlcIiwgdGhpcy5jZGtEZXBzLmNka01ham9yVmVyc2lvbik7XG4gICAgICBuZXcgTXlTdGFja0NvZGUodGhpcywgdGhpcy5tb2R1bGVOYW1lLCB0aGlzLmNka0RlcHMuY2RrTWFqb3JWZXJzaW9uKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5weXRlc3QgPz8gdHJ1ZSkge1xuICAgICAgdGhpcy5weXRlc3QgPSBuZXcgUHl0ZXN0KHRoaXMsIG9wdGlvbnMucHl0ZXN0T3B0aW9ucyk7XG4gICAgICBuZXcgQXdzQ2RrUHl0ZXN0U2FtcGxlKHRoaXMsIHRoaXMucHl0ZXN0LnRlc3RkaXIpO1xuICAgIH1cbiAgfVxufVxuXG5jbGFzcyBBcHBDb2RlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogQXdzQ2RrUHl0aG9uQXBwLCBmaWxlTmFtZTogc3RyaW5nLCBjZGtWZXJzaW9uOiBudW1iZXIpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIGNvbnN0IHNyYyA9IG5ldyBTb3VyY2VDb2RlKHByb2plY3QsIGZpbGVOYW1lKTtcblxuICAgIHNyYy5saW5lKFwiaW1wb3J0IG9zXCIpO1xuICAgIGlmIChjZGtWZXJzaW9uIDwgMikge1xuICAgICAgc3JjLmxpbmUoXCJmcm9tIGF3c19jZGsuY29yZSBpbXBvcnQgQXBwLCBFbnZpcm9ubWVudFwiKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3JjLmxpbmUoXCJmcm9tIGF3c19jZGsgaW1wb3J0IEFwcCwgRW52aXJvbm1lbnRcIik7XG4gICAgfVxuICAgIHNyYy5saW5lKGBmcm9tICR7cHJvamVjdC5tb2R1bGVOYW1lfS5teV9zdGFjayBpbXBvcnQgTXlTdGFja2ApO1xuICAgIHNyYy5saW5lKFwiXCIpO1xuICAgIHNyYy5saW5lKFwiIyBmb3IgZGV2ZWxvcG1lbnQsIHVzZSBhY2NvdW50L3JlZ2lvbiBmcm9tIGNkayBjbGlcIik7XG4gICAgc3JjLm9wZW4oXCJkZXZfZW52ID0gRW52aXJvbm1lbnQoXCIpO1xuICAgIHNyYy5saW5lKFwiYWNjb3VudD1vcy5nZXRlbnYoJ0NES19ERUZBVUxUX0FDQ09VTlQnKSxcIik7XG4gICAgc3JjLmxpbmUoXCJyZWdpb249b3MuZ2V0ZW52KCdDREtfREVGQVVMVF9SRUdJT04nKSxcIik7XG4gICAgc3JjLmNsb3NlKFwiKVwiKTtcbiAgICBzcmMubGluZShcIlwiKTtcbiAgICBzcmMubGluZShcImFwcCA9IEFwcCgpXCIpO1xuICAgIHNyYy5saW5lKCdNeVN0YWNrKGFwcCwgXCJteS1zdGFjay1kZXZcIiwgZW52PWRldl9lbnYpJyk7XG4gICAgc3JjLmxpbmUoJyMgTXlTdGFjayhhcHAsIFwibXktc3RhY2stcHJvZFwiLCBlbnY9cHJvZF9lbnYpJyk7XG4gICAgc3JjLmxpbmUoXCJcIik7XG4gICAgc3JjLmxpbmUoXCJhcHAuc3ludGgoKVwiKTtcbiAgfVxufVxuXG5jbGFzcyBNeVN0YWNrQ29kZSBleHRlbmRzIENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb2plY3Q6IEF3c0Nka1B5dGhvbkFwcCxcbiAgICBzYW1wbGVGaWxlOiBzdHJpbmcsXG4gICAgY2RrTWFqb3JWZXJzaW9uOiBudW1iZXJcbiAgKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICBsZXQgYXBwRmlsZTogc3RyaW5nW10gPSBbXTtcbiAgICBhcHBGaWxlLnB1c2goXCJpbXBvcnQgb3NcIik7XG4gICAgaWYgKGNka01ham9yVmVyc2lvbiA8IDIpIHtcbiAgICAgIGFwcEZpbGUucHVzaChcImZyb20gYXdzX2Nkay5jb3JlIGltcG9ydCBDb25zdHJ1Y3QsIFN0YWNrXCIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcHBGaWxlLnB1c2goXCJmcm9tIGF3c19jZGsgaW1wb3J0IFN0YWNrXCIpO1xuICAgICAgYXBwRmlsZS5wdXNoKFwiZnJvbSBjb25zdHJ1Y3RzIGltcG9ydCBDb25zdHJ1Y3RcIik7XG4gICAgfVxuICAgIGFwcEZpbGUucHVzaChcIlwiKTtcbiAgICBhcHBGaWxlLnB1c2goXCJcIik7XG4gICAgYXBwRmlsZS5wdXNoKFwiY2xhc3MgTXlTdGFjayhTdGFjayk6XCIpO1xuICAgIGFwcEZpbGUucHVzaChcIlwiKTtcbiAgICBhcHBGaWxlLnB1c2goXG4gICAgICBcIiAgZGVmIF9faW5pdF9fKHNlbGYsIHNjb3BlOiBDb25zdHJ1Y3QsIGNvbnN0cnVjdF9pZDogc3RyLCAqKmt3YXJncykgLT4gTm9uZTpcIlxuICAgICk7XG4gICAgYXBwRmlsZS5wdXNoKFwiICAgIHN1cGVyKCkuX19pbml0X18oc2NvcGUsIGNvbnN0cnVjdF9pZCwgKiprd2FyZ3MpXCIpO1xuICAgIGFwcEZpbGUucHVzaChcIlwiKTtcbiAgICBhcHBGaWxlLnB1c2goXCIgICAgIyBUaGUgY29kZSB0aGF0IGRlZmluZXMgeW91ciBzdGFjayBnb2VzIGhlcmVcIik7XG4gICAgYXBwRmlsZS5wdXNoKFwiXCIpO1xuXG4gICAgbmV3IFNhbXBsZURpcihwcm9qZWN0LCBzYW1wbGVGaWxlLCB7XG4gICAgICBmaWxlczoge1xuICAgICAgICBcIl9faW5pdF9fLnB5XCI6IFwiXCIsXG4gICAgICAgIFwibXlfc3RhY2sucHlcIjogYXBwRmlsZS5qb2luKFwiXFxuXCIpLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -99,7 +99,7 @@ class AwsCdkTypeScriptApp extends typescript_1.TypeScriptAppProject {
99
99
  }
100
100
  exports.AwsCdkTypeScriptApp = AwsCdkTypeScriptApp;
101
101
  _a = JSII_RTTI_SYMBOL_1;
102
- AwsCdkTypeScriptApp[_a] = { fqn: "projen.awscdk.AwsCdkTypeScriptApp", version: "0.52.45" };
102
+ AwsCdkTypeScriptApp[_a] = { fqn: "projen.awscdk.AwsCdkTypeScriptApp", version: "0.52.48" };
103
103
  class SampleCode extends component_1.Component {
104
104
  constructor(project, cdkMajorVersion) {
105
105
  super(project);
@@ -80,7 +80,7 @@ class AwsCdkConstructLibrary extends cdk_1.ConstructLibrary {
80
80
  }
81
81
  exports.AwsCdkConstructLibrary = AwsCdkConstructLibrary;
82
82
  _a = JSII_RTTI_SYMBOL_1;
83
- AwsCdkConstructLibrary[_a] = { fqn: "projen.awscdk.AwsCdkConstructLibrary", version: "0.52.45" };
83
+ AwsCdkConstructLibrary[_a] = { fqn: "projen.awscdk.AwsCdkConstructLibrary", version: "0.52.48" };
84
84
  function determineWorkflowContainerImage(options, cdkMajorVersion) {
85
85
  // if the user specifies the workflow container image explicitly, use that
86
86
  if (options.workflowContainerImage) {
@@ -105,5 +105,5 @@ class ConstructLibraryAws extends AwsCdkConstructLibrary {
105
105
  }
106
106
  exports.ConstructLibraryAws = ConstructLibraryAws;
107
107
  _b = JSII_RTTI_SYMBOL_1;
108
- ConstructLibraryAws[_b] = { fqn: "projen.awscdk.ConstructLibraryAws", version: "0.52.45" };
108
+ ConstructLibraryAws[_b] = { fqn: "projen.awscdk.ConstructLibraryAws", version: "0.52.48" };
109
109
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLWNvbnN0cnVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXdzY2RrLWNvbnN0cnVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlDQUFpQztBQUNqQyxnQ0FBbUU7QUFDbkUsa0RBQWlEO0FBQ2pELG1EQUErQztBQUUvQyxxREFBZ0Q7QUFtQ2hEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSxzQkFBZ0I7SUFHMUQsWUFBWSxPQUFzQzs7UUFDaEQsTUFBTSxlQUFlLFNBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLDBDQUFFLEtBQUssQ0FBQztRQUVoRSxLQUFLLENBQUM7WUFDSixxQkFBcUIsRUFDbkIsZUFBZSxLQUFLLENBQUM7Z0JBQ25CLENBQUMsQ0FBQztvQkFDRSxtQkFBbUIsRUFBRSxLQUFLO2lCQUMzQjtnQkFDSCxDQUFDLENBQUMsU0FBUztZQUNmLHNCQUFzQixFQUFFLCtCQUErQixDQUNyRCxPQUFPLEVBQ1AsZUFBZSxDQUNoQjtZQUNELEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSw2QkFBWSxDQUFDLElBQUksRUFBRTtZQUNwQyxvRUFBb0U7WUFDcEUsY0FBYyxFQUFFLDZCQUFjLENBQUMsSUFBSTtZQUNuQyxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7UUFFSCxJQUFJLDRCQUFZLENBQUMsSUFBSSxFQUFFO1lBQ3JCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhO1lBQ3BDLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVE7WUFDdkMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLGtCQUFrQixRQUFFLE9BQU8sQ0FBQyxrQkFBa0IsbUNBQUksSUFBSTtZQUN0RCwyQkFBMkIsUUFBRSxPQUFPLENBQUMsMkJBQTJCLG1DQUFJLElBQUk7U0FDekUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDakMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLGtCQUFrQixDQUFDLEdBQUcsSUFBYztRQUN6QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxzQkFBc0IsQ0FBQyxHQUFHLElBQWM7UUFDN0MsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs7QUF2RUgsd0RBd0VDOzs7QUFFRCxTQUFTLCtCQUErQixDQUN0QyxPQUFzQyxFQUN0QyxlQUFtQztJQUVuQywwRUFBMEU7SUFDMUUsSUFBSSxPQUFPLENBQUMsc0JBQXNCLEVBQUU7UUFDbEMsT0FBTyxPQUFPLENBQUMsc0JBQXNCLENBQUM7S0FDdkM7SUFFRCxpRkFBaUY7SUFDakYsK0VBQStFO0lBQy9FLElBQUksT0FBTyxDQUFDLGNBQWMsRUFBRTtRQUMxQixPQUFPLFNBQVMsQ0FBQztLQUNsQjtJQUVELHdFQUF3RTtJQUN4RSxJQUFJLGVBQWUsS0FBSyxDQUFDLEVBQUU7UUFDekIsT0FBTywrQkFBK0IsQ0FBQztLQUN4QztJQUVELElBQUksZUFBZSxLQUFLLENBQUMsRUFBRTtRQUN6QixPQUFPLHNDQUFzQyxDQUFDO0tBQy9DO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQU1ELCtDQUErQztBQUMvQyxNQUFhLG1CQUFvQixTQUFRLHNCQUFzQjs7QUFBL0Qsa0RBQWtFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgc2VtdmVyIGZyb20gXCJzZW12ZXJcIjtcbmltcG9ydCB7IENvbnN0cnVjdExpYnJhcnksIENvbnN0cnVjdExpYnJhcnlPcHRpb25zIH0gZnJvbSBcIi4uL2Nka1wiO1xuaW1wb3J0IHsgRGVwZW5kZW5jeVR5cGUgfSBmcm9tIFwiLi4vZGVwZW5kZW5jaWVzXCI7XG5pbXBvcnQgeyBBdXRvRGlzY292ZXIgfSBmcm9tIFwiLi9hdXRvLWRpc2NvdmVyXCI7XG5pbXBvcnQgeyBBd3NDZGtEZXBzLCBBd3NDZGtEZXBzQ29tbW9uT3B0aW9ucyB9IGZyb20gXCIuL2F3c2Nkay1kZXBzXCI7XG5pbXBvcnQgeyBBd3NDZGtEZXBzSnMgfSBmcm9tIFwiLi9hd3NjZGstZGVwcy1qc1wiO1xuaW1wb3J0IHsgTGFtYmRhRnVuY3Rpb25Db21tb25PcHRpb25zIH0gZnJvbSBcIi4vbGFtYmRhLWZ1bmN0aW9uXCI7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEF3c0Nka0NvbnN0cnVjdExpYnJhcnlgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF3c0Nka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zXG4gIGV4dGVuZHMgQ29uc3RydWN0TGlicmFyeU9wdGlvbnMsXG4gICAgQXdzQ2RrRGVwc0NvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogQXV0b21hdGljYWxseSBhZGRzIGFuIGBhd3NfbGFtYmRhLkZ1bmN0aW9uYCBmb3IgZWFjaCBgLmxhbWJkYS50c2AgaGFuZGxlclxuICAgKiBpbiB5b3VyIHNvdXJjZSB0cmVlLiBJZiB0aGlzIGlzIGRpc2FibGVkLCB5b3UgZWl0aGVyIG5lZWQgdG8gZXhwbGljaXRseVxuICAgKiBjYWxsIGBhd3NfbGFtYmRhLkZ1bmN0aW9uLmF1dG9EaXNjb3ZlcigpYCBvciBkZWZpbmUgYSBgbmV3XG4gICAqIGF3c19sYW1iZGEuRnVuY3Rpb24oKWAgZm9yIGVhY2ggaGFuZGxlci5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhQXV0b0Rpc2NvdmVyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQXV0b21hdGljYWxseSBkaXNjb3ZlcnMgYW5kIGNyZWF0ZXMgaW50ZWdyYXRpb24gdGVzdHMgZm9yIGVhY2ggYC5pbnRlZy50c2BcbiAgICogZmlsZSBpbiB1bmRlciB5b3VyIHRlc3QgZGlyZWN0b3J5LlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBpbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDb21tb24gb3B0aW9ucyBmb3IgYWxsIEFXUyBMYW1iZGEgZnVuY3Rpb25zLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgb3B0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhT3B0aW9ucz86IExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucztcbn1cblxuLyoqXG4gKiBBV1MgQ0RLIGNvbnN0cnVjdCBsaWJyYXJ5IHByb2plY3RcbiAqXG4gKiBBIG11bHRpLWxhbmd1YWdlIChqc2lpKSBjb25zdHJ1Y3QgbGlicmFyeSB3aGljaCB2ZW5kcyBjb25zdHJ1Y3RzIGRlc2lnbmVkIHRvXG4gKiB1c2Ugd2l0aGluIHRoZSBBV1MgQ0RLIHdpdGggYSBmcmllbmRseSB3b3JrZmxvdyBhbmQgYXV0b21hdGljIHB1Ymxpc2hpbmcgdG9cbiAqIHRoZSBjb25zdHJ1Y3QgY2F0YWxvZy5cbiAqXG4gKiBAcGppZCBhd3NjZGstY29uc3RydWN0XG4gKi9cbmV4cG9ydCBjbGFzcyBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5IGV4dGVuZHMgQ29uc3RydWN0TGlicmFyeSB7XG4gIHB1YmxpYyByZWFkb25seSBjZGtEZXBzOiBBd3NDZGtEZXBzO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEF3c0Nka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zKSB7XG4gICAgY29uc3QgY2RrTWFqb3JWZXJzaW9uID0gc2VtdmVyLnBhcnNlKG9wdGlvbnMuY2RrVmVyc2lvbik/Lm1ham9yO1xuXG4gICAgc3VwZXIoe1xuICAgICAgcGVlckRlcGVuZGVuY3lPcHRpb25zOlxuICAgICAgICBjZGtNYWpvclZlcnNpb24gPT09IDFcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgcGlubmVkRGV2RGVwZW5kZW5jeTogZmFsc2UsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICB3b3JrZmxvd0NvbnRhaW5lckltYWdlOiBkZXRlcm1pbmVXb3JrZmxvd0NvbnRhaW5lckltYWdlKFxuICAgICAgICBvcHRpb25zLFxuICAgICAgICBjZGtNYWpvclZlcnNpb25cbiAgICAgICksXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuXG4gICAgdGhpcy5jZGtEZXBzID0gbmV3IEF3c0Nka0RlcHNKcyh0aGlzLCB7XG4gICAgICAvLyBzaW5jZSB0aGlzIHdlIGFyZSBhIGxpYnJhcnksIGRlcGVuZGVuY2llcyBzaG91bGQgYmUgYWRkZWQgYSBwZWVyc1xuICAgICAgZGVwZW5kZW5jeVR5cGU6IERlcGVuZGVuY3lUeXBlLlBFRVIsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuXG4gICAgbmV3IEF1dG9EaXNjb3Zlcih0aGlzLCB7XG4gICAgICBzcmNkaXI6IHRoaXMuc3JjZGlyLFxuICAgICAgdGVzdGRpcjogdGhpcy50ZXN0ZGlyLFxuICAgICAgbGFtYmRhT3B0aW9uczogb3B0aW9ucy5sYW1iZGFPcHRpb25zLFxuICAgICAgdHNjb25maWdQYXRoOiB0aGlzLnRzY29uZmlnRGV2LmZpbGVOYW1lLFxuICAgICAgY2RrRGVwczogdGhpcy5jZGtEZXBzLFxuICAgICAgbGFtYmRhQXV0b0Rpc2NvdmVyOiBvcHRpb25zLmxhbWJkYUF1dG9EaXNjb3ZlciA/PyB0cnVlLFxuICAgICAgaW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyOiBvcHRpb25zLmludGVncmF0aW9uVGVzdEF1dG9EaXNjb3ZlciA/PyB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0YXJnZXQgQ0RLIHZlcnNpb24gZm9yIHRoaXMgbGlicmFyeS5cbiAgICovXG4gIHB1YmxpYyBnZXQgY2RrVmVyc2lvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jZGtEZXBzLmNka1ZlcnNpb247XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBjZGtWZXJzaW9uYFxuICAgKi9cbiAgcHVibGljIGdldCB2ZXJzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLmNka1ZlcnNpb247XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBkZXBlbmRlbmNpZXMgdG8gQVdTIENESyBtb2R1bGVzLlxuICAgKlxuICAgKiBTaW5jZSB0aGlzIGlzIGEgbGlicmFyeSBwcm9qZWN0LCBkZXBlbmRlbmNpZXMgd2lsbCBiZSBhZGRlZCBhcyBwZWVyIGRlcGVuZGVuY2llcy5cbiAgICpcbiAgICogQHBhcmFtIGRlcHMgbmFtZXMgb2YgY2RrIG1vZHVsZXMgKGUuZy4gYEBhd3MtY2RrL2F3cy1sYW1iZGFgKS5cbiAgICogQGRlcHJlY2F0ZWQgTm90IHN1cHBvcnRlZCBpbiB2Mi4gRm9yIHYxLCB1c2UgYHByb2plY3QuY2RrRGVwcy5hZGRWMURlcGVuZGVuY2llcygpYFxuICAgKi9cbiAgcHVibGljIGFkZENka0RlcGVuZGVuY2llcyguLi5kZXBzOiBzdHJpbmdbXSkge1xuICAgIHJldHVybiB0aGlzLmNka0RlcHMuYWRkVjFEZXBlbmRlbmNpZXMoLi4uZGVwcyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBBV1MgQ0RLIG1vZHVsZXMgYXMgZGV2IGRlcGVuZGVuY2llcy5cbiAgICpcbiAgICogQHBhcmFtIGRlcHMgbmFtZXMgb2YgY2RrIG1vZHVsZXMgKGUuZy4gYEBhd3MtY2RrL2F3cy1sYW1iZGFgKS5cbiAgICogQGRlcHJlY2F0ZWQgTm90IHN1cHBvcnRlZCBpbiB2Mi4gRm9yIHYxLCB1c2UgYHByb2plY3QuY2RrRGVwcy5hZGRWMURldkRlcGVuZGVuY2llcygpYFxuICAgKi9cbiAgcHVibGljIGFkZENka1Rlc3REZXBlbmRlbmNpZXMoLi4uZGVwczogc3RyaW5nW10pIHtcbiAgICByZXR1cm4gdGhpcy5jZGtEZXBzLmFkZFYxRGV2RGVwZW5kZW5jaWVzKC4uLmRlcHMpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRldGVybWluZVdvcmtmbG93Q29udGFpbmVySW1hZ2UoXG4gIG9wdGlvbnM6IEF3c0Nka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zLFxuICBjZGtNYWpvclZlcnNpb246IG51bWJlciB8IHVuZGVmaW5lZFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgLy8gaWYgdGhlIHVzZXIgc3BlY2lmaWVzIHRoZSB3b3JrZmxvdyBjb250YWluZXIgaW1hZ2UgZXhwbGljaXRseSwgdXNlIHRoYXRcbiAgaWYgKG9wdGlvbnMud29ya2Zsb3dDb250YWluZXJJbWFnZSkge1xuICAgIHJldHVybiBvcHRpb25zLndvcmtmbG93Q29udGFpbmVySW1hZ2U7XG4gIH1cblxuICAvLyBpZiB0aGUgdXNlciBzcGVjaWZpZXMgbWluaW11bSBub2RlIHZlcnNpb24sIHRoZW4gSnNpaVByb2plY3Qgd2lsbCB0YWtlIGNhcmUgb2ZcbiAgLy8gZGV0ZXJtaW5pbmcgdGhlIHdvcmtmbG93IGNvbnRhaW5lciBpbWFnZSBmcm9tIHRoYXQsIHNvIHdlIHJldHVybiBcInVuZGVmaW5lZFwiXG4gIGlmIChvcHRpb25zLm1pbk5vZGVWZXJzaW9uKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8vIG90aGVyd2lzZSwgY2hvb3NlIGEgd29ya2Zsb3cgY29udGFpbmVyIGltYWdlIGJhc2VkIG9uIHRoZSBDREsgdmVyc2lvblxuICBpZiAoY2RrTWFqb3JWZXJzaW9uID09PSAxKSB7XG4gICAgcmV0dXJuIFwianNpaS9zdXBlcmNoYWluOjEtYnVzdGVyLXNsaW1cIjtcbiAgfVxuXG4gIGlmIChjZGtNYWpvclZlcnNpb24gPT09IDIpIHtcbiAgICByZXR1cm4gXCJqc2lpL3N1cGVyY2hhaW46MS1idXN0ZXItc2xpbS1ub2RlMTRcIjtcbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKiBAZGVwcmVjYXRlZCB1c2UgYEF3c0Nka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zYCAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25zdHJ1Y3RMaWJyYXJ5QXdzT3B0aW9uc1xuICBleHRlbmRzIEF3c0Nka0NvbnN0cnVjdExpYnJhcnlPcHRpb25zIHt9XG5cbi8qKiBAZGVwcmVjYXRlZCB1c2UgYEF3c0Nka0NvbnN0cnVjdExpYnJhcnlgICovXG5leHBvcnQgY2xhc3MgQ29uc3RydWN0TGlicmFyeUF3cyBleHRlbmRzIEF3c0Nka0NvbnN0cnVjdExpYnJhcnkge31cbiJdfQ==
@@ -19,5 +19,5 @@ class AwsCdkDepsJava extends awscdk_deps_1.AwsCdkDeps {
19
19
  }
20
20
  exports.AwsCdkDepsJava = AwsCdkDepsJava;
21
21
  _a = JSII_RTTI_SYMBOL_1;
22
- AwsCdkDepsJava[_a] = { fqn: "projen.awscdk.AwsCdkDepsJava", version: "0.52.45" };
22
+ AwsCdkDepsJava[_a] = { fqn: "projen.awscdk.AwsCdkDepsJava", version: "0.52.48" };
23
23
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLWRlcHMtamF2YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXdzY2RrLWRlcHMtamF2YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtDQUErRDtBQUUvRDs7R0FFRztBQUNILE1BQWEsY0FBZSxTQUFRLHdCQUFVO0lBQ2xDLFlBQVk7UUFDcEIsT0FBTztZQUNMLE1BQU0sRUFBRSw2QkFBNkI7WUFDckMsTUFBTSxFQUFFLG9DQUFvQztZQUM1QyxVQUFVLEVBQUUsZ0NBQWdDO1lBQzVDLFVBQVUsRUFBRSxtQ0FBbUM7U0FDaEQsQ0FBQztJQUNKLENBQUM7O0FBUkgsd0NBU0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd3NDZGtEZXBzLCBBd3NDZGtQYWNrYWdlTmFtZXMgfSBmcm9tIFwiLi9hd3NjZGstZGVwc1wiO1xuXG4vKipcbiAqIE1hbmFnZXMgZGVwZW5kZW5jaWVzIG9uIHRoZSBBV1MgQ0RLIGZvciBKYXZhIHByb2plY3RzLlxuICovXG5leHBvcnQgY2xhc3MgQXdzQ2RrRGVwc0phdmEgZXh0ZW5kcyBBd3NDZGtEZXBzIHtcbiAgcHJvdGVjdGVkIHBhY2thZ2VOYW1lcygpOiBBd3NDZGtQYWNrYWdlTmFtZXMge1xuICAgIHJldHVybiB7XG4gICAgICBjb3JlVjE6IFwic29mdHdhcmUuYW1hem9uLmF3c2Nkay9jb3JlXCIsXG4gICAgICBjb3JlVjI6IFwic29mdHdhcmUuYW1hem9uLmF3c2Nkay9hd3MtY2RrLWxpYlwiLFxuICAgICAgY29uc3RydWN0czogXCJzb2Z0d2FyZS5jb25zdHJ1Y3RzL2NvbnN0cnVjdHNcIixcbiAgICAgIGFzc2VydGlvbnM6IFwic29mdHdhcmUuYW1hem9uLmF3c2Nkay9hc3NlcnRpb25zXCIsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -20,5 +20,5 @@ class AwsCdkDepsJs extends awscdk_deps_1.AwsCdkDeps {
20
20
  }
21
21
  exports.AwsCdkDepsJs = AwsCdkDepsJs;
22
22
  _a = JSII_RTTI_SYMBOL_1;
23
- AwsCdkDepsJs[_a] = { fqn: "projen.awscdk.AwsCdkDepsJs", version: "0.52.45" };
23
+ AwsCdkDepsJs[_a] = { fqn: "projen.awscdk.AwsCdkDepsJs", version: "0.52.48" };
24
24
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLWRlcHMtanMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXdzY2RrL2F3c2Nkay1kZXBzLWpzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0NBQStEO0FBRS9EOztHQUVHO0FBQ0gsTUFBYSxZQUFhLFNBQVEsd0JBQVU7SUFDaEMsWUFBWTtRQUNwQixPQUFPO1lBQ0wsTUFBTSxFQUFFLGVBQWU7WUFDdkIsTUFBTSxFQUFFLGFBQWE7WUFDckIsVUFBVSxFQUFFLFlBQVk7WUFDeEIsTUFBTSxFQUFFLGlCQUFpQjtZQUN6QixVQUFVLEVBQUUscUJBQXFCO1NBQ2xDLENBQUM7SUFDSixDQUFDOztBQVRILG9DQVVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXdzQ2RrRGVwcywgQXdzQ2RrUGFja2FnZU5hbWVzIH0gZnJvbSBcIi4vYXdzY2RrLWRlcHNcIjtcblxuLyoqXG4gKiBNYW5hZ2VzIGRlcGVuZGVuY2llcyBvbiB0aGUgQVdTIENESyBmb3IgTm9kZS5qcyBwcm9qZWN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIEF3c0Nka0RlcHNKcyBleHRlbmRzIEF3c0Nka0RlcHMge1xuICBwcm90ZWN0ZWQgcGFja2FnZU5hbWVzKCk6IEF3c0Nka1BhY2thZ2VOYW1lcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvcmVWMTogXCJAYXdzLWNkay9jb3JlXCIsXG4gICAgICBjb3JlVjI6IFwiYXdzLWNkay1saWJcIixcbiAgICAgIGNvbnN0cnVjdHM6IFwiY29uc3RydWN0c1wiLFxuICAgICAgYXNzZXJ0OiBcIkBhd3MtY2RrL2Fzc2VydFwiLFxuICAgICAgYXNzZXJ0aW9uczogXCJAYXdzLWNkay9hc3NlcnRpb25zXCIsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,7 @@
1
+ import { AwsCdkDeps, AwsCdkPackageNames } from "./awscdk-deps";
2
+ /**
3
+ * Manages dependencies on the AWS CDK for Python projects.
4
+ */
5
+ export declare class AwsCdkDepsPy extends AwsCdkDeps {
6
+ protected packageNames(): AwsCdkPackageNames;
7
+ }