projen 0.31.18 → 0.32.2

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 (143) hide show
  1. package/.jsii +2150 -444
  2. package/API.md +735 -78
  3. package/README.md +1 -0
  4. package/docs/aws-lambda.md +103 -0
  5. package/docs/programmatic-api.md +56 -0
  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/cli/cmds/new.js +23 -65
  28. package/lib/cli/util.d.ts +19 -0
  29. package/lib/cli/util.js +52 -0
  30. package/lib/common.js +6 -2
  31. package/lib/component.js +1 -1
  32. package/lib/construct-lib.js +1 -1
  33. package/lib/deps/dependencies.js +1 -1
  34. package/lib/dev-env.js +1 -1
  35. package/lib/docker-compose.js +2 -2
  36. package/lib/eslint.d.ts +18 -0
  37. package/lib/eslint.js +17 -5
  38. package/lib/file.js +1 -1
  39. package/lib/git/gitattributes.js +1 -1
  40. package/lib/github/auto-approve.js +1 -1
  41. package/lib/github/auto-merge.js +1 -1
  42. package/lib/github/dependabot.js +1 -1
  43. package/lib/github/github.js +1 -1
  44. package/lib/github/mergify.js +1 -1
  45. package/lib/github/pr-template.js +1 -1
  46. package/lib/github/stale.js +1 -1
  47. package/lib/github/task-workflow.js +1 -1
  48. package/lib/github/workflows.js +4 -5
  49. package/lib/gitpod.js +1 -1
  50. package/lib/ignore-file.js +1 -1
  51. package/lib/index.d.ts +2 -0
  52. package/lib/index.js +3 -1
  53. package/lib/ini.js +1 -1
  54. package/lib/inventory.d.ts +15 -3
  55. package/lib/inventory.js +53 -29
  56. package/lib/java/java-project.d.ts +28 -14
  57. package/lib/java/java-project.js +3 -2
  58. package/lib/java/junit.js +1 -1
  59. package/lib/java/maven-compile.js +1 -1
  60. package/lib/java/maven-packaging.js +1 -1
  61. package/lib/java/maven-sample.js +1 -1
  62. package/lib/java/pom.js +1 -1
  63. package/lib/java/projenrc.js +1 -1
  64. package/lib/javascript/bundler.d.ts +144 -0
  65. package/lib/javascript/bundler.js +93 -0
  66. package/lib/javascript/index.d.ts +1 -0
  67. package/lib/javascript/index.js +2 -1
  68. package/lib/javascript/npm-config.js +1 -1
  69. package/lib/javascript/projenrc.js +3 -3
  70. package/lib/javascript/render-options.d.ts +5 -0
  71. package/lib/javascript/render-options.js +24 -21
  72. package/lib/jest.js +1 -1
  73. package/lib/jsii-project.js +1 -1
  74. package/lib/json/projenrc.js +1 -1
  75. package/lib/json/run-projenrc.task.js +6 -11
  76. package/lib/json.js +1 -1
  77. package/lib/license.js +1 -1
  78. package/lib/logger.js +1 -1
  79. package/lib/makefile.js +1 -1
  80. package/lib/node-package.js +1 -1
  81. package/lib/node-project.d.ts +11 -1
  82. package/lib/node-project.js +9 -4
  83. package/lib/object-file.js +1 -1
  84. package/lib/project.js +2 -2
  85. package/lib/projects.d.ts +80 -0
  86. package/lib/projects.js +81 -0
  87. package/lib/python/pip.js +1 -1
  88. package/lib/python/poetry.js +2 -2
  89. package/lib/python/projenrc.js +4 -5
  90. package/lib/python/pytest.js +1 -1
  91. package/lib/python/python-project.js +1 -1
  92. package/lib/python/python-sample.js +1 -1
  93. package/lib/python/requirements-file.js +1 -1
  94. package/lib/python/setuppy.js +1 -1
  95. package/lib/python/setuptools.js +1 -1
  96. package/lib/python/venv.js +1 -1
  97. package/lib/readme.js +1 -1
  98. package/lib/release/publisher.js +1 -1
  99. package/lib/release/release-trigger.js +1 -1
  100. package/lib/release/release.js +1 -1
  101. package/lib/sample-file.js +2 -2
  102. package/lib/semver.js +1 -1
  103. package/lib/source-code.js +1 -1
  104. package/lib/tasks/runtime.js +1 -1
  105. package/lib/tasks/task.js +1 -1
  106. package/lib/tasks/tasks.js +1 -1
  107. package/lib/textfile.js +1 -1
  108. package/lib/toml.js +1 -1
  109. package/lib/typescript/projenrc.js +3 -3
  110. package/lib/typescript-config.js +1 -1
  111. package/lib/typescript.js +3 -3
  112. package/lib/upgrade-dependencies.js +2 -2
  113. package/lib/util/synth.d.ts +4 -0
  114. package/lib/util/synth.js +35 -2
  115. package/lib/util.js +11 -3
  116. package/lib/version.js +1 -1
  117. package/lib/vscode/devcontainer.js +1 -1
  118. package/lib/vscode/launch-config.js +1 -1
  119. package/lib/vscode/vscode.js +1 -1
  120. package/lib/web/next.js +3 -3
  121. package/lib/web/postcss.js +1 -1
  122. package/lib/web/react.js +4 -4
  123. package/lib/web/tailwind.js +1 -1
  124. package/lib/xmlfile.js +1 -1
  125. package/lib/yaml.js +1 -1
  126. package/node_modules/case/LICENSE +22 -0
  127. package/node_modules/case/README.md +139 -0
  128. package/node_modules/case/case.d.ts +43 -0
  129. package/node_modules/case/dist/Case.js +171 -0
  130. package/node_modules/case/dist/Case.min.js +5 -0
  131. package/node_modules/case/dist/Case.min.js.map +1 -0
  132. package/node_modules/case/dist/Case.plus.js +189 -0
  133. package/node_modules/case/dist/Case.plus.min.js +5 -0
  134. package/node_modules/case/dist/Case.plus.min.js.map +1 -0
  135. package/node_modules/case/package.json +58 -0
  136. package/package.json +4 -4
  137. package/lib/cli/create.d.ts +0 -41
  138. package/lib/cli/create.js +0 -48
  139. package/node_modules/decamelize/index.d.ts +0 -20
  140. package/node_modules/decamelize/index.js +0 -12
  141. package/node_modules/decamelize/license +0 -9
  142. package/node_modules/decamelize/package.json +0 -40
  143. 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.
@@ -31,6 +31,7 @@ Name|Description
31
31
  [NodeProject](#projen-nodeproject)|Node.js project.
32
32
  [ObjectFile](#projen-objectfile)|Represents an Object file.
33
33
  [Project](#projen-project)|Base project.
34
+ [Projects](#projen-projects)|Programmatic API for projen.
34
35
  [SampleDir](#projen-sampledir)|Renders the given files into the directory if the directory does not exist.
35
36
  [SampleFile](#projen-samplefile)|Produces a file with the given contents but only once, if the file doesn't already exist.
36
37
  [SampleReadme](#projen-samplereadme)|Represents a README.md sample file. You are expected to manage this file after creation.
@@ -47,6 +48,12 @@ Name|Description
47
48
  [Version](#projen-version)|*No description*
48
49
  [XmlFile](#projen-xmlfile)|Represents an XML file.
49
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.
50
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.
51
58
  [git.GitAttributesFile](#projen-git-gitattributesfile)|Assign attributes to file names in a git repository.
52
59
  [github.AutoApprove](#projen-github-autoapprove)|Auto approve pull requests that meet a criteria.
@@ -65,6 +72,7 @@ Name|Description
65
72
  [java.MavenSample](#projen-java-mavensample)|Java code sample.
66
73
  [java.Pom](#projen-java-pom)|A Project Object Model or POM is the fundamental unit of work in Maven.
67
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.
68
76
  [javascript.NpmConfig](#projen-javascript-npmconfig)|File representing the local NPM config in .npmrc.
69
77
  [javascript.Projenrc](#projen-javascript-projenrc)|Sets up a javascript project to use TypeScript for projenrc.
70
78
  [json.Projenrc](#projen-json-projenrc)|Sets up a project to use JSON for projenrc.
@@ -113,6 +121,7 @@ Name|Description
113
121
  [ConstructLibraryCdktfOptions](#projen-constructlibrarycdktfoptions)|*No description*
114
122
  [ConstructLibraryOptions](#projen-constructlibraryoptions)|*No description*
115
123
  [CoverageThreshold](#projen-coveragethreshold)|*No description*
124
+ [CreateProjectOptions](#projen-createprojectoptions)|*No description*
116
125
  [DevEnvironmentOptions](#projen-devenvironmentoptions)|Base options for configuring a container-based development environment.
117
126
  [DockerComposeBuild](#projen-dockercomposebuild)|Build arguments for creating a docker image.
118
127
  [DockerComposePortMappingOptions](#projen-dockercomposeportmappingoptions)|Options for port mappings.
@@ -166,6 +175,12 @@ Name|Description
166
175
  [VersionOptions](#projen-versionoptions)|Options for `Version`.
167
176
  [XmlFileOptions](#projen-xmlfileoptions)|Options for `XmlFile`.
168
177
  [YamlFileOptions](#projen-yamlfileoptions)|Options for `JsonFile`.
178
+ [awscdk.AutoDiscoverOptions](#projen-awscdk-autodiscoveroptions)|Options for `AutoDiscover`.
179
+ [awscdk.AwsCdkJavaAppOptions](#projen-awscdk-awscdkjavaappoptions)|*No description*
180
+ [awscdk.CdkConfigCommonOptions](#projen-awscdk-cdkconfigcommonoptions)|Common options for `cdk.json`.
181
+ [awscdk.CdkConfigOptions](#projen-awscdk-cdkconfigoptions)|Options for `CdkJson`.
182
+ [awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)|Common options for `LambdaFunction`.
183
+ [awscdk.LambdaFunctionOptions](#projen-awscdk-lambdafunctionoptions)|Options for `Function`.
169
184
  [deps.Dependency](#projen-deps-dependency)|Represents a project dependency.
170
185
  [deps.DependencyCoordinates](#projen-deps-dependencycoordinates)|Coordinates of the dependency (name and version).
171
186
  [deps.DepsManifest](#projen-deps-depsmanifest)|*No description*
@@ -184,6 +199,7 @@ Name|Description
184
199
  [github.StaleBehavior](#projen-github-stalebehavior)|Stale behavior.
185
200
  [github.StaleOptions](#projen-github-staleoptions)|Options for `Stale`.
186
201
  [github.TaskWorkflowOptions](#projen-github-taskworkflowoptions)|*No description*
202
+ [java.JavaProjectCommonOptions](#projen-java-javaprojectcommonoptions)|Options for `JavaProject`.
187
203
  [java.JavaProjectOptions](#projen-java-javaprojectoptions)|Options for `JavaProject`.
188
204
  [java.JunitOptions](#projen-java-junitoptions)|Options for `Junit`.
189
205
  [java.MavenCompileOptions](#projen-java-mavencompileoptions)|Options for `MavenCompile`.
@@ -193,6 +209,9 @@ Name|Description
193
209
  [java.PluginOptions](#projen-java-pluginoptions)|Options for Maven plugins.
194
210
  [java.PomOptions](#projen-java-pomoptions)|Options for `Pom`.
195
211
  [java.ProjenrcOptions](#projen-java-projenrcoptions)|Options for `Projenrc`.
212
+ [javascript.BundleOptions](#projen-javascript-bundleoptions)|Options for bundling.
213
+ [javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)|Common options for `Bundler`.
214
+ [javascript.BundlerOptions](#projen-javascript-bundleroptions)|Options for `Bundler`.
196
215
  [javascript.NpmConfigOptions](#projen-javascript-npmconfigoptions)|Options to configure the local NPM config.
197
216
  [javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)|*No description*
198
217
  [json.ProjenrcOptions](#projen-json-projenrcoptions)|*No description*
@@ -269,7 +288,6 @@ Name|Description
269
288
  Name|Description
270
289
  ----|-----------
271
290
  [AutoRelease](#projen-autorelease)|Automatic bump modes.
272
- [CdkApprovalLevel](#projen-cdkapprovallevel)|*No description*
273
291
  [DockerComposeProtocol](#projen-dockercomposeprotocol)|Network protocol for port mapping.
274
292
  [GitpodOnOpen](#projen-gitpodonopen)|What to do when a service on a port is detected.
275
293
  [GitpodOpenIn](#projen-gitpodopenin)|Configure where in the IDE the terminal should be opened.
@@ -283,6 +301,7 @@ Name|Description
283
301
  [Stability](#projen-stability)|*No description*
284
302
  [TypeScriptJsxMode](#projen-typescriptjsxmode)|Determines how JSX should get transformed into valid JavaScript.
285
303
  [TypeScriptModuleResolution](#projen-typescriptmoduleresolution)|Determines how modules get resolved.
304
+ [awscdk.ApprovalLevel](#projen-awscdk-approvallevel)|Which approval is required when deploying CDK apps.
286
305
  [deps.DependencyType](#projen-deps-dependencytype)|Type of dependency.
287
306
  [github.DependabotRegistryType](#projen-github-dependabotregistrytype)|Each configuration type requires you to provide particular settings.
288
307
  [github.DependabotScheduleInterval](#projen-github-dependabotscheduleinterval)|How often to check for new versions and raise pull requests for version updates.
@@ -299,64 +318,6 @@ A multi-language (jsii) construct library which vends constructs designed to
299
318
  use within the AWS CDK with a friendly workflow and automatic publishing to
300
319
  the construct catalog.
301
320
 
302
- ```ts
303
- const project = new ConstructLibraryAws({
304
- name: 'cdk-watchful',
305
- description: 'Watching your CDK apps since 2019',
306
- jsiiVersion: Semver.caret('1.7.0'),
307
- authorName: 'Elad Ben-Israel',
308
- authorEmail: 'elad.benisrael@gmail.com',
309
- repository: 'https://github.com/eladb/cdk-watchful.git',
310
- keywords: [
311
- "cloudwatch",
312
- "monitoring"
313
- ],
314
-
315
- catalog: {
316
- twitter: 'emeshbi'
317
- },
318
-
319
- // creates PRs for projen upgrades
320
- projenUpgradeSecret: 'PROJEN_GITHUB_TOKEN',
321
-
322
- cdkVersion: '1.54.0',
323
- cdkDependencies: [
324
- "@aws-cdk/aws-apigateway",
325
- "@aws-cdk/aws-cloudwatch",
326
- "@aws-cdk/aws-cloudwatch-actions",
327
- "@aws-cdk/aws-dynamodb",
328
- "@aws-cdk/aws-ecs",
329
- "@aws-cdk/aws-ecs-patterns",
330
- "@aws-cdk/aws-elasticloadbalancingv2",
331
- "@aws-cdk/aws-events",
332
- "@aws-cdk/aws-events-targets",
333
- "@aws-cdk/aws-lambda",
334
- "@aws-cdk/aws-rds",
335
- "@aws-cdk/aws-sns",
336
- "@aws-cdk/aws-sns-subscriptions",
337
- "@aws-cdk/aws-sqs",
338
- "@aws-cdk/core"
339
- ],
340
- devDependencies: {
341
- "aws-sdk": Semver.caret("2.708.0")
342
- },
343
-
344
- // jsii publishing
345
-
346
- java: {
347
- javaPackage: 'io.github.cdklabs.watchful',
348
- mavenGroupId: 'io.github.cdklabs',
349
- mavenArtifactId: 'cdk-watchful'
350
- },
351
- python: {
352
- distName: 'cdk-watchful',
353
- module: 'cdk_watchful'
354
- }
355
- });
356
-
357
- project.synth();
358
- ```
359
-
360
321
  __Extends__: [ConstructLibrary](#projen-constructlibrary)
361
322
 
362
323
  ### Initializer
@@ -440,6 +401,7 @@ new AwsCdkConstructLibrary(options: AwsCdkConstructLibraryOptions)
440
401
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
441
402
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
442
403
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
404
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
443
405
  * **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
444
406
  * **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
445
407
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -510,6 +472,8 @@ new AwsCdkConstructLibrary(options: AwsCdkConstructLibraryOptions)
510
472
  * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
511
473
  * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Default*__: false
512
474
  * **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.
475
+ * **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
476
+ * **lambdaOptions** (<code>[awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)</code>) Common options for all AWS Lambda functions. __*Default*__: default options
513
477
 
514
478
 
515
479
 
@@ -648,6 +612,7 @@ new AwsCdkTypeScriptApp(options: AwsCdkTypeScriptAppOptions)
648
612
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
649
613
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
650
614
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
615
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
651
616
  * **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
652
617
  * **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
653
618
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -697,12 +662,16 @@ new AwsCdkTypeScriptApp(options: AwsCdkTypeScriptAppOptions)
697
662
  * **tsconfigDev** (<code>[TypescriptConfigOptions](#projen-typescriptconfigoptions)</code>) Custom tsconfig options for the development tsconfig.json file (used for testing). __*Default*__: use the production tsconfig options
698
663
  * **tsconfigDevFile** (<code>string</code>) The name of the development tsconfig.json file. __*Default*__: "tsconfig.dev.json"
699
664
  * **typescriptVersion** (<code>string</code>) TypeScript version to use. __*Default*__: "latest"
665
+ * **cdkout** (<code>string</code>) cdk.out directory. __*Default*__: "cdk.out"
666
+ * **context** (<code>Map<string, string></code>) Additional context to include in `cdk.json`. __*Default*__: no additional context
667
+ * **featureFlags** (<code>boolean</code>) Include all feature flags in cdk.json. __*Default*__: true
668
+ * **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
700
669
  * **cdkVersion** (<code>string</code>) AWS CDK version to use.
701
670
  * **appEntrypoint** (<code>string</code>) The CDK app's entrypoint (relative to the source directory, which is "src" by default). __*Default*__: "main.ts"
702
671
  * **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules (those that start with "@aws-cdk/") this app uses. __*Optional*__
703
672
  * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Default*__: false
704
- * **context** (<code>Map<string, string></code>) Additional context to include in `cdk.json`. __*Optional*__
705
- * **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
673
+ * **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
674
+ * **lambdaOptions** (<code>[awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)</code>) Common options for all AWS Lambda functions. __*Default*__: default options
706
675
 
707
676
 
708
677
 
@@ -712,7 +681,8 @@ new AwsCdkTypeScriptApp(options: AwsCdkTypeScriptAppOptions)
712
681
  Name | Type | Description
713
682
  -----|------|-------------
714
683
  **appEntrypoint**🔹 | <code>string</code> | The CDK app entrypoint.
715
- **cdkConfig**🔹 | <code>any</code> | Contents of `cdk.json`.
684
+ **cdkConfig**🔹 | <code>[awscdk.CdkConfig](#projen-awscdk-cdkconfig)</code> | cdk.json configuration.
685
+ **cdkTasks**🔹 | <code>[awscdk.CdkTasks](#projen-awscdk-cdktasks)</code> | Common CDK tasks.
716
686
  **cdkVersion**🔹 | <code>string</code> | The CDK version this app is using.
717
687
 
718
688
  ### Methods
@@ -820,6 +790,7 @@ new Cdk8sTypeScriptApp(options: Cdk8sTypeScriptAppOptions)
820
790
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
821
791
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
822
792
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
793
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
823
794
  * **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
824
795
  * **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
825
796
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -1050,6 +1021,7 @@ new ConstructLibrary(options: ConstructLibraryOptions)
1050
1021
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
1051
1022
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
1052
1023
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
1024
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
1053
1025
  * **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
1054
1026
  * **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
1055
1027
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -1204,6 +1176,7 @@ new ConstructLibraryAws(options: AwsCdkConstructLibraryOptions)
1204
1176
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
1205
1177
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
1206
1178
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
1179
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
1207
1180
  * **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
1208
1181
  * **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
1209
1182
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -1274,6 +1247,8 @@ new ConstructLibraryAws(options: AwsCdkConstructLibraryOptions)
1274
1247
  * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
1275
1248
  * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Default*__: false
1276
1249
  * **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.
1250
+ * **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
1251
+ * **lambdaOptions** (<code>[awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)</code>) Common options for all AWS Lambda functions. __*Default*__: default options
1277
1252
 
1278
1253
 
1279
1254
 
@@ -1369,6 +1344,7 @@ new ConstructLibraryCdk8s(options: ConstructLibraryCdk8sOptions)
1369
1344
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
1370
1345
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
1371
1346
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
1347
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
1372
1348
  * **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
1373
1349
  * **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
1374
1350
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -1543,6 +1519,7 @@ new ConstructLibraryCdktf(options: ConstructLibraryCdktfOptions)
1543
1519
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
1544
1520
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
1545
1521
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
1522
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
1546
1523
  * **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
1547
1524
  * **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
1548
1525
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -1874,7 +1851,7 @@ addVolume(volume: IDockerComposeVolumeBinding): void
1874
1851
 
1875
1852
  ## class Eslint 🔹 <a id="projen-eslint"></a>
1876
1853
 
1877
-
1854
+ Represents eslint configuration.
1878
1855
 
1879
1856
  __Extends__: [Component](#projen-component)
1880
1857
 
@@ -1897,6 +1874,7 @@ new Eslint(project: NodeProject, options: EslintOptions)
1897
1874
  * **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' ]
1898
1875
  * **lintProjenRc** (<code>boolean</code>) Should we lint .projenrc.js. __*Default*__: true
1899
1876
  * **prettier** (<code>boolean</code>) Enable prettier for code formatting. __*Default*__: false
1877
+ * **tsAlwaysTryTypes** (<code>boolean</code>) Always try to resolve types under `<root>@types` directory even it doesn't contain any source code. __*Default*__: true
1900
1878
  * **tsconfigPath** (<code>string</code>) Path to `tsconfig.json` which should be used by eslint. __*Default*__: "./tsconfig.json"
1901
1879
 
1902
1880
 
@@ -1968,6 +1946,19 @@ allowDevDeps(pattern: string): void
1968
1946
 
1969
1947
 
1970
1948
 
1949
+ #### *static* of(project)🔹 <a id="projen-eslint-of"></a>
1950
+
1951
+ Returns the singletone Eslint component of a project or undefined if there is none.
1952
+
1953
+ ```ts
1954
+ static of(project: Project): Eslint
1955
+ ```
1956
+
1957
+ * **project** (<code>[Project](#projen-project)</code>) *No description*
1958
+
1959
+ __Returns__:
1960
+ * <code>[Eslint](#projen-eslint)</code>
1961
+
1971
1962
 
1972
1963
 
1973
1964
  ## class FileBase 🔹 <a id="projen-filebase"></a>
@@ -2599,6 +2590,7 @@ new JsiiProject(options: JsiiProjectOptions)
2599
2590
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
2600
2591
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
2601
2592
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
2593
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
2602
2594
  * **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
2603
2595
  * **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
2604
2596
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -3351,6 +3343,7 @@ new NodeProject(options: NodeProjectOptions)
3351
3343
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
3352
3344
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
3353
3345
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
3346
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
3354
3347
  * **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
3355
3348
  * **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
3356
3349
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -3393,6 +3386,7 @@ Name | Type | Description
3393
3386
  **allowLibraryDependencies**⚠️ | <code>boolean</code> | <span></span>
3394
3387
  **antitamper**🔹 | <code>boolean</code> | Indicates if workflows have anti-tamper checks.
3395
3388
  **buildTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | The task responsible for a full release build.
3389
+ **bundler**🔹 | <code>[javascript.Bundler](#projen-javascript-bundler)</code> | <span></span>
3396
3390
  **compileTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Compiles the code.
3397
3391
  **entrypoint**⚠️ | <code>string</code> | <span></span>
3398
3392
  **installWorkflowSteps**🔹 | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | <span></span>
@@ -3995,6 +3989,42 @@ __Returns__:
3995
3989
 
3996
3990
 
3997
3991
 
3992
+ ## class Projects 🔹 <a id="projen-projects"></a>
3993
+
3994
+ Programmatic API for projen.
3995
+
3996
+
3997
+ ### Methods
3998
+
3999
+
4000
+ #### *static* createProject(options)🔹 <a id="projen-projects-createproject"></a>
4001
+
4002
+ Creates a new project with defaults.
4003
+
4004
+ This function creates the project type in-process (with in VM) and calls
4005
+ `.synth()` on it (if `options.synth` is not `false`).
4006
+
4007
+ At the moment, it also generates a `.projenrc.js` file with the same code
4008
+ that was just executed. In the future, this will also be done by the project
4009
+ type, so we can easily support multiple languages of projenrc.
4010
+
4011
+ ```ts
4012
+ static createProject(options: CreateProjectOptions): void
4013
+ ```
4014
+
4015
+ * **options** (<code>[CreateProjectOptions](#projen-createprojectoptions)</code>) *No description*
4016
+ * **dir** (<code>string</code>) Directory that the project will be generated in.
4017
+ * **projectFqn** (<code>string</code>) Fully-qualified name of the project type (usually formatted as `module.ProjectType`).
4018
+ * **projectOptions** (<code>Map<string, any></code>) Project options.
4019
+ * **optionHints** (<code>[NewProjectOptionHints](#projen-newprojectoptionhints)</code>) Should we render commented-out default options in the projenrc file? __*Default*__: NewProjectOptionHints.FEATURED
4020
+ * **post** (<code>boolean</code>) Should we execute post synthesis hooks? __*Default*__: true
4021
+ * **synth** (<code>boolean</code>) Should we call `project.synth()` or instantiate the project (could still have side-effects) and render the .projenrc file. __*Default*__: true
4022
+
4023
+
4024
+
4025
+
4026
+
4027
+
3998
4028
  ## class SampleDir 🔹 <a id="projen-sampledir"></a>
3999
4029
 
4000
4030
  Renders the given files into the directory if the directory does not exist.
@@ -4443,6 +4473,7 @@ new TypeScriptAppProject(options: TypeScriptProjectOptions)
4443
4473
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
4444
4474
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
4445
4475
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
4476
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
4446
4477
  * **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
4447
4478
  * **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
4448
4479
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -4583,6 +4614,7 @@ new TypeScriptLibraryProject(options: TypeScriptProjectOptions)
4583
4614
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
4584
4615
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
4585
4616
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
4617
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
4586
4618
  * **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
4587
4619
  * **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
4588
4620
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -4723,6 +4755,7 @@ new TypeScriptProject(options: TypeScriptProjectOptions)
4723
4755
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
4724
4756
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
4725
4757
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
4758
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
4726
4759
  * **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
4727
4760
  * **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
4728
4761
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -5076,6 +5109,281 @@ __Returns__:
5076
5109
 
5077
5110
 
5078
5111
 
5112
+ ## class AutoDiscover 🔹 <a id="projen-awscdk-autodiscover"></a>
5113
+
5114
+ Automatically creates a `LambdaFunction` for all `.lambda.ts` files under the source directory of the project.
5115
+
5116
+ __Submodule__: awscdk
5117
+
5118
+ __Extends__: [Component](#projen-component)
5119
+
5120
+ ### Initializer
5121
+
5122
+
5123
+
5124
+
5125
+ ```ts
5126
+ new awscdk.AutoDiscover(project: Project, options: AutoDiscoverOptions)
5127
+ ```
5128
+
5129
+ * **project** (<code>[Project](#projen-project)</code>) *No description*
5130
+ * **options** (<code>[awscdk.AutoDiscoverOptions](#projen-awscdk-autodiscoveroptions)</code>) *No description*
5131
+ * **libdir** (<code>string</code>) Output directory (where .js files go).
5132
+ * **srcdir** (<code>string</code>) Project source tree (relative to project output directory).
5133
+ * **lambdaOptions** (<code>[awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)</code>) Options for auto-discovery of AWS Lambda functions. __*Optional*__
5134
+
5135
+
5136
+ ### Methods
5137
+
5138
+
5139
+ #### preSynthesize()🔹 <a id="projen-awscdk-autodiscover-presynthesize"></a>
5140
+
5141
+ Called before synthesis.
5142
+
5143
+ ```ts
5144
+ preSynthesize(): void
5145
+ ```
5146
+
5147
+
5148
+
5149
+
5150
+
5151
+
5152
+
5153
+ ## class AwsCdkJavaApp 🔹 <a id="projen-awscdk-awscdkjavaapp"></a>
5154
+
5155
+ AWS CDK app in Java.
5156
+
5157
+ __Submodule__: awscdk
5158
+
5159
+ __Extends__: [java.JavaProject](#projen-java-javaproject)
5160
+
5161
+ ### Initializer
5162
+
5163
+
5164
+
5165
+
5166
+ ```ts
5167
+ new awscdk.AwsCdkJavaApp(options: AwsCdkJavaAppOptions)
5168
+ ```
5169
+
5170
+ * **options** (<code>[awscdk.AwsCdkJavaAppOptions](#projen-awscdk-awscdkjavaappoptions)</code>) *No description*
5171
+ * **name** (<code>string</code>) This is the name of your project.
5172
+ * **logging** (<code>[LoggerOptions](#projen-loggeroptions)</code>) Configure logging options such as verbosity. __*Default*__: {}
5173
+ * **outdir** (<code>string</code>) The root directory of the project. __*Default*__: "."
5174
+ * **parent** (<code>[Project](#projen-project)</code>) The parent project, if this project is part of a bigger project. __*Optional*__
5175
+ * **projenrcJson** (<code>boolean</code>) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. __*Default*__: false
5176
+ * **projenrcJsonOptions** (<code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code>) Options for .projenrc.json. __*Default*__: default options
5177
+ * **autoApproveOptions** (<code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code>) Enable and configure the 'auto approve' workflow. __*Default*__: auto approve is disabled
5178
+ * **autoMergeOptions** (<code>[github.AutoMergeOptions](#projen-github-automergeoptions)</code>) Configure options for automatic merging on GitHub. __*Default*__: see defaults in `AutoMergeOptions`
5179
+ * **clobber** (<code>boolean</code>) Add a `clobber` task which resets the repo to origin. __*Default*__: true
5180
+ * **devContainer** (<code>boolean</code>) Add a VSCode development environment (used for GitHub Codespaces). __*Default*__: false
5181
+ * **github** (<code>boolean</code>) Enable GitHub integration. __*Default*__: true
5182
+ * **githubOptions** (<code>[github.GitHubOptions](#projen-github-githuboptions)</code>) Options for GitHub integration. __*Default*__: see GitHubOptions
5183
+ * **gitpod** (<code>boolean</code>) Add a Gitpod development environment. __*Default*__: false
5184
+ * **mergify** (<code>boolean</code>) Whether mergify should be enabled on this repository or not. __*Default*__: true
5185
+ * **projectType** (<code>[ProjectType](#projen-projecttype)</code>) Which type of project this is (library/app). __*Default*__: ProjectType.UNKNOWN
5186
+ * **readme** (<code>[SampleReadmeProps](#projen-samplereadmeprops)</code>) The README setup. __*Default*__: { filename: 'README.md', contents: '# replace this' }
5187
+ * **stale** (<code>boolean</code>) Auto-close of stale issues and pull request. __*Default*__: true
5188
+ * **staleOptions** (<code>[github.StaleOptions](#projen-github-staleoptions)</code>) Auto-close stale issues and pull requests. __*Default*__: see defaults in `StaleOptions`
5189
+ * **vscode** (<code>boolean</code>) Enable VSCode integration. __*Default*__: true
5190
+ * **artifactId** (<code>string</code>) The artifactId is generally the name that the project is known by.
5191
+ * **groupId** (<code>string</code>) This is generally unique amongst an organization or a project.
5192
+ * **version** (<code>string</code>) This is the last piece of the naming puzzle.
5193
+ * **description** (<code>string</code>) Description of a project is always good. __*Default*__: undefined
5194
+ * **packaging** (<code>string</code>) Project packaging format. __*Default*__: "jar"
5195
+ * **url** (<code>string</code>) The URL, like the name, is not required. __*Default*__: undefined
5196
+ * **compileOptions** (<code>[java.MavenCompileOptions](#projen-java-mavencompileoptions)</code>) Compile options. __*Default*__: defaults
5197
+ * **deps** (<code>Array<string></code>) List of runtime dependencies for this project. __*Default*__: []
5198
+ * **distdir** (<code>string</code>) Final artifact output directory. __*Default*__: "dist/java"
5199
+ * **junit** (<code>boolean</code>) Include junit tests. __*Default*__: true
5200
+ * **junitOptions** (<code>[java.JunitOptions](#projen-java-junitoptions)</code>) junit options. __*Default*__: defaults
5201
+ * **packagingOptions** (<code>[java.MavenPackagingOptions](#projen-java-mavenpackagingoptions)</code>) Packaging options. __*Default*__: defaults
5202
+ * **projenrcJava** (<code>boolean</code>) Use projenrc in java. __*Default*__: true
5203
+ * **projenrcJavaOptions** (<code>[java.ProjenrcOptions](#projen-java-projenrcoptions)</code>) Options related to projenrc in java. __*Default*__: default options
5204
+ * **testDeps** (<code>Array<string></code>) List of test dependencies for this project. __*Default*__: []
5205
+ * **sample** (<code>boolean</code>) Include sample code and test if the relevant directories don't exist. __*Optional*__
5206
+ * **sampleJavaPackage** (<code>string</code>) The java package to use for the code sample. __*Default*__: "org.acme"
5207
+ * **cdkout** (<code>string</code>) cdk.out directory. __*Default*__: "cdk.out"
5208
+ * **context** (<code>Map<string, string></code>) Additional context to include in `cdk.json`. __*Default*__: no additional context
5209
+ * **featureFlags** (<code>boolean</code>) Include all feature flags in cdk.json. __*Default*__: true
5210
+ * **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
5211
+ * **cdkVersion** (<code>string</code>) AWS CDK version to use (you can use semantic versioning).
5212
+ * **mainClass** (<code>string</code>) The name of the Java class with the static `main()` method.
5213
+ * **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules this app uses. __*Optional*__
5214
+
5215
+
5216
+
5217
+ ### Properties
5218
+
5219
+
5220
+ Name | Type | Description
5221
+ -----|------|-------------
5222
+ **cdkConfig**🔹 | <code>[awscdk.CdkConfig](#projen-awscdk-cdkconfig)</code> | The `cdk.json` file.
5223
+ **cdkTasks**🔹 | <code>[awscdk.CdkTasks](#projen-awscdk-cdktasks)</code> | CDK tasks.
5224
+ **cdkVersion**🔹 | <code>string</code> | The CDK version this app is using.
5225
+ **mainClass**🔹 | <code>string</code> | The full name of the main class of the java app (package.Class).
5226
+ **mainClassName**🔹 | <code>string</code> | The name of the Java class with the static `main()` method.
5227
+ **mainPackage**🔹 | <code>string</code> | The name of the Java package that includes the main class.
5228
+
5229
+ ### Methods
5230
+
5231
+
5232
+ #### addCdkDependency(...modules)🔹 <a id="projen-awscdk-awscdkjavaapp-addcdkdependency"></a>
5233
+
5234
+ Adds an AWS CDK module dependencies.
5235
+
5236
+ ```ts
5237
+ addCdkDependency(...modules: string[]): void
5238
+ ```
5239
+
5240
+ * **modules** (<code>string</code>) The list of modules to depend on (e.g. "core", "aws-lambda", etc).
5241
+
5242
+
5243
+
5244
+
5245
+
5246
+
5247
+ ## class CdkConfig 🔹 <a id="projen-awscdk-cdkconfig"></a>
5248
+
5249
+ Represents cdk.json file.
5250
+
5251
+ __Submodule__: awscdk
5252
+
5253
+ __Extends__: [Component](#projen-component)
5254
+
5255
+ ### Initializer
5256
+
5257
+
5258
+
5259
+
5260
+ ```ts
5261
+ new awscdk.CdkConfig(project: Project, options: CdkConfigOptions)
5262
+ ```
5263
+
5264
+ * **project** (<code>[Project](#projen-project)</code>) *No description*
5265
+ * **options** (<code>[awscdk.CdkConfigOptions](#projen-awscdk-cdkconfigoptions)</code>) *No description*
5266
+ * **cdkout** (<code>string</code>) cdk.out directory. __*Default*__: "cdk.out"
5267
+ * **context** (<code>Map<string, string></code>) Additional context to include in `cdk.json`. __*Default*__: no additional context
5268
+ * **featureFlags** (<code>boolean</code>) Include all feature flags in cdk.json. __*Default*__: true
5269
+ * **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
5270
+ * **app** (<code>string</code>) The command line to execute in order to synthesize the CDK application (language specific).
5271
+
5272
+
5273
+
5274
+ ### Properties
5275
+
5276
+
5277
+ Name | Type | Description
5278
+ -----|------|-------------
5279
+ **cdkout**🔹 | <code>string</code> | Name of the cdk.out directory.
5280
+ **json**🔹 | <code>[JsonFile](#projen-jsonfile)</code> | Represents the JSON file.
5281
+
5282
+
5283
+
5284
+ ## class CdkTasks 🔹 <a id="projen-awscdk-cdktasks"></a>
5285
+
5286
+ Adds standard AWS CDK tasks to your project.
5287
+
5288
+ __Submodule__: awscdk
5289
+
5290
+ __Extends__: [Component](#projen-component)
5291
+
5292
+ ### Initializer
5293
+
5294
+
5295
+
5296
+
5297
+ ```ts
5298
+ new awscdk.CdkTasks(project: Project)
5299
+ ```
5300
+
5301
+ * **project** (<code>[Project](#projen-project)</code>) *No description*
5302
+
5303
+
5304
+
5305
+ ### Properties
5306
+
5307
+
5308
+ Name | Type | Description
5309
+ -----|------|-------------
5310
+ **deploy**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Deploys your app.
5311
+ **destroy**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Destroys all the stacks.
5312
+ **diff**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Diff against production.
5313
+ **synth**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Synthesizes your app.
5314
+
5315
+
5316
+
5317
+ ## class LambdaFunction 🔹 <a id="projen-awscdk-lambdafunction"></a>
5318
+
5319
+ Generates a pre-bundled AWS Lambda function construct from handler code.
5320
+
5321
+ To use this, create an AWS Lambda handler file under your source tree with
5322
+ the `.lambda.ts` extension and add a `LambdaFunction` component to your
5323
+ typescript project pointing to this entrypoint.
5324
+
5325
+ This will add a task to your "compile" step which will use `esbuild` to
5326
+ bundle the handler code into the build directory. It will also generate a
5327
+ file `src/foo-function.ts` with a custom AWS construct called `FooFunction`
5328
+ which extends `@aws-cdk/aws-lambda.Function` which is bound to the bundled
5329
+ handle through an asset.
5330
+
5331
+ __Submodule__: awscdk
5332
+
5333
+ __Extends__: [Component](#projen-component)
5334
+
5335
+ ### Initializer
5336
+
5337
+
5338
+ Defines a pre-bundled AWS Lambda function construct from handler code.
5339
+
5340
+ ```ts
5341
+ new awscdk.LambdaFunction(project: Project, options: LambdaFunctionOptions)
5342
+ ```
5343
+
5344
+ * **project** (<code>[Project](#projen-project)</code>) The project to use.
5345
+ * **options** (<code>[awscdk.LambdaFunctionOptions](#projen-awscdk-lambdafunctionoptions)</code>) Options.
5346
+ * **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.
5347
+ * **runtime** (<code>[awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime)</code>) The node.js version to target. __*Default*__: Runtime.NODEJS_14_X
5348
+ * **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).
5349
+ * **libdir** (<code>string</code>) JavaScript output directory (where .js files go).
5350
+ * **srcdir** (<code>string</code>) Project source directory tree (where .ts files live).
5351
+ * **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`.
5352
+ * **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`).
5353
+
5354
+
5355
+
5356
+ ### Properties
5357
+
5358
+
5359
+ Name | Type | Description
5360
+ -----|------|-------------
5361
+ **bundleTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | The bundle task for this function.
5362
+
5363
+
5364
+
5365
+ ## class LambdaRuntime 🔹 <a id="projen-awscdk-lambdaruntime"></a>
5366
+
5367
+ The runtime for the AWS Lambda function.
5368
+
5369
+ __Submodule__: awscdk
5370
+
5371
+
5372
+
5373
+ ### Properties
5374
+
5375
+
5376
+ Name | Type | Description
5377
+ -----|------|-------------
5378
+ **esbuildPlatform**🔹 | <code>string</code> | <span></span>
5379
+ **esbuildTarget**🔹 | <code>string</code> | The esbuild setting to use.
5380
+ **functionRuntime**🔹 | <code>string</code> | The aws-lambda.Runtime member name to use.
5381
+ *static* **NODEJS_10_X**🔹 | <code>[awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime)</code> | Node.js 10.x.
5382
+ *static* **NODEJS_12_X**🔹 | <code>[awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime)</code> | Node.js 12.x.
5383
+ *static* **NODEJS_14_X**🔹 | <code>[awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime)</code> | Node.js 14.x.
5384
+
5385
+
5386
+
5079
5387
  ## class Dependencies 🔹 <a id="projen-deps-dependencies"></a>
5080
5388
 
5081
5389
  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.
@@ -5742,9 +6050,9 @@ new java.JavaProject(options: JavaProjectOptions)
5742
6050
  * **packagingOptions** (<code>[java.MavenPackagingOptions](#projen-java-mavenpackagingoptions)</code>) Packaging options. __*Default*__: defaults
5743
6051
  * **projenrcJava** (<code>boolean</code>) Use projenrc in java. __*Default*__: true
5744
6052
  * **projenrcJavaOptions** (<code>[java.ProjenrcOptions](#projen-java-projenrcoptions)</code>) Options related to projenrc in java. __*Default*__: default options
6053
+ * **testDeps** (<code>Array<string></code>) List of test dependencies for this project. __*Default*__: []
5745
6054
  * **sample** (<code>boolean</code>) Include sample code and test if the relevant directories don't exist. __*Optional*__
5746
6055
  * **sampleJavaPackage** (<code>string</code>) The java package to use for the code sample. __*Default*__: "org.acme"
5747
- * **testDeps** (<code>Array<string></code>) List of test dependencies for this project. __*Default*__: []
5748
6056
 
5749
6057
 
5750
6058
 
@@ -5753,6 +6061,7 @@ new java.JavaProject(options: JavaProjectOptions)
5753
6061
 
5754
6062
  Name | Type | Description
5755
6063
  -----|------|-------------
6064
+ **buildTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | The primary build task.
5756
6065
  **compile**🔹 | <code>[java.MavenCompile](#projen-java-mavencompile)</code> | Compile component.
5757
6066
  **distdir**🔹 | <code>string</code> | Maven artifact output directory.
5758
6067
  **packaging**🔹 | <code>[java.MavenPackaging](#projen-java-mavenpackaging)</code> | Packaging component.
@@ -6079,6 +6388,77 @@ Name | Type | Description
6079
6388
 
6080
6389
 
6081
6390
 
6391
+ ## class Bundler 🔹 <a id="projen-javascript-bundler"></a>
6392
+
6393
+ Adds support for bundling JavaScript applications and dependencies into a single file.
6394
+
6395
+ __Submodule__: javascript
6396
+
6397
+ __Extends__: [Component](#projen-component)
6398
+
6399
+ ### Initializer
6400
+
6401
+
6402
+ Creates a `Bundler`.
6403
+
6404
+ ```ts
6405
+ new javascript.Bundler(project: Project, options: BundlerOptions)
6406
+ ```
6407
+
6408
+ * **project** (<code>[Project](#projen-project)</code>) *No description*
6409
+ * **options** (<code>[javascript.BundlerOptions](#projen-javascript-bundleroptions)</code>) *No description*
6410
+ * **esbuildVersion** (<code>string</code>) The semantic version requirement for `esbuild`. __*Default*__: no specific version (implies latest)
6411
+ * **parentTask** (<code>[tasks.Task](#projen-tasks-task)</code>) A parent task that will spawn the "bundle" task (usually "compile").
6412
+
6413
+
6414
+
6415
+ ### Properties
6416
+
6417
+
6418
+ Name | Type | Description
6419
+ -----|------|-------------
6420
+ **bundleTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Gets or creates the singleton "bundle" task of the project.
6421
+ **esbuildVersion**?🔹 | <code>string</code> | __*Optional*__
6422
+
6423
+ ### Methods
6424
+
6425
+
6426
+ #### addBundle(name, options)🔹 <a id="projen-javascript-bundler-addbundle"></a>
6427
+
6428
+ Adds a task to the project which bundles a specific entrypoint and all of its dependencies into a single javascript output file.
6429
+
6430
+ ```ts
6431
+ addBundle(name: string, options: BundleOptions): Task
6432
+ ```
6433
+
6434
+ * **name** (<code>string</code>) The name of the artifact (the task will be named `bundle:$name`).
6435
+ * **options** (<code>[javascript.BundleOptions](#projen-javascript-bundleoptions)</code>) Bundling options.
6436
+ * **entrypoint** (<code>string</code>) The entrypoint of the code you wish to bundle.
6437
+ * **outfile** (<code>string</code>) This option sets the output file name for the build operation.
6438
+ * **platform** (<code>string</code>) esbuild platform.
6439
+ * **target** (<code>string</code>) esbuild target.
6440
+ * **externals** (<code>Array<string></code>) You can mark a file or a package as external to exclude it from your build. __*Default*__: []
6441
+ * **sourcemap** (<code>boolean</code>) Include a source map in the bundle. __*Default*__: true
6442
+ * **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
6443
+
6444
+ __Returns__:
6445
+ * <code>[tasks.Task](#projen-tasks-task)</code>
6446
+
6447
+ #### *static* of(project)🔹 <a id="projen-javascript-bundler-of"></a>
6448
+
6449
+ Returns the `Bundler` instance associated with a project or `undefined` if there is no Bundler.
6450
+
6451
+ ```ts
6452
+ static of(project: Project): Bundler
6453
+ ```
6454
+
6455
+ * **project** (<code>[Project](#projen-project)</code>) The project.
6456
+
6457
+ __Returns__:
6458
+ * <code>[javascript.Bundler](#projen-javascript-bundler)</code>
6459
+
6460
+
6461
+
6082
6462
  ## class NpmConfig 🔹 <a id="projen-javascript-npmconfig"></a>
6083
6463
 
6084
6464
  File representing the local NPM config in .npmrc.
@@ -7846,6 +8226,7 @@ new web.NextJsProject(options: NextJsProjectOptions)
7846
8226
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
7847
8227
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
7848
8228
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
8229
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
7849
8230
  * **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
7850
8231
  * **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
7851
8232
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -7984,6 +8365,7 @@ new web.NextJsTypeScriptProject(options: NextJsTypeScriptProjectOptions)
7984
8365
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
7985
8366
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
7986
8367
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
8368
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
7987
8369
  * **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
7988
8370
  * **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
7989
8371
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -8196,6 +8578,7 @@ new web.ReactProject(options: ReactProjectOptions)
8196
8578
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
8197
8579
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
8198
8580
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
8581
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
8199
8582
  * **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
8200
8583
  * **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
8201
8584
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -8375,6 +8758,7 @@ new web.ReactTypeScriptProject(options: ReactTypeScriptProjectOptions)
8375
8758
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
8376
8759
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
8377
8760
  * **buildWorkflow** (<code>boolean</code>) Define a GitHub workflow for building PRs. __*Default*__: true if not a subproject
8761
+ * **bundlerOptions** (<code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code>) Options for `Bundler`. __*Optional*__
8378
8762
  * **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
8379
8763
  * **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
8380
8764
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -8503,6 +8887,7 @@ Name | Type | Description
8503
8887
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
8504
8888
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
8505
8889
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
8890
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
8506
8891
  **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
8507
8892
  **cdkAssert**?🔹 | <code>boolean</code> | Install the @aws-cdk/assert library?<br/>__*Default*__: true
8508
8893
  **cdkDependencies**?🔹 | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?<br/>__*Optional*__
@@ -8544,6 +8929,8 @@ Name | Type | Description
8544
8929
  **jestOptions**?🔹 | <code>[JestOptions](#projen-jestoptions)</code> | Jest options.<br/>__*Default*__: default options
8545
8930
  **jsiiReleaseVersion**?🔹 | <code>string</code> | Version requirement of `jsii-release` which is used to publish modules to npm.<br/>__*Default*__: "latest"
8546
8931
  **keywords**?🔹 | <code>Array<string></code> | Keywords to include in `package.json`.<br/>__*Optional*__
8932
+ **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
8933
+ **lambdaOptions**?🔹 | <code>[awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)</code> | Common options for all AWS Lambda functions.<br/>__*Default*__: default options
8547
8934
  **libdir**?🔹 | <code>string</code> | Typescript artifacts output directory.<br/>__*Default*__: "lib"
8548
8935
  **license**?🔹 | <code>string</code> | License's SPDX identifier.<br/>__*Default*__: "Apache-2.0"
8549
8936
  **licensed**?🔹 | <code>boolean</code> | Indicates if a license should be added.<br/>__*Default*__: true
@@ -8654,13 +9041,15 @@ Name | Type | Description
8654
9041
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
8655
9042
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
8656
9043
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
9044
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
8657
9045
  **cdkDependencies**?🔹 | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") this app uses.<br/>__*Optional*__
8658
9046
  **cdkVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Default*__: false
9047
+ **cdkout**?🔹 | <code>string</code> | cdk.out directory.<br/>__*Default*__: "cdk.out"
8659
9048
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
8660
9049
  **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
8661
9050
  **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
8662
9051
  **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`.
8663
- **context**?🔹 | <code>Map<string, string></code> | Additional context to include in `cdk.json`.<br/>__*Optional*__
9052
+ **context**?🔹 | <code>Map<string, string></code> | Additional context to include in `cdk.json`.<br/>__*Default*__: no additional context
8664
9053
  **copyrightOwner**?🔹 | <code>string</code> | License copyright owner.<br/>__*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
8665
9054
  **copyrightPeriod**?🔹 | <code>string</code> | The copyright years to put in the LICENSE file.<br/>__*Default*__: current year
8666
9055
  **dependabot**?🔹 | <code>boolean</code> | Use dependabot to handle dependency upgrades.<br/>__*Default*__: false
@@ -8678,6 +9067,7 @@ Name | Type | Description
8678
9067
  **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)
8679
9068
  **eslint**?🔹 | <code>boolean</code> | Setup eslint.<br/>__*Default*__: true
8680
9069
  **eslintOptions**?🔹 | <code>[EslintOptions](#projen-eslintoptions)</code> | Eslint options.<br/>__*Default*__: opinionated default options
9070
+ **featureFlags**?🔹 | <code>boolean</code> | Include all feature flags in cdk.json.<br/>__*Default*__: true
8681
9071
  **github**?🔹 | <code>boolean</code> | Enable GitHub integration.<br/>__*Default*__: true
8682
9072
  **githubOptions**?🔹 | <code>[github.GitHubOptions](#projen-github-githuboptions)</code> | Options for GitHub integration.<br/>__*Default*__: see GitHubOptions
8683
9073
  **gitignore**?🔹 | <code>Array<string></code> | Additional entries to .gitignore.<br/>__*Optional*__
@@ -8687,6 +9077,8 @@ Name | Type | Description
8687
9077
  **jestOptions**?🔹 | <code>[JestOptions](#projen-jestoptions)</code> | Jest options.<br/>__*Default*__: default options
8688
9078
  **jsiiReleaseVersion**?🔹 | <code>string</code> | Version requirement of `jsii-release` which is used to publish modules to npm.<br/>__*Default*__: "latest"
8689
9079
  **keywords**?🔹 | <code>Array<string></code> | Keywords to include in `package.json`.<br/>__*Optional*__
9080
+ **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
9081
+ **lambdaOptions**?🔹 | <code>[awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)</code> | Common options for all AWS Lambda functions.<br/>__*Default*__: default options
8690
9082
  **libdir**?🔹 | <code>string</code> | Typescript artifacts output directory.<br/>__*Default*__: "lib"
8691
9083
  **license**?🔹 | <code>string</code> | License's SPDX identifier.<br/>__*Default*__: "Apache-2.0"
8692
9084
  **licensed**?🔹 | <code>boolean</code> | Indicates if a license should be added.<br/>__*Default*__: true
@@ -8744,7 +9136,7 @@ Name | Type | Description
8744
9136
  **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*__
8745
9137
  **repository**?🔹 | <code>string</code> | The repository is the location where the actual code for your package lives.<br/>__*Optional*__
8746
9138
  **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*__
8747
- **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
9139
+ **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
8748
9140
  **sampleCode**?🔹 | <code>boolean</code> | Generate one-time sample in `src/` and `test/` if there are no files there.<br/>__*Default*__: true
8749
9141
  **scripts**?🔹 | <code>Map<string, string></code> | npm scripts to include.<br/>__*Default*__: {}
8750
9142
  **srcdir**?🔹 | <code>string</code> | Typescript sources directory.<br/>__*Default*__: "src"
@@ -8806,6 +9198,7 @@ Name | Type | Description
8806
9198
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
8807
9199
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
8808
9200
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
9201
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
8809
9202
  **cdk8sCliVersion**?🔹 | <code>string</code> | cdk8s-cli version.<br/>__*Default*__: "cdk8sVersion"
8810
9203
  **cdk8sCliVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK8s-cli.<br/>__*Default*__: false
8811
9204
  **cdk8sPlusVersion**?🔹 | <code>string</code> | cdk8s-plus-17 version.<br/>__*Default*__: "cdk8sVersion"
@@ -8949,6 +9342,7 @@ Name | Type | Description
8949
9342
  **bin**?⚠️ | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
8950
9343
  **buildWorkflow**?⚠️ | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
8951
9344
  **bundledDeps**?⚠️ | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
9345
+ **bundlerOptions**?⚠️ | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
8952
9346
  **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
8953
9347
  **cdkAssert**?⚠️ | <code>boolean</code> | Install the @aws-cdk/assert library?<br/>__*Default*__: true
8954
9348
  **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?<br/>__*Optional*__
@@ -8990,6 +9384,8 @@ Name | Type | Description
8990
9384
  **jestOptions**?⚠️ | <code>[JestOptions](#projen-jestoptions)</code> | Jest options.<br/>__*Default*__: default options
8991
9385
  **jsiiReleaseVersion**?⚠️ | <code>string</code> | Version requirement of `jsii-release` which is used to publish modules to npm.<br/>__*Default*__: "latest"
8992
9386
  **keywords**?⚠️ | <code>Array<string></code> | Keywords to include in `package.json`.<br/>__*Optional*__
9387
+ **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
9388
+ **lambdaOptions**?⚠️ | <code>[awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)</code> | Common options for all AWS Lambda functions.<br/>__*Default*__: default options
8993
9389
  **libdir**?⚠️ | <code>string</code> | Typescript artifacts output directory.<br/>__*Default*__: "lib"
8994
9390
  **license**?⚠️ | <code>string</code> | License's SPDX identifier.<br/>__*Default*__: "Apache-2.0"
8995
9391
  **licensed**?⚠️ | <code>boolean</code> | Indicates if a license should be added.<br/>__*Default*__: true
@@ -9102,6 +9498,7 @@ Name | Type | Description
9102
9498
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
9103
9499
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
9104
9500
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
9501
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
9105
9502
  **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
9106
9503
  **cdk8sPlusVersion**?🔹 | <code>string</code> | cdk8s-plus-17 version.<br/>__*Default*__: "cdk8sVersion"
9107
9504
  **cdk8sPlusVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for cdk8s-plus-17.<br/>__*Default*__: false
@@ -9254,6 +9651,7 @@ Name | Type | Description
9254
9651
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
9255
9652
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
9256
9653
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
9654
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
9257
9655
  **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
9258
9656
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
9259
9657
  **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
@@ -9400,6 +9798,7 @@ Name | Type | Description
9400
9798
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
9401
9799
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
9402
9800
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
9801
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
9403
9802
  **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
9404
9803
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
9405
9804
  **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
@@ -9533,6 +9932,24 @@ Name | Type | Description
9533
9932
 
9534
9933
 
9535
9934
 
9935
+ ## struct CreateProjectOptions 🔹 <a id="projen-createprojectoptions"></a>
9936
+
9937
+
9938
+
9939
+
9940
+
9941
+
9942
+ Name | Type | Description
9943
+ -----|------|-------------
9944
+ **dir**🔹 | <code>string</code> | Directory that the project will be generated in.
9945
+ **projectFqn**🔹 | <code>string</code> | Fully-qualified name of the project type (usually formatted as `module.ProjectType`).
9946
+ **projectOptions**🔹 | <code>Map<string, any></code> | Project options.
9947
+ **optionHints**?🔹 | <code>[NewProjectOptionHints](#projen-newprojectoptionhints)</code> | Should we render commented-out default options in the projenrc file?<br/>__*Default*__: NewProjectOptionHints.FEATURED
9948
+ **post**?🔹 | <code>boolean</code> | Should we execute post synthesis hooks?<br/>__*Default*__: true
9949
+ **synth**?🔹 | <code>boolean</code> | Should we call `project.synth()` or instantiate the project (could still have side-effects) and render the .projenrc file.<br/>__*Default*__: true
9950
+
9951
+
9952
+
9536
9953
  ## struct DevEnvironmentOptions 🔹 <a id="projen-devenvironmentoptions"></a>
9537
9954
 
9538
9955
 
@@ -9676,6 +10093,7 @@ Name | Type | Description
9676
10093
  **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' ]
9677
10094
  **lintProjenRc**?🔹 | <code>boolean</code> | Should we lint .projenrc.js.<br/>__*Default*__: true
9678
10095
  **prettier**?🔹 | <code>boolean</code> | Enable prettier for code formatting.<br/>__*Default*__: false
10096
+ **tsAlwaysTryTypes**?🔹 | <code>boolean</code> | Always try to resolve types under `<root>@types` directory even it doesn't contain any source code.<br/>__*Default*__: true
9679
10097
  **tsconfigPath**?🔹 | <code>string</code> | Path to `tsconfig.json` which should be used by eslint.<br/>__*Default*__: "./tsconfig.json"
9680
10098
 
9681
10099
 
@@ -10214,6 +10632,7 @@ Name | Type | Description
10214
10632
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
10215
10633
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
10216
10634
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
10635
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
10217
10636
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
10218
10637
  **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
10219
10638
  **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
@@ -10501,6 +10920,7 @@ Name | Type | Description
10501
10920
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
10502
10921
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
10503
10922
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
10923
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
10504
10924
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
10505
10925
  **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
10506
10926
  **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
@@ -10849,6 +11269,7 @@ Name | Type | Description
10849
11269
  **bin**?⚠️ | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
10850
11270
  **buildWorkflow**?⚠️ | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
10851
11271
  **bundledDeps**?⚠️ | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
11272
+ **bundlerOptions**?⚠️ | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
10852
11273
  **clobber**?⚠️ | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
10853
11274
  **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
10854
11275
  **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
@@ -10981,6 +11402,7 @@ Name | Type | Description
10981
11402
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
10982
11403
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
10983
11404
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
11405
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
10984
11406
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
10985
11407
  **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
10986
11408
  **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
@@ -11194,6 +11616,145 @@ Name | Type | Description
11194
11616
 
11195
11617
 
11196
11618
 
11619
+ ## struct AutoDiscoverOptions 🔹 <a id="projen-awscdk-autodiscoveroptions"></a>
11620
+
11621
+
11622
+ Options for `AutoDiscover`.
11623
+
11624
+
11625
+
11626
+ Name | Type | Description
11627
+ -----|------|-------------
11628
+ **libdir**🔹 | <code>string</code> | Output directory (where .js files go).
11629
+ **srcdir**🔹 | <code>string</code> | Project source tree (relative to project output directory).
11630
+ **lambdaOptions**?🔹 | <code>[awscdk.LambdaFunctionCommonOptions](#projen-awscdk-lambdafunctioncommonoptions)</code> | Options for auto-discovery of AWS Lambda functions.<br/>__*Optional*__
11631
+
11632
+
11633
+
11634
+ ## struct AwsCdkJavaAppOptions 🔹 <a id="projen-awscdk-awscdkjavaappoptions"></a>
11635
+
11636
+
11637
+
11638
+
11639
+
11640
+
11641
+ Name | Type | Description
11642
+ -----|------|-------------
11643
+ **artifactId**🔹 | <code>string</code> | The artifactId is generally the name that the project is known by.
11644
+ **cdkVersion**🔹 | <code>string</code> | AWS CDK version to use (you can use semantic versioning).
11645
+ **groupId**🔹 | <code>string</code> | This is generally unique amongst an organization or a project.
11646
+ **mainClass**🔹 | <code>string</code> | The name of the Java class with the static `main()` method.
11647
+ **name**🔹 | <code>string</code> | This is the name of your project.
11648
+ **version**🔹 | <code>string</code> | This is the last piece of the naming puzzle.
11649
+ **autoApproveOptions**?🔹 | <code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code> | Enable and configure the 'auto approve' workflow.<br/>__*Default*__: auto approve is disabled
11650
+ **autoMergeOptions**?🔹 | <code>[github.AutoMergeOptions](#projen-github-automergeoptions)</code> | Configure options for automatic merging on GitHub.<br/>__*Default*__: see defaults in `AutoMergeOptions`
11651
+ **cdkDependencies**?🔹 | <code>Array<string></code> | Which AWS CDK modules this app uses.<br/>__*Optional*__
11652
+ **cdkout**?🔹 | <code>string</code> | cdk.out directory.<br/>__*Default*__: "cdk.out"
11653
+ **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
11654
+ **compileOptions**?🔹 | <code>[java.MavenCompileOptions](#projen-java-mavencompileoptions)</code> | Compile options.<br/>__*Default*__: defaults
11655
+ **context**?🔹 | <code>Map<string, string></code> | Additional context to include in `cdk.json`.<br/>__*Default*__: no additional context
11656
+ **deps**?🔹 | <code>Array<string></code> | List of runtime dependencies for this project.<br/>__*Default*__: []
11657
+ **description**?🔹 | <code>string</code> | Description of a project is always good.<br/>__*Default*__: undefined
11658
+ **devContainer**?🔹 | <code>boolean</code> | Add a VSCode development environment (used for GitHub Codespaces).<br/>__*Default*__: false
11659
+ **distdir**?🔹 | <code>string</code> | Final artifact output directory.<br/>__*Default*__: "dist/java"
11660
+ **featureFlags**?🔹 | <code>boolean</code> | Include all feature flags in cdk.json.<br/>__*Default*__: true
11661
+ **github**?🔹 | <code>boolean</code> | Enable GitHub integration.<br/>__*Default*__: true
11662
+ **githubOptions**?🔹 | <code>[github.GitHubOptions](#projen-github-githuboptions)</code> | Options for GitHub integration.<br/>__*Default*__: see GitHubOptions
11663
+ **gitpod**?🔹 | <code>boolean</code> | Add a Gitpod development environment.<br/>__*Default*__: false
11664
+ **junit**?🔹 | <code>boolean</code> | Include junit tests.<br/>__*Default*__: true
11665
+ **junitOptions**?🔹 | <code>[java.JunitOptions](#projen-java-junitoptions)</code> | junit options.<br/>__*Default*__: defaults
11666
+ **logging**?🔹 | <code>[LoggerOptions](#projen-loggeroptions)</code> | Configure logging options such as verbosity.<br/>__*Default*__: {}
11667
+ **mergify**?⚠️ | <code>boolean</code> | Whether mergify should be enabled on this repository or not.<br/>__*Default*__: true
11668
+ **outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
11669
+ **packaging**?🔹 | <code>string</code> | Project packaging format.<br/>__*Default*__: "jar"
11670
+ **packagingOptions**?🔹 | <code>[java.MavenPackagingOptions](#projen-java-mavenpackagingoptions)</code> | Packaging options.<br/>__*Default*__: defaults
11671
+ **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
11672
+ **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
11673
+ **projenrcJava**?🔹 | <code>boolean</code> | Use projenrc in java.<br/>__*Default*__: true
11674
+ **projenrcJavaOptions**?🔹 | <code>[java.ProjenrcOptions](#projen-java-projenrcoptions)</code> | Options related to projenrc in java.<br/>__*Default*__: default options
11675
+ **projenrcJson**?🔹 | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.<br/>__*Default*__: false
11676
+ **projenrcJsonOptions**?🔹 | <code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
11677
+ **readme**?🔹 | <code>[SampleReadmeProps](#projen-samplereadmeprops)</code> | The README setup.<br/>__*Default*__: { filename: 'README.md', contents: '# replace this' }
11678
+ **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
11679
+ **sample**?🔹 | <code>boolean</code> | Include sample code and test if the relevant directories don't exist.<br/>__*Optional*__
11680
+ **sampleJavaPackage**?🔹 | <code>string</code> | The java package to use for the code sample.<br/>__*Default*__: "org.acme"
11681
+ **stale**?🔹 | <code>boolean</code> | Auto-close of stale issues and pull request.<br/>__*Default*__: true
11682
+ **staleOptions**?🔹 | <code>[github.StaleOptions](#projen-github-staleoptions)</code> | Auto-close stale issues and pull requests.<br/>__*Default*__: see defaults in `StaleOptions`
11683
+ **testDeps**?🔹 | <code>Array<string></code> | List of test dependencies for this project.<br/>__*Default*__: []
11684
+ **url**?🔹 | <code>string</code> | The URL, like the name, is not required.<br/>__*Default*__: undefined
11685
+ **vscode**?🔹 | <code>boolean</code> | Enable VSCode integration.<br/>__*Default*__: true
11686
+
11687
+
11688
+
11689
+ ## struct CdkConfigCommonOptions 🔹 <a id="projen-awscdk-cdkconfigcommonoptions"></a>
11690
+
11691
+
11692
+ Common options for `cdk.json`.
11693
+
11694
+
11695
+
11696
+ Name | Type | Description
11697
+ -----|------|-------------
11698
+ **cdkout**?🔹 | <code>string</code> | cdk.out directory.<br/>__*Default*__: "cdk.out"
11699
+ **context**?🔹 | <code>Map<string, string></code> | Additional context to include in `cdk.json`.<br/>__*Default*__: no additional context
11700
+ **featureFlags**?🔹 | <code>boolean</code> | Include all feature flags in cdk.json.<br/>__*Default*__: true
11701
+ **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
11702
+
11703
+
11704
+
11705
+ ## struct CdkConfigOptions 🔹 <a id="projen-awscdk-cdkconfigoptions"></a>
11706
+
11707
+
11708
+ Options for `CdkJson`.
11709
+
11710
+
11711
+
11712
+ Name | Type | Description
11713
+ -----|------|-------------
11714
+ **app**🔹 | <code>string</code> | The command line to execute in order to synthesize the CDK application (language specific).
11715
+ **cdkout**?🔹 | <code>string</code> | cdk.out directory.<br/>__*Default*__: "cdk.out"
11716
+ **context**?🔹 | <code>Map<string, string></code> | Additional context to include in `cdk.json`.<br/>__*Default*__: no additional context
11717
+ **featureFlags**?🔹 | <code>boolean</code> | Include all feature flags in cdk.json.<br/>__*Default*__: true
11718
+ **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
11719
+
11720
+
11721
+
11722
+ ## struct LambdaFunctionCommonOptions 🔹 <a id="projen-awscdk-lambdafunctioncommonoptions"></a>
11723
+
11724
+
11725
+ Common options for `LambdaFunction`.
11726
+
11727
+ Applies to all functions in
11728
+ auto-discovery.
11729
+
11730
+
11731
+
11732
+ Name | Type | Description
11733
+ -----|------|-------------
11734
+ **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.
11735
+ **runtime**?🔹 | <code>[awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime)</code> | The node.js version to target.<br/>__*Default*__: Runtime.NODEJS_14_X
11736
+
11737
+
11738
+
11739
+ ## struct LambdaFunctionOptions 🔹 <a id="projen-awscdk-lambdafunctionoptions"></a>
11740
+
11741
+
11742
+ Options for `Function`.
11743
+
11744
+
11745
+
11746
+ Name | Type | Description
11747
+ -----|------|-------------
11748
+ **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).
11749
+ **libdir**🔹 | <code>string</code> | JavaScript output directory (where .js files go).
11750
+ **srcdir**🔹 | <code>string</code> | Project source directory tree (where .ts files live).
11751
+ **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`.
11752
+ **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`).
11753
+ **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.
11754
+ **runtime**?🔹 | <code>[awscdk.LambdaRuntime](#projen-awscdk-lambdaruntime)</code> | The node.js version to target.<br/>__*Default*__: Runtime.NODEJS_14_X
11755
+
11756
+
11757
+
11197
11758
  ## struct Dependency 🔹 <a id="projen-deps-dependency"></a>
11198
11759
 
11199
11760
  __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)()
@@ -11481,6 +12042,52 @@ Name | Type | Description
11481
12042
 
11482
12043
 
11483
12044
 
12045
+ ## struct JavaProjectCommonOptions 🔹 <a id="projen-java-javaprojectcommonoptions"></a>
12046
+
12047
+
12048
+ Options for `JavaProject`.
12049
+
12050
+
12051
+
12052
+ Name | Type | Description
12053
+ -----|------|-------------
12054
+ **artifactId**🔹 | <code>string</code> | The artifactId is generally the name that the project is known by.
12055
+ **groupId**🔹 | <code>string</code> | This is generally unique amongst an organization or a project.
12056
+ **name**🔹 | <code>string</code> | This is the name of your project.
12057
+ **version**🔹 | <code>string</code> | This is the last piece of the naming puzzle.
12058
+ **autoApproveOptions**?🔹 | <code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code> | Enable and configure the 'auto approve' workflow.<br/>__*Default*__: auto approve is disabled
12059
+ **autoMergeOptions**?🔹 | <code>[github.AutoMergeOptions](#projen-github-automergeoptions)</code> | Configure options for automatic merging on GitHub.<br/>__*Default*__: see defaults in `AutoMergeOptions`
12060
+ **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
12061
+ **compileOptions**?🔹 | <code>[java.MavenCompileOptions](#projen-java-mavencompileoptions)</code> | Compile options.<br/>__*Default*__: defaults
12062
+ **deps**?🔹 | <code>Array<string></code> | List of runtime dependencies for this project.<br/>__*Default*__: []
12063
+ **description**?🔹 | <code>string</code> | Description of a project is always good.<br/>__*Default*__: undefined
12064
+ **devContainer**?🔹 | <code>boolean</code> | Add a VSCode development environment (used for GitHub Codespaces).<br/>__*Default*__: false
12065
+ **distdir**?🔹 | <code>string</code> | Final artifact output directory.<br/>__*Default*__: "dist/java"
12066
+ **github**?🔹 | <code>boolean</code> | Enable GitHub integration.<br/>__*Default*__: true
12067
+ **githubOptions**?🔹 | <code>[github.GitHubOptions](#projen-github-githuboptions)</code> | Options for GitHub integration.<br/>__*Default*__: see GitHubOptions
12068
+ **gitpod**?🔹 | <code>boolean</code> | Add a Gitpod development environment.<br/>__*Default*__: false
12069
+ **junit**?🔹 | <code>boolean</code> | Include junit tests.<br/>__*Default*__: true
12070
+ **junitOptions**?🔹 | <code>[java.JunitOptions](#projen-java-junitoptions)</code> | junit options.<br/>__*Default*__: defaults
12071
+ **logging**?🔹 | <code>[LoggerOptions](#projen-loggeroptions)</code> | Configure logging options such as verbosity.<br/>__*Default*__: {}
12072
+ **mergify**?⚠️ | <code>boolean</code> | Whether mergify should be enabled on this repository or not.<br/>__*Default*__: true
12073
+ **outdir**?🔹 | <code>string</code> | The root directory of the project.<br/>__*Default*__: "."
12074
+ **packaging**?🔹 | <code>string</code> | Project packaging format.<br/>__*Default*__: "jar"
12075
+ **packagingOptions**?🔹 | <code>[java.MavenPackagingOptions](#projen-java-mavenpackagingoptions)</code> | Packaging options.<br/>__*Default*__: defaults
12076
+ **parent**?🔹 | <code>[Project](#projen-project)</code> | The parent project, if this project is part of a bigger project.<br/>__*Optional*__
12077
+ **projectType**?⚠️ | <code>[ProjectType](#projen-projecttype)</code> | Which type of project this is (library/app).<br/>__*Default*__: ProjectType.UNKNOWN
12078
+ **projenrcJava**?🔹 | <code>boolean</code> | Use projenrc in java.<br/>__*Default*__: true
12079
+ **projenrcJavaOptions**?🔹 | <code>[java.ProjenrcOptions](#projen-java-projenrcoptions)</code> | Options related to projenrc in java.<br/>__*Default*__: default options
12080
+ **projenrcJson**?🔹 | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.<br/>__*Default*__: false
12081
+ **projenrcJsonOptions**?🔹 | <code>[json.ProjenrcOptions](#projen-json-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
12082
+ **readme**?🔹 | <code>[SampleReadmeProps](#projen-samplereadmeprops)</code> | The README setup.<br/>__*Default*__: { filename: 'README.md', contents: '# replace this' }
12083
+ **stale**?🔹 | <code>boolean</code> | Auto-close of stale issues and pull request.<br/>__*Default*__: true
12084
+ **staleOptions**?🔹 | <code>[github.StaleOptions](#projen-github-staleoptions)</code> | Auto-close stale issues and pull requests.<br/>__*Default*__: see defaults in `StaleOptions`
12085
+ **testDeps**?🔹 | <code>Array<string></code> | List of test dependencies for this project.<br/>__*Default*__: []
12086
+ **url**?🔹 | <code>string</code> | The URL, like the name, is not required.<br/>__*Default*__: undefined
12087
+ **vscode**?🔹 | <code>boolean</code> | Enable VSCode integration.<br/>__*Default*__: true
12088
+
12089
+
12090
+
11484
12091
  ## struct JavaProjectOptions 🔹 <a id="projen-java-javaprojectoptions"></a>
11485
12092
 
11486
12093
 
@@ -11649,6 +12256,52 @@ Name | Type | Description
11649
12256
 
11650
12257
 
11651
12258
 
12259
+ ## struct BundleOptions 🔹 <a id="projen-javascript-bundleoptions"></a>
12260
+
12261
+
12262
+ Options for bundling.
12263
+
12264
+
12265
+
12266
+ Name | Type | Description
12267
+ -----|------|-------------
12268
+ **entrypoint**🔹 | <code>string</code> | The entrypoint of the code you wish to bundle.
12269
+ **outfile**🔹 | <code>string</code> | This option sets the output file name for the build operation.
12270
+ **platform**🔹 | <code>string</code> | esbuild platform.
12271
+ **target**🔹 | <code>string</code> | esbuild target.
12272
+ **externals**?🔹 | <code>Array<string></code> | You can mark a file or a package as external to exclude it from your build.<br/>__*Default*__: []
12273
+ **sourcemap**?🔹 | <code>boolean</code> | Include a source map in the bundle.<br/>__*Default*__: true
12274
+ **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
12275
+
12276
+
12277
+
12278
+ ## struct BundlerCommonOptions 🔹 <a id="projen-javascript-bundlercommonoptions"></a>
12279
+
12280
+
12281
+ Common options for `Bundler`.
12282
+
12283
+
12284
+
12285
+ Name | Type | Description
12286
+ -----|------|-------------
12287
+ **esbuildVersion**?🔹 | <code>string</code> | The semantic version requirement for `esbuild`.<br/>__*Default*__: no specific version (implies latest)
12288
+
12289
+
12290
+
12291
+ ## struct BundlerOptions 🔹 <a id="projen-javascript-bundleroptions"></a>
12292
+
12293
+
12294
+ Options for `Bundler`.
12295
+
12296
+
12297
+
12298
+ Name | Type | Description
12299
+ -----|------|-------------
12300
+ **parentTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | A parent task that will spawn the "bundle" task (usually "compile").
12301
+ **esbuildVersion**?🔹 | <code>string</code> | The semantic version requirement for `esbuild`.<br/>__*Default*__: no specific version (implies latest)
12302
+
12303
+
12304
+
11652
12305
  ## struct NpmConfigOptions 🔹 <a id="projen-javascript-npmconfigoptions"></a>
11653
12306
 
11654
12307
 
@@ -12570,6 +13223,7 @@ Name | Type | Description
12570
13223
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
12571
13224
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
12572
13225
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
13226
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
12573
13227
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
12574
13228
  **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
12575
13229
  **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
@@ -12688,6 +13342,7 @@ Name | Type | Description
12688
13342
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
12689
13343
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
12690
13344
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
13345
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
12691
13346
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
12692
13347
  **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
12693
13348
  **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
@@ -12850,6 +13505,7 @@ Name | Type | Description
12850
13505
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
12851
13506
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
12852
13507
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
13508
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
12853
13509
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
12854
13510
  **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
12855
13511
  **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
@@ -12996,6 +13652,7 @@ Name | Type | Description
12996
13652
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
12997
13653
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
12998
13654
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
13655
+ **bundlerOptions**?🔹 | <code>[javascript.BundlerCommonOptions](#projen-javascript-bundlercommonoptions)</code> | Options for `Bundler`.<br/>__*Optional*__
12999
13656
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
13000
13657
  **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
13001
13658
  **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
@@ -13126,17 +13783,6 @@ Name | Description
13126
13783
  **DAILY** 🔹|Automatically bump & release a new version on a daily basis.
13127
13784
 
13128
13785
 
13129
- ## enum CdkApprovalLevel 🔹 <a id="projen-cdkapprovallevel"></a>
13130
-
13131
-
13132
-
13133
- Name | Description
13134
- -----|-----
13135
- **NEVER** 🔹|Approval is never required.
13136
- **ANY_CHANGE** 🔹|Requires approval on any IAM or security-group-related change.
13137
- **BROADENING** 🔹|Requires approval when IAM statements or traffic rules are added;
13138
-
13139
-
13140
13786
  ## enum DockerComposeProtocol 🔹 <a id="projen-dockercomposeprotocol"></a>
13141
13787
 
13142
13788
  Network protocol for port mapping.
@@ -13288,6 +13934,17 @@ Name | Description
13288
13934
  **NODE** 🔹|Resolution strategy which attempts to mimic the Node.js module resolution strategy at runtime.
13289
13935
 
13290
13936
 
13937
+ ## enum ApprovalLevel 🔹 <a id="projen-awscdk-approvallevel"></a>
13938
+
13939
+ Which approval is required when deploying CDK apps.
13940
+
13941
+ Name | Description
13942
+ -----|-----
13943
+ **NEVER** 🔹|Approval is never required.
13944
+ **ANY_CHANGE** 🔹|Requires approval on any IAM or security-group-related change.
13945
+ **BROADENING** 🔹|Requires approval when IAM statements or traffic rules are added;
13946
+
13947
+
13291
13948
  ## enum DependencyType 🔹 <a id="projen-deps-dependencytype"></a>
13292
13949
 
13293
13950
  Type of dependency.