projen 0.31.19 → 0.32.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +2276 -571
- package/API.md +747 -79
- package/README.md +1 -0
- package/docs/aws-lambda.md +103 -0
- package/docs/publisher.md +24 -1
- package/lib/awscdk/auto-discover.d.ts +46 -0
- package/lib/awscdk/auto-discover.js +46 -0
- package/lib/awscdk/cdk-config.d.ts +103 -0
- package/lib/awscdk/cdk-config.js +56 -0
- package/lib/awscdk/cdk-tasks.d.ts +38 -0
- package/lib/awscdk/cdk-tasks.js +39 -0
- package/lib/awscdk/index.d.ts +5 -0
- package/lib/awscdk/index.js +18 -0
- package/lib/awscdk/internal.d.ts +8 -0
- package/lib/awscdk/internal.js +26 -0
- package/lib/awscdk/java-app.d.ts +92 -0
- package/lib/awscdk/java-app.js +90 -0
- package/lib/awscdk/lambda-function.d.ts +146 -0
- package/lib/awscdk/lambda-function.js +160 -0
- package/lib/awscdk-app-ts.d.ts +22 -40
- package/lib/awscdk-app-ts.js +21 -46
- package/lib/awscdk-construct.d.ts +15 -58
- package/lib/awscdk-construct.js +13 -62
- package/lib/cdk8s-app-ts.js +1 -1
- package/lib/cdk8s-construct.js +1 -1
- package/lib/cdktf-construct.js +1 -1
- package/lib/common.js +6 -2
- package/lib/component.js +1 -1
- package/lib/construct-lib.js +1 -1
- package/lib/deps/dependencies.js +1 -1
- package/lib/dev-env.js +1 -1
- package/lib/docker-compose.js +2 -2
- package/lib/eslint.d.ts +18 -0
- package/lib/eslint.js +17 -5
- package/lib/file.js +1 -1
- package/lib/git/gitattributes.js +1 -1
- package/lib/github/auto-approve.js +1 -1
- package/lib/github/auto-merge.js +1 -1
- package/lib/github/dependabot.js +1 -1
- package/lib/github/github.js +1 -1
- package/lib/github/mergify.js +1 -1
- package/lib/github/pr-template.js +1 -1
- package/lib/github/stale.js +1 -1
- package/lib/github/task-workflow.js +1 -1
- package/lib/github/workflows.js +4 -5
- package/lib/gitpod.js +1 -1
- package/lib/ignore-file.js +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/ini.js +1 -1
- package/lib/inventory.js +4 -5
- package/lib/java/java-project.d.ts +28 -14
- package/lib/java/java-project.js +3 -2
- package/lib/java/junit.js +1 -1
- package/lib/java/maven-compile.js +1 -1
- package/lib/java/maven-packaging.js +1 -1
- package/lib/java/maven-sample.js +1 -1
- package/lib/java/pom.js +1 -1
- package/lib/java/projenrc.js +1 -1
- package/lib/javascript/bundler.d.ts +144 -0
- package/lib/javascript/bundler.js +93 -0
- package/lib/javascript/index.d.ts +1 -0
- package/lib/javascript/index.js +2 -1
- package/lib/javascript/npm-config.js +1 -1
- package/lib/javascript/projenrc.js +1 -1
- package/lib/jest.js +1 -1
- package/lib/jsii-project.js +1 -1
- package/lib/json/projenrc.js +1 -1
- package/lib/json.js +1 -1
- package/lib/license.js +1 -1
- package/lib/logger.js +1 -1
- package/lib/makefile.js +1 -1
- package/lib/node-package.d.ts +39 -2
- package/lib/node-package.js +31 -5
- package/lib/node-project.d.ts +11 -1
- package/lib/node-project.js +25 -16
- package/lib/object-file.js +1 -1
- package/lib/project.js +2 -2
- package/lib/projects.js +1 -1
- package/lib/python/pip.js +1 -1
- package/lib/python/poetry.js +2 -2
- package/lib/python/projenrc.js +4 -5
- package/lib/python/pytest.js +1 -1
- package/lib/python/python-project.js +1 -1
- package/lib/python/python-sample.js +1 -1
- package/lib/python/requirements-file.js +1 -1
- package/lib/python/setuppy.js +1 -1
- package/lib/python/setuptools.js +1 -1
- package/lib/python/venv.js +1 -1
- package/lib/readme.js +1 -1
- package/lib/release/publisher.d.ts +36 -0
- package/lib/release/publisher.js +20 -5
- package/lib/release/release-trigger.js +1 -1
- package/lib/release/release.js +1 -1
- package/lib/sample-file.js +2 -2
- package/lib/semver.js +1 -1
- package/lib/source-code.js +1 -1
- package/lib/tasks/runtime.js +1 -1
- package/lib/tasks/task.js +1 -1
- package/lib/tasks/tasks.js +1 -1
- package/lib/textfile.js +1 -1
- package/lib/toml.js +1 -1
- package/lib/typescript/projenrc.js +1 -1
- package/lib/typescript-config.js +1 -1
- package/lib/typescript.js +3 -3
- package/lib/upgrade-dependencies.js +2 -2
- package/lib/util.js +11 -3
- package/lib/version.js +1 -1
- package/lib/vscode/devcontainer.js +1 -1
- package/lib/vscode/launch-config.js +1 -1
- package/lib/vscode/vscode.js +1 -1
- package/lib/web/next.js +3 -3
- package/lib/web/postcss.js +1 -1
- package/lib/web/react.js +4 -4
- package/lib/web/tailwind.js +1 -1
- package/lib/xmlfile.js +1 -1
- package/lib/yaml.js +1 -1
- package/node_modules/case/LICENSE +22 -0
- package/node_modules/case/README.md +139 -0
- package/node_modules/case/case.d.ts +43 -0
- package/node_modules/case/dist/Case.js +171 -0
- package/node_modules/case/dist/Case.min.js +5 -0
- package/node_modules/case/dist/Case.min.js.map +1 -0
- package/node_modules/case/dist/Case.plus.js +189 -0
- package/node_modules/case/dist/Case.plus.min.js +5 -0
- package/node_modules/case/dist/Case.plus.min.js.map +1 -0
- package/node_modules/case/package.json +58 -0
- package/package.json +4 -4
- package/node_modules/decamelize/index.d.ts +0 -20
- package/node_modules/decamelize/index.js +0 -12
- package/node_modules/decamelize/license +0 -9
- package/node_modules/decamelize/package.json +0 -40
- package/node_modules/decamelize/readme.md +0 -51
package/README.md
CHANGED
|
@@ -46,6 +46,7 @@ Currently supported project types (use `npx projen new` without a type for a
|
|
|
46
46
|
list):
|
|
47
47
|
|
|
48
48
|
<!-- <macro exec="node ./scripts/readme-projects.js"> -->
|
|
49
|
+
* [awscdk-app-java](https://github.com/projen/projen/blob/main/API.md#projen-awscdk-awscdkjavaapp) - AWS CDK app in Java.
|
|
49
50
|
* [awscdk-app-ts](https://github.com/projen/projen/blob/main/API.md#projen-awscdktypescriptapp) - AWS CDK app in TypeScript.
|
|
50
51
|
* [awscdk-construct](https://github.com/projen/projen/blob/main/API.md#projen-awscdkconstructlibrary) - AWS CDK construct library project.
|
|
51
52
|
* [cdk8s-app-ts](https://github.com/projen/projen/blob/main/API.md#projen-cdk8stypescriptapp) - CDK8s app in TypeScript.
|
|
@@ -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.3" };
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1kaXNjb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXV0by1kaXNjb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsNENBQXlDO0FBRXpDLHlDQUFtRDtBQUNuRCx1REFBZ0Y7Ozs7OztBQWVoRixNQUFhLFlBQWEsU0FBUSxxQkFBUzs7OztJQUd6QyxZQUFZLE9BQWdCLEVBQUUsT0FBNEI7UUFDeEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQzs7Ozs7O0lBRU0sYUFBYTtRQUNsQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sZ0NBQXFCLEVBQUUsRUFBRTtZQUM1RCxHQUFHLEVBQUUsV0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1NBQ3BELENBQUMsQ0FBQztRQUVILEtBQUssTUFBTSxVQUFVLElBQUksV0FBVyxFQUFFO1lBQ3BDLElBQUksZ0NBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUMvQixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO2dCQUMzQixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNO2dCQUMzQixVQUFVLEVBQUUsV0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQztnQkFDakQsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWE7YUFDOUIsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOztBQXRCSCxvQ0F1QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqb2luIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBnbG9iIGZyb20gJ2dsb2InO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50JztcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tICcuLi9wcm9qZWN0JztcbmltcG9ydCB7IFRZUEVTQ1JJUFRfTEFNQkRBX0VYVCB9IGZyb20gJy4vaW50ZXJuYWwnO1xuaW1wb3J0IHsgTGFtYmRhRnVuY3Rpb24sIExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucyB9IGZyb20gJy4vbGFtYmRhLWZ1bmN0aW9uJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgQXV0b0Rpc2NvdmVyT3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsYW1iZGFPcHRpb25zPzogTGFtYmRhRnVuY3Rpb25Db21tb25PcHRpb25zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHNyY2Rpcjogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbGliZGlyOiBzdHJpbmc7XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBBdXRvRGlzY292ZXIgZXh0ZW5kcyBDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IEF1dG9EaXNjb3Zlck9wdGlvbnM7XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogQXV0b0Rpc2NvdmVyT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBwcmVTeW50aGVzaXplKCkge1xuICAgIGNvbnN0IGVudHJ5cG9pbnRzID0gZ2xvYi5zeW5jKGAqKi8qJHtUWVBFU0NSSVBUX0xBTUJEQV9FWFR9YCwge1xuICAgICAgY3dkOiBqb2luKHRoaXMucHJvamVjdC5vdXRkaXIsIHRoaXMub3B0aW9ucy5zcmNkaXIpLFxuICAgIH0pO1xuXG4gICAgZm9yIChjb25zdCBlbnRyeXBvaW50IG9mIGVudHJ5cG9pbnRzKSB7XG4gICAgICBuZXcgTGFtYmRhRnVuY3Rpb24odGhpcy5wcm9qZWN0LCB7XG4gICAgICAgIGxpYmRpcjogdGhpcy5vcHRpb25zLmxpYmRpcixcbiAgICAgICAgc3JjZGlyOiB0aGlzLm9wdGlvbnMuc3JjZGlyLFxuICAgICAgICBlbnRyeXBvaW50OiBqb2luKHRoaXMub3B0aW9ucy5zcmNkaXIsIGVudHJ5cG9pbnQpLFxuICAgICAgICAuLi50aGlzLm9wdGlvbnMubGFtYmRhT3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufSJdfQ==
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { Component } from '../component';
|
|
2
|
+
import { JsonFile } from '../json';
|
|
3
|
+
import { Project } from '../project';
|
|
4
|
+
/**
|
|
5
|
+
* (experimental) Common options for `cdk.json`.
|
|
6
|
+
*
|
|
7
|
+
* @experimental
|
|
8
|
+
*/
|
|
9
|
+
export interface CdkConfigCommonOptions {
|
|
10
|
+
/**
|
|
11
|
+
* (experimental) Additional context to include in `cdk.json`.
|
|
12
|
+
*
|
|
13
|
+
* @default - no additional context
|
|
14
|
+
* @experimental
|
|
15
|
+
*/
|
|
16
|
+
readonly context?: {
|
|
17
|
+
[key: string]: string;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* (experimental) Include all feature flags in cdk.json.
|
|
21
|
+
*
|
|
22
|
+
* @default true
|
|
23
|
+
* @experimental
|
|
24
|
+
*/
|
|
25
|
+
readonly featureFlags?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* (experimental) To protect you against unintended changes that affect your security posture, the AWS CDK Toolkit prompts you to approve security-related changes before deploying them.
|
|
28
|
+
*
|
|
29
|
+
* @default ApprovalLevel.BROADENING
|
|
30
|
+
* @experimental
|
|
31
|
+
*/
|
|
32
|
+
readonly requireApproval?: ApprovalLevel;
|
|
33
|
+
/**
|
|
34
|
+
* (experimental) cdk.out directory.
|
|
35
|
+
*
|
|
36
|
+
* @default "cdk.out"
|
|
37
|
+
* @experimental
|
|
38
|
+
*/
|
|
39
|
+
readonly cdkout?: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* (experimental) Options for `CdkJson`.
|
|
43
|
+
*
|
|
44
|
+
* @experimental
|
|
45
|
+
*/
|
|
46
|
+
export interface CdkConfigOptions extends CdkConfigCommonOptions {
|
|
47
|
+
/**
|
|
48
|
+
* (experimental) The command line to execute in order to synthesize the CDK application (language specific).
|
|
49
|
+
*
|
|
50
|
+
* @experimental
|
|
51
|
+
*/
|
|
52
|
+
readonly app: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* (experimental) Represents cdk.json file.
|
|
56
|
+
*
|
|
57
|
+
* @experimental
|
|
58
|
+
*/
|
|
59
|
+
export declare class CdkConfig extends Component {
|
|
60
|
+
/**
|
|
61
|
+
* (experimental) Represents the JSON file.
|
|
62
|
+
*
|
|
63
|
+
* @experimental
|
|
64
|
+
*/
|
|
65
|
+
readonly json: JsonFile;
|
|
66
|
+
/**
|
|
67
|
+
* (experimental) Name of the cdk.out directory.
|
|
68
|
+
*
|
|
69
|
+
* @experimental
|
|
70
|
+
*/
|
|
71
|
+
readonly cdkout: string;
|
|
72
|
+
/**
|
|
73
|
+
* @experimental
|
|
74
|
+
*/
|
|
75
|
+
constructor(project: Project, options: CdkConfigOptions);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* (experimental) Which approval is required when deploying CDK apps.
|
|
79
|
+
*
|
|
80
|
+
* @experimental
|
|
81
|
+
*/
|
|
82
|
+
export declare enum ApprovalLevel {
|
|
83
|
+
/**
|
|
84
|
+
* (experimental) Approval is never required.
|
|
85
|
+
*
|
|
86
|
+
* @experimental
|
|
87
|
+
*/
|
|
88
|
+
NEVER = "never",
|
|
89
|
+
/**
|
|
90
|
+
* (experimental) Requires approval on any IAM or security-group-related change.
|
|
91
|
+
*
|
|
92
|
+
* @experimental
|
|
93
|
+
*/
|
|
94
|
+
ANY_CHANGE = "any-change",
|
|
95
|
+
/**
|
|
96
|
+
* (experimental) Requires approval when IAM statements or traffic rules are added;
|
|
97
|
+
*
|
|
98
|
+
* removals don't require approval
|
|
99
|
+
*
|
|
100
|
+
* @experimental
|
|
101
|
+
*/
|
|
102
|
+
BROADENING = "broadening"
|
|
103
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ApprovalLevel = exports.CdkConfig = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const component_1 = require("../component");
|
|
7
|
+
const json_1 = require("../json");
|
|
8
|
+
const internal_1 = require("./internal");
|
|
9
|
+
/**
|
|
10
|
+
* (experimental) Represents cdk.json file.
|
|
11
|
+
*
|
|
12
|
+
* @experimental
|
|
13
|
+
*/
|
|
14
|
+
class CdkConfig extends component_1.Component {
|
|
15
|
+
/**
|
|
16
|
+
* @experimental
|
|
17
|
+
*/
|
|
18
|
+
constructor(project, options) {
|
|
19
|
+
var _b, _c;
|
|
20
|
+
super(project);
|
|
21
|
+
this.cdkout = (_b = options.cdkout) !== null && _b !== void 0 ? _b : 'cdk.out';
|
|
22
|
+
const context = { ...options.context };
|
|
23
|
+
const fflags = (_c = options.featureFlags) !== null && _c !== void 0 ? _c : true;
|
|
24
|
+
if (fflags) {
|
|
25
|
+
for (const flag of internal_1.FEATURE_FLAGS) {
|
|
26
|
+
context[flag] = true;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
this.json = new json_1.JsonFile(project, 'cdk.json', {
|
|
30
|
+
omitEmpty: true,
|
|
31
|
+
obj: {
|
|
32
|
+
app: options.app,
|
|
33
|
+
context: context,
|
|
34
|
+
requireApproval: options.requireApproval,
|
|
35
|
+
output: this.cdkout,
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
project.gitignore.exclude(`/${this.cdkout}/`);
|
|
39
|
+
project.gitignore.exclude('.cdk.staging/');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.CdkConfig = CdkConfig;
|
|
43
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
44
|
+
CdkConfig[_a] = { fqn: "projen.awscdk.CdkConfig", version: "0.32.3" };
|
|
45
|
+
/**
|
|
46
|
+
* (experimental) Which approval is required when deploying CDK apps.
|
|
47
|
+
*
|
|
48
|
+
* @experimental
|
|
49
|
+
*/
|
|
50
|
+
var ApprovalLevel;
|
|
51
|
+
(function (ApprovalLevel) {
|
|
52
|
+
ApprovalLevel["NEVER"] = "never";
|
|
53
|
+
ApprovalLevel["ANY_CHANGE"] = "any-change";
|
|
54
|
+
ApprovalLevel["BROADENING"] = "broadening";
|
|
55
|
+
})(ApprovalLevel = exports.ApprovalLevel || (exports.ApprovalLevel = {}));
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvY2RrLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDRDQUF5QztBQUN6QyxrQ0FBbUM7QUFFbkMseUNBQTJDOzs7Ozs7QUF3QjNDLE1BQWEsU0FBVSxTQUFRLHFCQUFTOzs7O0lBUXRDLFlBQVksT0FBZ0IsRUFBRSxPQUF5Qjs7UUFDckQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLE1BQU0sU0FBRyxPQUFPLENBQUMsTUFBTSxtQ0FBSSxTQUFTLENBQUM7UUFFMUMsTUFBTSxPQUFPLEdBQXdCLEVBQUUsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUQsTUFBTSxNQUFNLFNBQUcsT0FBTyxDQUFDLFlBQVksbUNBQUksSUFBSSxDQUFDO1FBQzVDLElBQUksTUFBTSxFQUFFO1lBQ1YsS0FBSyxNQUFNLElBQUksSUFBSSx3QkFBYSxFQUFFO2dCQUNoQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO2FBQ3RCO1NBQ0Y7UUFFRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksZUFBUSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUU7WUFDNUMsU0FBUyxFQUFFLElBQUk7WUFDZixHQUFHLEVBQUU7Z0JBQ0gsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHO2dCQUNoQixPQUFPLEVBQUUsT0FBTztnQkFDaEIsZUFBZSxFQUFFLE9BQU8sQ0FBQyxlQUFlO2dCQUN4QyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07YUFDcEI7U0FDRixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7O0FBakNILDhCQWtDQzs7Ozs7Ozs7QUFHRCxJQUFZLGFBT1g7QUFQRCxXQUFZLGFBQWE7SUFFdkIsZ0NBQWUsQ0FBQTtJQUVmLDBDQUF5QixDQUFBO0lBRXpCLDBDQUF5QixDQUFBO0FBQzNCLENBQUMsRUFQVyxhQUFhLEdBQWIscUJBQWEsS0FBYixxQkFBYSxRQU94QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBKc29uRmlsZSB9IGZyb20gJy4uL2pzb24nO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gJy4uL3Byb2plY3QnO1xuaW1wb3J0IHsgRkVBVFVSRV9GTEFHUyB9IGZyb20gJy4vaW50ZXJuYWwnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBDZGtDb25maWdDb21tb25PcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNvbnRleHQ/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGZlYXR1cmVGbGFncz86IGJvb2xlYW47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHJlcXVpcmVBcHByb3ZhbD86IEFwcHJvdmFsTGV2ZWw7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY2Rrb3V0Pzogc3RyaW5nO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgQ2RrQ29uZmlnT3B0aW9ucyBleHRlbmRzIENka0NvbmZpZ0NvbW1vbk9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgYXBwOiBzdHJpbmc7XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIENka0NvbmZpZyBleHRlbmRzIENvbXBvbmVudCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkganNvbjogSnNvbkZpbGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBjZGtvdXQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBDZGtDb25maWdPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICB0aGlzLmNka291dCA9IG9wdGlvbnMuY2Rrb3V0ID8/ICdjZGsub3V0JztcblxuICAgIGNvbnN0IGNvbnRleHQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7IC4uLm9wdGlvbnMuY29udGV4dCB9O1xuICAgIGNvbnN0IGZmbGFncyA9IG9wdGlvbnMuZmVhdHVyZUZsYWdzID8/IHRydWU7XG4gICAgaWYgKGZmbGFncykge1xuICAgICAgZm9yIChjb25zdCBmbGFnIG9mIEZFQVRVUkVfRkxBR1MpIHtcbiAgICAgICAgY29udGV4dFtmbGFnXSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5qc29uID0gbmV3IEpzb25GaWxlKHByb2plY3QsICdjZGsuanNvbicsIHtcbiAgICAgIG9taXRFbXB0eTogdHJ1ZSxcbiAgICAgIG9iajoge1xuICAgICAgICBhcHA6IG9wdGlvbnMuYXBwLFxuICAgICAgICBjb250ZXh0OiBjb250ZXh0LFxuICAgICAgICByZXF1aXJlQXBwcm92YWw6IG9wdGlvbnMucmVxdWlyZUFwcHJvdmFsLFxuICAgICAgICBvdXRwdXQ6IHRoaXMuY2Rrb3V0LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHByb2plY3QuZ2l0aWdub3JlLmV4Y2x1ZGUoYC8ke3RoaXMuY2Rrb3V0fS9gKTtcbiAgICBwcm9qZWN0LmdpdGlnbm9yZS5leGNsdWRlKCcuY2RrLnN0YWdpbmcvJyk7XG4gIH1cbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBlbnVtIEFwcHJvdmFsTGV2ZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBORVZFUiA9ICduZXZlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgQU5ZX0NIQU5HRSA9ICdhbnktY2hhbmdlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBCUk9BREVOSU5HID0gJ2Jyb2FkZW5pbmcnLFxufVxuXG4iXX0=
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Component } from '../component';
|
|
2
|
+
import { Project } from '../project';
|
|
3
|
+
import { Task } from '../tasks';
|
|
4
|
+
/**
|
|
5
|
+
* (experimental) Adds standard AWS CDK tasks to your project.
|
|
6
|
+
*
|
|
7
|
+
* @experimental
|
|
8
|
+
*/
|
|
9
|
+
export declare class CdkTasks extends Component {
|
|
10
|
+
/**
|
|
11
|
+
* (experimental) Synthesizes your app.
|
|
12
|
+
*
|
|
13
|
+
* @experimental
|
|
14
|
+
*/
|
|
15
|
+
readonly synth: Task;
|
|
16
|
+
/**
|
|
17
|
+
* (experimental) Deploys your app.
|
|
18
|
+
*
|
|
19
|
+
* @experimental
|
|
20
|
+
*/
|
|
21
|
+
readonly deploy: Task;
|
|
22
|
+
/**
|
|
23
|
+
* (experimental) Destroys all the stacks.
|
|
24
|
+
*
|
|
25
|
+
* @experimental
|
|
26
|
+
*/
|
|
27
|
+
readonly destroy: Task;
|
|
28
|
+
/**
|
|
29
|
+
* (experimental) Diff against production.
|
|
30
|
+
*
|
|
31
|
+
* @experimental
|
|
32
|
+
*/
|
|
33
|
+
readonly diff: Task;
|
|
34
|
+
/**
|
|
35
|
+
* @experimental
|
|
36
|
+
*/
|
|
37
|
+
constructor(project: Project);
|
|
38
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.CdkTasks = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const component_1 = require("../component");
|
|
7
|
+
/**
|
|
8
|
+
* (experimental) Adds standard AWS CDK tasks to your project.
|
|
9
|
+
*
|
|
10
|
+
* @experimental
|
|
11
|
+
*/
|
|
12
|
+
class CdkTasks extends component_1.Component {
|
|
13
|
+
/**
|
|
14
|
+
* @experimental
|
|
15
|
+
*/
|
|
16
|
+
constructor(project) {
|
|
17
|
+
super(project);
|
|
18
|
+
this.synth = project.addTask('synth', {
|
|
19
|
+
description: 'Synthesizes your cdk app into cdk.out (part of "yarn build")',
|
|
20
|
+
exec: 'cdk synth',
|
|
21
|
+
});
|
|
22
|
+
this.deploy = project.addTask('deploy', {
|
|
23
|
+
description: 'Deploys your CDK app to the AWS cloud',
|
|
24
|
+
exec: 'cdk deploy',
|
|
25
|
+
});
|
|
26
|
+
this.destroy = project.addTask('destroy', {
|
|
27
|
+
description: 'Destroys your cdk app in the AWS cloud',
|
|
28
|
+
exec: 'cdk destroy',
|
|
29
|
+
});
|
|
30
|
+
this.diff = project.addTask('diff', {
|
|
31
|
+
description: 'Diffs the currently deployed app against your code',
|
|
32
|
+
exec: 'cdk diff',
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.CdkTasks = CdkTasks;
|
|
37
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
38
|
+
CdkTasks[_a] = { fqn: "projen.awscdk.CdkTasks", version: "0.32.3" };
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXRhc2tzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9jZGstdGFza3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0Q0FBeUM7Ozs7OztBQUt6QyxNQUFhLFFBQVMsU0FBUSxxQkFBUzs7OztJQWFyQyxZQUFZLE9BQWdCO1FBQzFCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDcEMsV0FBVyxFQUFFLDhEQUE4RDtZQUMzRSxJQUFJLEVBQUUsV0FBVztTQUNsQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3RDLFdBQVcsRUFBRSx1Q0FBdUM7WUFDcEQsSUFBSSxFQUFFLFlBQVk7U0FDbkIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUN4QyxXQUFXLEVBQUUsd0NBQXdDO1lBQ3JELElBQUksRUFBRSxhQUFhO1NBQ3BCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDbEMsV0FBVyxFQUFFLG9EQUFvRDtZQUNqRSxJQUFJLEVBQUUsVUFBVTtTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDOztBQW5DSCw0QkFvQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gJy4uL3Byb2plY3QnO1xuaW1wb3J0IHsgVGFzayB9IGZyb20gJy4uL3Rhc2tzJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIENka1Rhc2tzIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBzeW50aDogVGFzaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgZGVwbG95OiBUYXNrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgZGVzdHJveTogVGFzaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IGRpZmY6IFRhc2s7XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgdGhpcy5zeW50aCA9IHByb2plY3QuYWRkVGFzaygnc3ludGgnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1N5bnRoZXNpemVzIHlvdXIgY2RrIGFwcCBpbnRvIGNkay5vdXQgKHBhcnQgb2YgXCJ5YXJuIGJ1aWxkXCIpJyxcbiAgICAgIGV4ZWM6ICdjZGsgc3ludGgnLFxuICAgIH0pO1xuXG4gICAgdGhpcy5kZXBsb3kgPSBwcm9qZWN0LmFkZFRhc2soJ2RlcGxveScsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVwbG95cyB5b3VyIENESyBhcHAgdG8gdGhlIEFXUyBjbG91ZCcsXG4gICAgICBleGVjOiAnY2RrIGRlcGxveScsXG4gICAgfSk7XG5cbiAgICB0aGlzLmRlc3Ryb3kgPSBwcm9qZWN0LmFkZFRhc2soJ2Rlc3Ryb3knLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0Rlc3Ryb3lzIHlvdXIgY2RrIGFwcCBpbiB0aGUgQVdTIGNsb3VkJyxcbiAgICAgIGV4ZWM6ICdjZGsgZGVzdHJveScsXG4gICAgfSk7XG5cbiAgICB0aGlzLmRpZmYgPSBwcm9qZWN0LmFkZFRhc2soJ2RpZmYnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0RpZmZzIHRoZSBjdXJyZW50bHkgZGVwbG95ZWQgYXBwIGFnYWluc3QgeW91ciBjb2RlJyxcbiAgICAgIGV4ZWM6ICdjZGsgZGlmZicsXG4gICAgfSk7XG4gIH1cbn0iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./java-app"), exports);
|
|
14
|
+
__exportStar(require("./cdk-config"), exports);
|
|
15
|
+
__exportStar(require("./cdk-tasks"), exports);
|
|
16
|
+
__exportStar(require("./auto-discover"), exports);
|
|
17
|
+
__exportStar(require("./lambda-function"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXdzY2RrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDZDQUEyQjtBQUMzQiwrQ0FBNkI7QUFDN0IsOENBQTRCO0FBQzVCLGtEQUFnQztBQUNoQyxvREFBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2phdmEtYXBwJztcbmV4cG9ydCAqIGZyb20gJy4vY2RrLWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2Nkay10YXNrcyc7XG5leHBvcnQgKiBmcm9tICcuL2F1dG8tZGlzY292ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9sYW1iZGEtZnVuY3Rpb24nOyJdfQ==
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TYPESCRIPT_LAMBDA_EXT = exports.FEATURE_FLAGS = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Feature flags as of v1.130.0
|
|
6
|
+
*/
|
|
7
|
+
exports.FEATURE_FLAGS = [
|
|
8
|
+
'aws-cdk:enableDiffNoFail',
|
|
9
|
+
'@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId',
|
|
10
|
+
'@aws-cdk/core:enableStackNameDuplicates',
|
|
11
|
+
'@aws-cdk/core:stackRelativeExports',
|
|
12
|
+
'@aws-cdk/aws-ecr-assets:dockerIgnoreSupport',
|
|
13
|
+
'@aws-cdk/aws-secretsmanager:parseOwnedSecretName',
|
|
14
|
+
'@aws-cdk/aws-kms:defaultKeyPolicies',
|
|
15
|
+
'@aws-cdk/aws-s3:grantWriteWithoutAcl',
|
|
16
|
+
'@aws-cdk/aws-ecs-patterns:removeDefaultDesiredCount',
|
|
17
|
+
'@aws-cdk/aws-rds:lowercaseDbIdentifier',
|
|
18
|
+
'@aws-cdk/aws-efs:defaultEncryptionAtRest',
|
|
19
|
+
'@aws-cdk/aws-lambda:recognizeVersionProps',
|
|
20
|
+
'@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021',
|
|
21
|
+
];
|
|
22
|
+
/**
|
|
23
|
+
* Suffix for AWS Lambda handlers.
|
|
24
|
+
*/
|
|
25
|
+
exports.TYPESCRIPT_LAMBDA_EXT = '.lambda.ts';
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXdzY2RrL2ludGVybmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ1UsUUFBQSxhQUFhLEdBQUc7SUFDM0IsMEJBQTBCO0lBQzFCLHdEQUF3RDtJQUN4RCx5Q0FBeUM7SUFDekMsb0NBQW9DO0lBQ3BDLDZDQUE2QztJQUM3QyxrREFBa0Q7SUFDbEQscUNBQXFDO0lBQ3JDLHNDQUFzQztJQUN0QyxxREFBcUQ7SUFDckQsd0NBQXdDO0lBQ3hDLDBDQUEwQztJQUMxQywyQ0FBMkM7SUFDM0MsMkRBQTJEO0NBQzVELENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEscUJBQXFCLEdBQUcsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBGZWF0dXJlIGZsYWdzIGFzIG9mIHYxLjEzMC4wXG4gKi9cbmV4cG9ydCBjb25zdCBGRUFUVVJFX0ZMQUdTID0gW1xuICAnYXdzLWNkazplbmFibGVEaWZmTm9GYWlsJyxcbiAgJ0Bhd3MtY2RrL2F3cy1hcGlnYXRld2F5OnVzYWdlUGxhbktleU9yZGVySW5zZW5zaXRpdmVJZCcsXG4gICdAYXdzLWNkay9jb3JlOmVuYWJsZVN0YWNrTmFtZUR1cGxpY2F0ZXMnLFxuICAnQGF3cy1jZGsvY29yZTpzdGFja1JlbGF0aXZlRXhwb3J0cycsXG4gICdAYXdzLWNkay9hd3MtZWNyLWFzc2V0czpkb2NrZXJJZ25vcmVTdXBwb3J0JyxcbiAgJ0Bhd3MtY2RrL2F3cy1zZWNyZXRzbWFuYWdlcjpwYXJzZU93bmVkU2VjcmV0TmFtZScsXG4gICdAYXdzLWNkay9hd3Mta21zOmRlZmF1bHRLZXlQb2xpY2llcycsXG4gICdAYXdzLWNkay9hd3MtczM6Z3JhbnRXcml0ZVdpdGhvdXRBY2wnLFxuICAnQGF3cy1jZGsvYXdzLWVjcy1wYXR0ZXJuczpyZW1vdmVEZWZhdWx0RGVzaXJlZENvdW50JyxcbiAgJ0Bhd3MtY2RrL2F3cy1yZHM6bG93ZXJjYXNlRGJJZGVudGlmaWVyJyxcbiAgJ0Bhd3MtY2RrL2F3cy1lZnM6ZGVmYXVsdEVuY3J5cHRpb25BdFJlc3QnLFxuICAnQGF3cy1jZGsvYXdzLWxhbWJkYTpyZWNvZ25pemVWZXJzaW9uUHJvcHMnLFxuICAnQGF3cy1jZGsvYXdzLWNsb3VkZnJvbnQ6ZGVmYXVsdFNlY3VyaXR5UG9saWN5VExTdjEuMl8yMDIxJyxcbl07XG5cbi8qKlxuICogU3VmZml4IGZvciBBV1MgTGFtYmRhIGhhbmRsZXJzLlxuICovXG5leHBvcnQgY29uc3QgVFlQRVNDUklQVF9MQU1CREFfRVhUID0gJy5sYW1iZGEudHMnOyJdfQ==
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { JavaProject, JavaProjectOptions } from '../java';
|
|
2
|
+
import { CdkConfig, CdkConfigCommonOptions } from './cdk-config';
|
|
3
|
+
import { CdkTasks } from './cdk-tasks';
|
|
4
|
+
/**
|
|
5
|
+
* @experimental
|
|
6
|
+
*/
|
|
7
|
+
export interface AwsCdkJavaAppOptions extends JavaProjectOptions, CdkConfigCommonOptions {
|
|
8
|
+
/**
|
|
9
|
+
* (experimental) AWS CDK version to use (you can use semantic versioning).
|
|
10
|
+
*
|
|
11
|
+
* @default "^1.130.0"
|
|
12
|
+
* @experimental
|
|
13
|
+
*/
|
|
14
|
+
readonly cdkVersion: string;
|
|
15
|
+
/**
|
|
16
|
+
* (experimental) Which AWS CDK modules this app uses.
|
|
17
|
+
*
|
|
18
|
+
* The `core` module is included by
|
|
19
|
+
* default and you can add additional modules here by stating only the package
|
|
20
|
+
* name (e.g. `aws-lambda`).
|
|
21
|
+
*
|
|
22
|
+
* @experimental
|
|
23
|
+
* @featured true
|
|
24
|
+
*/
|
|
25
|
+
readonly cdkDependencies?: string[];
|
|
26
|
+
/**
|
|
27
|
+
* (experimental) The name of the Java class with the static `main()` method.
|
|
28
|
+
*
|
|
29
|
+
* This method
|
|
30
|
+
* should call `app.synth()` on the CDK app.
|
|
31
|
+
*
|
|
32
|
+
* @default "org.acme.App"
|
|
33
|
+
* @experimental
|
|
34
|
+
*/
|
|
35
|
+
readonly mainClass: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* (experimental) AWS CDK app in Java.
|
|
39
|
+
*
|
|
40
|
+
* @experimental
|
|
41
|
+
* @pjid awscdk-app-java
|
|
42
|
+
*/
|
|
43
|
+
export declare class AwsCdkJavaApp extends JavaProject {
|
|
44
|
+
/**
|
|
45
|
+
* (experimental) The CDK version this app is using.
|
|
46
|
+
*
|
|
47
|
+
* @experimental
|
|
48
|
+
*/
|
|
49
|
+
readonly cdkVersion: string;
|
|
50
|
+
/**
|
|
51
|
+
* (experimental) The `cdk.json` file.
|
|
52
|
+
*
|
|
53
|
+
* @experimental
|
|
54
|
+
*/
|
|
55
|
+
readonly cdkConfig: CdkConfig;
|
|
56
|
+
/**
|
|
57
|
+
* (experimental) The full name of the main class of the java app (package.Class).
|
|
58
|
+
*
|
|
59
|
+
* @experimental
|
|
60
|
+
*/
|
|
61
|
+
readonly mainClass: string;
|
|
62
|
+
/**
|
|
63
|
+
* (experimental) CDK tasks.
|
|
64
|
+
*
|
|
65
|
+
* @experimental
|
|
66
|
+
*/
|
|
67
|
+
readonly cdkTasks: CdkTasks;
|
|
68
|
+
/**
|
|
69
|
+
* (experimental) The name of the Java package that includes the main class.
|
|
70
|
+
*
|
|
71
|
+
* @experimental
|
|
72
|
+
*/
|
|
73
|
+
readonly mainPackage: string;
|
|
74
|
+
/**
|
|
75
|
+
* (experimental) The name of the Java class with the static `main()` method.
|
|
76
|
+
*
|
|
77
|
+
* @experimental
|
|
78
|
+
*/
|
|
79
|
+
readonly mainClassName: string;
|
|
80
|
+
/**
|
|
81
|
+
* @experimental
|
|
82
|
+
*/
|
|
83
|
+
constructor(options: AwsCdkJavaAppOptions);
|
|
84
|
+
/**
|
|
85
|
+
* (experimental) Adds an AWS CDK module dependencies.
|
|
86
|
+
*
|
|
87
|
+
* @param modules The list of modules to depend on (e.g. "core", "aws-lambda", etc).
|
|
88
|
+
* @experimental
|
|
89
|
+
*/
|
|
90
|
+
addCdkDependency(...modules: string[]): void;
|
|
91
|
+
private addSample;
|
|
92
|
+
}
|