projen 0.32.0 → 0.32.4

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 (126) hide show
  1. package/.jsii +1382 -257
  2. package/API.md +416 -61
  3. package/docs/aws-lambda.md +103 -0
  4. package/docs/publisher.md +24 -1
  5. package/lib/awscdk/auto-discover.d.ts +46 -0
  6. package/lib/awscdk/auto-discover.js +46 -0
  7. package/lib/awscdk/cdk-config.js +1 -1
  8. package/lib/awscdk/cdk-tasks.js +1 -1
  9. package/lib/awscdk/index.d.ts +2 -0
  10. package/lib/awscdk/index.js +3 -1
  11. package/lib/awscdk/internal.d.ts +4 -0
  12. package/lib/awscdk/internal.js +6 -2
  13. package/lib/awscdk/java-app.js +1 -1
  14. package/lib/awscdk/lambda-function.d.ts +146 -0
  15. package/lib/awscdk/lambda-function.js +160 -0
  16. package/lib/awscdk-app-ts.d.ts +15 -1
  17. package/lib/awscdk-app-ts.js +13 -5
  18. package/lib/awscdk-construct.d.ts +15 -58
  19. package/lib/awscdk-construct.js +13 -62
  20. package/lib/cdk8s-app-ts.js +1 -1
  21. package/lib/cdk8s-construct.js +1 -1
  22. package/lib/cdktf-construct.js +1 -1
  23. package/lib/component.js +1 -1
  24. package/lib/construct-lib.js +1 -1
  25. package/lib/deps/dependencies.js +1 -1
  26. package/lib/dev-env.js +1 -1
  27. package/lib/docker-compose.js +2 -2
  28. package/lib/eslint.d.ts +9 -0
  29. package/lib/eslint.js +16 -5
  30. package/lib/file.js +1 -1
  31. package/lib/git/gitattributes.js +1 -1
  32. package/lib/github/auto-approve.js +1 -1
  33. package/lib/github/auto-merge.js +1 -1
  34. package/lib/github/dependabot.js +1 -1
  35. package/lib/github/github.js +1 -1
  36. package/lib/github/mergify.js +1 -1
  37. package/lib/github/pr-template.js +1 -1
  38. package/lib/github/stale.js +1 -1
  39. package/lib/github/task-workflow.js +1 -1
  40. package/lib/github/workflows.js +4 -5
  41. package/lib/gitpod.js +1 -1
  42. package/lib/ignore-file.js +1 -1
  43. package/lib/index.js +1 -1
  44. package/lib/ini.js +1 -1
  45. package/lib/inventory.js +4 -5
  46. package/lib/java/java-project.js +1 -1
  47. package/lib/java/junit.js +1 -1
  48. package/lib/java/maven-compile.js +1 -1
  49. package/lib/java/maven-packaging.js +1 -1
  50. package/lib/java/maven-sample.js +1 -1
  51. package/lib/java/pom.js +1 -1
  52. package/lib/java/projenrc.js +1 -1
  53. package/lib/javascript/bundler.d.ts +144 -0
  54. package/lib/javascript/bundler.js +93 -0
  55. package/lib/javascript/index.d.ts +1 -0
  56. package/lib/javascript/index.js +2 -1
  57. package/lib/javascript/npm-config.js +1 -1
  58. package/lib/javascript/projenrc.js +1 -1
  59. package/lib/jest.js +1 -1
  60. package/lib/jsii-project.js +1 -1
  61. package/lib/json/projenrc.js +1 -1
  62. package/lib/json.js +1 -1
  63. package/lib/license.js +1 -1
  64. package/lib/logger.js +1 -1
  65. package/lib/makefile.js +1 -1
  66. package/lib/node-package.d.ts +39 -2
  67. package/lib/node-package.js +31 -5
  68. package/lib/node-project.d.ts +11 -1
  69. package/lib/node-project.js +25 -16
  70. package/lib/object-file.js +1 -1
  71. package/lib/project.js +2 -2
  72. package/lib/projects.js +1 -1
  73. package/lib/python/pip.js +1 -1
  74. package/lib/python/poetry.js +2 -2
  75. package/lib/python/projenrc.js +4 -5
  76. package/lib/python/pytest.js +1 -1
  77. package/lib/python/python-project.js +1 -1
  78. package/lib/python/python-sample.js +1 -1
  79. package/lib/python/requirements-file.js +1 -1
  80. package/lib/python/setuppy.js +1 -1
  81. package/lib/python/setuptools.js +1 -1
  82. package/lib/python/venv.js +1 -1
  83. package/lib/readme.js +1 -1
  84. package/lib/release/publisher.d.ts +36 -0
  85. package/lib/release/publisher.js +20 -5
  86. package/lib/release/release-trigger.js +1 -1
  87. package/lib/release/release.js +1 -1
  88. package/lib/sample-file.js +2 -2
  89. package/lib/semver.js +1 -1
  90. package/lib/source-code.js +1 -1
  91. package/lib/tasks/runtime.js +1 -1
  92. package/lib/tasks/task.js +1 -1
  93. package/lib/tasks/tasks.js +1 -1
  94. package/lib/textfile.js +1 -1
  95. package/lib/toml.js +1 -1
  96. package/lib/typescript/projenrc.js +1 -1
  97. package/lib/typescript-config.js +1 -1
  98. package/lib/typescript.js +3 -3
  99. package/lib/upgrade-dependencies.js +2 -2
  100. package/lib/util.js +11 -3
  101. package/lib/version.js +1 -1
  102. package/lib/vscode/devcontainer.js +1 -1
  103. package/lib/vscode/launch-config.js +1 -1
  104. package/lib/vscode/vscode.js +1 -1
  105. package/lib/web/next.js +3 -3
  106. package/lib/web/postcss.js +1 -1
  107. package/lib/web/react.js +4 -4
  108. package/lib/web/tailwind.js +1 -1
  109. package/lib/xmlfile.js +1 -1
  110. package/lib/yaml.js +1 -1
  111. package/node_modules/case/LICENSE +22 -0
  112. package/node_modules/case/README.md +139 -0
  113. package/node_modules/case/case.d.ts +43 -0
  114. package/node_modules/case/dist/Case.js +171 -0
  115. package/node_modules/case/dist/Case.min.js +5 -0
  116. package/node_modules/case/dist/Case.min.js.map +1 -0
  117. package/node_modules/case/dist/Case.plus.js +189 -0
  118. package/node_modules/case/dist/Case.plus.min.js +5 -0
  119. package/node_modules/case/dist/Case.plus.min.js.map +1 -0
  120. package/node_modules/case/package.json +58 -0
  121. package/package.json +7 -7
  122. package/node_modules/decamelize/index.d.ts +0 -20
  123. package/node_modules/decamelize/index.js +0 -12
  124. package/node_modules/decamelize/license +0 -9
  125. package/node_modules/decamelize/package.json +0 -40
  126. package/node_modules/decamelize/readme.md +0 -51
@@ -0,0 +1,103 @@
1
+ # AWS Lambda Functions
2
+
3
+ Projen supports authoring Node.js AWS Lambda functions in AWS CDK libraries and
4
+ apps.
5
+
6
+ This includes:
7
+
8
+ - Seamlessly produce JavaScript bundles with all dependencies as part during
9
+ build.
10
+ - Generates source code for an AWS CDK construct for your function that is
11
+ pre-connected to your bundled handler code.
12
+
13
+ ## Usage
14
+
15
+ In AWS CDK projects (`awscdk-construct` or `awscdk-app-ts`), AWS Lambda
16
+ functions are automatically created for each `.lambda.ts` file in your source
17
+ tree.
18
+
19
+ First create a TypeScript source file with your AWS Lambda handler code. The
20
+ file must have a `.lambda.ts` suffix and reside under the source tree and
21
+ include a standard AWS Lambda handler file which exports the `handler` function.
22
+
23
+ `src/resize-image.lambda.ts`:
24
+
25
+ ```ts
26
+ export async function handler(event: any) {
27
+ console.log('I am resizing the image now!');
28
+ }
29
+ ```
30
+
31
+ Now, simply run:
32
+
33
+ ```sh
34
+ $ npx projen
35
+ ```
36
+
37
+ The following will happen:
38
+
39
+ 1. A new task called `bundle:resize-image` will be added to your project. This
40
+ task uses `esbuild` to produce a JavaScript bundle with your handler code and
41
+ all of its dependencies. The bundled output will be emitted under
42
+ `lib/resize-image.bundle/index.js`.
43
+ 2. A file will be generated under `src/resize-image-function.ts` which includes
44
+ the code for a construct called `ResizeImageFunction`. This construct extends
45
+ the `@aws-cdk/aws-lambda.Function` class and bound to your handler.
46
+
47
+ To refer to your AWS Lambda function from your CDK code, simply import this
48
+ class and add it to your app:
49
+
50
+ ```ts
51
+ import { ResizeImageFunction } from './resize-image-function.ts';
52
+
53
+ const handler = new ResizeImageFunction(this, 'ResizeImageFunction', {
54
+ env: {
55
+ FOO: '1234',
56
+ },
57
+
58
+ // all lambda options are supported...
59
+ });
60
+ ```
61
+
62
+ ## Options
63
+
64
+ The `lambdaOptions` option can be used to configure all AWS Lambda functions in your project.
65
+
66
+ These are the defaults:
67
+
68
+ ```ts
69
+ const { awscdk } = require('projen');
70
+
71
+ new AwsCdkConstructLibrary({
72
+ // ...
73
+ lambdaOptions: {
74
+ // target node.js runtime
75
+ runtime: awscdk.LambdaRuntime.NODEJS_14_X,
76
+
77
+ // list of node modules to exclude from the bundle
78
+ externals: [ 'aws-sdk' ]
79
+ }
80
+ });
81
+ ```
82
+
83
+ ## Auto-discovery
84
+
85
+ As mentioned above, an AWS Lambda function will be created for every
86
+ `.lambda.ts` file in your source tree. To disable auto-discovery, set
87
+ `lambdaAutoDiscover` to `false` and then you can manually add
88
+ `awscdk.LambdaFunction` to your project:
89
+
90
+ ```ts
91
+ const { awscdk } = require('projen');
92
+
93
+ const p = new AwsCdkTypeScriptApp({
94
+ lambdaAutoDiscover: false
95
+ });
96
+
97
+ new awscdk.LambdaFunction(p, {
98
+ srcdir: p.srcdir,
99
+ libdir: p.libdir,
100
+ entrypoint: 'src/foo.lambda.ts', // .lambda.ts extension is still required
101
+ runtime: aws_lambda.Runtime.NODEJS_12_X,
102
+ });
103
+ ```
package/docs/publisher.md CHANGED
@@ -71,6 +71,29 @@ publisher.publishToMaven({
71
71
  })
72
72
  ```
73
73
 
74
+ ## Publishing to AWS CodeArtifact
75
+
76
+ The NPM target comes with dynamic defaults that support AWS CodeArtifact.
77
+ If the respective registry URL is detected to be AWS CodeArtifact, other relevant options will automatically be set to fitting values.
78
+ The authentication will done using [AWS CLI](https://docs.aws.amazon.com/codeartifact/latest/ug/tokens-authentication.html). It is neccessary to provide AWS IAM CLI `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` in GitHub Secrets.
79
+
80
+ **npm**
81
+ ```ts
82
+ publisher.publishToNpm({
83
+ registry: 'my-domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/',
84
+ });
85
+ ```
86
+
87
+ The names of the GitHub Secrets can be overridden if different names should be used.
88
+ ```ts
89
+ publisher.publishToNpm({
90
+ registry: 'my-domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/',
91
+ codeArtifactOptions: {
92
+ accessKeyIdSecret: 'CUSTOM_AWS_ACCESS_KEY_ID',
93
+ secretAccessKeySecret: 'CUSTOM_AWS_SECRET_ACCESS_KEY',
94
+ },
95
+ });
96
+ ```
74
97
  ## Handling Failures
75
98
 
76
99
  You can instruct the publisher to create GitHub issues for publish failures:
@@ -88,4 +111,4 @@ const publisher = new Publisher(project, {
88
111
  This will create an issue labeled with the `failed-release` label for every individual failed publish task.
89
112
  For example, if Nuget publishing failed for a specific version, it will create an issue titled *Publishing v1.0.4 to Nuget gallery failed*.
90
113
 
91
- This can be helpful to keep track of failed releases as well as integrate with third-party ticketing systems by querying issues labeled with `failed-release`.
114
+ This can be helpful to keep track of failed releases as well as integrate with third-party ticketing systems by querying issues labeled with `failed-release`.
@@ -0,0 +1,46 @@
1
+ import { Component } from '../component';
2
+ import { Project } from '../project';
3
+ import { LambdaFunctionCommonOptions } from './lambda-function';
4
+ /**
5
+ * (experimental) Options for `AutoDiscover`.
6
+ *
7
+ * @experimental
8
+ */
9
+ export interface AutoDiscoverOptions {
10
+ /**
11
+ * (experimental) Options for auto-discovery of AWS Lambda functions.
12
+ *
13
+ * @experimental
14
+ */
15
+ readonly lambdaOptions?: LambdaFunctionCommonOptions;
16
+ /**
17
+ * (experimental) Project source tree (relative to project output directory).
18
+ *
19
+ * @experimental
20
+ */
21
+ readonly srcdir: string;
22
+ /**
23
+ * (experimental) Output directory (where .js files go).
24
+ *
25
+ * @experimental
26
+ */
27
+ readonly libdir: string;
28
+ }
29
+ /**
30
+ * (experimental) Automatically creates a `LambdaFunction` for all `.lambda.ts` files under the source directory of the project.
31
+ *
32
+ * @experimental
33
+ */
34
+ export declare class AutoDiscover extends Component {
35
+ private readonly options;
36
+ /**
37
+ * @experimental
38
+ */
39
+ constructor(project: Project, options: AutoDiscoverOptions);
40
+ /**
41
+ * (experimental) Called before synthesis.
42
+ *
43
+ * @experimental
44
+ */
45
+ preSynthesize(): void;
46
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AutoDiscover = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const path_1 = require("path");
7
+ const glob = require("glob");
8
+ const component_1 = require("../component");
9
+ const internal_1 = require("./internal");
10
+ const lambda_function_1 = require("./lambda-function");
11
+ /**
12
+ * (experimental) Automatically creates a `LambdaFunction` for all `.lambda.ts` files under the source directory of the project.
13
+ *
14
+ * @experimental
15
+ */
16
+ class AutoDiscover extends component_1.Component {
17
+ /**
18
+ * @experimental
19
+ */
20
+ constructor(project, options) {
21
+ super(project);
22
+ this.options = options;
23
+ }
24
+ /**
25
+ * (experimental) Called before synthesis.
26
+ *
27
+ * @experimental
28
+ */
29
+ preSynthesize() {
30
+ const entrypoints = glob.sync(`**/*${internal_1.TYPESCRIPT_LAMBDA_EXT}`, {
31
+ cwd: path_1.join(this.project.outdir, this.options.srcdir),
32
+ });
33
+ for (const entrypoint of entrypoints) {
34
+ new lambda_function_1.LambdaFunction(this.project, {
35
+ libdir: this.options.libdir,
36
+ srcdir: this.options.srcdir,
37
+ entrypoint: path_1.join(this.options.srcdir, entrypoint),
38
+ ...this.options.lambdaOptions,
39
+ });
40
+ }
41
+ }
42
+ }
43
+ exports.AutoDiscover = AutoDiscover;
44
+ _a = JSII_RTTI_SYMBOL_1;
45
+ AutoDiscover[_a] = { fqn: "projen.awscdk.AutoDiscover", version: "0.32.4" };
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1kaXNjb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXV0by1kaXNjb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsNENBQXlDO0FBRXpDLHlDQUFtRDtBQUNuRCx1REFBZ0Y7Ozs7OztBQWVoRixNQUFhLFlBQWEsU0FBUSxxQkFBUzs7OztJQUd6QyxZQUFZLE9BQWdCLEVBQUUsT0FBNEI7UUFDeEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQzs7Ozs7O0lBRU0sYUFBYTtRQUNsQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sZ0NBQXFCLEVBQUUsRUFBRTtZQUM1RCxHQUFHLEVBQUUsV0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1NBQ3BELENBQUMsQ0FBQztRQUVILEtBQUssTUFBTSxVQUFVLElBQUksV0FBVyxFQUFFO1lBQ3BDLElBQUksZ0NBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUMvQixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO2dCQUMzQixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO2dCQUMzQixVQUFVLEVBQUUsV0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQztnQkFDakQsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWE7YUFDOUIsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOztBQXRCSCxvQ0F1QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqb2luIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBnbG9iIGZyb20gJ2dsb2InO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50JztcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tICcuLi9wcm9qZWN0JztcbmltcG9ydCB7IFRZUEVTQ1JJUFRfTEFNQkRBX0VYVCB9IGZyb20gJy4vaW50ZXJuYWwnO1xuaW1wb3J0IHsgTGFtYmRhRnVuY3Rpb24sIExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucyB9IGZyb20gJy4vbGFtYmRhLWZ1bmN0aW9uJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgQXV0b0Rpc2NvdmVyT3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsYW1iZGFPcHRpb25zPzogTGFtYmRhRnVuY3Rpb25Db21tb25PcHRpb25zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHNyY2Rpcjogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbGliZGlyOiBzdHJpbmc7XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBBdXRvRGlzY292ZXIgZXh0ZW5kcyBDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IEF1dG9EaXNjb3Zlck9wdGlvbnM7XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogQXV0b0Rpc2NvdmVyT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBwcmVTeW50aGVzaXplKCkge1xuICAgIGNvbnN0IGVudHJ5cG9pbnRzID0gZ2xvYi5zeW5jKGAqKi8qJHtUWVBFU0NSSVBUX0xBTUJEQV9FWFR9YCwge1xuICAgICAgY3dkOiBqb2luKHRoaXMucHJvamVjdC5vdXRkaXIsIHRoaXMub3B0aW9ucy5zcmNkaXIpLFxuICAgIH0pO1xuXG4gICAgZm9yIChjb25zdCBlbnRyeXBvaW50IG9mIGVudHJ5cG9pbnRzKSB7XG4gICAgICBuZXcgTGFtYmRhRnVuY3Rpb24odGhpcy5wcm9qZWN0LCB7XG4gICAgICAgIGxpYmRpcjogdGhpcy5vcHRpb25zLmxpYmRpcixcbiAgICAgICAgc3JjZGlyOiB0aGlzLm9wdGlvbnMuc3JjZGlyLFxuICAgICAgICBlbnRyeXBvaW50OiBqb2luKHRoaXMub3B0aW9ucy5zcmNkaXIsIGVudHJ5cG9pbnQpLFxuICAgICAgICAuLi50aGlzLm9wdGlvbnMubGFtYmRhT3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufSJdfQ==
@@ -41,7 +41,7 @@ class CdkConfig extends component_1.Component {
41
41
  }
42
42
  exports.CdkConfig = CdkConfig;
43
43
  _a = JSII_RTTI_SYMBOL_1;
44
- CdkConfig[_a] = { fqn: "projen.awscdk.CdkConfig", version: "0.32.0" };
44
+ CdkConfig[_a] = { fqn: "projen.awscdk.CdkConfig", version: "0.32.4" };
45
45
  /**
46
46
  * (experimental) Which approval is required when deploying CDK apps.
47
47
  *
@@ -35,5 +35,5 @@ class CdkTasks extends component_1.Component {
35
35
  }
36
36
  exports.CdkTasks = CdkTasks;
37
37
  _a = JSII_RTTI_SYMBOL_1;
38
- CdkTasks[_a] = { fqn: "projen.awscdk.CdkTasks", version: "0.32.0" };
38
+ CdkTasks[_a] = { fqn: "projen.awscdk.CdkTasks", version: "0.32.4" };
39
39
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXRhc2tzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9jZGstdGFza3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0Q0FBeUM7Ozs7OztBQUt6QyxNQUFhLFFBQVMsU0FBUSxxQkFBUzs7OztJQWFyQyxZQUFZLE9BQWdCO1FBQzFCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDcEMsV0FBVyxFQUFFLDhEQUE4RDtZQUMzRSxJQUFJLEVBQUUsV0FBVztTQUNsQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3RDLFdBQVcsRUFBRSx1Q0FBdUM7WUFDcEQsSUFBSSxFQUFFLFlBQVk7U0FDbkIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUN4QyxXQUFXLEVBQUUsd0NBQXdDO1lBQ3JELElBQUksRUFBRSxhQUFhO1NBQ3BCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDbEMsV0FBVyxFQUFFLG9EQUFvRDtZQUNqRSxJQUFJLEVBQUUsVUFBVTtTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDOztBQW5DSCw0QkFvQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gJy4uL3Byb2plY3QnO1xuaW1wb3J0IHsgVGFzayB9IGZyb20gJy4uL3Rhc2tzJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIENka1Rhc2tzIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBzeW50aDogVGFzaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgZGVwbG95OiBUYXNrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgZGVzdHJveTogVGFzaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IGRpZmY6IFRhc2s7XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgdGhpcy5zeW50aCA9IHByb2plY3QuYWRkVGFzaygnc3ludGgnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1N5bnRoZXNpemVzIHlvdXIgY2RrIGFwcCBpbnRvIGNkay5vdXQgKHBhcnQgb2YgXCJ5YXJuIGJ1aWxkXCIpJyxcbiAgICAgIGV4ZWM6ICdjZGsgc3ludGgnLFxuICAgIH0pO1xuXG4gICAgdGhpcy5kZXBsb3kgPSBwcm9qZWN0LmFkZFRhc2soJ2RlcGxveScsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVwbG95cyB5b3VyIENESyBhcHAgdG8gdGhlIEFXUyBjbG91ZCcsXG4gICAgICBleGVjOiAnY2RrIGRlcGxveScsXG4gICAgfSk7XG5cbiAgICB0aGlzLmRlc3Ryb3kgPSBwcm9qZWN0LmFkZFRhc2soJ2Rlc3Ryb3knLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0Rlc3Ryb3lzIHlvdXIgY2RrIGFwcCBpbiB0aGUgQVdTIGNsb3VkJyxcbiAgICAgIGV4ZWM6ICdjZGsgZGVzdHJveScsXG4gICAgfSk7XG5cbiAgICB0aGlzLmRpZmYgPSBwcm9qZWN0LmFkZFRhc2soJ2RpZmYnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0RpZmZzIHRoZSBjdXJyZW50bHkgZGVwbG95ZWQgYXBwIGFnYWluc3QgeW91ciBjb2RlJyxcbiAgICAgIGV4ZWM6ICdjZGsgZGlmZicsXG4gICAgfSk7XG4gIH1cbn0iXX0=
@@ -1,3 +1,5 @@
1
1
  export * from './java-app';
2
2
  export * from './cdk-config';
3
3
  export * from './cdk-tasks';
4
+ export * from './auto-discover';
5
+ export * from './lambda-function';
@@ -13,4 +13,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./java-app"), exports);
14
14
  __exportStar(require("./cdk-config"), exports);
15
15
  __exportStar(require("./cdk-tasks"), exports);
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXdzY2RrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDZDQUEyQjtBQUMzQiwrQ0FBNkI7QUFDN0IsOENBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9qYXZhLWFwcCc7XG5leHBvcnQgKiBmcm9tICcuL2Nkay1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9jZGstdGFza3MnOyJdfQ==
16
+ __exportStar(require("./auto-discover"), exports);
17
+ __exportStar(require("./lambda-function"), exports);
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXdzY2RrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDZDQUEyQjtBQUMzQiwrQ0FBNkI7QUFDN0IsOENBQTRCO0FBQzVCLGtEQUFnQztBQUNoQyxvREFBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2phdmEtYXBwJztcbmV4cG9ydCAqIGZyb20gJy4vY2RrLWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2Nkay10YXNrcyc7XG5leHBvcnQgKiBmcm9tICcuL2F1dG8tZGlzY292ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9sYW1iZGEtZnVuY3Rpb24nOyJdfQ==
@@ -2,3 +2,7 @@
2
2
  * Feature flags as of v1.130.0
3
3
  */
4
4
  export declare const FEATURE_FLAGS: string[];
5
+ /**
6
+ * Suffix for AWS Lambda handlers.
7
+ */
8
+ export declare const TYPESCRIPT_LAMBDA_EXT = ".lambda.ts";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FEATURE_FLAGS = void 0;
3
+ exports.TYPESCRIPT_LAMBDA_EXT = exports.FEATURE_FLAGS = void 0;
4
4
  /**
5
5
  * Feature flags as of v1.130.0
6
6
  */
@@ -19,4 +19,8 @@ exports.FEATURE_FLAGS = [
19
19
  '@aws-cdk/aws-lambda:recognizeVersionProps',
20
20
  '@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021',
21
21
  ];
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXdzY2RrL2ludGVybmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ1UsUUFBQSxhQUFhLEdBQUc7SUFDM0IsMEJBQTBCO0lBQzFCLHdEQUF3RDtJQUN4RCx5Q0FBeUM7SUFDekMsb0NBQW9DO0lBQ3BDLDZDQUE2QztJQUM3QyxrREFBa0Q7SUFDbEQscUNBQXFDO0lBQ3JDLHNDQUFzQztJQUN0QyxxREFBcUQ7SUFDckQsd0NBQXdDO0lBQ3hDLDBDQUEwQztJQUMxQywyQ0FBMkM7SUFDM0MsMkRBQTJEO0NBQzVELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZlYXR1cmUgZmxhZ3MgYXMgb2YgdjEuMTMwLjBcbiAqL1xuZXhwb3J0IGNvbnN0IEZFQVRVUkVfRkxBR1MgPSBbXG4gICdhd3MtY2RrOmVuYWJsZURpZmZOb0ZhaWwnLFxuICAnQGF3cy1jZGsvYXdzLWFwaWdhdGV3YXk6dXNhZ2VQbGFuS2V5T3JkZXJJbnNlbnNpdGl2ZUlkJyxcbiAgJ0Bhd3MtY2RrL2NvcmU6ZW5hYmxlU3RhY2tOYW1lRHVwbGljYXRlcycsXG4gICdAYXdzLWNkay9jb3JlOnN0YWNrUmVsYXRpdmVFeHBvcnRzJyxcbiAgJ0Bhd3MtY2RrL2F3cy1lY3ItYXNzZXRzOmRvY2tlcklnbm9yZVN1cHBvcnQnLFxuICAnQGF3cy1jZGsvYXdzLXNlY3JldHNtYW5hZ2VyOnBhcnNlT3duZWRTZWNyZXROYW1lJyxcbiAgJ0Bhd3MtY2RrL2F3cy1rbXM6ZGVmYXVsdEtleVBvbGljaWVzJyxcbiAgJ0Bhd3MtY2RrL2F3cy1zMzpncmFudFdyaXRlV2l0aG91dEFjbCcsXG4gICdAYXdzLWNkay9hd3MtZWNzLXBhdHRlcm5zOnJlbW92ZURlZmF1bHREZXNpcmVkQ291bnQnLFxuICAnQGF3cy1jZGsvYXdzLXJkczpsb3dlcmNhc2VEYklkZW50aWZpZXInLFxuICAnQGF3cy1jZGsvYXdzLWVmczpkZWZhdWx0RW5jcnlwdGlvbkF0UmVzdCcsXG4gICdAYXdzLWNkay9hd3MtbGFtYmRhOnJlY29nbml6ZVZlcnNpb25Qcm9wcycsXG4gICdAYXdzLWNkay9hd3MtY2xvdWRmcm9udDpkZWZhdWx0U2VjdXJpdHlQb2xpY3lUTFN2MS4yXzIwMjEnLFxuXTsiXX0=
22
+ /**
23
+ * Suffix for AWS Lambda handlers.
24
+ */
25
+ exports.TYPESCRIPT_LAMBDA_EXT = '.lambda.ts';
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXdzY2RrL2ludGVybmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ1UsUUFBQSxhQUFhLEdBQUc7SUFDM0IsMEJBQTBCO0lBQzFCLHdEQUF3RDtJQUN4RCx5Q0FBeUM7SUFDekMsb0NBQW9DO0lBQ3BDLDZDQUE2QztJQUM3QyxrREFBa0Q7SUFDbEQscUNBQXFDO0lBQ3JDLHNDQUFzQztJQUN0QyxxREFBcUQ7SUFDckQsd0NBQXdDO0lBQ3hDLDBDQUEwQztJQUMxQywyQ0FBMkM7SUFDM0MsMkRBQTJEO0NBQzVELENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEscUJBQXFCLEdBQUcsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBGZWF0dXJlIGZsYWdzIGFzIG9mIHYxLjEzMC4wXG4gKi9cbmV4cG9ydCBjb25zdCBGRUFUVVJFX0ZMQUdTID0gW1xuICAnYXdzLWNkazplbmFibGVEaWZmTm9GYWlsJyxcbiAgJ0Bhd3MtY2RrL2F3cy1hcGlnYXRld2F5OnVzYWdlUGxhbktleU9yZGVySW5zZW5zaXRpdmVJZCcsXG4gICdAYXdzLWNkay9jb3JlOmVuYWJsZVN0YWNrTmFtZUR1cGxpY2F0ZXMnLFxuICAnQGF3cy1jZGsvY29yZTpzdGFja1JlbGF0aXZlRXhwb3J0cycsXG4gICdAYXdzLWNkay9hd3MtZWNyLWFzc2V0czpkb2NrZXJJZ25vcmVTdXBwb3J0JyxcbiAgJ0Bhd3MtY2RrL2F3cy1zZWNyZXRzbWFuYWdlcjpwYXJzZU93bmVkU2VjcmV0TmFtZScsXG4gICdAYXdzLWNkay9hd3Mta21zOmRlZmF1bHRLZXlQb2xpY2llcycsXG4gICdAYXdzLWNkay9hd3MtczM6Z3JhbnRXcml0ZVdpdGhvdXRBY2wnLFxuICAnQGF3cy1jZGsvYXdzLWVjcy1wYXR0ZXJuczpyZW1vdmVEZWZhdWx0RGVzaXJlZENvdW50JyxcbiAgJ0Bhd3MtY2RrL2F3cy1yZHM6bG93ZXJjYXNlRGJJZGVudGlmaWVyJyxcbiAgJ0Bhd3MtY2RrL2F3cy1lZnM6ZGVmYXVsdEVuY3J5cHRpb25BdFJlc3QnLFxuICAnQGF3cy1jZGsvYXdzLWxhbWJkYTpyZWNvZ25pemVWZXJzaW9uUHJvcHMnLFxuICAnQGF3cy1jZGsvYXdzLWNsb3VkZnJvbnQ6ZGVmYXVsdFNlY3VyaXR5UG9saWN5VExTdjEuMl8yMDIxJyxcbl07XG5cbi8qKlxuICogU3VmZml4IGZvciBBV1MgTGFtYmRhIGhhbmRsZXJzLlxuICovXG5leHBvcnQgY29uc3QgVFlQRVNDUklQVF9MQU1CREFfRVhUID0gJy5sYW1iZGEudHMnOyJdfQ==
@@ -86,5 +86,5 @@ class AwsCdkJavaApp extends java_1.JavaProject {
86
86
  }
87
87
  exports.AwsCdkJavaApp = AwsCdkJavaApp;
88
88
  _a = JSII_RTTI_SYMBOL_1;
89
- AwsCdkJavaApp[_a] = { fqn: "projen.awscdk.AwsCdkJavaApp", version: "0.32.0" };
89
+ AwsCdkJavaApp[_a] = { fqn: "projen.awscdk.AwsCdkJavaApp", version: "0.32.4" };
90
90
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YS1hcHAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXdzY2RrL2phdmEtYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0JBQTRCO0FBQzVCLGlDQUFpQztBQUNqQywwQkFBK0I7QUFDL0Isa0NBQTBEO0FBQzFELDZDQUFpRTtBQUNqRSwyQ0FBdUM7Ozs7Ozs7QUFjdkMsTUFBYSxhQUFjLFNBQVEsa0JBQVc7Ozs7SUFtQjVDLFlBQVksT0FBNkI7O1FBQ3ZDLE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekQsTUFBTSxXQUFXLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUUxRSxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixNQUFNLEVBQUUsS0FBSztZQUNiLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ3pDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBRXJDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztTQUNoRTtRQUVELE1BQU0sZUFBZSxlQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQywwQ0FBRSxLQUFLLG1DQUFJLENBQUMsQ0FBQztRQUN2RSxJQUFJLGVBQWUsSUFBSSxDQUFDLEVBQUU7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFHLE9BQU8sQ0FBQyxlQUFlLG1DQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXhELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxvQkFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLHNCQUFTLENBQUMsSUFBSSxFQUFFO1lBQ25DLEdBQUcsRUFBRSwwQ0FBMEMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUMvRCxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7Ozs7OztJQUdNLGdCQUFnQixDQUFDLEdBQUcsT0FBaUI7UUFDMUMsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1NBQ3RFO0lBQ0gsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QyxNQUFNLFFBQVEsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLE9BQU8sQ0FBQztRQUM5QyxJQUFJLGFBQVMsQ0FBQyxJQUFJLEVBQUUsV0FBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUU7WUFDdkQsS0FBSyxFQUFFO2dCQUNMLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQ1YsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHO29CQUMzQixFQUFFO29CQUNGLHlDQUF5QztvQkFDekMsMkNBQTJDO29CQUMzQyxFQUFFO29CQUNGLGdCQUFnQixJQUFJLENBQUMsYUFBYSxJQUFJO29CQUN0QyxrREFBa0Q7b0JBQ2xELDBCQUEwQjtvQkFDMUIsZ0NBQWdDO29CQUNoQyxrQkFBa0I7b0JBQ2xCLEtBQUs7b0JBQ0wsR0FBRztpQkFDSixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDYjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBdEZILHNDQXVGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpvaW4gfSBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIHNlbXZlciBmcm9tICdzZW12ZXInO1xuaW1wb3J0IHsgU2FtcGxlRGlyIH0gZnJvbSAnLi4nO1xuaW1wb3J0IHsgSmF2YVByb2plY3QsIEphdmFQcm9qZWN0T3B0aW9ucyB9IGZyb20gJy4uL2phdmEnO1xuaW1wb3J0IHsgQ2RrQ29uZmlnLCBDZGtDb25maWdDb21tb25PcHRpb25zIH0gZnJvbSAnLi9jZGstY29uZmlnJztcbmltcG9ydCB7IENka1Rhc2tzIH0gZnJvbSAnLi9jZGstdGFza3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF3c0Nka0phdmFBcHBPcHRpb25zIGV4dGVuZHMgSmF2YVByb2plY3RPcHRpb25zLCBDZGtDb25maWdDb21tb25PcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNka1ZlcnNpb246IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY2RrRGVwZW5kZW5jaWVzPzogc3RyaW5nW107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbWFpbkNsYXNzOiBzdHJpbmc7XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgQXdzQ2RrSmF2YUFwcCBleHRlbmRzIEphdmFQcm9qZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgY2RrVmVyc2lvbjogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBjZGtDb25maWc6IENka0NvbmZpZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBtYWluQ2xhc3M6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBjZGtUYXNrczogQ2RrVGFza3M7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgbWFpblBhY2thZ2U6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgbWFpbkNsYXNzTmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEF3c0Nka0phdmFBcHBPcHRpb25zKSB7XG4gICAgY29uc3QgbWFpbkNsYXNzQ29tcG9uZW50cyA9IG9wdGlvbnMubWFpbkNsYXNzLnNwbGl0KCcuJyk7XG4gICAgY29uc3QgbWFpblBhY2thZ2UgPSBtYWluQ2xhc3NDb21wb25lbnRzLnNsaWNlKDAsIC0xKTtcbiAgICBjb25zdCBtYWluQ2xhc3NOYW1lID0gbWFpbkNsYXNzQ29tcG9uZW50c1ttYWluQ2xhc3NDb21wb25lbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHNhbXBsZTogZmFsc2UsXG4gICAgICBzYW1wbGVKYXZhUGFja2FnZTogbWFpblBhY2thZ2Uuam9pbignLicpLFxuICAgIH0pO1xuXG4gICAgdGhpcy5tYWluQ2xhc3MgPSBvcHRpb25zLm1haW5DbGFzcztcbiAgICB0aGlzLm1haW5QYWNrYWdlID0gbWFpblBhY2thZ2Uuam9pbignLicpO1xuICAgIHRoaXMubWFpbkNsYXNzTmFtZSA9IG1haW5DbGFzc05hbWU7XG4gICAgdGhpcy5jZGtWZXJzaW9uID0gb3B0aW9ucy5jZGtWZXJzaW9uO1xuXG4gICAgaWYgKCF0aGlzLmNka1ZlcnNpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgZmllbGQgY2RrVmVyc2lvbiBpcyBub3Qgc3BlY2lmaWVkLicpO1xuICAgIH1cblxuICAgIGNvbnN0IGNka01ham9yVmVyc2lvbiA9IHNlbXZlci5taW5WZXJzaW9uKHRoaXMuY2RrVmVyc2lvbik/Lm1ham9yID8/IDE7XG4gICAgaWYgKGNka01ham9yVmVyc2lvbiA+PSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NES3YyIGlzIHN0aWxsIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICB9XG5cbiAgICB0aGlzLmFkZENka0RlcGVuZGVuY3koJ2NvcmUnKTtcbiAgICB0aGlzLmFkZENka0RlcGVuZGVuY3koLi4ub3B0aW9ucy5jZGtEZXBlbmRlbmNpZXMgPz8gW10pO1xuXG4gICAgdGhpcy5jZGtUYXNrcyA9IG5ldyBDZGtUYXNrcyh0aGlzKTtcbiAgICB0aGlzLmJ1aWxkVGFzay5zcGF3bih0aGlzLmNka1Rhc2tzLnN5bnRoKTtcblxuICAgIHRoaXMuY2RrQ29uZmlnID0gbmV3IENka0NvbmZpZyh0aGlzLCB7XG4gICAgICBhcHA6IGBtdm4gZXhlYzpqYXZhIC0tcXVpZXQgLURleGVjLm1haW5DbGFzcz0ke3RoaXMubWFpbkNsYXNzfWAsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRTYW1wbGUoKTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgYWRkQ2RrRGVwZW5kZW5jeSguLi5tb2R1bGVzOiBzdHJpbmdbXSkge1xuICAgIGZvciAoY29uc3QgbSBvZiBtb2R1bGVzKSB7XG4gICAgICB0aGlzLmFkZERlcGVuZGVuY3koYHNvZnR3YXJlLmFtYXpvbi5hd3NjZGsvJHttfUAke3RoaXMuY2RrVmVyc2lvbn1gKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZFNhbXBsZSgpIHtcbiAgICBjb25zdCBwa2cgPSB0aGlzLm1haW5QYWNrYWdlLnNwbGl0KCcuJyk7XG4gICAgY29uc3QgamF2YUZpbGUgPSBgJHt0aGlzLm1haW5DbGFzc05hbWV9LmphdmFgO1xuICAgIG5ldyBTYW1wbGVEaXIodGhpcywgam9pbignc3JjJywgJ21haW4nLCAnamF2YScsIC4uLnBrZyksIHtcbiAgICAgIGZpbGVzOiB7XG4gICAgICAgIFtqYXZhRmlsZV06IFtcbiAgICAgICAgICBgcGFja2FnZSAke3BrZy5qb2luKCcuJyl9O2AsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJ2ltcG9ydCBzb2Z0d2FyZS5hbWF6b24uYXdzY2RrLmNvcmUuQXBwOycsXG4gICAgICAgICAgJ2ltcG9ydCBzb2Z0d2FyZS5hbWF6b24uYXdzY2RrLmNvcmUuU3RhY2s7JyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICBgcHVibGljIGNsYXNzICR7dGhpcy5tYWluQ2xhc3NOYW1lfSB7YCxcbiAgICAgICAgICAnICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihmaW5hbCBTdHJpbmdbXSBhcmdzKSB7JyxcbiAgICAgICAgICAnICAgIEFwcCBhcHAgPSBuZXcgQXBwKCk7JyxcbiAgICAgICAgICAnICAgIG5ldyBTdGFjayhhcHAsIFwiTXlTdGFja1wiKTsnLFxuICAgICAgICAgICcgICAgYXBwLnN5bnRoKCk7JyxcbiAgICAgICAgICAnICB9JyxcbiAgICAgICAgICAnfScsXG4gICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,146 @@
1
+ import { Project } from '..';
2
+ import { Component } from '../component';
3
+ import { Task } from '../tasks';
4
+ /**
5
+ * (experimental) Common options for `LambdaFunction`.
6
+ *
7
+ * Applies to all functions in
8
+ * auto-discovery.
9
+ *
10
+ * @experimental
11
+ */
12
+ export interface LambdaFunctionCommonOptions {
13
+ /**
14
+ * (experimental) The node.js version to target.
15
+ *
16
+ * @default Runtime.NODEJS_14_X
17
+ * @experimental
18
+ */
19
+ readonly runtime?: LambdaRuntime;
20
+ /**
21
+ * (experimental) Names of modules which should not be included in the bundle.
22
+ *
23
+ * @default - by default, the "aws-sdk" module will be excluded from the
24
+ * bundle. Note that if you use this option you will need to add "aws-sdk"
25
+ * explicitly.
26
+ * @experimental
27
+ */
28
+ readonly externals?: string[];
29
+ }
30
+ /**
31
+ * (experimental) Options for `Function`.
32
+ *
33
+ * @experimental
34
+ */
35
+ export interface LambdaFunctionOptions extends LambdaFunctionCommonOptions {
36
+ /**
37
+ * (experimental) A path from the project root directory to a TypeScript file which contains the AWS Lambda handler entrypoint (exports a `handler` function).
38
+ *
39
+ * @experimental
40
+ */
41
+ readonly entrypoint: string;
42
+ /**
43
+ * (experimental) The name of the generated TypeScript source file.
44
+ *
45
+ * @default - The name of the entrypoint file, with the `-function.ts` suffix
46
+ * instead of `.lambda.ts`.
47
+ * @experimental
48
+ */
49
+ readonly constructFile?: string;
50
+ /**
51
+ * (experimental) The name of the generated `lambda.Function` subclass.
52
+ *
53
+ * @default - A pascal cased version of the name of the entrypoint file, with
54
+ * the extension `Function` (e.g. `ResizeImageFunction`).
55
+ * @experimental
56
+ */
57
+ readonly constructName?: string;
58
+ /**
59
+ * (experimental) Project source directory tree (where .ts files live).
60
+ *
61
+ * @experimental
62
+ */
63
+ readonly srcdir: string;
64
+ /**
65
+ * (experimental) JavaScript output directory (where .js files go).
66
+ *
67
+ * @experimental
68
+ */
69
+ readonly libdir: string;
70
+ }
71
+ /**
72
+ * (experimental) Generates a pre-bundled AWS Lambda function construct from handler code.
73
+ *
74
+ * To use this, create an AWS Lambda handler file under your source tree with
75
+ * the `.lambda.ts` extension and add a `LambdaFunction` component to your
76
+ * typescript project pointing to this entrypoint.
77
+ *
78
+ * This will add a task to your "compile" step which will use `esbuild` to
79
+ * bundle the handler code into the build directory. It will also generate a
80
+ * file `src/foo-function.ts` with a custom AWS construct called `FooFunction`
81
+ * which extends `@aws-cdk/aws-lambda.Function` which is bound to the bundled
82
+ * handle through an asset.
83
+ *
84
+ * @experimental
85
+ * @example
86
+ *
87
+ * new LambdaFunction(myProject, {
88
+ * entrypoint: 'src/foo.lambda.ts',
89
+ * srcdir: myProject.srcdir,
90
+ * libdir: myProject.libdir,
91
+ * });
92
+ */
93
+ export declare class LambdaFunction extends Component {
94
+ /**
95
+ * (experimental) The bundle task for this function.
96
+ *
97
+ * @experimental
98
+ */
99
+ readonly bundleTask: Task;
100
+ /**
101
+ * (experimental) Defines a pre-bundled AWS Lambda function construct from handler code.
102
+ *
103
+ * @param project The project to use.
104
+ * @param options Options.
105
+ * @experimental
106
+ */
107
+ constructor(project: Project, options: LambdaFunctionOptions);
108
+ }
109
+ /**
110
+ * (experimental) The runtime for the AWS Lambda function.
111
+ *
112
+ * @experimental
113
+ */
114
+ export declare class LambdaRuntime {
115
+ /**
116
+ * The aws-lambda.Runtime member name to use.
117
+ */
118
+ readonly functionRuntime: string;
119
+ /**
120
+ * The esbuild setting to use.
121
+ */
122
+ readonly esbuildTarget: string;
123
+ /**
124
+ * (experimental) Node.js 10.x.
125
+ *
126
+ * @experimental
127
+ */
128
+ static readonly NODEJS_10_X: LambdaRuntime;
129
+ /**
130
+ * (experimental) Node.js 12.x.
131
+ *
132
+ * @experimental
133
+ */
134
+ static readonly NODEJS_12_X: LambdaRuntime;
135
+ /**
136
+ * (experimental) Node.js 14.x.
137
+ *
138
+ * @experimental
139
+ */
140
+ static readonly NODEJS_14_X: LambdaRuntime;
141
+ /**
142
+ * @experimental
143
+ */
144
+ readonly esbuildPlatform = "node";
145
+ private constructor();
146
+ }