projen 0.31.18 → 0.32.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +2150 -444
- package/API.md +735 -78
- package/README.md +1 -0
- package/docs/aws-lambda.md +103 -0
- package/docs/programmatic-api.md +56 -0
- 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/cli/cmds/new.js +23 -65
- package/lib/cli/util.d.ts +19 -0
- package/lib/cli/util.js +52 -0
- 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 +2 -0
- package/lib/index.js +3 -1
- package/lib/ini.js +1 -1
- package/lib/inventory.d.ts +15 -3
- package/lib/inventory.js +53 -29
- 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 +3 -3
- package/lib/javascript/render-options.d.ts +5 -0
- package/lib/javascript/render-options.js +24 -21
- package/lib/jest.js +1 -1
- package/lib/jsii-project.js +1 -1
- package/lib/json/projenrc.js +1 -1
- package/lib/json/run-projenrc.task.js +6 -11
- 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.js +1 -1
- package/lib/node-project.d.ts +11 -1
- package/lib/node-project.js +9 -4
- package/lib/object-file.js +1 -1
- package/lib/project.js +2 -2
- package/lib/projects.d.ts +80 -0
- package/lib/projects.js +81 -0
- 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.js +1 -1
- 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 +3 -3
- package/lib/typescript-config.js +1 -1
- package/lib/typescript.js +3 -3
- package/lib/upgrade-dependencies.js +2 -2
- package/lib/util/synth.d.ts +4 -0
- package/lib/util/synth.js +35 -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/lib/cli/create.d.ts +0 -41
- package/lib/cli/create.js +0 -48
- 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
|
+
```
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Programmatic API
|
|
2
|
+
|
|
3
|
+
Projen exposes a programmatic API that allows you to create new projects through
|
|
4
|
+
code instead of the regular CLI command `npx projen new`. This allows projen to
|
|
5
|
+
be used to create new projects within scripts and other contexts.
|
|
6
|
+
|
|
7
|
+
## Example
|
|
8
|
+
|
|
9
|
+
```js
|
|
10
|
+
const { Projects } = require('projen');
|
|
11
|
+
|
|
12
|
+
Projects.createProject({
|
|
13
|
+
dir: '/path/to/mydir',
|
|
14
|
+
projectFqn: 'projen.TypeScriptProject',
|
|
15
|
+
projectOptions: {
|
|
16
|
+
name: 'my-test-project',
|
|
17
|
+
defaultReleaseBranch: 'main',
|
|
18
|
+
projenrcTs: true,
|
|
19
|
+
eslintOptions: {
|
|
20
|
+
dirs: ['src', 'test'],
|
|
21
|
+
prettier: true,
|
|
22
|
+
aliasMap: {
|
|
23
|
+
'@src': './src',
|
|
24
|
+
'@components': './src/components',
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
post: false,
|
|
29
|
+
// synth: true (default)
|
|
30
|
+
// optionHints: 'featured' (default)
|
|
31
|
+
});
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
This script creates a new TypeScript project at `/path/to/mydir` in my file
|
|
35
|
+
system. The `.projenrc.ts` file it generates comes pre-included with options
|
|
36
|
+
specified, including complex values for fields that cannot normally be provided
|
|
37
|
+
through the CLI, like `eslintOptions` (because the field requires an object
|
|
38
|
+
value).
|
|
39
|
+
|
|
40
|
+
In the above example, the provided option `post: false` was also added to
|
|
41
|
+
disable post-installation steps such as installing NPM dependencies.
|
|
42
|
+
|
|
43
|
+
> **Note:** It is important that you provide all fields that are required by the
|
|
44
|
+
project type, otherwise the project may not synthesize properly.
|
|
45
|
+
|
|
46
|
+
It is also possible to use this for installing external project types.
|
|
47
|
+
Currently, this requires you to install the package so that it can be used by
|
|
48
|
+
projen.
|
|
49
|
+
|
|
50
|
+
```js
|
|
51
|
+
Projects.createProject({
|
|
52
|
+
// ...
|
|
53
|
+
projectFqn: '@myorg/my-package.MyJsiiProject',
|
|
54
|
+
});
|
|
55
|
+
```
|
|
56
|
+
|
|
@@ -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.2" };
|
|
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.2" };
|
|
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.2" };
|
|
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
|
+
}
|