projen 0.32.0 → 0.32.1

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 (123) hide show
  1. package/.jsii +1073 -113
  2. package/API.md +348 -60
  3. package/docs/aws-lambda.md +103 -0
  4. package/lib/awscdk/auto-discover.d.ts +46 -0
  5. package/lib/awscdk/auto-discover.js +46 -0
  6. package/lib/awscdk/cdk-config.js +1 -1
  7. package/lib/awscdk/cdk-tasks.js +1 -1
  8. package/lib/awscdk/index.d.ts +2 -0
  9. package/lib/awscdk/index.js +3 -1
  10. package/lib/awscdk/internal.d.ts +4 -0
  11. package/lib/awscdk/internal.js +6 -2
  12. package/lib/awscdk/java-app.js +1 -1
  13. package/lib/awscdk/lambda-function.d.ts +146 -0
  14. package/lib/awscdk/lambda-function.js +160 -0
  15. package/lib/awscdk-app-ts.d.ts +15 -1
  16. package/lib/awscdk-app-ts.js +13 -5
  17. package/lib/awscdk-construct.d.ts +15 -58
  18. package/lib/awscdk-construct.js +13 -62
  19. package/lib/cdk8s-app-ts.js +1 -1
  20. package/lib/cdk8s-construct.js +1 -1
  21. package/lib/cdktf-construct.js +1 -1
  22. package/lib/component.js +1 -1
  23. package/lib/construct-lib.js +1 -1
  24. package/lib/deps/dependencies.js +1 -1
  25. package/lib/dev-env.js +1 -1
  26. package/lib/docker-compose.js +2 -2
  27. package/lib/eslint.d.ts +9 -0
  28. package/lib/eslint.js +16 -5
  29. package/lib/file.js +1 -1
  30. package/lib/git/gitattributes.js +1 -1
  31. package/lib/github/auto-approve.js +1 -1
  32. package/lib/github/auto-merge.js +1 -1
  33. package/lib/github/dependabot.js +1 -1
  34. package/lib/github/github.js +1 -1
  35. package/lib/github/mergify.js +1 -1
  36. package/lib/github/pr-template.js +1 -1
  37. package/lib/github/stale.js +1 -1
  38. package/lib/github/task-workflow.js +1 -1
  39. package/lib/github/workflows.js +4 -5
  40. package/lib/gitpod.js +1 -1
  41. package/lib/ignore-file.js +1 -1
  42. package/lib/index.js +1 -1
  43. package/lib/ini.js +1 -1
  44. package/lib/inventory.js +4 -5
  45. package/lib/java/java-project.js +1 -1
  46. package/lib/java/junit.js +1 -1
  47. package/lib/java/maven-compile.js +1 -1
  48. package/lib/java/maven-packaging.js +1 -1
  49. package/lib/java/maven-sample.js +1 -1
  50. package/lib/java/pom.js +1 -1
  51. package/lib/java/projenrc.js +1 -1
  52. package/lib/javascript/bundler.d.ts +144 -0
  53. package/lib/javascript/bundler.js +93 -0
  54. package/lib/javascript/index.d.ts +1 -0
  55. package/lib/javascript/index.js +2 -1
  56. package/lib/javascript/npm-config.js +1 -1
  57. package/lib/javascript/projenrc.js +1 -1
  58. package/lib/jest.js +1 -1
  59. package/lib/jsii-project.js +1 -1
  60. package/lib/json/projenrc.js +1 -1
  61. package/lib/json.js +1 -1
  62. package/lib/license.js +1 -1
  63. package/lib/logger.js +1 -1
  64. package/lib/makefile.js +1 -1
  65. package/lib/node-package.js +1 -1
  66. package/lib/node-project.d.ts +11 -1
  67. package/lib/node-project.js +9 -4
  68. package/lib/object-file.js +1 -1
  69. package/lib/project.js +2 -2
  70. package/lib/projects.js +1 -1
  71. package/lib/python/pip.js +1 -1
  72. package/lib/python/poetry.js +2 -2
  73. package/lib/python/projenrc.js +4 -5
  74. package/lib/python/pytest.js +1 -1
  75. package/lib/python/python-project.js +1 -1
  76. package/lib/python/python-sample.js +1 -1
  77. package/lib/python/requirements-file.js +1 -1
  78. package/lib/python/setuppy.js +1 -1
  79. package/lib/python/setuptools.js +1 -1
  80. package/lib/python/venv.js +1 -1
  81. package/lib/readme.js +1 -1
  82. package/lib/release/publisher.js +1 -1
  83. package/lib/release/release-trigger.js +1 -1
  84. package/lib/release/release.js +1 -1
  85. package/lib/sample-file.js +2 -2
  86. package/lib/semver.js +1 -1
  87. package/lib/source-code.js +1 -1
  88. package/lib/tasks/runtime.js +1 -1
  89. package/lib/tasks/task.js +1 -1
  90. package/lib/tasks/tasks.js +1 -1
  91. package/lib/textfile.js +1 -1
  92. package/lib/toml.js +1 -1
  93. package/lib/typescript/projenrc.js +1 -1
  94. package/lib/typescript-config.js +1 -1
  95. package/lib/typescript.js +3 -3
  96. package/lib/upgrade-dependencies.js +2 -2
  97. package/lib/util.js +11 -3
  98. package/lib/version.js +1 -1
  99. package/lib/vscode/devcontainer.js +1 -1
  100. package/lib/vscode/launch-config.js +1 -1
  101. package/lib/vscode/vscode.js +1 -1
  102. package/lib/web/next.js +3 -3
  103. package/lib/web/postcss.js +1 -1
  104. package/lib/web/react.js +4 -4
  105. package/lib/web/tailwind.js +1 -1
  106. package/lib/xmlfile.js +1 -1
  107. package/lib/yaml.js +1 -1
  108. package/node_modules/case/LICENSE +22 -0
  109. package/node_modules/case/README.md +139 -0
  110. package/node_modules/case/case.d.ts +43 -0
  111. package/node_modules/case/dist/Case.js +171 -0
  112. package/node_modules/case/dist/Case.min.js +5 -0
  113. package/node_modules/case/dist/Case.min.js.map +1 -0
  114. package/node_modules/case/dist/Case.plus.js +189 -0
  115. package/node_modules/case/dist/Case.plus.min.js +5 -0
  116. package/node_modules/case/dist/Case.plus.min.js.map +1 -0
  117. package/node_modules/case/package.json +58 -0
  118. package/package.json +3 -3
  119. package/node_modules/decamelize/index.d.ts +0 -20
  120. package/node_modules/decamelize/index.js +0 -12
  121. package/node_modules/decamelize/license +0 -9
  122. package/node_modules/decamelize/package.json +0 -40
  123. package/node_modules/decamelize/readme.md +0 -51
package/API.md CHANGED
@@ -15,7 +15,7 @@ Name|Description
15
15
  [DevEnvironmentDockerImage](#projen-devenvironmentdockerimage)|Options for specifying the Docker image of the container.
16
16
  [DockerCompose](#projen-dockercompose)|Create a docker-compose YAML file.
17
17
  [DockerComposeService](#projen-dockercomposeservice)|A docker-compose service.
18
- [Eslint](#projen-eslint)|*No description*
18
+ [Eslint](#projen-eslint)|Represents eslint configuration.
19
19
  [FileBase](#projen-filebase)|*No description*
20
20
  [GitHubProject](#projen-githubproject)|GitHub-based project.
21
21
  [Gitpod](#projen-gitpod)|The Gitpod component which emits .gitpod.yml.
@@ -48,9 +48,12 @@ Name|Description
48
48
  [Version](#projen-version)|*No description*
49
49
  [XmlFile](#projen-xmlfile)|Represents an XML file.
50
50
  [YamlFile](#projen-yamlfile)|Represents a YAML file.
51
+ [awscdk.AutoDiscover](#projen-awscdk-autodiscover)|Automatically creates a `LambdaFunction` for all `.lambda.ts` files under the source directory of the project.
51
52
  [awscdk.AwsCdkJavaApp](#projen-awscdk-awscdkjavaapp)|AWS CDK app in Java.
52
53
  [awscdk.CdkConfig](#projen-awscdk-cdkconfig)|Represents cdk.json file.
53
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.
54
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.
55
58
  [git.GitAttributesFile](#projen-git-gitattributesfile)|Assign attributes to file names in a git repository.
56
59
  [github.AutoApprove](#projen-github-autoapprove)|Auto approve pull requests that meet a criteria.
@@ -69,6 +72,7 @@ Name|Description
69
72
  [java.MavenSample](#projen-java-mavensample)|Java code sample.
70
73
  [java.Pom](#projen-java-pom)|A Project Object Model or POM is the fundamental unit of work in Maven.
71
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.
72
76
  [javascript.NpmConfig](#projen-javascript-npmconfig)|File representing the local NPM config in .npmrc.
73
77
  [javascript.Projenrc](#projen-javascript-projenrc)|Sets up a javascript project to use TypeScript for projenrc.
74
78
  [json.Projenrc](#projen-json-projenrc)|Sets up a project to use JSON for projenrc.
@@ -171,9 +175,12 @@ Name|Description
171
175
  [VersionOptions](#projen-versionoptions)|Options for `Version`.
172
176
  [XmlFileOptions](#projen-xmlfileoptions)|Options for `XmlFile`.
173
177
  [YamlFileOptions](#projen-yamlfileoptions)|Options for `JsonFile`.
178
+ [awscdk.AutoDiscoverOptions](#projen-awscdk-autodiscoveroptions)|Options for `AutoDiscover`.
174
179
  [awscdk.AwsCdkJavaAppOptions](#projen-awscdk-awscdkjavaappoptions)|*No description*
175
180
  [awscdk.CdkConfigCommonOptions](#projen-awscdk-cdkconfigcommonoptions)|Common options for `cdk.json`.
176
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`.
177
184
  [deps.Dependency](#projen-deps-dependency)|Represents a project dependency.
178
185
  [deps.DependencyCoordinates](#projen-deps-dependencycoordinates)|Coordinates of the dependency (name and version).
179
186
  [deps.DepsManifest](#projen-deps-depsmanifest)|*No description*
@@ -202,6 +209,9 @@ Name|Description
202
209
  [java.PluginOptions](#projen-java-pluginoptions)|Options for Maven plugins.
203
210
  [java.PomOptions](#projen-java-pomoptions)|Options for `Pom`.
204
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`.
205
215
  [javascript.NpmConfigOptions](#projen-javascript-npmconfigoptions)|Options to configure the local NPM config.
206
216
  [javascript.ProjenrcOptions](#projen-javascript-projenrcoptions)|*No description*
207
217
  [json.ProjenrcOptions](#projen-json-projenrcoptions)|*No description*
@@ -308,64 +318,6 @@ A multi-language (jsii) construct library which vends constructs designed to
308
318
  use within the AWS CDK with a friendly workflow and automatic publishing to
309
319
  the construct catalog.
310
320
 
311
- ```ts
312
- const project = new ConstructLibraryAws({
313
- name: 'cdk-watchful',
314
- description: 'Watching your CDK apps since 2019',
315
- jsiiVersion: Semver.caret('1.7.0'),
316
- authorName: 'Elad Ben-Israel',
317
- authorEmail: 'elad.benisrael@gmail.com',
318
- repository: 'https://github.com/eladb/cdk-watchful.git',
319
- keywords: [
320
- "cloudwatch",
321
- "monitoring"
322
- ],
323
-
324
- catalog: {
325
- twitter: 'emeshbi'
326
- },
327
-
328
- // creates PRs for projen upgrades
329
- projenUpgradeSecret: 'PROJEN_GITHUB_TOKEN',
330
-
331
- cdkVersion: '1.54.0',
332
- cdkDependencies: [
333
- "@aws-cdk/aws-apigateway",
334
- "@aws-cdk/aws-cloudwatch",
335
- "@aws-cdk/aws-cloudwatch-actions",
336
- "@aws-cdk/aws-dynamodb",
337
- "@aws-cdk/aws-ecs",
338
- "@aws-cdk/aws-ecs-patterns",
339
- "@aws-cdk/aws-elasticloadbalancingv2",
340
- "@aws-cdk/aws-events",
341
- "@aws-cdk/aws-events-targets",
342
- "@aws-cdk/aws-lambda",
343
- "@aws-cdk/aws-rds",
344
- "@aws-cdk/aws-sns",
345
- "@aws-cdk/aws-sns-subscriptions",
346
- "@aws-cdk/aws-sqs",
347
- "@aws-cdk/core"
348
- ],
349
- devDependencies: {
350
- "aws-sdk": Semver.caret("2.708.0")
351
- },
352
-
353
- // jsii publishing
354
-
355
- java: {
356
- javaPackage: 'io.github.cdklabs.watchful',
357
- mavenGroupId: 'io.github.cdklabs',
358
- mavenArtifactId: 'cdk-watchful'
359
- },
360
- python: {
361
- distName: 'cdk-watchful',
362
- module: 'cdk_watchful'
363
- }
364
- });
365
-
366
- project.synth();
367
- ```
368
-
369
321
  __Extends__: [ConstructLibrary](#projen-constructlibrary)
370
322
 
371
323
  ### Initializer
@@ -449,6 +401,7 @@ new AwsCdkConstructLibrary(options: AwsCdkConstructLibraryOptions)
449
401
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
450
402
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
451
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*__
452
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
453
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
454
407
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -519,6 +472,8 @@ new AwsCdkConstructLibrary(options: AwsCdkConstructLibraryOptions)
519
472
  * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
520
473
  * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Default*__: false
521
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
522
477
 
523
478
 
524
479
 
@@ -657,6 +612,7 @@ new AwsCdkTypeScriptApp(options: AwsCdkTypeScriptAppOptions)
657
612
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
658
613
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
659
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*__
660
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
661
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
662
618
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -714,6 +670,8 @@ new AwsCdkTypeScriptApp(options: AwsCdkTypeScriptAppOptions)
714
670
  * **appEntrypoint** (<code>string</code>) The CDK app's entrypoint (relative to the source directory, which is "src" by default). __*Default*__: "main.ts"
715
671
  * **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules (those that start with "@aws-cdk/") this app uses. __*Optional*__
716
672
  * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Default*__: false
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
717
675
 
718
676
 
719
677
 
@@ -832,6 +790,7 @@ new Cdk8sTypeScriptApp(options: Cdk8sTypeScriptAppOptions)
832
790
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
833
791
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
834
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*__
835
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
836
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
837
796
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -1062,6 +1021,7 @@ new ConstructLibrary(options: ConstructLibraryOptions)
1062
1021
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
1063
1022
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
1064
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*__
1065
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
1066
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
1067
1027
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -1216,6 +1176,7 @@ new ConstructLibraryAws(options: AwsCdkConstructLibraryOptions)
1216
1176
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
1217
1177
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
1218
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*__
1219
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
1220
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
1221
1182
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -1286,6 +1247,8 @@ new ConstructLibraryAws(options: AwsCdkConstructLibraryOptions)
1286
1247
  * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
1287
1248
  * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Default*__: false
1288
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
1289
1252
 
1290
1253
 
1291
1254
 
@@ -1381,6 +1344,7 @@ new ConstructLibraryCdk8s(options: ConstructLibraryCdk8sOptions)
1381
1344
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
1382
1345
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
1383
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*__
1384
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
1385
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
1386
1350
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -1555,6 +1519,7 @@ new ConstructLibraryCdktf(options: ConstructLibraryCdktfOptions)
1555
1519
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
1556
1520
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
1557
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*__
1558
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
1559
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
1560
1525
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -1886,7 +1851,7 @@ addVolume(volume: IDockerComposeVolumeBinding): void
1886
1851
 
1887
1852
  ## class Eslint 🔹 <a id="projen-eslint"></a>
1888
1853
 
1889
-
1854
+ Represents eslint configuration.
1890
1855
 
1891
1856
  __Extends__: [Component](#projen-component)
1892
1857
 
@@ -1981,6 +1946,19 @@ allowDevDeps(pattern: string): void
1981
1946
 
1982
1947
 
1983
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
+
1984
1962
 
1985
1963
 
1986
1964
  ## class FileBase 🔹 <a id="projen-filebase"></a>
@@ -2612,6 +2590,7 @@ new JsiiProject(options: JsiiProjectOptions)
2612
2590
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
2613
2591
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
2614
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*__
2615
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
2616
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
2617
2596
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -3364,6 +3343,7 @@ new NodeProject(options: NodeProjectOptions)
3364
3343
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
3365
3344
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
3366
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*__
3367
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
3368
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
3369
3349
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -3406,6 +3386,7 @@ Name | Type | Description
3406
3386
  **allowLibraryDependencies**⚠️ | <code>boolean</code> | <span></span>
3407
3387
  **antitamper**🔹 | <code>boolean</code> | Indicates if workflows have anti-tamper checks.
3408
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>
3409
3390
  **compileTask**🔹 | <code>[tasks.Task](#projen-tasks-task)</code> | Compiles the code.
3410
3391
  **entrypoint**⚠️ | <code>string</code> | <span></span>
3411
3392
  **installWorkflowSteps**🔹 | <code>Array<[github.workflows.JobStep](#projen-github-workflows-jobstep)></code> | <span></span>
@@ -4492,6 +4473,7 @@ new TypeScriptAppProject(options: TypeScriptProjectOptions)
4492
4473
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
4493
4474
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
4494
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*__
4495
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
4496
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
4497
4479
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -4632,6 +4614,7 @@ new TypeScriptLibraryProject(options: TypeScriptProjectOptions)
4632
4614
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
4633
4615
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
4634
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*__
4635
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
4636
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
4637
4620
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -4772,6 +4755,7 @@ new TypeScriptProject(options: TypeScriptProjectOptions)
4772
4755
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
4773
4756
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
4774
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*__
4775
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
4776
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
4777
4761
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -5125,6 +5109,47 @@ __Returns__:
5125
5109
 
5126
5110
 
5127
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
+
5128
5153
  ## class AwsCdkJavaApp 🔹 <a id="projen-awscdk-awscdkjavaapp"></a>
5129
5154
 
5130
5155
  AWS CDK app in Java.
@@ -5289,6 +5314,76 @@ Name | Type | Description
5289
5314
 
5290
5315
 
5291
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
+
5292
5387
  ## class Dependencies 🔹 <a id="projen-deps-dependencies"></a>
5293
5388
 
5294
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.
@@ -6293,6 +6388,77 @@ Name | Type | Description
6293
6388
 
6294
6389
 
6295
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
+
6296
6462
  ## class NpmConfig 🔹 <a id="projen-javascript-npmconfig"></a>
6297
6463
 
6298
6464
  File representing the local NPM config in .npmrc.
@@ -8060,6 +8226,7 @@ new web.NextJsProject(options: NextJsProjectOptions)
8060
8226
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
8061
8227
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
8062
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*__
8063
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
8064
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
8065
8232
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -8198,6 +8365,7 @@ new web.NextJsTypeScriptProject(options: NextJsTypeScriptProjectOptions)
8198
8365
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
8199
8366
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
8200
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*__
8201
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
8202
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
8203
8371
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -8410,6 +8578,7 @@ new web.ReactProject(options: ReactProjectOptions)
8410
8578
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
8411
8579
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
8412
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*__
8413
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
8414
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
8415
8584
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -8589,6 +8758,7 @@ new web.ReactTypeScriptProject(options: ReactTypeScriptProjectOptions)
8589
8758
  * **autoApproveProjenUpgrades** (<code>boolean</code>) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: false
8590
8759
  * **autoApproveUpgrades** (<code>boolean</code>) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). __*Default*__: true
8591
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*__
8592
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
8593
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
8594
8764
  * **copyrightOwner** (<code>string</code>) License copyright owner. __*Default*__: defaults to the value of authorName or "" if `authorName` is undefined.
@@ -8717,6 +8887,7 @@ Name | Type | Description
8717
8887
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
8718
8888
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
8719
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*__
8720
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
8721
8892
  **cdkAssert**?🔹 | <code>boolean</code> | Install the @aws-cdk/assert library?<br/>__*Default*__: true
8722
8893
  **cdkDependencies**?🔹 | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?<br/>__*Optional*__
@@ -8758,6 +8929,8 @@ Name | Type | Description
8758
8929
  **jestOptions**?🔹 | <code>[JestOptions](#projen-jestoptions)</code> | Jest options.<br/>__*Default*__: default options
8759
8930
  **jsiiReleaseVersion**?🔹 | <code>string</code> | Version requirement of `jsii-release` which is used to publish modules to npm.<br/>__*Default*__: "latest"
8760
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
8761
8934
  **libdir**?🔹 | <code>string</code> | Typescript artifacts output directory.<br/>__*Default*__: "lib"
8762
8935
  **license**?🔹 | <code>string</code> | License's SPDX identifier.<br/>__*Default*__: "Apache-2.0"
8763
8936
  **licensed**?🔹 | <code>boolean</code> | Indicates if a license should be added.<br/>__*Default*__: true
@@ -8868,6 +9041,7 @@ Name | Type | Description
8868
9041
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
8869
9042
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
8870
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*__
8871
9045
  **cdkDependencies**?🔹 | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") this app uses.<br/>__*Optional*__
8872
9046
  **cdkVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Default*__: false
8873
9047
  **cdkout**?🔹 | <code>string</code> | cdk.out directory.<br/>__*Default*__: "cdk.out"
@@ -8903,6 +9077,8 @@ Name | Type | Description
8903
9077
  **jestOptions**?🔹 | <code>[JestOptions](#projen-jestoptions)</code> | Jest options.<br/>__*Default*__: default options
8904
9078
  **jsiiReleaseVersion**?🔹 | <code>string</code> | Version requirement of `jsii-release` which is used to publish modules to npm.<br/>__*Default*__: "latest"
8905
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
8906
9082
  **libdir**?🔹 | <code>string</code> | Typescript artifacts output directory.<br/>__*Default*__: "lib"
8907
9083
  **license**?🔹 | <code>string</code> | License's SPDX identifier.<br/>__*Default*__: "Apache-2.0"
8908
9084
  **licensed**?🔹 | <code>boolean</code> | Indicates if a license should be added.<br/>__*Default*__: true
@@ -9022,6 +9198,7 @@ Name | Type | Description
9022
9198
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
9023
9199
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
9024
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*__
9025
9202
  **cdk8sCliVersion**?🔹 | <code>string</code> | cdk8s-cli version.<br/>__*Default*__: "cdk8sVersion"
9026
9203
  **cdk8sCliVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK8s-cli.<br/>__*Default*__: false
9027
9204
  **cdk8sPlusVersion**?🔹 | <code>string</code> | cdk8s-plus-17 version.<br/>__*Default*__: "cdk8sVersion"
@@ -9165,6 +9342,7 @@ Name | Type | Description
9165
9342
  **bin**?⚠️ | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
9166
9343
  **buildWorkflow**?⚠️ | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
9167
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*__
9168
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
9169
9347
  **cdkAssert**?⚠️ | <code>boolean</code> | Install the @aws-cdk/assert library?<br/>__*Default*__: true
9170
9348
  **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?<br/>__*Optional*__
@@ -9206,6 +9384,8 @@ Name | Type | Description
9206
9384
  **jestOptions**?⚠️ | <code>[JestOptions](#projen-jestoptions)</code> | Jest options.<br/>__*Default*__: default options
9207
9385
  **jsiiReleaseVersion**?⚠️ | <code>string</code> | Version requirement of `jsii-release` which is used to publish modules to npm.<br/>__*Default*__: "latest"
9208
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
9209
9389
  **libdir**?⚠️ | <code>string</code> | Typescript artifacts output directory.<br/>__*Default*__: "lib"
9210
9390
  **license**?⚠️ | <code>string</code> | License's SPDX identifier.<br/>__*Default*__: "Apache-2.0"
9211
9391
  **licensed**?⚠️ | <code>boolean</code> | Indicates if a license should be added.<br/>__*Default*__: true
@@ -9318,6 +9498,7 @@ Name | Type | Description
9318
9498
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
9319
9499
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
9320
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*__
9321
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
9322
9503
  **cdk8sPlusVersion**?🔹 | <code>string</code> | cdk8s-plus-17 version.<br/>__*Default*__: "cdk8sVersion"
9323
9504
  **cdk8sPlusVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for cdk8s-plus-17.<br/>__*Default*__: false
@@ -9470,6 +9651,7 @@ Name | Type | Description
9470
9651
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
9471
9652
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
9472
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*__
9473
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
9474
9656
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
9475
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
@@ -9616,6 +9798,7 @@ Name | Type | Description
9616
9798
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
9617
9799
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
9618
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*__
9619
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
9620
9803
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
9621
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
@@ -10449,6 +10632,7 @@ Name | Type | Description
10449
10632
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
10450
10633
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
10451
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*__
10452
10636
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
10453
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
10454
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
@@ -10736,6 +10920,7 @@ Name | Type | Description
10736
10920
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
10737
10921
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
10738
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*__
10739
10924
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
10740
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
10741
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
@@ -11084,6 +11269,7 @@ Name | Type | Description
11084
11269
  **bin**?⚠️ | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
11085
11270
  **buildWorkflow**?⚠️ | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
11086
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*__
11087
11273
  **clobber**?⚠️ | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
11088
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
11089
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
@@ -11216,6 +11402,7 @@ Name | Type | Description
11216
11402
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
11217
11403
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
11218
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*__
11219
11406
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
11220
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
11221
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
@@ -11429,6 +11616,21 @@ Name | Type | Description
11429
11616
 
11430
11617
 
11431
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
+
11432
11634
  ## struct AwsCdkJavaAppOptions 🔹 <a id="projen-awscdk-awscdkjavaappoptions"></a>
11433
11635
 
11434
11636
 
@@ -11517,6 +11719,42 @@ Name | Type | Description
11517
11719
 
11518
11720
 
11519
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
+
11520
11758
  ## struct Dependency 🔹 <a id="projen-deps-dependency"></a>
11521
11759
 
11522
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)()
@@ -12018,6 +12256,52 @@ Name | Type | Description
12018
12256
 
12019
12257
 
12020
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
+
12021
12305
  ## struct NpmConfigOptions 🔹 <a id="projen-javascript-npmconfigoptions"></a>
12022
12306
 
12023
12307
 
@@ -12939,6 +13223,7 @@ Name | Type | Description
12939
13223
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
12940
13224
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
12941
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*__
12942
13227
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
12943
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
12944
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
@@ -13057,6 +13342,7 @@ Name | Type | Description
13057
13342
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
13058
13343
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
13059
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*__
13060
13346
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
13061
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
13062
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
@@ -13219,6 +13505,7 @@ Name | Type | Description
13219
13505
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
13220
13506
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
13221
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*__
13222
13509
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
13223
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
13224
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
@@ -13365,6 +13652,7 @@ Name | Type | Description
13365
13652
  **bin**?🔹 | <code>Map<string, string></code> | Binary programs vended with your module.<br/>__*Optional*__
13366
13653
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
13367
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*__
13368
13656
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
13369
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
13370
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