projen 0.41.0 → 0.42.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 (106) hide show
  1. package/.jsii +372 -182
  2. package/API.md +165 -32
  3. package/lib/awscdk/auto-discover.d.ts +7 -0
  4. package/lib/awscdk/auto-discover.js +5 -4
  5. package/lib/awscdk/awscdk-app-ts.d.ts +7 -28
  6. package/lib/awscdk/awscdk-app-ts.js +30 -37
  7. package/lib/awscdk/awscdk-construct.d.ts +13 -93
  8. package/lib/awscdk/awscdk-construct.js +49 -87
  9. package/lib/awscdk/awscdk-deps.d.ts +157 -0
  10. package/lib/awscdk/awscdk-deps.js +163 -0
  11. package/lib/awscdk/cdk-config.js +1 -1
  12. package/lib/awscdk/cdk-tasks.js +1 -1
  13. package/lib/awscdk/index.d.ts +1 -0
  14. package/lib/awscdk/index.js +2 -1
  15. package/lib/awscdk/integration-test.js +1 -1
  16. package/lib/awscdk/java-app.js +1 -1
  17. package/lib/awscdk/lambda-function.d.ts +8 -1
  18. package/lib/awscdk/lambda-function.js +14 -5
  19. package/lib/cdk/construct-lib.js +1 -1
  20. package/lib/cdk/jsii-docgen.js +1 -1
  21. package/lib/cdk/jsii-project.js +1 -1
  22. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  23. package/lib/cdk8s/cdk8s-construct.js +1 -1
  24. package/lib/cdktf/cdktf-construct.js +1 -1
  25. package/lib/component.js +1 -1
  26. package/lib/dependencies.js +1 -1
  27. package/lib/dev-env.js +1 -1
  28. package/lib/docker-compose.js +2 -2
  29. package/lib/file.js +1 -1
  30. package/lib/gitattributes.js +1 -1
  31. package/lib/github/auto-approve.js +1 -1
  32. package/lib/github/auto-merge.js +1 -1
  33. package/lib/github/dependabot.js +1 -1
  34. package/lib/github/github-project.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/eslint.js +1 -1
  54. package/lib/javascript/jest.js +1 -1
  55. package/lib/javascript/node-package.js +1 -1
  56. package/lib/javascript/node-project.js +1 -1
  57. package/lib/javascript/npm-config.js +1 -1
  58. package/lib/javascript/projenrc.js +1 -1
  59. package/lib/javascript/typescript-config.js +1 -1
  60. package/lib/javascript/upgrade-dependencies.js +2 -2
  61. package/lib/json.js +1 -1
  62. package/lib/license.js +1 -1
  63. package/lib/logger.js +1 -1
  64. package/lib/makefile.js +1 -1
  65. package/lib/object-file.js +1 -1
  66. package/lib/project-build.js +1 -1
  67. package/lib/project.js +1 -1
  68. package/lib/projects.js +1 -1
  69. package/lib/projenrc-json.js +1 -1
  70. package/lib/python/pip.js +1 -1
  71. package/lib/python/poetry.js +2 -2
  72. package/lib/python/projenrc.js +1 -1
  73. package/lib/python/pytest.js +1 -1
  74. package/lib/python/python-project.js +1 -1
  75. package/lib/python/python-sample.js +1 -1
  76. package/lib/python/requirements-file.js +1 -1
  77. package/lib/python/setuppy.js +1 -1
  78. package/lib/python/setuptools.js +1 -1
  79. package/lib/python/venv.js +1 -1
  80. package/lib/readme.js +1 -1
  81. package/lib/release/publisher.js +1 -1
  82. package/lib/release/release-trigger.js +1 -1
  83. package/lib/release/release.js +1 -1
  84. package/lib/sample-file.js +2 -2
  85. package/lib/semver.js +1 -1
  86. package/lib/source-code.js +1 -1
  87. package/lib/task-runtime.js +1 -1
  88. package/lib/task.js +1 -1
  89. package/lib/tasks.js +1 -1
  90. package/lib/testing.js +1 -1
  91. package/lib/textfile.js +1 -1
  92. package/lib/toml.js +1 -1
  93. package/lib/typescript/projenrc.js +1 -1
  94. package/lib/typescript/typescript-typedoc.js +1 -1
  95. package/lib/typescript/typescript.js +3 -3
  96. package/lib/version.js +1 -1
  97. package/lib/vscode/devcontainer.js +1 -1
  98. package/lib/vscode/launch-config.js +1 -1
  99. package/lib/vscode/vscode.js +1 -1
  100. package/lib/web/next.js +3 -3
  101. package/lib/web/postcss.js +1 -1
  102. package/lib/web/react.js +4 -4
  103. package/lib/web/tailwind.js +1 -1
  104. package/lib/xmlfile.js +1 -1
  105. package/lib/yaml.js +1 -1
  106. package/package.json +1 -1
package/API.md CHANGED
@@ -39,6 +39,7 @@ Name|Description
39
39
  [YamlFile](#projen-yamlfile)|Represents a YAML file.
40
40
  [awscdk.AutoDiscover](#projen-awscdk-autodiscover)|Automatically creates a `LambdaFunction` for all `.lambda.ts` files under the source directory of the project.
41
41
  [awscdk.AwsCdkConstructLibrary](#projen-awscdk-awscdkconstructlibrary)|AWS CDK construct library project.
42
+ [awscdk.AwsCdkDeps](#projen-awscdk-awscdkdeps)|Manages dependencies on the AWS CDK.
42
43
  [awscdk.AwsCdkJavaApp](#projen-awscdk-awscdkjavaapp)|AWS CDK app in Java.
43
44
  [awscdk.AwsCdkTypeScriptApp](#projen-awscdk-awscdktypescriptapp)|AWS CDK app in TypeScript.
44
45
  [awscdk.CdkConfig](#projen-awscdk-cdkconfig)|Represents cdk.json file.
@@ -162,7 +163,9 @@ Name|Description
162
163
  [XmlFileOptions](#projen-xmlfileoptions)|Options for `XmlFile`.
163
164
  [YamlFileOptions](#projen-yamlfileoptions)|Options for `JsonFile`.
164
165
  [awscdk.AutoDiscoverOptions](#projen-awscdk-autodiscoveroptions)|Options for `AutoDiscover`.
165
- [awscdk.AwsCdkConstructLibraryOptions](#projen-awscdk-awscdkconstructlibraryoptions)|Options for the construct-lib-aws project.
166
+ [awscdk.AwsCdkConstructLibraryOptions](#projen-awscdk-awscdkconstructlibraryoptions)|Options for `AwsCdkConstructLibrary`.
167
+ [awscdk.AwsCdkDepsCommonOptions](#projen-awscdk-awscdkdepscommonoptions)|Options for `AwsCdkDeps`.
168
+ [awscdk.AwsCdkDepsOptions](#projen-awscdk-awscdkdepsoptions)|*No description*
166
169
  [awscdk.AwsCdkJavaAppOptions](#projen-awscdk-awscdkjavaappoptions)|*No description*
167
170
  [awscdk.AwsCdkTypeScriptAppOptions](#projen-awscdk-awscdktypescriptappoptions)|*No description*
168
171
  [awscdk.CdkConfigCommonOptions](#projen-awscdk-cdkconfigcommonoptions)|Common options for `cdk.json`.
@@ -2852,6 +2855,7 @@ new awscdk.AutoDiscover(project: Project, options: AutoDiscoverOptions)
2852
2855
 
2853
2856
  * **project** (<code>[Project](#projen-project)</code>) *No description*
2854
2857
  * **options** (<code>[awscdk.AutoDiscoverOptions](#projen-awscdk-autodiscoveroptions)</code>) *No description*
2858
+ * **cdkDeps** (<code>[awscdk.AwsCdkDeps](#projen-awscdk-awscdkdeps)</code>) AWS CDK dependency manager.
2855
2859
  * **srcdir** (<code>string</code>) Project source tree (relative to project output directory).
2856
2860
  * **testdir** (<code>string</code>) Test source tree.
2857
2861
  * **tsconfigPath** (<code>string</code>) Path to the tsconfig file to use for integration tests.
@@ -3019,14 +3023,14 @@ new awscdk.AwsCdkConstructLibrary(options: AwsCdkConstructLibraryOptions)
3019
3023
  * **python** (<code>[cdk.JsiiPythonTarget](#projen-cdk-jsiipythontarget)</code>) *No description* __*Optional*__
3020
3024
  * **rootdir** (<code>string</code>) *No description* __*Default*__: "."
3021
3025
  * **catalog** (<code>[cdk.Catalog](#projen-cdk-catalog)</code>) Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:. __*Default*__: new version will be announced
3022
- * **cdkVersion** (<code>string</code>) Minimum target version this library is tested against.
3026
+ * **cdkVersion** (<code>string</code>) Semantic version requirement for the the AWS CDK libraries.
3023
3027
  * **cdkAssert** (<code>boolean</code>) Install the @aws-cdk/assert library? __*Default*__: false
3024
3028
  * **cdkAssertions** (<code>boolean</code>) Install the @aws-cdk/assertions library? __*Default*__: true
3025
3029
  * **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed? __*Optional*__
3026
3030
  * **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
3027
3031
  * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
3028
- * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Default*__: false
3029
- * **constructsVersion** (<code>string</code>) Minimum target version of constructs being tested against. If not provided, the default value depends on the configured `cdkVersion`:. __*Default*__: When the default behavior is used, the dependency on `constructs` will be added as both a `peerDependency` and a `devDependency`.
3032
+ * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Optional*__
3033
+ * **constructsVersion** (<code>string</code>) Semantic version requirement for the `constructs` library. __*Default*__: for CDK 1.x the default is "^3.2.27", for CDK 2.x the default is "^10.0.5".
3030
3034
  * **lambdaAutoDiscover** (<code>boolean</code>) Automatically adds an `aws_lambda.Function` for each `.lambda.ts` handler in your source tree. If this is disabled, you either need to explicitly call `aws_lambda.Function.autoDiscover()` or define a `new aws_lambda.Function()` for each handler. __*Default*__: true
3031
3035
  * **lambdaOptions** (<code>[awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)</code>) Common options for all AWS Lambda functions. __*Default*__: default options
3032
3036
 
@@ -3037,24 +3041,18 @@ new awscdk.AwsCdkConstructLibrary(options: AwsCdkConstructLibraryOptions)
3037
3041
 
3038
3042
  Name | Type | Description
3039
3043
  -----|------|-------------
3040
- **cdkDependenciesAsDeps**🔹 | <code>boolean</code> | Whether CDK dependencies are added as normal dependencies (and peer dependencies).
3044
+ **cdkDeps**🔹 | <code>[awscdk.AwsCdkDeps](#projen-awscdk-awscdkdeps)</code> | <span></span>
3041
3045
  **cdkVersion**🔹 | <code>string</code> | The target CDK version for this library.
3042
3046
  **version**⚠️ | <code>string</code> | <span></span>
3043
3047
 
3044
3048
  ### Methods
3045
3049
 
3046
3050
 
3047
- #### addCdkDependencies(...deps)🔹 <a id="projen-awscdk-awscdkconstructlibrary-addcdkdependencies"></a>
3051
+ #### addCdkDependencies(...deps)⚠️ <a id="projen-awscdk-awscdkconstructlibrary-addcdkdependencies"></a>
3048
3052
 
3049
- Adds CDK modules as runtime dependencies.
3053
+ Adds dependencies to AWS CDK modules.
3050
3054
 
3051
- Modules are currently by default added with a caret CDK version both as "dependencies"
3052
- and "peerDependencies". This is because currently npm would not
3053
- automatically install peer dependencies that are not declared as concerete
3054
- dependencies by the consumer, so this is a little npm "hack" so that
3055
- consumers will not need to depend on them directly if they don't interact
3056
- with them.
3057
- See `cdkDependenciesAsDeps` for changing the default behavior.
3055
+ Since this is a library project, dependencies will be added as peer dependencies.
3058
3056
 
3059
3057
  ```ts
3060
3058
  addCdkDependencies(...deps: string[]): void
@@ -3065,9 +3063,9 @@ addCdkDependencies(...deps: string[]): void
3065
3063
 
3066
3064
 
3067
3065
 
3068
- #### addCdkTestDependencies(...deps)🔹 <a id="projen-awscdk-awscdkconstructlibrary-addcdktestdependencies"></a>
3066
+ #### addCdkTestDependencies(...deps)⚠️ <a id="projen-awscdk-awscdkconstructlibrary-addcdktestdependencies"></a>
3069
3067
 
3070
- Adds CDK modules as test dependencies.
3068
+ Adds AWS CDK modules as dev dependencies.
3071
3069
 
3072
3070
  ```ts
3073
3071
  addCdkTestDependencies(...deps: string[]): void
@@ -3080,6 +3078,86 @@ addCdkTestDependencies(...deps: string[]): void
3080
3078
 
3081
3079
 
3082
3080
 
3081
+ ## class AwsCdkDeps 🔹 <a id="projen-awscdk-awscdkdeps"></a>
3082
+
3083
+ Manages dependencies on the AWS CDK.
3084
+
3085
+ __Submodule__: awscdk
3086
+
3087
+ __Extends__: [Component](#projen-component)
3088
+
3089
+ ### Initializer
3090
+
3091
+
3092
+
3093
+
3094
+ ```ts
3095
+ new awscdk.AwsCdkDeps(project: Project, options: AwsCdkDepsOptions)
3096
+ ```
3097
+
3098
+ * **project** (<code>[Project](#projen-project)</code>) *No description*
3099
+ * **options** (<code>[awscdk.AwsCdkDepsOptions](#projen-awscdk-awscdkdepsoptions)</code>) *No description*
3100
+ * **cdkVersion** (<code>string</code>) Semantic version requirement for the the AWS CDK libraries.
3101
+ * **cdkAssert** (<code>boolean</code>) Install the @aws-cdk/assert library? __*Default*__: false
3102
+ * **cdkAssertions** (<code>boolean</code>) Install the @aws-cdk/assertions library? __*Default*__: true
3103
+ * **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed? __*Optional*__
3104
+ * **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
3105
+ * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
3106
+ * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Optional*__
3107
+ * **constructsVersion** (<code>string</code>) Semantic version requirement for the `constructs` library. __*Default*__: for CDK 1.x the default is "^3.2.27", for CDK 2.x the default is "^10.0.5".
3108
+ * **dependencyType** (<code>[DependencyType](#projen-dependencytype)</code>) The type of dependency to use for runtime AWS CDK and `constructs` modules.
3109
+
3110
+
3111
+
3112
+ ### Properties
3113
+
3114
+
3115
+ Name | Type | Description
3116
+ -----|------|-------------
3117
+ **cdkDependenciesAsDeps**⚠️ | <code>boolean</code> | Whether CDK dependencies are added as normal dependencies (and peer dependencies).
3118
+ **cdkMajorVersion**🔹 | <code>number</code> | The major version of the AWX CDK (e.g. 1, 2, ...).
3119
+ **cdkVersion**🔹 | <code>string</code> | The dependency requirement for AWS CDK (e.g. `^2.0.0`).
3120
+ **constructsVersion**🔹 | <code>string</code> | The semantic version requirement of `constructs`.
3121
+
3122
+ ### Methods
3123
+
3124
+
3125
+ #### addV1Dependencies(...deps)🔹 <a id="projen-awscdk-awscdkdeps-addv1dependencies"></a>
3126
+
3127
+ Adds dependencies to AWS CDK modules.
3128
+
3129
+ The type of dependency is determined by the `dependencyType` option.
3130
+
3131
+ This method is not supported in CDK v2. Use `project.addPeerDeps()` or
3132
+ `project.addDeps()` as appropriate.
3133
+
3134
+ ```ts
3135
+ addV1Dependencies(...deps: string[]): void
3136
+ ```
3137
+
3138
+ * **deps** (<code>string</code>) names of cdk modules (e.g. `@aws-cdk/aws-lambda`).
3139
+
3140
+
3141
+
3142
+
3143
+ #### addV1DevDependencies(...deps)🔹 <a id="projen-awscdk-awscdkdeps-addv1devdependencies"></a>
3144
+
3145
+ Adds AWS CDK modules as dev dependencies.
3146
+
3147
+ This method is not supported in CDK v2. Use `project.addPeerDeps()` or
3148
+ `project.addDeps()` as appropriate.
3149
+
3150
+ ```ts
3151
+ addV1DevDependencies(...deps: string[]): void
3152
+ ```
3153
+
3154
+ * **deps** (<code>string</code>) names of cdk modules (e.g. `@aws-cdk/aws-lambda`).
3155
+
3156
+
3157
+
3158
+
3159
+
3160
+
3083
3161
  ## class AwsCdkJavaApp 🔹 <a id="projen-awscdk-awscdkjavaapp"></a>
3084
3162
 
3085
3163
  AWS CDK app in Java.
@@ -3327,10 +3405,15 @@ new awscdk.AwsCdkTypeScriptApp(options: AwsCdkTypeScriptAppOptions)
3327
3405
  * **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
3328
3406
  * **watchExcludes** (<code>Array<string></code>) Glob patterns to exclude from `cdk watch`. __*Default*__: []
3329
3407
  * **watchIncludes** (<code>Array<string></code>) Glob patterns to include in `cdk watch`. __*Default*__: []
3330
- * **cdkVersion** (<code>string</code>) AWS CDK version to use.
3408
+ * **cdkVersion** (<code>string</code>) Semantic version requirement for the the AWS CDK libraries.
3409
+ * **cdkAssert** (<code>boolean</code>) Install the @aws-cdk/assert library? __*Default*__: false
3410
+ * **cdkAssertions** (<code>boolean</code>) Install the @aws-cdk/assertions library? __*Default*__: true
3411
+ * **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed? __*Optional*__
3412
+ * **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
3413
+ * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
3414
+ * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Optional*__
3415
+ * **constructsVersion** (<code>string</code>) Semantic version requirement for the `constructs` library. __*Default*__: for CDK 1.x the default is "^3.2.27", for CDK 2.x the default is "^10.0.5".
3331
3416
  * **appEntrypoint** (<code>string</code>) The CDK app's entrypoint (relative to the source directory, which is "src" by default). __*Default*__: "main.ts"
3332
- * **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules (those that start with "@aws-cdk/") this app uses. __*Optional*__
3333
- * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Default*__: false
3334
3417
  * **lambdaAutoDiscover** (<code>boolean</code>) Automatically adds an `awscdk.LambdaFunction` for each `.lambda.ts` handler in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project. __*Default*__: true
3335
3418
  * **lambdaOptions** (<code>[awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)</code>) Common options for all AWS Lambda functions. __*Default*__: default options
3336
3419
 
@@ -3343,6 +3426,7 @@ Name | Type | Description
3343
3426
  -----|------|-------------
3344
3427
  **appEntrypoint**🔹 | <code>string</code> | The CDK app entrypoint.
3345
3428
  **cdkConfig**🔹 | <code>[awscdk.CdkConfig](#projen-awscdk-cdkconfig)</code> | cdk.json configuration.
3429
+ **cdkDeps**🔹 | <code>[awscdk.AwsCdkDeps](#projen-awscdk-awscdkdeps)</code> | <span></span>
3346
3430
  **cdkTasks**🔹 | <code>[awscdk.CdkTasks](#projen-awscdk-cdktasks)</code> | Common CDK tasks.
3347
3431
  **cdkVersion**🔹 | <code>string</code> | The CDK version this app is using.
3348
3432
 
@@ -3593,14 +3677,14 @@ new awscdk.ConstructLibraryAws(options: AwsCdkConstructLibraryOptions)
3593
3677
  * **python** (<code>[cdk.JsiiPythonTarget](#projen-cdk-jsiipythontarget)</code>) *No description* __*Optional*__
3594
3678
  * **rootdir** (<code>string</code>) *No description* __*Default*__: "."
3595
3679
  * **catalog** (<code>[cdk.Catalog](#projen-cdk-catalog)</code>) Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:. __*Default*__: new version will be announced
3596
- * **cdkVersion** (<code>string</code>) Minimum target version this library is tested against.
3680
+ * **cdkVersion** (<code>string</code>) Semantic version requirement for the the AWS CDK libraries.
3597
3681
  * **cdkAssert** (<code>boolean</code>) Install the @aws-cdk/assert library? __*Default*__: false
3598
3682
  * **cdkAssertions** (<code>boolean</code>) Install the @aws-cdk/assertions library? __*Default*__: true
3599
3683
  * **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed? __*Optional*__
3600
3684
  * **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
3601
3685
  * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
3602
- * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Default*__: false
3603
- * **constructsVersion** (<code>string</code>) Minimum target version of constructs being tested against. If not provided, the default value depends on the configured `cdkVersion`:. __*Default*__: When the default behavior is used, the dependency on `constructs` will be added as both a `peerDependency` and a `devDependency`.
3686
+ * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Optional*__
3687
+ * **constructsVersion** (<code>string</code>) Semantic version requirement for the `constructs` library. __*Default*__: for CDK 1.x the default is "^3.2.27", for CDK 2.x the default is "^10.0.5".
3604
3688
  * **lambdaAutoDiscover** (<code>boolean</code>) Automatically adds an `aws_lambda.Function` for each `.lambda.ts` handler in your source tree. If this is disabled, you either need to explicitly call `aws_lambda.Function.autoDiscover()` or define a `new aws_lambda.Function()` for each handler. __*Default*__: true
3605
3689
  * **lambdaOptions** (<code>[awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)</code>) Common options for all AWS Lambda functions. __*Default*__: default options
3606
3690
 
@@ -3676,6 +3760,7 @@ new awscdk.LambdaFunction(project: Project, options: LambdaFunctionOptions)
3676
3760
  * **options** (<code>[awscdk.LambdaFunctionOptions](#projen-awscdk-lambdafunctionoptions)</code>) Options.
3677
3761
  * **bundlingOptions** (<code>[javascript.BundlingOptions](#projen-javascript-bundlingoptions)</code>) Bundling options for this AWS Lambda function. __*Default*__: defaults
3678
3762
  * **runtime** (<code>[awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime)</code>) The node.js version to target. __*Default*__: Runtime.NODEJS_14_X
3763
+ * **cdkDeps** (<code>[awscdk.AwsCdkDeps](#projen-awscdk-awscdkdeps)</code>) AWS CDK dependency manager.
3679
3764
  * **entrypoint** (<code>string</code>) A path from the project root directory to a TypeScript file which contains the AWS Lambda handler entrypoint (exports a `handler` function).
3680
3765
  * **constructFile** (<code>string</code>) The name of the generated TypeScript source file. __*Default*__: The name of the entrypoint file, with the `-function.ts` suffix instead of `.lambda.ts`.
3681
3766
  * **constructName** (<code>string</code>) The name of the generated `lambda.Function` subclass. __*Default*__: A pascal cased version of the name of the entrypoint file, with the extension `Function` (e.g. `ResizeImageFunction`).
@@ -10004,6 +10089,7 @@ Options for `AutoDiscover`.
10004
10089
 
10005
10090
  Name | Type | Description
10006
10091
  -----|------|-------------
10092
+ **cdkDeps**🔹 | <code>[awscdk.AwsCdkDeps](#projen-awscdk-awscdkdeps)</code> | AWS CDK dependency manager.
10007
10093
  **srcdir**🔹 | <code>string</code> | Project source tree (relative to project output directory).
10008
10094
  **testdir**🔹 | <code>string</code> | Test source tree.
10009
10095
  **tsconfigPath**🔹 | <code>string</code> | Path to the tsconfig file to use for integration tests.
@@ -10014,7 +10100,7 @@ Name | Type | Description
10014
10100
  ## struct AwsCdkConstructLibraryOptions 🔹 <a id="projen-awscdk-awscdkconstructlibraryoptions"></a>
10015
10101
 
10016
10102
 
10017
- Options for the construct-lib-aws project.
10103
+ Options for `AwsCdkConstructLibrary`.
10018
10104
 
10019
10105
 
10020
10106
 
@@ -10022,7 +10108,7 @@ Name | Type | Description
10022
10108
  -----|------|-------------
10023
10109
  **author**🔹 | <code>string</code> | The name of the library author.
10024
10110
  **authorAddress**🔹 | <code>string</code> | Email or URL of the library author.
10025
- **cdkVersion**🔹 | <code>string</code> | Minimum target version this library is tested against.
10111
+ **cdkVersion**🔹 | <code>string</code> | Semantic version requirement for the the AWS CDK libraries.
10026
10112
  **defaultReleaseBranch**🔹 | <code>string</code> | The name of the main release branch.
10027
10113
  **name**🔹 | <code>string</code> | This is the name of your project.
10028
10114
  **repositoryUrl**🔹 | <code>string</code> | Git repository URL.
@@ -10048,14 +10134,14 @@ Name | Type | Description
10048
10134
  **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?<br/>__*Optional*__
10049
10135
  **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
10050
10136
  **cdkTestDependencies**?⚠️ | <code>Array<string></code> | AWS CDK modules required for testing.<br/>__*Optional*__
10051
- **cdkVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Default*__: false
10137
+ **cdkVersionPinning**?⚠️ | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Optional*__
10052
10138
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
10053
10139
  **codeArtifactOptions**?🔹 | <code>[javascript.CodeArtifactOptions](#projen-javascript-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
10054
10140
  **codeCov**?🔹 | <code>boolean</code> | Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v1 A secret is required for private repos. Configured with @codeCovTokenSecret.<br/>__*Default*__: false
10055
10141
  **codeCovTokenSecret**?🔹 | <code>string</code> | Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.<br/>__*Default*__: if this option is not specified, only public repositories are supported
10056
10142
  **compat**?🔹 | <code>boolean</code> | Automatically run API compatibility test against the latest version published to npm after compilation.<br/>__*Default*__: false
10057
10143
  **compatIgnore**?🔹 | <code>string</code> | Name of the ignore file for API compatibility tests.<br/>__*Default*__: ".compatignore"
10058
- **constructsVersion**?🔹 | <code>string</code> | Minimum target version of constructs being tested against. If not provided, the default value depends on the configured `cdkVersion`:.<br/>__*Default*__: When the default behavior is used, the dependency on `constructs` will be added as both a `peerDependency` and a `devDependency`.
10144
+ **constructsVersion**?🔹 | <code>string</code> | Semantic version requirement for the `constructs` library.<br/>__*Default*__: for CDK 1.x the default is "^3.2.27", for CDK 2.x the default is "^10.0.5".
10059
10145
  **copyrightOwner**?🔹 | <code>string</code> | License copyright owner.<br/>__*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
10060
10146
  **copyrightPeriod**?🔹 | <code>string</code> | The copyright years to put in the LICENSE file.<br/>__*Default*__: current year
10061
10147
  **dependabot**?🔹 | <code>boolean</code> | Use dependabot to handle dependency upgrades.<br/>__*Default*__: false
@@ -10170,6 +10256,47 @@ Name | Type | Description
10170
10256
 
10171
10257
 
10172
10258
 
10259
+ ## struct AwsCdkDepsCommonOptions 🔹 <a id="projen-awscdk-awscdkdepscommonoptions"></a>
10260
+
10261
+
10262
+ Options for `AwsCdkDeps`.
10263
+
10264
+
10265
+
10266
+ Name | Type | Description
10267
+ -----|------|-------------
10268
+ **cdkVersion**🔹 | <code>string</code> | Semantic version requirement for the the AWS CDK libraries.
10269
+ **cdkAssert**?⚠️ | <code>boolean</code> | Install the @aws-cdk/assert library?<br/>__*Default*__: false
10270
+ **cdkAssertions**?🔹 | <code>boolean</code> | Install the @aws-cdk/assertions library?<br/>__*Default*__: true
10271
+ **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?<br/>__*Optional*__
10272
+ **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
10273
+ **cdkTestDependencies**?⚠️ | <code>Array<string></code> | AWS CDK modules required for testing.<br/>__*Optional*__
10274
+ **cdkVersionPinning**?⚠️ | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Optional*__
10275
+ **constructsVersion**?🔹 | <code>string</code> | Semantic version requirement for the `constructs` library.<br/>__*Default*__: for CDK 1.x the default is "^3.2.27", for CDK 2.x the default is "^10.0.5".
10276
+
10277
+
10278
+
10279
+ ## struct AwsCdkDepsOptions 🔹 <a id="projen-awscdk-awscdkdepsoptions"></a>
10280
+
10281
+
10282
+
10283
+
10284
+
10285
+
10286
+ Name | Type | Description
10287
+ -----|------|-------------
10288
+ **cdkVersion**🔹 | <code>string</code> | Semantic version requirement for the the AWS CDK libraries.
10289
+ **dependencyType**🔹 | <code>[DependencyType](#projen-dependencytype)</code> | The type of dependency to use for runtime AWS CDK and `constructs` modules.
10290
+ **cdkAssert**?⚠️ | <code>boolean</code> | Install the @aws-cdk/assert library?<br/>__*Default*__: false
10291
+ **cdkAssertions**?🔹 | <code>boolean</code> | Install the @aws-cdk/assertions library?<br/>__*Default*__: true
10292
+ **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?<br/>__*Optional*__
10293
+ **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
10294
+ **cdkTestDependencies**?⚠️ | <code>Array<string></code> | AWS CDK modules required for testing.<br/>__*Optional*__
10295
+ **cdkVersionPinning**?⚠️ | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Optional*__
10296
+ **constructsVersion**?🔹 | <code>string</code> | Semantic version requirement for the `constructs` library.<br/>__*Default*__: for CDK 1.x the default is "^3.2.27", for CDK 2.x the default is "^10.0.5".
10297
+
10298
+
10299
+
10173
10300
  ## struct AwsCdkJavaAppOptions 🔹 <a id="projen-awscdk-awscdkjavaappoptions"></a>
10174
10301
 
10175
10302
 
@@ -10239,7 +10366,7 @@ Name | Type | Description
10239
10366
 
10240
10367
  Name | Type | Description
10241
10368
  -----|------|-------------
10242
- **cdkVersion**🔹 | <code>string</code> | AWS CDK version to use.
10369
+ **cdkVersion**🔹 | <code>string</code> | Semantic version requirement for the the AWS CDK libraries.
10243
10370
  **defaultReleaseBranch**🔹 | <code>string</code> | The name of the main release branch.
10244
10371
  **name**🔹 | <code>string</code> | This is the name of your project.
10245
10372
  **allowLibraryDependencies**?🔹 | <code>boolean</code> | Allow the project to include `peerDependencies` and `bundledDependencies`.<br/>__*Default*__: true
@@ -10260,13 +10387,18 @@ Name | Type | Description
10260
10387
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
10261
10388
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
10262
10389
  **bundlerOptions**?🔹 | <code>[javascript.BundlerOptions](#projen-javascript-bundleroptions)</code> | Options for `Bundler`.<br/>__*Optional*__
10263
- **cdkDependencies**?🔹 | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") this app uses.<br/>__*Optional*__
10264
- **cdkVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Default*__: false
10390
+ **cdkAssert**?⚠️ | <code>boolean</code> | Install the @aws-cdk/assert library?<br/>__*Default*__: false
10391
+ **cdkAssertions**?🔹 | <code>boolean</code> | Install the @aws-cdk/assertions library?<br/>__*Default*__: true
10392
+ **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?<br/>__*Optional*__
10393
+ **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
10394
+ **cdkTestDependencies**?⚠️ | <code>Array<string></code> | AWS CDK modules required for testing.<br/>__*Optional*__
10395
+ **cdkVersionPinning**?⚠️ | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Optional*__
10265
10396
  **cdkout**?🔹 | <code>string</code> | cdk.out directory.<br/>__*Default*__: "cdk.out"
10266
10397
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
10267
10398
  **codeArtifactOptions**?🔹 | <code>[javascript.CodeArtifactOptions](#projen-javascript-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
10268
10399
  **codeCov**?🔹 | <code>boolean</code> | Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v1 A secret is required for private repos. Configured with @codeCovTokenSecret.<br/>__*Default*__: false
10269
10400
  **codeCovTokenSecret**?🔹 | <code>string</code> | Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.<br/>__*Default*__: if this option is not specified, only public repositories are supported
10401
+ **constructsVersion**?🔹 | <code>string</code> | Semantic version requirement for the `constructs` library.<br/>__*Default*__: for CDK 1.x the default is "^3.2.27", for CDK 2.x the default is "^10.0.5".
10270
10402
  **context**?🔹 | <code>Map<string, string></code> | Additional context to include in `cdk.json`.<br/>__*Default*__: no additional context
10271
10403
  **copyrightOwner**?🔹 | <code>string</code> | License copyright owner.<br/>__*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
10272
10404
  **copyrightPeriod**?🔹 | <code>string</code> | The copyright years to put in the LICENSE file.<br/>__*Default*__: current year
@@ -10428,7 +10560,7 @@ Name | Type | Description
10428
10560
  -----|------|-------------
10429
10561
  **author**⚠️ | <code>string</code> | The name of the library author.
10430
10562
  **authorAddress**⚠️ | <code>string</code> | Email or URL of the library author.
10431
- **cdkVersion**⚠️ | <code>string</code> | Minimum target version this library is tested against.
10563
+ **cdkVersion**⚠️ | <code>string</code> | Semantic version requirement for the the AWS CDK libraries.
10432
10564
  **defaultReleaseBranch**⚠️ | <code>string</code> | The name of the main release branch.
10433
10565
  **name**⚠️ | <code>string</code> | This is the name of your project.
10434
10566
  **repositoryUrl**⚠️ | <code>string</code> | Git repository URL.
@@ -10454,14 +10586,14 @@ Name | Type | Description
10454
10586
  **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?<br/>__*Optional*__
10455
10587
  **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
10456
10588
  **cdkTestDependencies**?⚠️ | <code>Array<string></code> | AWS CDK modules required for testing.<br/>__*Optional*__
10457
- **cdkVersionPinning**?⚠️ | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Default*__: false
10589
+ **cdkVersionPinning**?⚠️ | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Optional*__
10458
10590
  **clobber**?⚠️ | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
10459
10591
  **codeArtifactOptions**?⚠️ | <code>[javascript.CodeArtifactOptions](#projen-javascript-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
10460
10592
  **codeCov**?⚠️ | <code>boolean</code> | Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v1 A secret is required for private repos. Configured with @codeCovTokenSecret.<br/>__*Default*__: false
10461
10593
  **codeCovTokenSecret**?⚠️ | <code>string</code> | Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.<br/>__*Default*__: if this option is not specified, only public repositories are supported
10462
10594
  **compat**?⚠️ | <code>boolean</code> | Automatically run API compatibility test against the latest version published to npm after compilation.<br/>__*Default*__: false
10463
10595
  **compatIgnore**?⚠️ | <code>string</code> | Name of the ignore file for API compatibility tests.<br/>__*Default*__: ".compatignore"
10464
- **constructsVersion**?⚠️ | <code>string</code> | Minimum target version of constructs being tested against. If not provided, the default value depends on the configured `cdkVersion`:.<br/>__*Default*__: When the default behavior is used, the dependency on `constructs` will be added as both a `peerDependency` and a `devDependency`.
10596
+ **constructsVersion**?⚠️ | <code>string</code> | Semantic version requirement for the `constructs` library.<br/>__*Default*__: for CDK 1.x the default is "^3.2.27", for CDK 2.x the default is "^10.0.5".
10465
10597
  **copyrightOwner**?⚠️ | <code>string</code> | License copyright owner.<br/>__*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
10466
10598
  **copyrightPeriod**?⚠️ | <code>string</code> | The copyright years to put in the LICENSE file.<br/>__*Default*__: current year
10467
10599
  **dependabot**?⚠️ | <code>boolean</code> | Use dependabot to handle dependency upgrades.<br/>__*Default*__: false
@@ -10630,6 +10762,7 @@ Options for `Function`.
10630
10762
 
10631
10763
  Name | Type | Description
10632
10764
  -----|------|-------------
10765
+ **cdkDeps**🔹 | <code>[awscdk.AwsCdkDeps](#projen-awscdk-awscdkdeps)</code> | AWS CDK dependency manager.
10633
10766
  **entrypoint**🔹 | <code>string</code> | A path from the project root directory to a TypeScript file which contains the AWS Lambda handler entrypoint (exports a `handler` function).
10634
10767
  **bundlingOptions**?🔹 | <code>[javascript.BundlingOptions](#projen-javascript-bundlingoptions)</code> | Bundling options for this AWS Lambda function.<br/>__*Default*__: defaults
10635
10768
  **constructFile**?🔹 | <code>string</code> | The name of the generated TypeScript source file.<br/>__*Default*__: The name of the entrypoint file, with the `-function.ts` suffix instead of `.lambda.ts`.
@@ -1,5 +1,6 @@
1
1
  import { Component } from '../component';
2
2
  import { Project } from '../project';
3
+ import { AwsCdkDeps } from './awscdk-deps';
3
4
  import { LambdaFunctionCommonOptions } from './lambda-function';
4
5
  /**
5
6
  * (experimental) Options for `AutoDiscover`.
@@ -31,6 +32,12 @@ export interface AutoDiscoverOptions {
31
32
  * @experimental
32
33
  */
33
34
  readonly tsconfigPath: string;
35
+ /**
36
+ * (experimental) AWS CDK dependency manager.
37
+ *
38
+ * @experimental
39
+ */
40
+ readonly cdkDeps: AwsCdkDeps;
34
41
  }
35
42
  /**
36
43
  * (experimental) Automatically creates a `LambdaFunction` for all `.lambda.ts` files under the source directory of the project.
@@ -5,8 +5,8 @@ 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(".");
9
8
  const component_1 = require("../component");
9
+ const integration_test_1 = require("./integration-test");
10
10
  const internal_1 = require("./internal");
11
11
  const lambda_function_1 = require("./lambda-function");
12
12
  /**
@@ -30,6 +30,7 @@ class AutoDiscover extends component_1.Component {
30
30
  for (const entrypoint of entrypoints) {
31
31
  new lambda_function_1.LambdaFunction(this.project, {
32
32
  entrypoint: path_1.join(options.srcdir, entrypoint),
33
+ cdkDeps: options.cdkDeps,
33
34
  ...options.lambdaOptions,
34
35
  });
35
36
  }
@@ -39,7 +40,7 @@ class AutoDiscover extends component_1.Component {
39
40
  cwd: path_1.join(this.project.outdir, options.testdir),
40
41
  });
41
42
  for (const entrypoint of entrypoints) {
42
- new _1.IntegrationTest(this.project, {
43
+ new integration_test_1.IntegrationTest(this.project, {
43
44
  entrypoint: path_1.join(options.testdir, entrypoint),
44
45
  tsconfigPath: options.tsconfigPath,
45
46
  });
@@ -48,5 +49,5 @@ class AutoDiscover extends component_1.Component {
48
49
  }
49
50
  exports.AutoDiscover = AutoDiscover;
50
51
  _a = JSII_RTTI_SYMBOL_1;
51
- AutoDiscover[_a] = { fqn: "projen.awscdk.AutoDiscover", version: "0.41.0" };
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1kaXNjb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXV0by1kaXNjb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0Isd0JBQW9DO0FBQ3BDLDRDQUF5QztBQUV6Qyx5Q0FBeUU7QUFDekUsdURBQWdGOzs7Ozs7QUFrQmhGLE1BQWEsWUFBYSxTQUFRLHFCQUFTOzs7O0lBR3pDLFlBQVksT0FBZ0IsRUFBRSxPQUE0QjtRQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTywyQkFBMkIsQ0FBQyxPQUE0QjtRQUM5RCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sZ0NBQXFCLEVBQUUsRUFBRTtZQUM1RCxHQUFHLEVBQUUsV0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUM7U0FDL0MsQ0FBQyxDQUFDO1FBRUgsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUU7WUFDcEMsSUFBSSxnQ0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQy9CLFVBQVUsRUFBRSxXQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUM7Z0JBQzVDLEdBQUcsT0FBTyxDQUFDLGFBQWE7YUFDekIsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sNEJBQTRCLENBQUMsT0FBNEI7UUFDL0QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLCtCQUFvQixFQUFFLEVBQUU7WUFDM0QsR0FBRyxFQUFFLFdBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDO1NBQ2hELENBQUMsQ0FBQztRQUVILEtBQUssTUFBTSxVQUFVLElBQUksV0FBVyxFQUFFO1lBQ3BDLElBQUksa0JBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNoQyxVQUFVLEVBQUUsV0FBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDO2dCQUM3QyxZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVk7YUFDbkMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOztBQWxDSCxvQ0FvQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqb2luIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBnbG9iIGZyb20gJ2dsb2InO1xuaW1wb3J0IHsgSW50ZWdyYXRpb25UZXN0IH0gZnJvbSAnLic7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gJy4uL3Byb2plY3QnO1xuaW1wb3J0IHsgVFlQRVNDUklQVF9JTlRFR19FWFQsIFRZUEVTQ1JJUFRfTEFNQkRBX0VYVCB9IGZyb20gJy4vaW50ZXJuYWwnO1xuaW1wb3J0IHsgTGFtYmRhRnVuY3Rpb24sIExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucyB9IGZyb20gJy4vbGFtYmRhLWZ1bmN0aW9uJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgQXV0b0Rpc2NvdmVyT3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsYW1iZGFPcHRpb25zPzogTGFtYmRhRnVuY3Rpb25Db21tb25PcHRpb25zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHNyY2Rpcjogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHRlc3RkaXI6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHRzY29uZmlnUGF0aDogc3RyaW5nO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgQXV0b0Rpc2NvdmVyIGV4dGVuZHMgQ29tcG9uZW50IHtcblxuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IEF1dG9EaXNjb3Zlck9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIHRoaXMuYXV0b0Rpc2NvdmVyTGFtYmRhRnVuY3Rpb25zKG9wdGlvbnMpO1xuICAgIHRoaXMuYXV0b0Rpc2NvdmVySW50ZWdyYXRpb25UZXN0cyhvcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgYXV0b0Rpc2NvdmVyTGFtYmRhRnVuY3Rpb25zKG9wdGlvbnM6IEF1dG9EaXNjb3Zlck9wdGlvbnMpIHtcbiAgICBjb25zdCBlbnRyeXBvaW50cyA9IGdsb2Iuc3luYyhgKiovKiR7VFlQRVNDUklQVF9MQU1CREFfRVhUfWAsIHtcbiAgICAgIGN3ZDogam9pbih0aGlzLnByb2plY3Qub3V0ZGlyLCBvcHRpb25zLnNyY2RpciksXG4gICAgfSk7XG5cbiAgICBmb3IgKGNvbnN0IGVudHJ5cG9pbnQgb2YgZW50cnlwb2ludHMpIHtcbiAgICAgIG5ldyBMYW1iZGFGdW5jdGlvbih0aGlzLnByb2plY3QsIHtcbiAgICAgICAgZW50cnlwb2ludDogam9pbihvcHRpb25zLnNyY2RpciwgZW50cnlwb2ludCksXG4gICAgICAgIC4uLm9wdGlvbnMubGFtYmRhT3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXV0b0Rpc2NvdmVySW50ZWdyYXRpb25UZXN0cyhvcHRpb25zOiBBdXRvRGlzY292ZXJPcHRpb25zKSB7XG4gICAgY29uc3QgZW50cnlwb2ludHMgPSBnbG9iLnN5bmMoYCoqLyoke1RZUEVTQ1JJUFRfSU5URUdfRVhUfWAsIHtcbiAgICAgIGN3ZDogam9pbih0aGlzLnByb2plY3Qub3V0ZGlyLCBvcHRpb25zLnRlc3RkaXIpLFxuICAgIH0pO1xuXG4gICAgZm9yIChjb25zdCBlbnRyeXBvaW50IG9mIGVudHJ5cG9pbnRzKSB7XG4gICAgICBuZXcgSW50ZWdyYXRpb25UZXN0KHRoaXMucHJvamVjdCwge1xuICAgICAgICBlbnRyeXBvaW50OiBqb2luKG9wdGlvbnMudGVzdGRpciwgZW50cnlwb2ludCksXG4gICAgICAgIHRzY29uZmlnUGF0aDogb3B0aW9ucy50c2NvbmZpZ1BhdGgsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxufSJdfQ==
52
+ AutoDiscover[_a] = { fqn: "projen.awscdk.AutoDiscover", version: "0.42.0" };
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1kaXNjb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXV0by1kaXNjb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsNENBQXlDO0FBR3pDLHlEQUFxRDtBQUNyRCx5Q0FBeUU7QUFDekUsdURBQWdGOzs7Ozs7QUFxQmhGLE1BQWEsWUFBYSxTQUFRLHFCQUFTOzs7O0lBQ3pDLFlBQVksT0FBZ0IsRUFBRSxPQUE0QjtRQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTywyQkFBMkIsQ0FBQyxPQUE0QjtRQUM5RCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sZ0NBQXFCLEVBQUUsRUFBRTtZQUM1RCxHQUFHLEVBQUUsV0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUM7U0FDL0MsQ0FBQyxDQUFDO1FBRUgsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUU7WUFDcEMsSUFBSSxnQ0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQy9CLFVBQVUsRUFBRSxXQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUM7Z0JBQzVDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztnQkFDeEIsR0FBRyxPQUFPLENBQUMsYUFBYTthQUN6QixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTyw0QkFBNEIsQ0FBQyxPQUE0QjtRQUMvRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sK0JBQW9CLEVBQUUsRUFBRTtZQUMzRCxHQUFHLEVBQUUsV0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUM7U0FDaEQsQ0FBQyxDQUFDO1FBRUgsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUU7WUFDcEMsSUFBSSxrQ0FBZSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hDLFVBQVUsRUFBRSxXQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUM7Z0JBQzdDLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTthQUNuQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7O0FBakNILG9DQW1DQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpvaW4gfSBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGdsb2IgZnJvbSAnZ2xvYic7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gJy4uL3Byb2plY3QnO1xuaW1wb3J0IHsgQXdzQ2RrRGVwcyB9IGZyb20gJy4vYXdzY2RrLWRlcHMnO1xuaW1wb3J0IHsgSW50ZWdyYXRpb25UZXN0IH0gZnJvbSAnLi9pbnRlZ3JhdGlvbi10ZXN0JztcbmltcG9ydCB7IFRZUEVTQ1JJUFRfSU5URUdfRVhULCBUWVBFU0NSSVBUX0xBTUJEQV9FWFQgfSBmcm9tICcuL2ludGVybmFsJztcbmltcG9ydCB7IExhbWJkYUZ1bmN0aW9uLCBMYW1iZGFGdW5jdGlvbkNvbW1vbk9wdGlvbnMgfSBmcm9tICcuL2xhbWJkYS1mdW5jdGlvbic7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9EaXNjb3Zlck9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbGFtYmRhT3B0aW9ucz86IExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBzcmNkaXI6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB0ZXN0ZGlyOiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB0c2NvbmZpZ1BhdGg6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY2RrRGVwczogQXdzQ2RrRGVwcztcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIEF1dG9EaXNjb3ZlciBleHRlbmRzIENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IEF1dG9EaXNjb3Zlck9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIHRoaXMuYXV0b0Rpc2NvdmVyTGFtYmRhRnVuY3Rpb25zKG9wdGlvbnMpO1xuICAgIHRoaXMuYXV0b0Rpc2NvdmVySW50ZWdyYXRpb25UZXN0cyhvcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgYXV0b0Rpc2NvdmVyTGFtYmRhRnVuY3Rpb25zKG9wdGlvbnM6IEF1dG9EaXNjb3Zlck9wdGlvbnMpIHtcbiAgICBjb25zdCBlbnRyeXBvaW50cyA9IGdsb2Iuc3luYyhgKiovKiR7VFlQRVNDUklQVF9MQU1CREFfRVhUfWAsIHtcbiAgICAgIGN3ZDogam9pbih0aGlzLnByb2plY3Qub3V0ZGlyLCBvcHRpb25zLnNyY2RpciksXG4gICAgfSk7XG5cbiAgICBmb3IgKGNvbnN0IGVudHJ5cG9pbnQgb2YgZW50cnlwb2ludHMpIHtcbiAgICAgIG5ldyBMYW1iZGFGdW5jdGlvbih0aGlzLnByb2plY3QsIHtcbiAgICAgICAgZW50cnlwb2ludDogam9pbihvcHRpb25zLnNyY2RpciwgZW50cnlwb2ludCksXG4gICAgICAgIGNka0RlcHM6IG9wdGlvbnMuY2RrRGVwcyxcbiAgICAgICAgLi4ub3B0aW9ucy5sYW1iZGFPcHRpb25zLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhdXRvRGlzY292ZXJJbnRlZ3JhdGlvblRlc3RzKG9wdGlvbnM6IEF1dG9EaXNjb3Zlck9wdGlvbnMpIHtcbiAgICBjb25zdCBlbnRyeXBvaW50cyA9IGdsb2Iuc3luYyhgKiovKiR7VFlQRVNDUklQVF9JTlRFR19FWFR9YCwge1xuICAgICAgY3dkOiBqb2luKHRoaXMucHJvamVjdC5vdXRkaXIsIG9wdGlvbnMudGVzdGRpciksXG4gICAgfSk7XG5cbiAgICBmb3IgKGNvbnN0IGVudHJ5cG9pbnQgb2YgZW50cnlwb2ludHMpIHtcbiAgICAgIG5ldyBJbnRlZ3JhdGlvblRlc3QodGhpcy5wcm9qZWN0LCB7XG4gICAgICAgIGVudHJ5cG9pbnQ6IGpvaW4ob3B0aW9ucy50ZXN0ZGlyLCBlbnRyeXBvaW50KSxcbiAgICAgICAgdHNjb25maWdQYXRoOiBvcHRpb25zLnRzY29uZmlnUGF0aCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG59Il19
@@ -1,36 +1,12 @@
1
1
  import { TypeScriptAppProject, TypeScriptProjectOptions } from '../typescript';
2
+ import { AwsCdkDeps, AwsCdkDepsCommonOptions } from './awscdk-deps';
2
3
  import { CdkConfig, CdkConfigCommonOptions } from './cdk-config';
3
4
  import { CdkTasks } from './cdk-tasks';
4
5
  import { LambdaFunctionCommonOptions } from './lambda-function';
5
6
  /**
6
7
  * @experimental
7
8
  */
8
- export interface AwsCdkTypeScriptAppOptions extends TypeScriptProjectOptions, CdkConfigCommonOptions {
9
- /**
10
- * (experimental) AWS CDK version to use.
11
- *
12
- * @default "1.129.0"
13
- * @experimental
14
- * @featured true
15
- */
16
- readonly cdkVersion: string;
17
- /**
18
- * (experimental) Use pinned version instead of caret version for CDK.
19
- *
20
- * You can use this to prevent yarn to mix versions for your CDK dependencies and to prevent auto-updates.
21
- * If you use experimental features this will let you define the moment you include breaking changes.
22
- *
23
- * @default false
24
- * @experimental
25
- */
26
- readonly cdkVersionPinning?: boolean;
27
- /**
28
- * (experimental) Which AWS CDK modules (those that start with "@aws-cdk/") this app uses.
29
- *
30
- * @experimental
31
- * @featured true
32
- */
33
- readonly cdkDependencies?: string[];
9
+ export interface AwsCdkTypeScriptAppOptions extends TypeScriptProjectOptions, CdkConfigCommonOptions, AwsCdkDepsCommonOptions {
34
10
  /**
35
11
  * (experimental) The CDK app's entrypoint (relative to the source directory, which is "src" by default).
36
12
  *
@@ -65,7 +41,7 @@ export declare class AwsCdkTypeScriptApp extends TypeScriptAppProject {
65
41
  *
66
42
  * @experimental
67
43
  */
68
- readonly cdkVersion: string;
44
+ get cdkVersion(): string;
69
45
  /**
70
46
  * (experimental) The CDK app entrypoint.
71
47
  *
@@ -84,6 +60,10 @@ export declare class AwsCdkTypeScriptApp extends TypeScriptAppProject {
84
60
  * @experimental
85
61
  */
86
62
  readonly cdkConfig: CdkConfig;
63
+ /**
64
+ * @experimental
65
+ */
66
+ readonly cdkDeps: AwsCdkDeps;
87
67
  /**
88
68
  * @experimental
89
69
  */
@@ -95,5 +75,4 @@ export declare class AwsCdkTypeScriptApp extends TypeScriptAppProject {
95
75
  * @experimental
96
76
  */
97
77
  addCdkDependency(...modules: string[]): void;
98
- private formatModuleSpec;
99
78
  }