projen 0.31.19 → 0.32.3

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 (133) hide show
  1. package/.jsii +2276 -571
  2. package/API.md +747 -79
  3. package/README.md +1 -0
  4. package/docs/aws-lambda.md +103 -0
  5. package/docs/publisher.md +24 -1
  6. package/lib/awscdk/auto-discover.d.ts +46 -0
  7. package/lib/awscdk/auto-discover.js +46 -0
  8. package/lib/awscdk/cdk-config.d.ts +103 -0
  9. package/lib/awscdk/cdk-config.js +56 -0
  10. package/lib/awscdk/cdk-tasks.d.ts +38 -0
  11. package/lib/awscdk/cdk-tasks.js +39 -0
  12. package/lib/awscdk/index.d.ts +5 -0
  13. package/lib/awscdk/index.js +18 -0
  14. package/lib/awscdk/internal.d.ts +8 -0
  15. package/lib/awscdk/internal.js +26 -0
  16. package/lib/awscdk/java-app.d.ts +92 -0
  17. package/lib/awscdk/java-app.js +90 -0
  18. package/lib/awscdk/lambda-function.d.ts +146 -0
  19. package/lib/awscdk/lambda-function.js +160 -0
  20. package/lib/awscdk-app-ts.d.ts +22 -40
  21. package/lib/awscdk-app-ts.js +21 -46
  22. package/lib/awscdk-construct.d.ts +15 -58
  23. package/lib/awscdk-construct.js +13 -62
  24. package/lib/cdk8s-app-ts.js +1 -1
  25. package/lib/cdk8s-construct.js +1 -1
  26. package/lib/cdktf-construct.js +1 -1
  27. package/lib/common.js +6 -2
  28. package/lib/component.js +1 -1
  29. package/lib/construct-lib.js +1 -1
  30. package/lib/deps/dependencies.js +1 -1
  31. package/lib/dev-env.js +1 -1
  32. package/lib/docker-compose.js +2 -2
  33. package/lib/eslint.d.ts +18 -0
  34. package/lib/eslint.js +17 -5
  35. package/lib/file.js +1 -1
  36. package/lib/git/gitattributes.js +1 -1
  37. package/lib/github/auto-approve.js +1 -1
  38. package/lib/github/auto-merge.js +1 -1
  39. package/lib/github/dependabot.js +1 -1
  40. package/lib/github/github.js +1 -1
  41. package/lib/github/mergify.js +1 -1
  42. package/lib/github/pr-template.js +1 -1
  43. package/lib/github/stale.js +1 -1
  44. package/lib/github/task-workflow.js +1 -1
  45. package/lib/github/workflows.js +4 -5
  46. package/lib/gitpod.js +1 -1
  47. package/lib/ignore-file.js +1 -1
  48. package/lib/index.d.ts +1 -0
  49. package/lib/index.js +2 -1
  50. package/lib/ini.js +1 -1
  51. package/lib/inventory.js +4 -5
  52. package/lib/java/java-project.d.ts +28 -14
  53. package/lib/java/java-project.js +3 -2
  54. package/lib/java/junit.js +1 -1
  55. package/lib/java/maven-compile.js +1 -1
  56. package/lib/java/maven-packaging.js +1 -1
  57. package/lib/java/maven-sample.js +1 -1
  58. package/lib/java/pom.js +1 -1
  59. package/lib/java/projenrc.js +1 -1
  60. package/lib/javascript/bundler.d.ts +144 -0
  61. package/lib/javascript/bundler.js +93 -0
  62. package/lib/javascript/index.d.ts +1 -0
  63. package/lib/javascript/index.js +2 -1
  64. package/lib/javascript/npm-config.js +1 -1
  65. package/lib/javascript/projenrc.js +1 -1
  66. package/lib/jest.js +1 -1
  67. package/lib/jsii-project.js +1 -1
  68. package/lib/json/projenrc.js +1 -1
  69. package/lib/json.js +1 -1
  70. package/lib/license.js +1 -1
  71. package/lib/logger.js +1 -1
  72. package/lib/makefile.js +1 -1
  73. package/lib/node-package.d.ts +39 -2
  74. package/lib/node-package.js +31 -5
  75. package/lib/node-project.d.ts +11 -1
  76. package/lib/node-project.js +25 -16
  77. package/lib/object-file.js +1 -1
  78. package/lib/project.js +2 -2
  79. package/lib/projects.js +1 -1
  80. package/lib/python/pip.js +1 -1
  81. package/lib/python/poetry.js +2 -2
  82. package/lib/python/projenrc.js +4 -5
  83. package/lib/python/pytest.js +1 -1
  84. package/lib/python/python-project.js +1 -1
  85. package/lib/python/python-sample.js +1 -1
  86. package/lib/python/requirements-file.js +1 -1
  87. package/lib/python/setuppy.js +1 -1
  88. package/lib/python/setuptools.js +1 -1
  89. package/lib/python/venv.js +1 -1
  90. package/lib/readme.js +1 -1
  91. package/lib/release/publisher.d.ts +36 -0
  92. package/lib/release/publisher.js +20 -5
  93. package/lib/release/release-trigger.js +1 -1
  94. package/lib/release/release.js +1 -1
  95. package/lib/sample-file.js +2 -2
  96. package/lib/semver.js +1 -1
  97. package/lib/source-code.js +1 -1
  98. package/lib/tasks/runtime.js +1 -1
  99. package/lib/tasks/task.js +1 -1
  100. package/lib/tasks/tasks.js +1 -1
  101. package/lib/textfile.js +1 -1
  102. package/lib/toml.js +1 -1
  103. package/lib/typescript/projenrc.js +1 -1
  104. package/lib/typescript-config.js +1 -1
  105. package/lib/typescript.js +3 -3
  106. package/lib/upgrade-dependencies.js +2 -2
  107. package/lib/util.js +11 -3
  108. package/lib/version.js +1 -1
  109. package/lib/vscode/devcontainer.js +1 -1
  110. package/lib/vscode/launch-config.js +1 -1
  111. package/lib/vscode/vscode.js +1 -1
  112. package/lib/web/next.js +3 -3
  113. package/lib/web/postcss.js +1 -1
  114. package/lib/web/react.js +4 -4
  115. package/lib/web/tailwind.js +1 -1
  116. package/lib/xmlfile.js +1 -1
  117. package/lib/yaml.js +1 -1
  118. package/node_modules/case/LICENSE +22 -0
  119. package/node_modules/case/README.md +139 -0
  120. package/node_modules/case/case.d.ts +43 -0
  121. package/node_modules/case/dist/Case.js +171 -0
  122. package/node_modules/case/dist/Case.min.js +5 -0
  123. package/node_modules/case/dist/Case.min.js.map +1 -0
  124. package/node_modules/case/dist/Case.plus.js +189 -0
  125. package/node_modules/case/dist/Case.plus.min.js +5 -0
  126. package/node_modules/case/dist/Case.plus.min.js.map +1 -0
  127. package/node_modules/case/package.json +58 -0
  128. package/package.json +4 -4
  129. package/node_modules/decamelize/index.d.ts +0 -20
  130. package/node_modules/decamelize/index.js +0 -12
  131. package/node_modules/decamelize/license +0 -9
  132. package/node_modules/decamelize/package.json +0 -40
  133. package/node_modules/decamelize/readme.md +0 -51
package/API.md CHANGED
@@ -15,7 +15,7 @@ Name|Description
15
15
  [DevEnvironmentDockerImage](#projen-devenvironmentdockerimage)|Options for specifying the Docker image of the container.
16
16
  [DockerCompose](#projen-dockercompose)|Create a docker-compose YAML file.
17
17
  [DockerComposeService](#projen-dockercomposeservice)|A docker-compose service.
18
- [Eslint](#projen-eslint)|*No description*
18
+ [Eslint](#projen-eslint)|Represents eslint configuration.
19
19
  [FileBase](#projen-filebase)|*No description*
20
20
  [GitHubProject](#projen-githubproject)|GitHub-based project.
21
21
  [Gitpod](#projen-gitpod)|The Gitpod component which emits .gitpod.yml.
@@ -48,6 +48,12 @@ Name|Description
48
48
  [Version](#projen-version)|*No description*
49
49
  [XmlFile](#projen-xmlfile)|Represents an XML file.
50
50
  [YamlFile](#projen-yamlfile)|Represents a YAML file.
51
+ [awscdk.AutoDiscover](#projen-awscdk-autodiscover)|Automatically creates a `LambdaFunction` for all `.lambda.ts` files under the source directory of the project.
52
+ [awscdk.AwsCdkJavaApp](#projen-awscdk-awscdkjavaapp)|AWS CDK app in Java.
53
+ [awscdk.CdkConfig](#projen-awscdk-cdkconfig)|Represents cdk.json file.
54
+ [awscdk.CdkTasks](#projen-awscdk-cdktasks)|Adds standard AWS CDK tasks to your project.
55
+ [awscdk.LambdaFunction](#projen-awscdk-lambdafunction)|Generates a pre-bundled AWS Lambda function construct from handler code.
56
+ [awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime)|The runtime for the AWS Lambda function.
51
57
  [deps.Dependencies](#projen-deps-dependencies)|The `Dependencies` component is responsible to track the list of dependencies a project has, and then used by project types as the model for rendering project-specific dependency manifests such as the dependencies section `package.json` files.
52
58
  [git.GitAttributesFile](#projen-git-gitattributesfile)|Assign attributes to file names in a git repository.
53
59
  [github.AutoApprove](#projen-github-autoapprove)|Auto approve pull requests that meet a criteria.
@@ -66,6 +72,7 @@ Name|Description
66
72
  [java.MavenSample](#projen-java-mavensample)|Java code sample.
67
73
  [java.Pom](#projen-java-pom)|A Project Object Model or POM is the fundamental unit of work in Maven.
68
74
  [java.Projenrc](#projen-java-projenrc)|Allows writing projenrc files in java.
75
+ [javascript.Bundler](#projen-javascript-bundler)|Adds support for bundling JavaScript applications and dependencies into a single file.
69
76
  [javascript.NpmConfig](#projen-javascript-npmconfig)|File representing the local NPM config in .npmrc.
70
77
  [javascript.Projenrc](#projen-javascript-projenrc)|Sets up a javascript project to use TypeScript for projenrc.
71
78
  [json.Projenrc](#projen-json-projenrc)|Sets up a project to use JSON for projenrc.
@@ -109,6 +116,7 @@ Name|Description
109
116
  [AwsCdkTypeScriptAppOptions](#projen-awscdktypescriptappoptions)|*No description*
110
117
  [Catalog](#projen-catalog)|*No description*
111
118
  [Cdk8sTypeScriptAppOptions](#projen-cdk8stypescriptappoptions)|*No description*
119
+ [CodeArtifactOptions](#projen-codeartifactoptions)|*No description*
112
120
  [ConstructLibraryAwsOptions](#projen-constructlibraryawsoptions)|*No description*
113
121
  [ConstructLibraryCdk8sOptions](#projen-constructlibrarycdk8soptions)|*No description*
114
122
  [ConstructLibraryCdktfOptions](#projen-constructlibrarycdktfoptions)|*No description*
@@ -168,6 +176,12 @@ Name|Description
168
176
  [VersionOptions](#projen-versionoptions)|Options for `Version`.
169
177
  [XmlFileOptions](#projen-xmlfileoptions)|Options for `XmlFile`.
170
178
  [YamlFileOptions](#projen-yamlfileoptions)|Options for `JsonFile`.
179
+ [awscdk.AutoDiscoverOptions](#projen-awscdk-autodiscoveroptions)|Options for `AutoDiscover`.
180
+ [awscdk.AwsCdkJavaAppOptions](#projen-awscdk-awscdkjavaappoptions)|*No description*
181
+ [awscdk.CdkConfigCommonOptions](#projen-awscdk-cdkconfigcommonoptions)|Common options for `cdk.json`.
182
+ [awscdk.CdkConfigOptions](#projen-awscdk-cdkconfigoptions)|Options for `CdkJson`.
183
+ [awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)|Common options for `LambdaFunction`.
184
+ [awscdk.LambdaFunctionOptions](#projen-awscdk-lambdafunctionoptions)|Options for `Function`.
171
185
  [deps.Dependency](#projen-deps-dependency)|Represents a project dependency.
172
186
  [deps.DependencyCoordinates](#projen-deps-dependencycoordinates)|Coordinates of the dependency (name and version).
173
187
  [deps.DepsManifest](#projen-deps-depsmanifest)|*No description*
@@ -186,6 +200,7 @@ Name|Description
186
200
  [github.StaleBehavior](#projen-github-stalebehavior)|Stale behavior.
187
201
  [github.StaleOptions](#projen-github-staleoptions)|Options for `Stale`.
188
202
  [github.TaskWorkflowOptions](#projen-github-taskworkflowoptions)|*No description*
203
+ [java.JavaProjectCommonOptions](#projen-java-javaprojectcommonoptions)|Options for `JavaProject`.
189
204
  [java.JavaProjectOptions](#projen-java-javaprojectoptions)|Options for `JavaProject`.
190
205
  [java.JunitOptions](#projen-java-junitoptions)|Options for `Junit`.
191
206
  [java.MavenCompileOptions](#projen-java-mavencompileoptions)|Options for `MavenCompile`.
@@ -195,6 +210,9 @@ Name|Description
195
210
  [java.PluginOptions](#projen-java-pluginoptions)|Options for Maven plugins.
196
211
  [java.PomOptions](#projen-java-pomoptions)|Options for `Pom`.
197
212
  [java.ProjenrcOptions](#projen-java-projenrcoptions)|Options for `Projenrc`.
213
+ [javascript.BundleOptions](#projen-javascript-bundleoptions)|Options for bundling.
214
+ [javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)|Common options for `Bundler`.
215
+ [javascript.BundlerOptions](#projen-javascript-bundleroptions)|Options for `Bundler`.
198
216
  [javascript.NpmConfigOptions](#projen-javascript-npmconfigoptions)|Options to configure the local NPM config.
199
217
  [javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)|*No description*
200
218
  [json.ProjenrcOptions](#projen-json-projenrcoptions)|*No description*
@@ -210,6 +228,7 @@ Name|Description
210
228
  [python.SetupPyOptions](#projen-python-setuppyoptions)|Fields to pass in the setup() function of setup.py.
211
229
  [python.VenvOptions](#projen-python-venvoptions)|Options for venv.
212
230
  [release.BranchOptions](#projen-release-branchoptions)|Options for a release branch.
231
+ [release.CodeArtifactOptions](#projen-release-codeartifactoptions)|*No description*
213
232
  [release.GitHubReleasesPublishOptions](#projen-release-githubreleasespublishoptions)|Publishing options for GitHub releases.
214
233
  [release.GitPublishOptions](#projen-release-gitpublishoptions)|Publishing options for Git releases.
215
234
  [release.GoPublishOptions](#projen-release-gopublishoptions)|*No description*
@@ -271,7 +290,6 @@ Name|Description
271
290
  Name|Description
272
291
  ----|-----------
273
292
  [AutoRelease](#projen-autorelease)|Automatic bump modes.
274
- [CdkApprovalLevel](#projen-cdkapprovallevel)|*No description*
275
293
  [DockerComposeProtocol](#projen-dockercomposeprotocol)|Network protocol for port mapping.
276
294
  [GitpodOnOpen](#projen-gitpodonopen)|What to do when a service on a port is detected.
277
295
  [GitpodOpenIn](#projen-gitpodopenin)|Configure where in the IDE the terminal should be opened.
@@ -285,6 +303,7 @@ Name|Description
285
303
  [Stability](#projen-stability)|*No description*
286
304
  [TypeScriptJsxMode](#projen-typescriptjsxmode)|Determines how JSX should get transformed into valid JavaScript.
287
305
  [TypeScriptModuleResolution](#projen-typescriptmoduleresolution)|Determines how modules get resolved.
306
+ [awscdk.ApprovalLevel](#projen-awscdk-approvallevel)|Which approval is required when deploying CDK apps.
288
307
  [deps.DependencyType](#projen-deps-dependencytype)|Type of dependency.
289
308
  [github.DependabotRegistryType](#projen-github-dependabotregistrytype)|Each configuration type requires you to provide particular settings.
290
309
  [github.DependabotScheduleInterval](#projen-github-dependabotscheduleinterval)|How often to check for new versions and raise pull requests for version updates.
@@ -301,64 +320,6 @@ A multi-language (jsii) construct library which vends constructs designed to
301
320
  use within the AWS CDK with a friendly workflow and automatic publishing to
302
321
  the construct catalog.
303
322
 
304
- ```ts
305
- const project = new ConstructLibraryAws({
306
- name: 'cdk-watchful',
307
- description: 'Watching your CDK apps since 2019',
308
- jsiiVersion: Semver.caret('1.7.0'),
309
- authorName: 'Elad Ben-Israel',
310
- authorEmail: 'elad.benisrael@gmail.com',
311
- repository: 'https://github.com/eladb/cdk-watchful.git',
312
- keywords: [
313
- "cloudwatch",
314
- "monitoring"
315
- ],
316
-
317
- catalog: {
318
- twitter: 'emeshbi'
319
- },
320
-
321
- // creates PRs for projen upgrades
322
- projenUpgradeSecret: 'PROJEN_GITHUB_TOKEN',
323
-
324
- cdkVersion: '1.54.0',
325
- cdkDependencies: [
326
- "@aws-cdk/aws-apigateway",
327
- "@aws-cdk/aws-cloudwatch",
328
- "@aws-cdk/aws-cloudwatch-actions",
329
- "@aws-cdk/aws-dynamodb",
330
- "@aws-cdk/aws-ecs",
331
- "@aws-cdk/aws-ecs-patterns",
332
- "@aws-cdk/aws-elasticloadbalancingv2",
333
- "@aws-cdk/aws-events",
334
- "@aws-cdk/aws-events-targets",
335
- "@aws-cdk/aws-lambda",
336
- "@aws-cdk/aws-rds",
337
- "@aws-cdk/aws-sns",
338
- "@aws-cdk/aws-sns-subscriptions",
339
- "@aws-cdk/aws-sqs",
340
- "@aws-cdk/core"
341
- ],
342
- devDependencies: {
343
- "aws-sdk": Semver.caret("2.708.0")
344
- },
345
-
346
- // jsii publishing
347
-
348
- java: {
349
- javaPackage: 'io.github.cdklabs.watchful',
350
- mavenGroupId: 'io.github.cdklabs',
351
- mavenArtifactId: 'cdk-watchful'
352
- },
353
- python: {
354
- distName: 'cdk-watchful',
355
- module: 'cdk_watchful'
356
- }
357
- });
358
-
359
- project.synth();
360
- ```
361
-
362
323
  __Extends__: [ConstructLibrary](#projen-constructlibrary)
363
324
 
364
325
  ### Initializer
@@ -398,6 +359,7 @@ new AwsCdkConstructLibrary(options: AwsCdkConstructLibraryOptions)
398
359
  * **autoDetectBin** (<code>boolean</code>) Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. __*Default*__: true
399
360
  * **bin** (<code>Map<string, string></code>) Binary programs vended with your module. __*Optional*__
400
361
  * **bundledDeps** (<code>Array<string></code>) List of dependencies to bundle into this module. __*Optional*__
362
+ * **codeArtifactOptions** (<code>[CodeArtifactOptions](#projen-codeartifactoptions)</code>) Options for publishing npm package to AWS CodeArtifact. __*Default*__: undefined
401
363
  * **deps** (<code>Array<string></code>) Runtime dependencies of this module. __*Default*__: []
402
364
  * **description** (<code>string</code>) The description is just a string that helps people understand the purpose of the package. __*Optional*__
403
365
  * **devDeps** (<code>Array<string></code>) Build dependencies for this module. __*Default*__: []
@@ -442,6 +404,7 @@ new AwsCdkConstructLibrary(options: AwsCdkConstructLibraryOptions)
442
404
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
443
405
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
444
406
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
407
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
445
408
  * **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. __*Default*__: false
446
409
  * **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. __*Default*__: if this option is not specified, only public repositories are supported
447
410
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -512,6 +475,8 @@ new AwsCdkConstructLibrary(options: AwsCdkConstructLibraryOptions)
512
475
  * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
513
476
  * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Default*__: false
514
477
  * **constructsVersion** (<code>string</code>) Minimum target version of constructs being tested against. If not provided, the default value depends on the configured `cdkVersion`:. __*Default*__: When the default behavior is used, the dependency on `constructs` will only be added as a `peerDependency`. Otherwise, a `devDependency` will also be added, set to the exact version configrued here.
478
+ * **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
479
+ * **lambdaOptions** (<code>[awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)</code>) Common options for all AWS Lambda functions. __*Default*__: default options
515
480
 
516
481
 
517
482
 
@@ -606,6 +571,7 @@ new AwsCdkTypeScriptApp(options: AwsCdkTypeScriptAppOptions)
606
571
  * **autoDetectBin** (<code>boolean</code>) Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. __*Default*__: true
607
572
  * **bin** (<code>Map<string, string></code>) Binary programs vended with your module. __*Optional*__
608
573
  * **bundledDeps** (<code>Array<string></code>) List of dependencies to bundle into this module. __*Optional*__
574
+ * **codeArtifactOptions** (<code>[CodeArtifactOptions](#projen-codeartifactoptions)</code>) Options for publishing npm package to AWS CodeArtifact. __*Default*__: undefined
609
575
  * **deps** (<code>Array<string></code>) Runtime dependencies of this module. __*Default*__: []
610
576
  * **description** (<code>string</code>) The description is just a string that helps people understand the purpose of the package. __*Optional*__
611
577
  * **devDeps** (<code>Array<string></code>) Build dependencies for this module. __*Default*__: []
@@ -650,6 +616,7 @@ new AwsCdkTypeScriptApp(options: AwsCdkTypeScriptAppOptions)
650
616
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
651
617
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
652
618
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
619
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
653
620
  * **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. __*Default*__: false
654
621
  * **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. __*Default*__: if this option is not specified, only public repositories are supported
655
622
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -699,12 +666,16 @@ new AwsCdkTypeScriptApp(options: AwsCdkTypeScriptAppOptions)
699
666
  * **tsconfigDev** (<code>[TypescriptConfigOptions](#projen-typescriptconfigoptions)</code>) Custom tsconfig options for the development tsconfig.json file (used for testing). __*Default*__: use the production tsconfig options
700
667
  * **tsconfigDevFile** (<code>string</code>) The name of the development tsconfig.json file. __*Default*__: "tsconfig.dev.json"
701
668
  * **typescriptVersion** (<code>string</code>) TypeScript version to use. __*Default*__: "latest"
669
+ * **cdkout** (<code>string</code>) cdk.out directory. __*Default*__: "cdk.out"
670
+ * **context** (<code>Map<string, string></code>) Additional context to include in `cdk.json`. __*Default*__: no additional context
671
+ * **featureFlags** (<code>boolean</code>) Include all feature flags in cdk.json. __*Default*__: true
672
+ * **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
702
673
  * **cdkVersion** (<code>string</code>) AWS CDK version to use.
703
674
  * **appEntrypoint** (<code>string</code>) The CDK app's entrypoint (relative to the source directory, which is "src" by default). __*Default*__: "main.ts"
704
675
  * **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules (those that start with "@aws-cdk/") this app uses. __*Optional*__
705
676
  * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Default*__: false
706
- * **context** (<code>Map<string, string></code>) Additional context to include in `cdk.json`. __*Optional*__
707
- * **requireApproval** (<code>[CdkApprovalLevel](#projen-cdkapprovallevel)</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*__: CdkApprovalLevel.BROADENING
677
+ * **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
678
+ * **lambdaOptions** (<code>[awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)</code>) Common options for all AWS Lambda functions. __*Default*__: default options
708
679
 
709
680
 
710
681
 
@@ -714,7 +685,8 @@ new AwsCdkTypeScriptApp(options: AwsCdkTypeScriptAppOptions)
714
685
  Name | Type | Description
715
686
  -----|------|-------------
716
687
  **appEntrypoint**🔹 | <code>string</code> | The CDK app entrypoint.
717
- **cdkConfig**🔹 | <code>any</code> | Contents of `cdk.json`.
688
+ **cdkConfig**🔹 | <code>[awscdk.CdkConfig](#projen-awscdk-cdkconfig)</code> | cdk.json configuration.
689
+ **cdkTasks**🔹 | <code>[awscdk.CdkTasks](#projen-awscdk-cdktasks)</code> | Common CDK tasks.
718
690
  **cdkVersion**🔹 | <code>string</code> | The CDK version this app is using.
719
691
 
720
692
  ### Methods
@@ -778,6 +750,7 @@ new Cdk8sTypeScriptApp(options: Cdk8sTypeScriptAppOptions)
778
750
  * **autoDetectBin** (<code>boolean</code>) Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. __*Default*__: true
779
751
  * **bin** (<code>Map<string, string></code>) Binary programs vended with your module. __*Optional*__
780
752
  * **bundledDeps** (<code>Array<string></code>) List of dependencies to bundle into this module. __*Optional*__
753
+ * **codeArtifactOptions** (<code>[CodeArtifactOptions](#projen-codeartifactoptions)</code>) Options for publishing npm package to AWS CodeArtifact. __*Default*__: undefined
781
754
  * **deps** (<code>Array<string></code>) Runtime dependencies of this module. __*Default*__: []
782
755
  * **description** (<code>string</code>) The description is just a string that helps people understand the purpose of the package. __*Optional*__
783
756
  * **devDeps** (<code>Array<string></code>) Build dependencies for this module. __*Default*__: []
@@ -822,6 +795,7 @@ new Cdk8sTypeScriptApp(options: Cdk8sTypeScriptAppOptions)
822
795
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
823
796
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
824
797
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
798
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
825
799
  * **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. __*Default*__: false
826
800
  * **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. __*Default*__: if this option is not specified, only public repositories are supported
827
801
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -1008,6 +982,7 @@ new ConstructLibrary(options: ConstructLibraryOptions)
1008
982
  * **autoDetectBin** (<code>boolean</code>) Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. __*Default*__: true
1009
983
  * **bin** (<code>Map<string, string></code>) Binary programs vended with your module. __*Optional*__
1010
984
  * **bundledDeps** (<code>Array<string></code>) List of dependencies to bundle into this module. __*Optional*__
985
+ * **codeArtifactOptions** (<code>[CodeArtifactOptions](#projen-codeartifactoptions)</code>) Options for publishing npm package to AWS CodeArtifact. __*Default*__: undefined
1011
986
  * **deps** (<code>Array<string></code>) Runtime dependencies of this module. __*Default*__: []
1012
987
  * **description** (<code>string</code>) The description is just a string that helps people understand the purpose of the package. __*Optional*__
1013
988
  * **devDeps** (<code>Array<string></code>) Build dependencies for this module. __*Default*__: []
@@ -1052,6 +1027,7 @@ new ConstructLibrary(options: ConstructLibraryOptions)
1052
1027
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
1053
1028
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
1054
1029
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
1030
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
1055
1031
  * **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. __*Default*__: false
1056
1032
  * **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. __*Default*__: if this option is not specified, only public repositories are supported
1057
1033
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -1162,6 +1138,7 @@ new ConstructLibraryAws(options: AwsCdkConstructLibraryOptions)
1162
1138
  * **autoDetectBin** (<code>boolean</code>) Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. __*Default*__: true
1163
1139
  * **bin** (<code>Map<string, string></code>) Binary programs vended with your module. __*Optional*__
1164
1140
  * **bundledDeps** (<code>Array<string></code>) List of dependencies to bundle into this module. __*Optional*__
1141
+ * **codeArtifactOptions** (<code>[CodeArtifactOptions](#projen-codeartifactoptions)</code>) Options for publishing npm package to AWS CodeArtifact. __*Default*__: undefined
1165
1142
  * **deps** (<code>Array<string></code>) Runtime dependencies of this module. __*Default*__: []
1166
1143
  * **description** (<code>string</code>) The description is just a string that helps people understand the purpose of the package. __*Optional*__
1167
1144
  * **devDeps** (<code>Array<string></code>) Build dependencies for this module. __*Default*__: []
@@ -1206,6 +1183,7 @@ new ConstructLibraryAws(options: AwsCdkConstructLibraryOptions)
1206
1183
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
1207
1184
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
1208
1185
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
1186
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
1209
1187
  * **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. __*Default*__: false
1210
1188
  * **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. __*Default*__: if this option is not specified, only public repositories are supported
1211
1189
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -1276,6 +1254,8 @@ new ConstructLibraryAws(options: AwsCdkConstructLibraryOptions)
1276
1254
  * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
1277
1255
  * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Default*__: false
1278
1256
  * **constructsVersion** (<code>string</code>) Minimum target version of constructs being tested against. If not provided, the default value depends on the configured `cdkVersion`:. __*Default*__: When the default behavior is used, the dependency on `constructs` will only be added as a `peerDependency`. Otherwise, a `devDependency` will also be added, set to the exact version configrued here.
1257
+ * **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
1258
+ * **lambdaOptions** (<code>[awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)</code>) Common options for all AWS Lambda functions. __*Default*__: default options
1279
1259
 
1280
1260
 
1281
1261
 
@@ -1327,6 +1307,7 @@ new ConstructLibraryCdk8s(options: ConstructLibraryCdk8sOptions)
1327
1307
  * **autoDetectBin** (<code>boolean</code>) Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. __*Default*__: true
1328
1308
  * **bin** (<code>Map<string, string></code>) Binary programs vended with your module. __*Optional*__
1329
1309
  * **bundledDeps** (<code>Array<string></code>) List of dependencies to bundle into this module. __*Optional*__
1310
+ * **codeArtifactOptions** (<code>[CodeArtifactOptions](#projen-codeartifactoptions)</code>) Options for publishing npm package to AWS CodeArtifact. __*Default*__: undefined
1330
1311
  * **deps** (<code>Array<string></code>) Runtime dependencies of this module. __*Default*__: []
1331
1312
  * **description** (<code>string</code>) The description is just a string that helps people understand the purpose of the package. __*Optional*__
1332
1313
  * **devDeps** (<code>Array<string></code>) Build dependencies for this module. __*Default*__: []
@@ -1371,6 +1352,7 @@ new ConstructLibraryCdk8s(options: ConstructLibraryCdk8sOptions)
1371
1352
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
1372
1353
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
1373
1354
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
1355
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
1374
1356
  * **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. __*Default*__: false
1375
1357
  * **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. __*Default*__: if this option is not specified, only public repositories are supported
1376
1358
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -1501,6 +1483,7 @@ new ConstructLibraryCdktf(options: ConstructLibraryCdktfOptions)
1501
1483
  * **autoDetectBin** (<code>boolean</code>) Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. __*Default*__: true
1502
1484
  * **bin** (<code>Map<string, string></code>) Binary programs vended with your module. __*Optional*__
1503
1485
  * **bundledDeps** (<code>Array<string></code>) List of dependencies to bundle into this module. __*Optional*__
1486
+ * **codeArtifactOptions** (<code>[CodeArtifactOptions](#projen-codeartifactoptions)</code>) Options for publishing npm package to AWS CodeArtifact. __*Default*__: undefined
1504
1487
  * **deps** (<code>Array<string></code>) Runtime dependencies of this module. __*Default*__: []
1505
1488
  * **description** (<code>string</code>) The description is just a string that helps people understand the purpose of the package. __*Optional*__
1506
1489
  * **devDeps** (<code>Array<string></code>) Build dependencies for this module. __*Default*__: []
@@ -1545,6 +1528,7 @@ new ConstructLibraryCdktf(options: ConstructLibraryCdktfOptions)
1545
1528
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
1546
1529
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
1547
1530
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
1531
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
1548
1532
  * **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. __*Default*__: false
1549
1533
  * **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. __*Default*__: if this option is not specified, only public repositories are supported
1550
1534
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -1876,7 +1860,7 @@ addVolume(volume: IDockerComposeVolumeBinding): void
1876
1860
 
1877
1861
  ## class Eslint 🔹 <a id="projen-eslint"></a>
1878
1862
 
1879
-
1863
+ Represents eslint configuration.
1880
1864
 
1881
1865
  __Extends__: [Component](#projen-component)
1882
1866
 
@@ -1899,6 +1883,7 @@ new Eslint(project: NodeProject, options: EslintOptions)
1899
1883
  * **ignorePatterns** (<code>Array<string></code>) List of file patterns that should not be linted, using the same syntax as .gitignore patterns. __*Default*__: [ '*.js', '*.d.ts', 'node_modules/', '*.generated.ts', 'coverage' ]
1900
1884
  * **lintProjenRc** (<code>boolean</code>) Should we lint .projenrc.js. __*Default*__: true
1901
1885
  * **prettier** (<code>boolean</code>) Enable prettier for code formatting. __*Default*__: false
1886
+ * **tsAlwaysTryTypes** (<code>boolean</code>) Always try to resolve types under `<root>@types` directory even it doesn't contain any source code. __*Default*__: true
1902
1887
  * **tsconfigPath** (<code>string</code>) Path to `tsconfig.json` which should be used by eslint. __*Default*__: "./tsconfig.json"
1903
1888
 
1904
1889
 
@@ -1970,6 +1955,19 @@ allowDevDeps(pattern: string): void
1970
1955
 
1971
1956
 
1972
1957
 
1958
+ #### *static* of(project)🔹 <a id="projen-eslint-of"></a>
1959
+
1960
+ Returns the singletone Eslint component of a project or undefined if there is none.
1961
+
1962
+ ```ts
1963
+ static of(project: Project): Eslint
1964
+ ```
1965
+
1966
+ * **project** (<code>[Project](#projen-project)</code>) *No description*
1967
+
1968
+ __Returns__:
1969
+ * <code>[Eslint](#projen-eslint)</code>
1970
+
1973
1971
 
1974
1972
 
1975
1973
  ## class FileBase 🔹 <a id="projen-filebase"></a>
@@ -2557,6 +2555,7 @@ new JsiiProject(options: JsiiProjectOptions)
2557
2555
  * **autoDetectBin** (<code>boolean</code>) Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. __*Default*__: true
2558
2556
  * **bin** (<code>Map<string, string></code>) Binary programs vended with your module. __*Optional*__
2559
2557
  * **bundledDeps** (<code>Array<string></code>) List of dependencies to bundle into this module. __*Optional*__
2558
+ * **codeArtifactOptions** (<code>[CodeArtifactOptions](#projen-codeartifactoptions)</code>) Options for publishing npm package to AWS CodeArtifact. __*Default*__: undefined
2560
2559
  * **deps** (<code>Array<string></code>) Runtime dependencies of this module. __*Default*__: []
2561
2560
  * **description** (<code>string</code>) The description is just a string that helps people understand the purpose of the package. __*Optional*__
2562
2561
  * **devDeps** (<code>Array<string></code>) Build dependencies for this module. __*Default*__: []
@@ -2601,6 +2600,7 @@ new JsiiProject(options: JsiiProjectOptions)
2601
2600
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
2602
2601
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
2603
2602
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
2603
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
2604
2604
  * **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. __*Default*__: false
2605
2605
  * **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. __*Default*__: if this option is not specified, only public repositories are supported
2606
2606
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -3005,6 +3005,7 @@ new NodePackage(project: Project, options?: NodePackageOptions)
3005
3005
  * **autoDetectBin** (<code>boolean</code>) Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. __*Default*__: true
3006
3006
  * **bin** (<code>Map<string, string></code>) Binary programs vended with your module. __*Optional*__
3007
3007
  * **bundledDeps** (<code>Array<string></code>) List of dependencies to bundle into this module. __*Optional*__
3008
+ * **codeArtifactOptions** (<code>[CodeArtifactOptions](#projen-codeartifactoptions)</code>) Options for publishing npm package to AWS CodeArtifact. __*Default*__: undefined
3008
3009
  * **deps** (<code>Array<string></code>) Runtime dependencies of this module. __*Default*__: []
3009
3010
  * **description** (<code>string</code>) The description is just a string that helps people understand the purpose of the package. __*Optional*__
3010
3011
  * **devDeps** (<code>Array<string></code>) Build dependencies for this module. __*Default*__: []
@@ -3047,13 +3048,14 @@ Name | Type | Description
3047
3048
  **npmDistTag**🔹 | <code>string</code> | npm distribution tag.
3048
3049
  **npmRegistry**🔹 | <code>string</code> | The npm registry host (e.g. `registry.npmjs.org`).
3049
3050
  **npmRegistryUrl**🔹 | <code>string</code> | npm registry (e.g. `https://registry.npmjs.org`). Use `npmRegistryHost` to get just the host name.
3050
- **npmTokenSecret**🔹 | <code>string</code> | GitHub secret which contains the NPM token to use when publishing packages.
3051
3051
  **packageManager**🔹 | <code>[NodePackageManager](#projen-nodepackagemanager)</code> | The package manager to use.
3052
3052
  **packageName**🔹 | <code>string</code> | The name of the npm package.
3053
3053
  **projenCommand**🔹 | <code>string</code> | The command to use in order to run the projen CLI.
3054
+ **codeArtifactOptions**?🔹 | <code>[CodeArtifactOptions](#projen-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
3054
3055
  **license**?🔹 | <code>string</code> | The SPDX license of this module.<br/>__*Optional*__
3055
3056
  **maxNodeVersion**?🔹 | <code>string</code> | Maximum node version required by this pacakge.<br/>__*Default*__: no maximum.
3056
3057
  **minNodeVersion**?🔹 | <code>string</code> | Minimum node.js version required by this package.<br/>__*Default*__: no minimum
3058
+ **npmTokenSecret**?🔹 | <code>string</code> | GitHub secret which contains the NPM token to use when publishing packages.<br/>__*Optional*__
3057
3059
 
3058
3060
  ### Methods
3059
3061
 
@@ -3309,6 +3311,7 @@ new NodeProject(options: NodeProjectOptions)
3309
3311
  * **autoDetectBin** (<code>boolean</code>) Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. __*Default*__: true
3310
3312
  * **bin** (<code>Map<string, string></code>) Binary programs vended with your module. __*Optional*__
3311
3313
  * **bundledDeps** (<code>Array<string></code>) List of dependencies to bundle into this module. __*Optional*__
3314
+ * **codeArtifactOptions** (<code>[CodeArtifactOptions](#projen-codeartifactoptions)</code>) Options for publishing npm package to AWS CodeArtifact. __*Default*__: undefined
3312
3315
  * **deps** (<code>Array<string></code>) Runtime dependencies of this module. __*Default*__: []
3313
3316
  * **description** (<code>string</code>) The description is just a string that helps people understand the purpose of the package. __*Optional*__
3314
3317
  * **devDeps** (<code>Array<string></code>) Build dependencies for this module. __*Default*__: []
@@ -3353,6 +3356,7 @@ new NodeProject(options: NodeProjectOptions)
3353
3356
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
3354
3357
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
3355
3358
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
3359
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
3356
3360
  * **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. __*Default*__: false
3357
3361
  * **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. __*Default*__: if this option is not specified, only public repositories are supported
3358
3362
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -3395,6 +3399,7 @@ Name | Type | Description
3395
3399
  **allowLibraryDependencies**⚠️ | <code>boolean</code> | <span></span>
3396
3400
  **antitamper**🔹 | <code>boolean</code> | Indicates if workflows have anti-tamper checks.
3397
3401
  **buildTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | The task responsible for a full release build.
3402
+ **bundler**🔹 | <code>[javascript.Bundler](#projen-javascript-bundler)</code> | <span></span>
3398
3403
  **compileTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Compiles the code.
3399
3404
  **entrypoint**⚠️ | <code>string</code> | <span></span>
3400
3405
  **installWorkflowSteps**🔹 | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | <span></span>
@@ -4437,6 +4442,7 @@ new TypeScriptAppProject(options: TypeScriptProjectOptions)
4437
4442
  * **autoDetectBin** (<code>boolean</code>) Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. __*Default*__: true
4438
4443
  * **bin** (<code>Map<string, string></code>) Binary programs vended with your module. __*Optional*__
4439
4444
  * **bundledDeps** (<code>Array<string></code>) List of dependencies to bundle into this module. __*Optional*__
4445
+ * **codeArtifactOptions** (<code>[CodeArtifactOptions](#projen-codeartifactoptions)</code>) Options for publishing npm package to AWS CodeArtifact. __*Default*__: undefined
4440
4446
  * **deps** (<code>Array<string></code>) Runtime dependencies of this module. __*Default*__: []
4441
4447
  * **description** (<code>string</code>) The description is just a string that helps people understand the purpose of the package. __*Optional*__
4442
4448
  * **devDeps** (<code>Array<string></code>) Build dependencies for this module. __*Default*__: []
@@ -4481,6 +4487,7 @@ new TypeScriptAppProject(options: TypeScriptProjectOptions)
4481
4487
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
4482
4488
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
4483
4489
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
4490
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
4484
4491
  * **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. __*Default*__: false
4485
4492
  * **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. __*Default*__: if this option is not specified, only public repositories are supported
4486
4493
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -4577,6 +4584,7 @@ new TypeScriptLibraryProject(options: TypeScriptProjectOptions)
4577
4584
  * **autoDetectBin** (<code>boolean</code>) Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. __*Default*__: true
4578
4585
  * **bin** (<code>Map<string, string></code>) Binary programs vended with your module. __*Optional*__
4579
4586
  * **bundledDeps** (<code>Array<string></code>) List of dependencies to bundle into this module. __*Optional*__
4587
+ * **codeArtifactOptions** (<code>[CodeArtifactOptions](#projen-codeartifactoptions)</code>) Options for publishing npm package to AWS CodeArtifact. __*Default*__: undefined
4580
4588
  * **deps** (<code>Array<string></code>) Runtime dependencies of this module. __*Default*__: []
4581
4589
  * **description** (<code>string</code>) The description is just a string that helps people understand the purpose of the package. __*Optional*__
4582
4590
  * **devDeps** (<code>Array<string></code>) Build dependencies for this module. __*Default*__: []
@@ -4621,6 +4629,7 @@ new TypeScriptLibraryProject(options: TypeScriptProjectOptions)
4621
4629
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
4622
4630
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
4623
4631
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
4632
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
4624
4633
  * **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. __*Default*__: false
4625
4634
  * **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. __*Default*__: if this option is not specified, only public repositories are supported
4626
4635
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -4717,6 +4726,7 @@ new TypeScriptProject(options: TypeScriptProjectOptions)
4717
4726
  * **autoDetectBin** (<code>boolean</code>) Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. __*Default*__: true
4718
4727
  * **bin** (<code>Map<string, string></code>) Binary programs vended with your module. __*Optional*__
4719
4728
  * **bundledDeps** (<code>Array<string></code>) List of dependencies to bundle into this module. __*Optional*__
4729
+ * **codeArtifactOptions** (<code>[CodeArtifactOptions](#projen-codeartifactoptions)</code>) Options for publishing npm package to AWS CodeArtifact. __*Default*__: undefined
4720
4730
  * **deps** (<code>Array<string></code>) Runtime dependencies of this module. __*Default*__: []
4721
4731
  * **description** (<code>string</code>) The description is just a string that helps people understand the purpose of the package. __*Optional*__
4722
4732
  * **devDeps** (<code>Array<string></code>) Build dependencies for this module. __*Default*__: []
@@ -4761,6 +4771,7 @@ new TypeScriptProject(options: TypeScriptProjectOptions)
4761
4771
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
4762
4772
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
4763
4773
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
4774
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
4764
4775
  * **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. __*Default*__: false
4765
4776
  * **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. __*Default*__: if this option is not specified, only public repositories are supported
4766
4777
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -5114,6 +5125,281 @@ __Returns__:
5114
5125
 
5115
5126
 
5116
5127
 
5128
+ ## class AutoDiscover 🔹 <a id="projen-awscdk-autodiscover"></a>
5129
+
5130
+ Automatically creates a `LambdaFunction` for all `.lambda.ts` files under the source directory of the project.
5131
+
5132
+ __Submodule__: awscdk
5133
+
5134
+ __Extends__: [Component](#projen-component)
5135
+
5136
+ ### Initializer
5137
+
5138
+
5139
+
5140
+
5141
+ ```ts
5142
+ new awscdk.AutoDiscover(project: Project, options: AutoDiscoverOptions)
5143
+ ```
5144
+
5145
+ * **project** (<code>[Project](#projen-project)</code>) *No description*
5146
+ * **options** (<code>[awscdk.AutoDiscoverOptions](#projen-awscdk-autodiscoveroptions)</code>) *No description*
5147
+ * **libdir** (<code>string</code>) Output directory (where .js files go).
5148
+ * **srcdir** (<code>string</code>) Project source tree (relative to project output directory).
5149
+ * **lambdaOptions** (<code>[awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)</code>) Options for auto-discovery of AWS Lambda functions. __*Optional*__
5150
+
5151
+
5152
+ ### Methods
5153
+
5154
+
5155
+ #### preSynthesize()🔹 <a id="projen-awscdk-autodiscover-presynthesize"></a>
5156
+
5157
+ Called before synthesis.
5158
+
5159
+ ```ts
5160
+ preSynthesize(): void
5161
+ ```
5162
+
5163
+
5164
+
5165
+
5166
+
5167
+
5168
+
5169
+ ## class AwsCdkJavaApp 🔹 <a id="projen-awscdk-awscdkjavaapp"></a>
5170
+
5171
+ AWS CDK app in Java.
5172
+
5173
+ __Submodule__: awscdk
5174
+
5175
+ __Extends__: [java.JavaProject](#projen-java-javaproject)
5176
+
5177
+ ### Initializer
5178
+
5179
+
5180
+
5181
+
5182
+ ```ts
5183
+ new awscdk.AwsCdkJavaApp(options: AwsCdkJavaAppOptions)
5184
+ ```
5185
+
5186
+ * **options** (<code>[awscdk.AwsCdkJavaAppOptions](#projen-awscdk-awscdkjavaappoptions)</code>) *No description*
5187
+ * **name** (<code>string</code>) This is the name of your project.
5188
+ * **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
5189
+ * **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
5190
+ * **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
5191
+ * **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
5192
+ * **projenrcJsonOptions** (<code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
5193
+ * **autoApproveOptions** (<code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code>) Enable and configure the 'auto approve' workflow. __*Default*__: auto approve is disabled
5194
+ * **autoMergeOptions** (<code>[github.AutoMergeOptions](#projen-github-automergeoptions)</code>) Configure options for automatic merging on GitHub. __*Default*__: see defaults in `AutoMergeOptions`
5195
+ * **clobber** (<code>boolean</code>) Add a `clobber` task which resets the repo to origin. __*Default*__: true
5196
+ * **devContainer** (<code>boolean</code>) Add a VSCode development environment (used for GitHub Codespaces). __*Default*__: false
5197
+ * **github** (<code>boolean</code>) Enable GitHub integration. __*Default*__: true
5198
+ * **githubOptions** (<code>[github.GitHubOptions](#projen-github-githuboptions)</code>) Options for GitHub integration. __*Default*__: see GitHubOptions
5199
+ * **gitpod** (<code>boolean</code>) Add a Gitpod development environment. __*Default*__: false
5200
+ * **mergify** (<code>boolean</code>) Whether mergify should be enabled on this repository or not. __*Default*__: true
5201
+ * **projectType** (<code>[ProjectType](#projen-projecttype)</code>) Which type of project this is (library/app). __*Default*__: ProjectType.UNKNOWN
5202
+ * **readme** (<code>[SampleReadmeProps](#projen-samplereadmeprops)</code>) The README setup. __*Default*__: { filename: 'README.md', contents: '# replace this' }
5203
+ * **stale** (<code>boolean</code>) Auto-close of stale issues and pull request. __*Default*__: true
5204
+ * **staleOptions** (<code>[github.StaleOptions](#projen-github-staleoptions)</code>) Auto-close stale issues and pull requests. __*Default*__: see defaults in `StaleOptions`
5205
+ * **vscode** (<code>boolean</code>) Enable VSCode integration. __*Default*__: true
5206
+ * **artifactId** (<code>string</code>) The artifactId is generally the name that the project is known by.
5207
+ * **groupId** (<code>string</code>) This is generally unique amongst an organization or a project.
5208
+ * **version** (<code>string</code>) This is the last piece of the naming puzzle.
5209
+ * **description** (<code>string</code>) Description of a project is always good. __*Default*__: undefined
5210
+ * **packaging** (<code>string</code>) Project packaging format. __*Default*__: "jar"
5211
+ * **url** (<code>string</code>) The URL, like the name, is not required. __*Default*__: undefined
5212
+ * **compileOptions** (<code>[java.MavenCompileOptions](#projen-java-mavencompileoptions)</code>) Compile options. __*Default*__: defaults
5213
+ * **deps** (<code>Array<string></code>) List of runtime dependencies for this project. __*Default*__: []
5214
+ * **distdir** (<code>string</code>) Final artifact output directory. __*Default*__: "dist/java"
5215
+ * **junit** (<code>boolean</code>) Include junit tests. __*Default*__: true
5216
+ * **junitOptions** (<code>[java.JunitOptions](#projen-java-junitoptions)</code>) junit options. __*Default*__: defaults
5217
+ * **packagingOptions** (<code>[java.MavenPackagingOptions](#projen-java-mavenpackagingoptions)</code>) Packaging options. __*Default*__: defaults
5218
+ * **projenrcJava** (<code>boolean</code>) Use projenrc in java. __*Default*__: true
5219
+ * **projenrcJavaOptions** (<code>[java.ProjenrcOptions](#projen-java-projenrcoptions)</code>) Options related to projenrc in java. __*Default*__: default options
5220
+ * **testDeps** (<code>Array<string></code>) List of test dependencies for this project. __*Default*__: []
5221
+ * **sample** (<code>boolean</code>) Include sample code and test if the relevant directories don't exist. __*Optional*__
5222
+ * **sampleJavaPackage** (<code>string</code>) The java package to use for the code sample. __*Default*__: "org.acme"
5223
+ * **cdkout** (<code>string</code>) cdk.out directory. __*Default*__: "cdk.out"
5224
+ * **context** (<code>Map<string, string></code>) Additional context to include in `cdk.json`. __*Default*__: no additional context
5225
+ * **featureFlags** (<code>boolean</code>) Include all feature flags in cdk.json. __*Default*__: true
5226
+ * **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
5227
+ * **cdkVersion** (<code>string</code>) AWS CDK version to use (you can use semantic versioning).
5228
+ * **mainClass** (<code>string</code>) The name of the Java class with the static `main()` method.
5229
+ * **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules this app uses. __*Optional*__
5230
+
5231
+
5232
+
5233
+ ### Properties
5234
+
5235
+
5236
+ Name | Type | Description
5237
+ -----|------|-------------
5238
+ **cdkConfig**🔹 | <code>[awscdk.CdkConfig](#projen-awscdk-cdkconfig)</code> | The `cdk.json` file.
5239
+ **cdkTasks**🔹 | <code>[awscdk.CdkTasks](#projen-awscdk-cdktasks)</code> | CDK tasks.
5240
+ **cdkVersion**🔹 | <code>string</code> | The CDK version this app is using.
5241
+ **mainClass**🔹 | <code>string</code> | The full name of the main class of the java app (package.Class).
5242
+ **mainClassName**🔹 | <code>string</code> | The name of the Java class with the static `main()` method.
5243
+ **mainPackage**🔹 | <code>string</code> | The name of the Java package that includes the main class.
5244
+
5245
+ ### Methods
5246
+
5247
+
5248
+ #### addCdkDependency(...modules)🔹 <a id="projen-awscdk-awscdkjavaapp-addcdkdependency"></a>
5249
+
5250
+ Adds an AWS CDK module dependencies.
5251
+
5252
+ ```ts
5253
+ addCdkDependency(...modules: string[]): void
5254
+ ```
5255
+
5256
+ * **modules** (<code>string</code>) The list of modules to depend on (e.g. "core", "aws-lambda", etc).
5257
+
5258
+
5259
+
5260
+
5261
+
5262
+
5263
+ ## class CdkConfig 🔹 <a id="projen-awscdk-cdkconfig"></a>
5264
+
5265
+ Represents cdk.json file.
5266
+
5267
+ __Submodule__: awscdk
5268
+
5269
+ __Extends__: [Component](#projen-component)
5270
+
5271
+ ### Initializer
5272
+
5273
+
5274
+
5275
+
5276
+ ```ts
5277
+ new awscdk.CdkConfig(project: Project, options: CdkConfigOptions)
5278
+ ```
5279
+
5280
+ * **project** (<code>[Project](#projen-project)</code>) *No description*
5281
+ * **options** (<code>[awscdk.CdkConfigOptions](#projen-awscdk-cdkconfigoptions)</code>) *No description*
5282
+ * **cdkout** (<code>string</code>) cdk.out directory. __*Default*__: "cdk.out"
5283
+ * **context** (<code>Map<string, string></code>) Additional context to include in `cdk.json`. __*Default*__: no additional context
5284
+ * **featureFlags** (<code>boolean</code>) Include all feature flags in cdk.json. __*Default*__: true
5285
+ * **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
5286
+ * **app** (<code>string</code>) The command line to execute in order to synthesize the CDK application (language specific).
5287
+
5288
+
5289
+
5290
+ ### Properties
5291
+
5292
+
5293
+ Name | Type | Description
5294
+ -----|------|-------------
5295
+ **cdkout**🔹 | <code>string</code> | Name of the cdk.out directory.
5296
+ **json**🔹 | <code>[JsonFile](#projen-jsonfile)</code> | Represents the JSON file.
5297
+
5298
+
5299
+
5300
+ ## class CdkTasks 🔹 <a id="projen-awscdk-cdktasks"></a>
5301
+
5302
+ Adds standard AWS CDK tasks to your project.
5303
+
5304
+ __Submodule__: awscdk
5305
+
5306
+ __Extends__: [Component](#projen-component)
5307
+
5308
+ ### Initializer
5309
+
5310
+
5311
+
5312
+
5313
+ ```ts
5314
+ new awscdk.CdkTasks(project: Project)
5315
+ ```
5316
+
5317
+ * **project** (<code>[Project](#projen-project)</code>) *No description*
5318
+
5319
+
5320
+
5321
+ ### Properties
5322
+
5323
+
5324
+ Name | Type | Description
5325
+ -----|------|-------------
5326
+ **deploy**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Deploys your app.
5327
+ **destroy**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Destroys all the stacks.
5328
+ **diff**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Diff against production.
5329
+ **synth**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Synthesizes your app.
5330
+
5331
+
5332
+
5333
+ ## class LambdaFunction 🔹 <a id="projen-awscdk-lambdafunction"></a>
5334
+
5335
+ Generates a pre-bundled AWS Lambda function construct from handler code.
5336
+
5337
+ To use this, create an AWS Lambda handler file under your source tree with
5338
+ the `.lambda.ts` extension and add a `LambdaFunction` component to your
5339
+ typescript project pointing to this entrypoint.
5340
+
5341
+ This will add a task to your "compile" step which will use `esbuild` to
5342
+ bundle the handler code into the build directory. It will also generate a
5343
+ file `src/foo-function.ts` with a custom AWS construct called `FooFunction`
5344
+ which extends `@aws-cdk/aws-lambda.Function` which is bound to the bundled
5345
+ handle through an asset.
5346
+
5347
+ __Submodule__: awscdk
5348
+
5349
+ __Extends__: [Component](#projen-component)
5350
+
5351
+ ### Initializer
5352
+
5353
+
5354
+ Defines a pre-bundled AWS Lambda function construct from handler code.
5355
+
5356
+ ```ts
5357
+ new awscdk.LambdaFunction(project: Project, options: LambdaFunctionOptions)
5358
+ ```
5359
+
5360
+ * **project** (<code>[Project](#projen-project)</code>) The project to use.
5361
+ * **options** (<code>[awscdk.LambdaFunctionOptions](#projen-awscdk-lambdafunctionoptions)</code>) Options.
5362
+ * **externals** (<code>Array<string></code>) Names of modules which should not be included in the bundle. __*Default*__: by default, the "aws-sdk" module will be excluded from the bundle. Note that if you use this option you will need to add "aws-sdk" explicitly.
5363
+ * **runtime** (<code>[awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime)</code>) The node.js version to target. __*Default*__: Runtime.NODEJS_14_X
5364
+ * **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).
5365
+ * **libdir** (<code>string</code>) JavaScript output directory (where .js files go).
5366
+ * **srcdir** (<code>string</code>) Project source directory tree (where .ts files live).
5367
+ * **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`.
5368
+ * **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`).
5369
+
5370
+
5371
+
5372
+ ### Properties
5373
+
5374
+
5375
+ Name | Type | Description
5376
+ -----|------|-------------
5377
+ **bundleTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | The bundle task for this function.
5378
+
5379
+
5380
+
5381
+ ## class LambdaRuntime 🔹 <a id="projen-awscdk-lambdaruntime"></a>
5382
+
5383
+ The runtime for the AWS Lambda function.
5384
+
5385
+ __Submodule__: awscdk
5386
+
5387
+
5388
+
5389
+ ### Properties
5390
+
5391
+
5392
+ Name | Type | Description
5393
+ -----|------|-------------
5394
+ **esbuildPlatform**🔹 | <code>string</code> | <span></span>
5395
+ **esbuildTarget**🔹 | <code>string</code> | The esbuild setting to use.
5396
+ **functionRuntime**🔹 | <code>string</code> | The aws-lambda.Runtime member name to use.
5397
+ *static* **NODEJS_10_X**🔹 | <code>[awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime)</code> | Node.js 10.x.
5398
+ *static* **NODEJS_12_X**🔹 | <code>[awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime)</code> | Node.js 12.x.
5399
+ *static* **NODEJS_14_X**🔹 | <code>[awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime)</code> | Node.js 14.x.
5400
+
5401
+
5402
+
5117
5403
  ## class Dependencies 🔹 <a id="projen-deps-dependencies"></a>
5118
5404
 
5119
5405
  The `Dependencies` component is responsible to track the list of dependencies a project has, and then used by project types as the model for rendering project-specific dependency manifests such as the dependencies section `package.json` files.
@@ -5780,9 +6066,9 @@ new java.JavaProject(options: JavaProjectOptions)
5780
6066
  * **packagingOptions** (<code>[java.MavenPackagingOptions](#projen-java-mavenpackagingoptions)</code>) Packaging options. __*Default*__: defaults
5781
6067
  * **projenrcJava** (<code>boolean</code>) Use projenrc in java. __*Default*__: true
5782
6068
  * **projenrcJavaOptions** (<code>[java.ProjenrcOptions](#projen-java-projenrcoptions)</code>) Options related to projenrc in java. __*Default*__: default options
6069
+ * **testDeps** (<code>Array<string></code>) List of test dependencies for this project. __*Default*__: []
5783
6070
  * **sample** (<code>boolean</code>) Include sample code and test if the relevant directories don't exist. __*Optional*__
5784
6071
  * **sampleJavaPackage** (<code>string</code>) The java package to use for the code sample. __*Default*__: "org.acme"
5785
- * **testDeps** (<code>Array<string></code>) List of test dependencies for this project. __*Default*__: []
5786
6072
 
5787
6073
 
5788
6074
 
@@ -5791,6 +6077,7 @@ new java.JavaProject(options: JavaProjectOptions)
5791
6077
 
5792
6078
  Name | Type | Description
5793
6079
  -----|------|-------------
6080
+ **buildTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | The primary build task.
5794
6081
  **compile**🔹 | <code>[java.MavenCompile](#projen-java-mavencompile)</code> | Compile component.
5795
6082
  **distdir**🔹 | <code>string</code> | Maven artifact output directory.
5796
6083
  **packaging**🔹 | <code>[java.MavenPackaging](#projen-java-mavenpackaging)</code> | Packaging component.
@@ -6117,6 +6404,77 @@ Name | Type | Description
6117
6404
 
6118
6405
 
6119
6406
 
6407
+ ## class Bundler 🔹 <a id="projen-javascript-bundler"></a>
6408
+
6409
+ Adds support for bundling JavaScript applications and dependencies into a single file.
6410
+
6411
+ __Submodule__: javascript
6412
+
6413
+ __Extends__: [Component](#projen-component)
6414
+
6415
+ ### Initializer
6416
+
6417
+
6418
+ Creates a `Bundler`.
6419
+
6420
+ ```ts
6421
+ new javascript.Bundler(project: Project, options: BundlerOptions)
6422
+ ```
6423
+
6424
+ * **project** (<code>[Project](#projen-project)</code>) *No description*
6425
+ * **options** (<code>[javascript.BundlerOptions](#projen-javascript-bundleroptions)</code>) *No description*
6426
+ * **esbuildVersion** (<code>string</code>) The semantic version requirement for `esbuild`. __*Default*__: no specific version (implies latest)
6427
+ * **parentTask** (<code>[tasks.Task](#projen-tasks-task)</code>) A parent task that will spawn the "bundle" task (usually "compile").
6428
+
6429
+
6430
+
6431
+ ### Properties
6432
+
6433
+
6434
+ Name | Type | Description
6435
+ -----|------|-------------
6436
+ **bundleTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Gets or creates the singleton "bundle" task of the project.
6437
+ **esbuildVersion**?🔹 | <code>string</code> | __*Optional*__
6438
+
6439
+ ### Methods
6440
+
6441
+
6442
+ #### addBundle(name, options)🔹 <a id="projen-javascript-bundler-addbundle"></a>
6443
+
6444
+ Adds a task to the project which bundles a specific entrypoint and all of its dependencies into a single javascript output file.
6445
+
6446
+ ```ts
6447
+ addBundle(name: string, options: BundleOptions): Task
6448
+ ```
6449
+
6450
+ * **name** (<code>string</code>) The name of the artifact (the task will be named `bundle:$name`).
6451
+ * **options** (<code>[javascript.BundleOptions](#projen-javascript-bundleoptions)</code>) Bundling options.
6452
+ * **entrypoint** (<code>string</code>) The entrypoint of the code you wish to bundle.
6453
+ * **outfile** (<code>string</code>) This option sets the output file name for the build operation.
6454
+ * **platform** (<code>string</code>) esbuild platform.
6455
+ * **target** (<code>string</code>) esbuild target.
6456
+ * **externals** (<code>Array<string></code>) You can mark a file or a package as external to exclude it from your build. __*Default*__: []
6457
+ * **sourcemap** (<code>boolean</code>) Include a source map in the bundle. __*Default*__: true
6458
+ * **watchTask** (<code>boolean</code>) In addition to the `bundle:xyz` task, creates `bundle:xyz:watch` task which will invoke the same esbuild command with the `--watch` flag. __*Default*__: true
6459
+
6460
+ __Returns__:
6461
+ * <code>[tasks.Task](#projen-tasks-task)</code>
6462
+
6463
+ #### *static* of(project)🔹 <a id="projen-javascript-bundler-of"></a>
6464
+
6465
+ Returns the `Bundler` instance associated with a project or `undefined` if there is no Bundler.
6466
+
6467
+ ```ts
6468
+ static of(project: Project): Bundler
6469
+ ```
6470
+
6471
+ * **project** (<code>[Project](#projen-project)</code>) The project.
6472
+
6473
+ __Returns__:
6474
+ * <code>[javascript.Bundler](#projen-javascript-bundler)</code>
6475
+
6476
+
6477
+
6120
6478
  ## class NpmConfig 🔹 <a id="projen-javascript-npmconfig"></a>
6121
6479
 
6122
6480
  File representing the local NPM config in .npmrc.
@@ -6962,6 +7320,7 @@ publishToNpm(options?: NpmPublishOptions): void
6962
7320
  ```
6963
7321
 
6964
7322
  * **options** (<code>[release.NpmPublishOptions](#projen-release-npmpublishoptions)</code>) Options.
7323
+ * **codeArtifactOptions** (<code>[release.CodeArtifactOptions](#projen-release-codeartifactoptions)</code>) Options for publishing npm package to AWS CodeArtifact. __*Default*__: undefined
6965
7324
  * **distTag** (<code>string</code>) Tags can be used to provide an alias instead of version numbers. __*Default*__: "latest"
6966
7325
  * **npmTokenSecret** (<code>string</code>) GitHub secret which contains the NPM token to use when publishing packages. __*Default*__: "NPM_TOKEN" or "GITHUB_TOKEN" if `registry` is set to `npm.pkg.github.com`.
6967
7326
  * **registry** (<code>string</code>) The domain name of the npm package registry. __*Default*__: "registry.npmjs.org"
@@ -7840,6 +8199,7 @@ new web.NextJsProject(options: NextJsProjectOptions)
7840
8199
  * **autoDetectBin** (<code>boolean</code>) Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. __*Default*__: true
7841
8200
  * **bin** (<code>Map<string, string></code>) Binary programs vended with your module. __*Optional*__
7842
8201
  * **bundledDeps** (<code>Array<string></code>) List of dependencies to bundle into this module. __*Optional*__
8202
+ * **codeArtifactOptions** (<code>[CodeArtifactOptions](#projen-codeartifactoptions)</code>) Options for publishing npm package to AWS CodeArtifact. __*Default*__: undefined
7843
8203
  * **deps** (<code>Array<string></code>) Runtime dependencies of this module. __*Default*__: []
7844
8204
  * **description** (<code>string</code>) The description is just a string that helps people understand the purpose of the package. __*Optional*__
7845
8205
  * **devDeps** (<code>Array<string></code>) Build dependencies for this module. __*Default*__: []
@@ -7884,6 +8244,7 @@ new web.NextJsProject(options: NextJsProjectOptions)
7884
8244
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
7885
8245
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
7886
8246
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
8247
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
7887
8248
  * **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. __*Default*__: false
7888
8249
  * **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. __*Default*__: if this option is not specified, only public repositories are supported
7889
8250
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -7978,6 +8339,7 @@ new web.NextJsTypeScriptProject(options: NextJsTypeScriptProjectOptions)
7978
8339
  * **autoDetectBin** (<code>boolean</code>) Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. __*Default*__: true
7979
8340
  * **bin** (<code>Map<string, string></code>) Binary programs vended with your module. __*Optional*__
7980
8341
  * **bundledDeps** (<code>Array<string></code>) List of dependencies to bundle into this module. __*Optional*__
8342
+ * **codeArtifactOptions** (<code>[CodeArtifactOptions](#projen-codeartifactoptions)</code>) Options for publishing npm package to AWS CodeArtifact. __*Default*__: undefined
7981
8343
  * **deps** (<code>Array<string></code>) Runtime dependencies of this module. __*Default*__: []
7982
8344
  * **description** (<code>string</code>) The description is just a string that helps people understand the purpose of the package. __*Optional*__
7983
8345
  * **devDeps** (<code>Array<string></code>) Build dependencies for this module. __*Default*__: []
@@ -8022,6 +8384,7 @@ new web.NextJsTypeScriptProject(options: NextJsTypeScriptProjectOptions)
8022
8384
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
8023
8385
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
8024
8386
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
8387
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
8025
8388
  * **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. __*Default*__: false
8026
8389
  * **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. __*Default*__: if this option is not specified, only public repositories are supported
8027
8390
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -8190,6 +8553,7 @@ new web.ReactProject(options: ReactProjectOptions)
8190
8553
  * **autoDetectBin** (<code>boolean</code>) Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. __*Default*__: true
8191
8554
  * **bin** (<code>Map<string, string></code>) Binary programs vended with your module. __*Optional*__
8192
8555
  * **bundledDeps** (<code>Array<string></code>) List of dependencies to bundle into this module. __*Optional*__
8556
+ * **codeArtifactOptions** (<code>[CodeArtifactOptions](#projen-codeartifactoptions)</code>) Options for publishing npm package to AWS CodeArtifact. __*Default*__: undefined
8193
8557
  * **deps** (<code>Array<string></code>) Runtime dependencies of this module. __*Default*__: []
8194
8558
  * **description** (<code>string</code>) The description is just a string that helps people understand the purpose of the package. __*Optional*__
8195
8559
  * **devDeps** (<code>Array<string></code>) Build dependencies for this module. __*Default*__: []
@@ -8234,6 +8598,7 @@ new web.ReactProject(options: ReactProjectOptions)
8234
8598
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
8235
8599
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
8236
8600
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
8601
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
8237
8602
  * **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. __*Default*__: false
8238
8603
  * **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. __*Default*__: if this option is not specified, only public repositories are supported
8239
8604
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -8369,6 +8734,7 @@ new web.ReactTypeScriptProject(options: ReactTypeScriptProjectOptions)
8369
8734
  * **autoDetectBin** (<code>boolean</code>) Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. __*Default*__: true
8370
8735
  * **bin** (<code>Map<string, string></code>) Binary programs vended with your module. __*Optional*__
8371
8736
  * **bundledDeps** (<code>Array<string></code>) List of dependencies to bundle into this module. __*Optional*__
8737
+ * **codeArtifactOptions** (<code>[CodeArtifactOptions](#projen-codeartifactoptions)</code>) Options for publishing npm package to AWS CodeArtifact. __*Default*__: undefined
8372
8738
  * **deps** (<code>Array<string></code>) Runtime dependencies of this module. __*Default*__: []
8373
8739
  * **description** (<code>string</code>) The description is just a string that helps people understand the purpose of the package. __*Optional*__
8374
8740
  * **devDeps** (<code>Array<string></code>) Build dependencies for this module. __*Default*__: []
@@ -8413,6 +8779,7 @@ new web.ReactTypeScriptProject(options: ReactTypeScriptProjectOptions)
8413
8779
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
8414
8780
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
8415
8781
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
8782
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
8416
8783
  * **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. __*Default*__: false
8417
8784
  * **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. __*Default*__: if this option is not specified, only public repositories are supported
8418
8785
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -8541,6 +8908,7 @@ Name | Type | Description
8541
8908
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
8542
8909
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
8543
8910
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
8911
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
8544
8912
  **catalog**?🔹 | <code>[Catalog](#projen-catalog)</code> | Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:.<br/>__*Default*__: new version will be announced
8545
8913
  **cdkAssert**?🔹 | <code>boolean</code> | Install the @aws-cdk/assert library?<br/>__*Default*__: true
8546
8914
  **cdkDependencies**?🔹 | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?<br/>__*Optional*__
@@ -8548,6 +8916,7 @@ Name | Type | Description
8548
8916
  **cdkTestDependencies**?🔹 | <code>Array<string></code> | AWS CDK modules required for testing.<br/>__*Optional*__
8549
8917
  **cdkVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Default*__: false
8550
8918
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
8919
+ **codeArtifactOptions**?🔹 | <code>[CodeArtifactOptions](#projen-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
8551
8920
  **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
8552
8921
  **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
8553
8922
  **compat**?🔹 | <code>boolean</code> | Automatically run API compatibility test against the latest version published to npm after compilation.<br/>__*Default*__: false
@@ -8582,6 +8951,8 @@ Name | Type | Description
8582
8951
  **jestOptions**?🔹 | <code>[JestOptions](#projen-jestoptions)</code> | Jest options.<br/>__*Default*__: default options
8583
8952
  **jsiiReleaseVersion**?🔹 | <code>string</code> | Version requirement of `jsii-release` which is used to publish modules to npm.<br/>__*Default*__: "latest"
8584
8953
  **keywords**?🔹 | <code>Array<string></code> | Keywords to include in `package.json`.<br/>__*Optional*__
8954
+ **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.<br/>__*Default*__: true
8955
+ **lambdaOptions**?🔹 | <code>[awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)</code> | Common options for all AWS Lambda functions.<br/>__*Default*__: default options
8585
8956
  **libdir**?🔹 | <code>string</code> | Typescript artifacts output directory.<br/>__*Default*__: "lib"
8586
8957
  **license**?🔹 | <code>string</code> | License's SPDX identifier.<br/>__*Default*__: "Apache-2.0"
8587
8958
  **licensed**?🔹 | <code>boolean</code> | Indicates if a license should be added.<br/>__*Default*__: true
@@ -8692,13 +9063,16 @@ Name | Type | Description
8692
9063
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
8693
9064
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
8694
9065
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
9066
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
8695
9067
  **cdkDependencies**?🔹 | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") this app uses.<br/>__*Optional*__
8696
9068
  **cdkVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Default*__: false
9069
+ **cdkout**?🔹 | <code>string</code> | cdk.out directory.<br/>__*Default*__: "cdk.out"
8697
9070
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
9071
+ **codeArtifactOptions**?🔹 | <code>[CodeArtifactOptions](#projen-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
8698
9072
  **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
8699
9073
  **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
8700
9074
  **compileBeforeTest**?🔹 | <code>boolean</code> | Compile the code before running tests.<br/>__*Default*__: if `testdir` is under `src/**`, the default is `true`, otherwise the default is `false`.
8701
- **context**?🔹 | <code>Map<string, string></code> | Additional context to include in `cdk.json`.<br/>__*Optional*__
9075
+ **context**?🔹 | <code>Map<string, string></code> | Additional context to include in `cdk.json`.<br/>__*Default*__: no additional context
8702
9076
  **copyrightOwner**?🔹 | <code>string</code> | License copyright owner.<br/>__*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
8703
9077
  **copyrightPeriod**?🔹 | <code>string</code> | The copyright years to put in the LICENSE file.<br/>__*Default*__: current year
8704
9078
  **dependabot**?🔹 | <code>boolean</code> | Use dependabot to handle dependency upgrades.<br/>__*Default*__: false
@@ -8716,6 +9090,7 @@ Name | Type | Description
8716
9090
  **entrypointTypes**?🔹 | <code>string</code> | The .d.ts file that includes the type declarations for this module.<br/>__*Default*__: .d.ts file derived from the project's entrypoint (usually lib/index.d.ts)
8717
9091
  **eslint**?🔹 | <code>boolean</code> | Setup eslint.<br/>__*Default*__: true
8718
9092
  **eslintOptions**?🔹 | <code>[EslintOptions](#projen-eslintoptions)</code> | Eslint options.<br/>__*Default*__: opinionated default options
9093
+ **featureFlags**?🔹 | <code>boolean</code> | Include all feature flags in cdk.json.<br/>__*Default*__: true
8719
9094
  **github**?🔹 | <code>boolean</code> | Enable GitHub integration.<br/>__*Default*__: true
8720
9095
  **githubOptions**?🔹 | <code>[github.GitHubOptions](#projen-github-githuboptions)</code> | Options for GitHub integration.<br/>__*Default*__: see GitHubOptions
8721
9096
  **gitignore**?🔹 | <code>Array<string></code> | Additional entries to .gitignore.<br/>__*Optional*__
@@ -8725,6 +9100,8 @@ Name | Type | Description
8725
9100
  **jestOptions**?🔹 | <code>[JestOptions](#projen-jestoptions)</code> | Jest options.<br/>__*Default*__: default options
8726
9101
  **jsiiReleaseVersion**?🔹 | <code>string</code> | Version requirement of `jsii-release` which is used to publish modules to npm.<br/>__*Default*__: "latest"
8727
9102
  **keywords**?🔹 | <code>Array<string></code> | Keywords to include in `package.json`.<br/>__*Optional*__
9103
+ **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.<br/>__*Default*__: true
9104
+ **lambdaOptions**?🔹 | <code>[awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)</code> | Common options for all AWS Lambda functions.<br/>__*Default*__: default options
8728
9105
  **libdir**?🔹 | <code>string</code> | Typescript artifacts output directory.<br/>__*Default*__: "lib"
8729
9106
  **license**?🔹 | <code>string</code> | License's SPDX identifier.<br/>__*Default*__: "Apache-2.0"
8730
9107
  **licensed**?🔹 | <code>boolean</code> | Indicates if a license should be added.<br/>__*Default*__: true
@@ -8782,7 +9159,7 @@ Name | Type | Description
8782
9159
  **releaseWorkflowSetupSteps**?🔹 | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | A set of workflow steps to execute in order to setup the workflow container.<br/>__*Optional*__
8783
9160
  **repository**?🔹 | <code>string</code> | The repository is the location where the actual code for your package lives.<br/>__*Optional*__
8784
9161
  **repositoryDirectory**?🔹 | <code>string</code> | If the package.json for your package is not in the root directory (for example if it is part of a monorepo), you can specify the directory in which it lives.<br/>__*Optional*__
8785
- **requireApproval**?🔹 | <code>[CdkApprovalLevel](#projen-cdkapprovallevel)</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*__: CdkApprovalLevel.BROADENING
9162
+ **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
8786
9163
  **sampleCode**?🔹 | <code>boolean</code> | Generate one-time sample in `src/` and `test/` if there are no files there.<br/>__*Default*__: true
8787
9164
  **scripts**?🔹 | <code>Map<string, string></code> | npm scripts to include.<br/>__*Default*__: {}
8788
9165
  **srcdir**?🔹 | <code>string</code> | Typescript sources directory.<br/>__*Default*__: "src"
@@ -8844,12 +9221,14 @@ Name | Type | Description
8844
9221
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
8845
9222
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
8846
9223
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
9224
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
8847
9225
  **cdk8sCliVersion**?🔹 | <code>string</code> | cdk8s-cli version.<br/>__*Default*__: "cdk8sVersion"
8848
9226
  **cdk8sCliVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK8s-cli.<br/>__*Default*__: false
8849
9227
  **cdk8sPlusVersion**?🔹 | <code>string</code> | cdk8s-plus-17 version.<br/>__*Default*__: "cdk8sVersion"
8850
9228
  **cdk8sPlusVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for cdk8s-plus-17.<br/>__*Default*__: false
8851
9229
  **cdk8sVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK8s.<br/>__*Default*__: false
8852
9230
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
9231
+ **codeArtifactOptions**?🔹 | <code>[CodeArtifactOptions](#projen-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
8853
9232
  **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
8854
9233
  **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
8855
9234
  **compileBeforeTest**?🔹 | <code>boolean</code> | Compile the code before running tests.<br/>__*Default*__: if `testdir` is under `src/**`, the default is `true`, otherwise the default is `false`.
@@ -8957,6 +9336,20 @@ Name | Type | Description
8957
9336
 
8958
9337
 
8959
9338
 
9339
+ ## struct CodeArtifactOptions 🔹 <a id="projen-codeartifactoptions"></a>
9340
+
9341
+
9342
+
9343
+
9344
+
9345
+
9346
+ Name | Type | Description
9347
+ -----|------|-------------
9348
+ **accessKeyIdSecret**?🔹 | <code>string</code> | GitHub secret which contains the AWS access key ID to use when publishing packages to AWS CodeArtifact.<br/>__*Default*__: "AWS_ACCESS_KEY_ID"
9349
+ **secretAccessKeySecret**?🔹 | <code>string</code> | GitHub secret which contains the AWS secret access key to use when publishing packages to AWS CodeArtifact.<br/>__*Default*__: "AWS_SECRET_ACCESS_KEY"
9350
+
9351
+
9352
+
8960
9353
  ## struct ConstructLibraryAwsOptions ⚠️ <a id="projen-constructlibraryawsoptions"></a>
8961
9354
 
8962
9355
 
@@ -8987,6 +9380,7 @@ Name | Type | Description
8987
9380
  **bin**?⚠️ | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
8988
9381
  **buildWorkflow**?⚠️ | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
8989
9382
  **bundledDeps**?⚠️ | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
9383
+ **bundlerOptions**?⚠️ | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
8990
9384
  **catalog**?⚠️ | <code>[Catalog](#projen-catalog)</code> | Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:.<br/>__*Default*__: new version will be announced
8991
9385
  **cdkAssert**?⚠️ | <code>boolean</code> | Install the @aws-cdk/assert library?<br/>__*Default*__: true
8992
9386
  **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?<br/>__*Optional*__
@@ -8994,6 +9388,7 @@ Name | Type | Description
8994
9388
  **cdkTestDependencies**?⚠️ | <code>Array<string></code> | AWS CDK modules required for testing.<br/>__*Optional*__
8995
9389
  **cdkVersionPinning**?⚠️ | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Default*__: false
8996
9390
  **clobber**?⚠️ | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
9391
+ **codeArtifactOptions**?⚠️ | <code>[CodeArtifactOptions](#projen-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
8997
9392
  **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
8998
9393
  **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
8999
9394
  **compat**?⚠️ | <code>boolean</code> | Automatically run API compatibility test against the latest version published to npm after compilation.<br/>__*Default*__: false
@@ -9028,6 +9423,8 @@ Name | Type | Description
9028
9423
  **jestOptions**?⚠️ | <code>[JestOptions](#projen-jestoptions)</code> | Jest options.<br/>__*Default*__: default options
9029
9424
  **jsiiReleaseVersion**?⚠️ | <code>string</code> | Version requirement of `jsii-release` which is used to publish modules to npm.<br/>__*Default*__: "latest"
9030
9425
  **keywords**?⚠️ | <code>Array<string></code> | Keywords to include in `package.json`.<br/>__*Optional*__
9426
+ **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.<br/>__*Default*__: true
9427
+ **lambdaOptions**?⚠️ | <code>[awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)</code> | Common options for all AWS Lambda functions.<br/>__*Default*__: default options
9031
9428
  **libdir**?⚠️ | <code>string</code> | Typescript artifacts output directory.<br/>__*Default*__: "lib"
9032
9429
  **license**?⚠️ | <code>string</code> | License's SPDX identifier.<br/>__*Default*__: "Apache-2.0"
9033
9430
  **licensed**?⚠️ | <code>boolean</code> | Indicates if a license should be added.<br/>__*Default*__: true
@@ -9140,11 +9537,13 @@ Name | Type | Description
9140
9537
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
9141
9538
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
9142
9539
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
9540
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
9143
9541
  **catalog**?🔹 | <code>[Catalog](#projen-catalog)</code> | Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:.<br/>__*Default*__: new version will be announced
9144
9542
  **cdk8sPlusVersion**?🔹 | <code>string</code> | cdk8s-plus-17 version.<br/>__*Default*__: "cdk8sVersion"
9145
9543
  **cdk8sPlusVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for cdk8s-plus-17.<br/>__*Default*__: false
9146
9544
  **cdk8sVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK8s.<br/>__*Default*__: false
9147
9545
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
9546
+ **codeArtifactOptions**?🔹 | <code>[CodeArtifactOptions](#projen-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
9148
9547
  **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
9149
9548
  **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
9150
9549
  **compat**?🔹 | <code>boolean</code> | Automatically run API compatibility test against the latest version published to npm after compilation.<br/>__*Default*__: false
@@ -9292,8 +9691,10 @@ Name | Type | Description
9292
9691
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
9293
9692
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
9294
9693
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
9694
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
9295
9695
  **catalog**?🔹 | <code>[Catalog](#projen-catalog)</code> | Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:.<br/>__*Default*__: new version will be announced
9296
9696
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
9697
+ **codeArtifactOptions**?🔹 | <code>[CodeArtifactOptions](#projen-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
9297
9698
  **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
9298
9699
  **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
9299
9700
  **compat**?🔹 | <code>boolean</code> | Automatically run API compatibility test against the latest version published to npm after compilation.<br/>__*Default*__: false
@@ -9438,8 +9839,10 @@ Name | Type | Description
9438
9839
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
9439
9840
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
9440
9841
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
9842
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
9441
9843
  **catalog**?🔹 | <code>[Catalog](#projen-catalog)</code> | Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:.<br/>__*Default*__: new version will be announced
9442
9844
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
9845
+ **codeArtifactOptions**?🔹 | <code>[CodeArtifactOptions](#projen-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
9443
9846
  **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
9444
9847
  **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
9445
9848
  **compat**?🔹 | <code>boolean</code> | Automatically run API compatibility test against the latest version published to npm after compilation.<br/>__*Default*__: false
@@ -9732,6 +10135,7 @@ Name | Type | Description
9732
10135
  **ignorePatterns**?🔹 | <code>Array<string></code> | List of file patterns that should not be linted, using the same syntax as .gitignore patterns.<br/>__*Default*__: [ '*.js', '*.d.ts', 'node_modules/', '*.generated.ts', 'coverage' ]
9733
10136
  **lintProjenRc**?🔹 | <code>boolean</code> | Should we lint .projenrc.js.<br/>__*Default*__: true
9734
10137
  **prettier**?🔹 | <code>boolean</code> | Enable prettier for code formatting.<br/>__*Default*__: false
10138
+ **tsAlwaysTryTypes**?🔹 | <code>boolean</code> | Always try to resolve types under `<root>@types` directory even it doesn't contain any source code.<br/>__*Default*__: true
9735
10139
  **tsconfigPath**?🔹 | <code>string</code> | Path to `tsconfig.json` which should be used by eslint.<br/>__*Default*__: "./tsconfig.json"
9736
10140
 
9737
10141
 
@@ -10270,7 +10674,9 @@ Name | Type | Description
10270
10674
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
10271
10675
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
10272
10676
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
10677
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
10273
10678
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
10679
+ **codeArtifactOptions**?🔹 | <code>[CodeArtifactOptions](#projen-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
10274
10680
  **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
10275
10681
  **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
10276
10682
  **compat**?🔹 | <code>boolean</code> | Automatically run API compatibility test against the latest version published to npm after compilation.<br/>__*Default*__: false
@@ -10504,6 +10910,7 @@ Name | Type | Description
10504
10910
  **autoDetectBin**?🔹 | <code>boolean</code> | Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section.<br/>__*Default*__: true
10505
10911
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
10506
10912
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
10913
+ **codeArtifactOptions**?🔹 | <code>[CodeArtifactOptions](#projen-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
10507
10914
  **deps**?🔹 | <code>Array<string></code> | Runtime dependencies of this module.<br/>__*Default*__: []
10508
10915
  **description**?🔹 | <code>string</code> | The description is just a string that helps people understand the purpose of the package.<br/>__*Optional*__
10509
10916
  **devDeps**?🔹 | <code>Array<string></code> | Build dependencies for this module.<br/>__*Default*__: []
@@ -10557,7 +10964,9 @@ Name | Type | Description
10557
10964
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
10558
10965
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
10559
10966
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
10967
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
10560
10968
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
10969
+ **codeArtifactOptions**?🔹 | <code>[CodeArtifactOptions](#projen-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
10561
10970
  **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
10562
10971
  **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
10563
10972
  **copyrightOwner**?🔹 | <code>string</code> | License copyright owner.<br/>__*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -10905,7 +11314,9 @@ Name | Type | Description
10905
11314
  **bin**?⚠️ | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
10906
11315
  **buildWorkflow**?⚠️ | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
10907
11316
  **bundledDeps**?⚠️ | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
11317
+ **bundlerOptions**?⚠️ | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
10908
11318
  **clobber**?⚠️ | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
11319
+ **codeArtifactOptions**?⚠️ | <code>[CodeArtifactOptions](#projen-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
10909
11320
  **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
10910
11321
  **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
10911
11322
  **compileBeforeTest**?⚠️ | <code>boolean</code> | Compile the code before running tests.<br/>__*Default*__: if `testdir` is under `src/**`, the default is `true`, otherwise the default is `false`.
@@ -11037,7 +11448,9 @@ Name | Type | Description
11037
11448
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
11038
11449
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
11039
11450
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
11451
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
11040
11452
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
11453
+ **codeArtifactOptions**?🔹 | <code>[CodeArtifactOptions](#projen-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
11041
11454
  **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
11042
11455
  **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
11043
11456
  **compileBeforeTest**?🔹 | <code>boolean</code> | Compile the code before running tests.<br/>__*Default*__: if `testdir` is under `src/**`, the default is `true`, otherwise the default is `false`.
@@ -11250,6 +11663,145 @@ Name | Type | Description
11250
11663
 
11251
11664
 
11252
11665
 
11666
+ ## struct AutoDiscoverOptions 🔹 <a id="projen-awscdk-autodiscoveroptions"></a>
11667
+
11668
+
11669
+ Options for `AutoDiscover`.
11670
+
11671
+
11672
+
11673
+ Name | Type | Description
11674
+ -----|------|-------------
11675
+ **libdir**🔹 | <code>string</code> | Output directory (where .js files go).
11676
+ **srcdir**🔹 | <code>string</code> | Project source tree (relative to project output directory).
11677
+ **lambdaOptions**?🔹 | <code>[awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)</code> | Options for auto-discovery of AWS Lambda functions.<br/>__*Optional*__
11678
+
11679
+
11680
+
11681
+ ## struct AwsCdkJavaAppOptions 🔹 <a id="projen-awscdk-awscdkjavaappoptions"></a>
11682
+
11683
+
11684
+
11685
+
11686
+
11687
+
11688
+ Name | Type | Description
11689
+ -----|------|-------------
11690
+ **artifactId**🔹 | <code>string</code> | The artifactId is generally the name that the project is known by.
11691
+ **cdkVersion**🔹 | <code>string</code> | AWS CDK version to use (you can use semantic versioning).
11692
+ **groupId**🔹 | <code>string</code> | This is generally unique amongst an organization or a project.
11693
+ **mainClass**🔹 | <code>string</code> | The name of the Java class with the static `main()` method.
11694
+ **name**🔹 | <code>string</code> | This is the name of your project.
11695
+ **version**🔹 | <code>string</code> | This is the last piece of the naming puzzle.
11696
+ **autoApproveOptions**?🔹 | <code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code> | Enable and configure the 'auto approve' workflow.<br/>__*Default*__: auto approve is disabled
11697
+ **autoMergeOptions**?🔹 | <code>[github.AutoMergeOptions](#projen-github-automergeoptions)</code> | Configure options for automatic merging on GitHub.<br/>__*Default*__: see defaults in `AutoMergeOptions`
11698
+ **cdkDependencies**?🔹 | <code>Array<string></code> | Which AWS CDK modules this app uses.<br/>__*Optional*__
11699
+ **cdkout**?🔹 | <code>string</code> | cdk.out directory.<br/>__*Default*__: "cdk.out"
11700
+ **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
11701
+ **compileOptions**?🔹 | <code>[java.MavenCompileOptions](#projen-java-mavencompileoptions)</code> | Compile options.<br/>__*Default*__: defaults
11702
+ **context**?🔹 | <code>Map<string, string></code> | Additional context to include in `cdk.json`.<br/>__*Default*__: no additional context
11703
+ **deps**?🔹 | <code>Array<string></code> | List of runtime dependencies for this project.<br/>__*Default*__: []
11704
+ **description**?🔹 | <code>string</code> | Description of a project is always good.<br/>__*Default*__: undefined
11705
+ **devContainer**?🔹 | <code>boolean</code> | Add a VSCode development environment (used for GitHub Codespaces).<br/>__*Default*__: false
11706
+ **distdir**?🔹 | <code>string</code> | Final artifact output directory.<br/>__*Default*__: "dist/java"
11707
+ **featureFlags**?🔹 | <code>boolean</code> | Include all feature flags in cdk.json.<br/>__*Default*__: true
11708
+ **github**?🔹 | <code>boolean</code> | Enable GitHub integration.<br/>__*Default*__: true
11709
+ **githubOptions**?🔹 | <code>[github.GitHubOptions](#projen-github-githuboptions)</code> | Options for GitHub integration.<br/>__*Default*__: see GitHubOptions
11710
+ **gitpod**?🔹 | <code>boolean</code> | Add a Gitpod development environment.<br/>__*Default*__: false
11711
+ **junit**?🔹 | <code>boolean</code> | Include junit tests.<br/>__*Default*__: true
11712
+ **junitOptions**?🔹 | <code>[java.JunitOptions](#projen-java-junitoptions)</code> | junit options.<br/>__*Default*__: defaults
11713
+ **logging**?🔹 | <code>[LoggerOptions](#projen-loggeroptions)</code> | Configure logging options such as verbosity.<br/>__*Default*__: {}
11714
+ **mergify**?⚠️ | <code>boolean</code> | Whether mergify should be enabled on this repository or not.<br/>__*Default*__: true
11715
+ **outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
11716
+ **packaging**?🔹 | <code>string</code> | Project packaging format.<br/>__*Default*__: "jar"
11717
+ **packagingOptions**?🔹 | <code>[java.MavenPackagingOptions](#projen-java-mavenpackagingoptions)</code> | Packaging options.<br/>__*Default*__: defaults
11718
+ **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
11719
+ **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
11720
+ **projenrcJava**?🔹 | <code>boolean</code> | Use projenrc in java.<br/>__*Default*__: true
11721
+ **projenrcJavaOptions**?🔹 | <code>[java.ProjenrcOptions](#projen-java-projenrcoptions)</code> | Options related to projenrc in java.<br/>__*Default*__: default options
11722
+ **projenrcJson**?🔹 | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.<br/>__*Default*__: false
11723
+ **projenrcJsonOptions**?🔹 | <code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
11724
+ **readme**?🔹 | <code>[SampleReadmeProps](#projen-samplereadmeprops)</code> | The README setup.<br/>__*Default*__: { filename: 'README.md', contents: '# replace this' }
11725
+ **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
11726
+ **sample**?🔹 | <code>boolean</code> | Include sample code and test if the relevant directories don't exist.<br/>__*Optional*__
11727
+ **sampleJavaPackage**?🔹 | <code>string</code> | The java package to use for the code sample.<br/>__*Default*__: "org.acme"
11728
+ **stale**?🔹 | <code>boolean</code> | Auto-close of stale issues and pull request.<br/>__*Default*__: true
11729
+ **staleOptions**?🔹 | <code>[github.StaleOptions](#projen-github-staleoptions)</code> | Auto-close stale issues and pull requests.<br/>__*Default*__: see defaults in `StaleOptions`
11730
+ **testDeps**?🔹 | <code>Array<string></code> | List of test dependencies for this project.<br/>__*Default*__: []
11731
+ **url**?🔹 | <code>string</code> | The URL, like the name, is not required.<br/>__*Default*__: undefined
11732
+ **vscode**?🔹 | <code>boolean</code> | Enable VSCode integration.<br/>__*Default*__: true
11733
+
11734
+
11735
+
11736
+ ## struct CdkConfigCommonOptions 🔹 <a id="projen-awscdk-cdkconfigcommonoptions"></a>
11737
+
11738
+
11739
+ Common options for `cdk.json`.
11740
+
11741
+
11742
+
11743
+ Name | Type | Description
11744
+ -----|------|-------------
11745
+ **cdkout**?🔹 | <code>string</code> | cdk.out directory.<br/>__*Default*__: "cdk.out"
11746
+ **context**?🔹 | <code>Map<string, string></code> | Additional context to include in `cdk.json`.<br/>__*Default*__: no additional context
11747
+ **featureFlags**?🔹 | <code>boolean</code> | Include all feature flags in cdk.json.<br/>__*Default*__: true
11748
+ **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
11749
+
11750
+
11751
+
11752
+ ## struct CdkConfigOptions 🔹 <a id="projen-awscdk-cdkconfigoptions"></a>
11753
+
11754
+
11755
+ Options for `CdkJson`.
11756
+
11757
+
11758
+
11759
+ Name | Type | Description
11760
+ -----|------|-------------
11761
+ **app**🔹 | <code>string</code> | The command line to execute in order to synthesize the CDK application (language specific).
11762
+ **cdkout**?🔹 | <code>string</code> | cdk.out directory.<br/>__*Default*__: "cdk.out"
11763
+ **context**?🔹 | <code>Map<string, string></code> | Additional context to include in `cdk.json`.<br/>__*Default*__: no additional context
11764
+ **featureFlags**?🔹 | <code>boolean</code> | Include all feature flags in cdk.json.<br/>__*Default*__: true
11765
+ **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
11766
+
11767
+
11768
+
11769
+ ## struct LambdaFunctionCommonOptions 🔹 <a id="projen-awscdk-lambdafunctioncommonoptions"></a>
11770
+
11771
+
11772
+ Common options for `LambdaFunction`.
11773
+
11774
+ Applies to all functions in
11775
+ auto-discovery.
11776
+
11777
+
11778
+
11779
+ Name | Type | Description
11780
+ -----|------|-------------
11781
+ **externals**?🔹 | <code>Array<string></code> | Names of modules which should not be included in the bundle.<br/>__*Default*__: by default, the "aws-sdk" module will be excluded from the bundle. Note that if you use this option you will need to add "aws-sdk" explicitly.
11782
+ **runtime**?🔹 | <code>[awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime)</code> | The node.js version to target.<br/>__*Default*__: Runtime.NODEJS_14_X
11783
+
11784
+
11785
+
11786
+ ## struct LambdaFunctionOptions 🔹 <a id="projen-awscdk-lambdafunctionoptions"></a>
11787
+
11788
+
11789
+ Options for `Function`.
11790
+
11791
+
11792
+
11793
+ Name | Type | Description
11794
+ -----|------|-------------
11795
+ **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).
11796
+ **libdir**🔹 | <code>string</code> | JavaScript output directory (where .js files go).
11797
+ **srcdir**🔹 | <code>string</code> | Project source directory tree (where .ts files live).
11798
+ **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`.
11799
+ **constructName**?🔹 | <code>string</code> | The name of the generated `lambda.Function` subclass.<br/>__*Default*__: A pascal cased version of the name of the entrypoint file, with the extension `Function` (e.g. `ResizeImageFunction`).
11800
+ **externals**?🔹 | <code>Array<string></code> | Names of modules which should not be included in the bundle.<br/>__*Default*__: by default, the "aws-sdk" module will be excluded from the bundle. Note that if you use this option you will need to add "aws-sdk" explicitly.
11801
+ **runtime**?🔹 | <code>[awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime)</code> | The node.js version to target.<br/>__*Default*__: Runtime.NODEJS_14_X
11802
+
11803
+
11804
+
11253
11805
  ## struct Dependency 🔹 <a id="projen-deps-dependency"></a>
11254
11806
 
11255
11807
  __Obtainable from__: [Dependencies](#projen-deps-dependencies).[addDependency](#projen-deps-dependencies#projen-deps-dependencies-adddependency)(), [Dependencies](#projen-deps-dependencies).[getDependency](#projen-deps-dependencies#projen-deps-dependencies-getdependency)(), [JavaProject](#projen-java-javaproject).[addPlugin](#projen-java-javaproject#projen-java-javaproject-addplugin)(), [Pom](#projen-java-pom).[addPlugin](#projen-java-pom#projen-java-pom-addplugin)()
@@ -11537,6 +12089,52 @@ Name | Type | Description
11537
12089
 
11538
12090
 
11539
12091
 
12092
+ ## struct JavaProjectCommonOptions 🔹 <a id="projen-java-javaprojectcommonoptions"></a>
12093
+
12094
+
12095
+ Options for `JavaProject`.
12096
+
12097
+
12098
+
12099
+ Name | Type | Description
12100
+ -----|------|-------------
12101
+ **artifactId**🔹 | <code>string</code> | The artifactId is generally the name that the project is known by.
12102
+ **groupId**🔹 | <code>string</code> | This is generally unique amongst an organization or a project.
12103
+ **name**🔹 | <code>string</code> | This is the name of your project.
12104
+ **version**🔹 | <code>string</code> | This is the last piece of the naming puzzle.
12105
+ **autoApproveOptions**?🔹 | <code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code> | Enable and configure the 'auto approve' workflow.<br/>__*Default*__: auto approve is disabled
12106
+ **autoMergeOptions**?🔹 | <code>[github.AutoMergeOptions](#projen-github-automergeoptions)</code> | Configure options for automatic merging on GitHub.<br/>__*Default*__: see defaults in `AutoMergeOptions`
12107
+ **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
12108
+ **compileOptions**?🔹 | <code>[java.MavenCompileOptions](#projen-java-mavencompileoptions)</code> | Compile options.<br/>__*Default*__: defaults
12109
+ **deps**?🔹 | <code>Array<string></code> | List of runtime dependencies for this project.<br/>__*Default*__: []
12110
+ **description**?🔹 | <code>string</code> | Description of a project is always good.<br/>__*Default*__: undefined
12111
+ **devContainer**?🔹 | <code>boolean</code> | Add a VSCode development environment (used for GitHub Codespaces).<br/>__*Default*__: false
12112
+ **distdir**?🔹 | <code>string</code> | Final artifact output directory.<br/>__*Default*__: "dist/java"
12113
+ **github**?🔹 | <code>boolean</code> | Enable GitHub integration.<br/>__*Default*__: true
12114
+ **githubOptions**?🔹 | <code>[github.GitHubOptions](#projen-github-githuboptions)</code> | Options for GitHub integration.<br/>__*Default*__: see GitHubOptions
12115
+ **gitpod**?🔹 | <code>boolean</code> | Add a Gitpod development environment.<br/>__*Default*__: false
12116
+ **junit**?🔹 | <code>boolean</code> | Include junit tests.<br/>__*Default*__: true
12117
+ **junitOptions**?🔹 | <code>[java.JunitOptions](#projen-java-junitoptions)</code> | junit options.<br/>__*Default*__: defaults
12118
+ **logging**?🔹 | <code>[LoggerOptions](#projen-loggeroptions)</code> | Configure logging options such as verbosity.<br/>__*Default*__: {}
12119
+ **mergify**?⚠️ | <code>boolean</code> | Whether mergify should be enabled on this repository or not.<br/>__*Default*__: true
12120
+ **outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
12121
+ **packaging**?🔹 | <code>string</code> | Project packaging format.<br/>__*Default*__: "jar"
12122
+ **packagingOptions**?🔹 | <code>[java.MavenPackagingOptions](#projen-java-mavenpackagingoptions)</code> | Packaging options.<br/>__*Default*__: defaults
12123
+ **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
12124
+ **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
12125
+ **projenrcJava**?🔹 | <code>boolean</code> | Use projenrc in java.<br/>__*Default*__: true
12126
+ **projenrcJavaOptions**?🔹 | <code>[java.ProjenrcOptions](#projen-java-projenrcoptions)</code> | Options related to projenrc in java.<br/>__*Default*__: default options
12127
+ **projenrcJson**?🔹 | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.<br/>__*Default*__: false
12128
+ **projenrcJsonOptions**?🔹 | <code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
12129
+ **readme**?🔹 | <code>[SampleReadmeProps](#projen-samplereadmeprops)</code> | The README setup.<br/>__*Default*__: { filename: 'README.md', contents: '# replace this' }
12130
+ **stale**?🔹 | <code>boolean</code> | Auto-close of stale issues and pull request.<br/>__*Default*__: true
12131
+ **staleOptions**?🔹 | <code>[github.StaleOptions](#projen-github-staleoptions)</code> | Auto-close stale issues and pull requests.<br/>__*Default*__: see defaults in `StaleOptions`
12132
+ **testDeps**?🔹 | <code>Array<string></code> | List of test dependencies for this project.<br/>__*Default*__: []
12133
+ **url**?🔹 | <code>string</code> | The URL, like the name, is not required.<br/>__*Default*__: undefined
12134
+ **vscode**?🔹 | <code>boolean</code> | Enable VSCode integration.<br/>__*Default*__: true
12135
+
12136
+
12137
+
11540
12138
  ## struct JavaProjectOptions 🔹 <a id="projen-java-javaprojectoptions"></a>
11541
12139
 
11542
12140
 
@@ -11705,6 +12303,52 @@ Name | Type | Description
11705
12303
 
11706
12304
 
11707
12305
 
12306
+ ## struct BundleOptions 🔹 <a id="projen-javascript-bundleoptions"></a>
12307
+
12308
+
12309
+ Options for bundling.
12310
+
12311
+
12312
+
12313
+ Name | Type | Description
12314
+ -----|------|-------------
12315
+ **entrypoint**🔹 | <code>string</code> | The entrypoint of the code you wish to bundle.
12316
+ **outfile**🔹 | <code>string</code> | This option sets the output file name for the build operation.
12317
+ **platform**🔹 | <code>string</code> | esbuild platform.
12318
+ **target**🔹 | <code>string</code> | esbuild target.
12319
+ **externals**?🔹 | <code>Array<string></code> | You can mark a file or a package as external to exclude it from your build.<br/>__*Default*__: []
12320
+ **sourcemap**?🔹 | <code>boolean</code> | Include a source map in the bundle.<br/>__*Default*__: true
12321
+ **watchTask**?🔹 | <code>boolean</code> | In addition to the `bundle:xyz` task, creates `bundle:xyz:watch` task which will invoke the same esbuild command with the `--watch` flag.<br/>__*Default*__: true
12322
+
12323
+
12324
+
12325
+ ## struct BundlerCommonOptions 🔹 <a id="projen-javascript-bundlercommonoptions"></a>
12326
+
12327
+
12328
+ Common options for `Bundler`.
12329
+
12330
+
12331
+
12332
+ Name | Type | Description
12333
+ -----|------|-------------
12334
+ **esbuildVersion**?🔹 | <code>string</code> | The semantic version requirement for `esbuild`.<br/>__*Default*__: no specific version (implies latest)
12335
+
12336
+
12337
+
12338
+ ## struct BundlerOptions 🔹 <a id="projen-javascript-bundleroptions"></a>
12339
+
12340
+
12341
+ Options for `Bundler`.
12342
+
12343
+
12344
+
12345
+ Name | Type | Description
12346
+ -----|------|-------------
12347
+ **parentTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | A parent task that will spawn the "bundle" task (usually "compile").
12348
+ **esbuildVersion**?🔹 | <code>string</code> | The semantic version requirement for `esbuild`.<br/>__*Default*__: no specific version (implies latest)
12349
+
12350
+
12351
+
11708
12352
  ## struct NpmConfigOptions 🔹 <a id="projen-javascript-npmconfigoptions"></a>
11709
12353
 
11710
12354
 
@@ -12096,6 +12740,20 @@ Name | Type | Description
12096
12740
 
12097
12741
 
12098
12742
 
12743
+ ## struct CodeArtifactOptions 🔹 <a id="projen-release-codeartifactoptions"></a>
12744
+
12745
+
12746
+
12747
+
12748
+
12749
+
12750
+ Name | Type | Description
12751
+ -----|------|-------------
12752
+ **accessKeyIdSecret**?🔹 | <code>string</code> | GitHub secret which contains the AWS access key ID to use when publishing packages to AWS CodeArtifact.<br/>__*Default*__: "AWS_ACCESS_KEY_ID"
12753
+ **secretAccessKeySecret**?🔹 | <code>string</code> | GitHub secret which contains the AWS secret access key to use when publishing packages to AWS CodeArtifact.<br/>__*Default*__: "AWS_SECRET_ACCESS_KEY"
12754
+
12755
+
12756
+
12099
12757
  ## struct GitHubReleasesPublishOptions 🔹 <a id="projen-release-githubreleasespublishoptions"></a>
12100
12758
 
12101
12759
 
@@ -12175,6 +12833,7 @@ Name | Type | Description
12175
12833
 
12176
12834
  Name | Type | Description
12177
12835
  -----|------|-------------
12836
+ **codeArtifactOptions**?⚠️ | <code>[release.CodeArtifactOptions](#projen-release-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
12178
12837
  **distTag**?⚠️ | <code>string</code> | Tags can be used to provide an alias instead of version numbers.<br/>__*Default*__: "latest"
12179
12838
  **npmTokenSecret**?⚠️ | <code>string</code> | GitHub secret which contains the NPM token to use when publishing packages.<br/>__*Default*__: "NPM_TOKEN" or "GITHUB_TOKEN" if `registry` is set to `npm.pkg.github.com`.
12180
12839
  **registry**?⚠️ | <code>string</code> | The domain name of the npm package registry.<br/>__*Default*__: "registry.npmjs.org"
@@ -12252,6 +12911,7 @@ Options for npm release.
12252
12911
 
12253
12912
  Name | Type | Description
12254
12913
  -----|------|-------------
12914
+ **codeArtifactOptions**?🔹 | <code>[release.CodeArtifactOptions](#projen-release-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
12255
12915
  **distTag**?🔹 | <code>string</code> | Tags can be used to provide an alias instead of version numbers.<br/>__*Default*__: "latest"
12256
12916
  **npmTokenSecret**?🔹 | <code>string</code> | GitHub secret which contains the NPM token to use when publishing packages.<br/>__*Default*__: "NPM_TOKEN" or "GITHUB_TOKEN" if `registry` is set to `npm.pkg.github.com`.
12257
12917
  **registry**?🔹 | <code>string</code> | The domain name of the npm package registry.<br/>__*Default*__: "registry.npmjs.org"
@@ -12626,7 +13286,9 @@ Name | Type | Description
12626
13286
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
12627
13287
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
12628
13288
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
13289
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
12629
13290
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
13291
+ **codeArtifactOptions**?🔹 | <code>[CodeArtifactOptions](#projen-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
12630
13292
  **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
12631
13293
  **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
12632
13294
  **copyrightOwner**?🔹 | <code>string</code> | License copyright owner.<br/>__*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -12744,7 +13406,9 @@ Name | Type | Description
12744
13406
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
12745
13407
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
12746
13408
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
13409
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
12747
13410
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
13411
+ **codeArtifactOptions**?🔹 | <code>[CodeArtifactOptions](#projen-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
12748
13412
  **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
12749
13413
  **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
12750
13414
  **compileBeforeTest**?🔹 | <code>boolean</code> | Compile the code before running tests.<br/>__*Default*__: if `testdir` is under `src/**`, the default is `true`, otherwise the default is `false`.
@@ -12906,7 +13570,9 @@ Name | Type | Description
12906
13570
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
12907
13571
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
12908
13572
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
13573
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
12909
13574
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
13575
+ **codeArtifactOptions**?🔹 | <code>[CodeArtifactOptions](#projen-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
12910
13576
  **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
12911
13577
  **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
12912
13578
  **copyrightOwner**?🔹 | <code>string</code> | License copyright owner.<br/>__*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -13052,7 +13718,9 @@ Name | Type | Description
13052
13718
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
13053
13719
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
13054
13720
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
13721
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
13055
13722
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
13723
+ **codeArtifactOptions**?🔹 | <code>[CodeArtifactOptions](#projen-codeartifactoptions)</code> | Options for publishing npm package to AWS CodeArtifact.<br/>__*Default*__: undefined
13056
13724
  **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
13057
13725
  **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
13058
13726
  **compileBeforeTest**?🔹 | <code>boolean</code> | Compile the code before running tests.<br/>__*Default*__: if `testdir` is under `src/**`, the default is `true`, otherwise the default is `false`.
@@ -13182,17 +13850,6 @@ Name | Description
13182
13850
  **DAILY** 🔹|Automatically bump & release a new version on a daily basis.
13183
13851
 
13184
13852
 
13185
- ## enum CdkApprovalLevel 🔹 <a id="projen-cdkapprovallevel"></a>
13186
-
13187
-
13188
-
13189
- Name | Description
13190
- -----|-----
13191
- **NEVER** 🔹|Approval is never required.
13192
- **ANY_CHANGE** 🔹|Requires approval on any IAM or security-group-related change.
13193
- **BROADENING** 🔹|Requires approval when IAM statements or traffic rules are added;
13194
-
13195
-
13196
13853
  ## enum DockerComposeProtocol 🔹 <a id="projen-dockercomposeprotocol"></a>
13197
13854
 
13198
13855
  Network protocol for port mapping.
@@ -13344,6 +14001,17 @@ Name | Description
13344
14001
  **NODE** 🔹|Resolution strategy which attempts to mimic the Node.js module resolution strategy at runtime.
13345
14002
 
13346
14003
 
14004
+ ## enum ApprovalLevel 🔹 <a id="projen-awscdk-approvallevel"></a>
14005
+
14006
+ Which approval is required when deploying CDK apps.
14007
+
14008
+ Name | Description
14009
+ -----|-----
14010
+ **NEVER** 🔹|Approval is never required.
14011
+ **ANY_CHANGE** 🔹|Requires approval on any IAM or security-group-related change.
14012
+ **BROADENING** 🔹|Requires approval when IAM statements or traffic rules are added;
14013
+
14014
+
13347
14015
  ## enum DependencyType 🔹 <a id="projen-deps-dependencytype"></a>
13348
14016
 
13349
14017
  Type of dependency.