projen 0.31.19 → 0.32.0

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 (102) hide show
  1. package/.jsii +783 -203
  2. package/API.md +331 -18
  3. package/README.md +1 -0
  4. package/lib/awscdk/cdk-config.d.ts +103 -0
  5. package/lib/awscdk/cdk-config.js +56 -0
  6. package/lib/awscdk/cdk-tasks.d.ts +38 -0
  7. package/lib/awscdk/cdk-tasks.js +39 -0
  8. package/lib/awscdk/index.d.ts +3 -0
  9. package/lib/awscdk/index.js +16 -0
  10. package/lib/awscdk/internal.d.ts +4 -0
  11. package/lib/awscdk/internal.js +22 -0
  12. package/lib/awscdk/java-app.d.ts +92 -0
  13. package/lib/awscdk/java-app.js +90 -0
  14. package/lib/awscdk-app-ts.d.ts +13 -45
  15. package/lib/awscdk-app-ts.js +12 -45
  16. package/lib/awscdk-construct.js +2 -2
  17. package/lib/cdk8s-app-ts.js +1 -1
  18. package/lib/cdk8s-construct.js +1 -1
  19. package/lib/cdktf-construct.js +1 -1
  20. package/lib/common.js +6 -2
  21. package/lib/component.js +1 -1
  22. package/lib/construct-lib.js +1 -1
  23. package/lib/deps/dependencies.js +1 -1
  24. package/lib/dev-env.js +1 -1
  25. package/lib/docker-compose.js +2 -2
  26. package/lib/eslint.d.ts +9 -0
  27. package/lib/eslint.js +3 -2
  28. package/lib/file.js +1 -1
  29. package/lib/git/gitattributes.js +1 -1
  30. package/lib/github/auto-approve.js +1 -1
  31. package/lib/github/auto-merge.js +1 -1
  32. package/lib/github/dependabot.js +1 -1
  33. package/lib/github/github.js +1 -1
  34. package/lib/github/mergify.js +1 -1
  35. package/lib/github/pr-template.js +1 -1
  36. package/lib/github/stale.js +1 -1
  37. package/lib/github/task-workflow.js +1 -1
  38. package/lib/github/workflows.js +1 -1
  39. package/lib/gitpod.js +1 -1
  40. package/lib/ignore-file.js +1 -1
  41. package/lib/index.d.ts +1 -0
  42. package/lib/index.js +2 -1
  43. package/lib/ini.js +1 -1
  44. package/lib/java/java-project.d.ts +28 -14
  45. package/lib/java/java-project.js +3 -2
  46. package/lib/java/junit.js +1 -1
  47. package/lib/java/maven-compile.js +1 -1
  48. package/lib/java/maven-packaging.js +1 -1
  49. package/lib/java/maven-sample.js +1 -1
  50. package/lib/java/pom.js +1 -1
  51. package/lib/java/projenrc.js +1 -1
  52. package/lib/javascript/npm-config.js +1 -1
  53. package/lib/javascript/projenrc.js +1 -1
  54. package/lib/jest.js +1 -1
  55. package/lib/jsii-project.js +1 -1
  56. package/lib/json/projenrc.js +1 -1
  57. package/lib/json.js +1 -1
  58. package/lib/license.js +1 -1
  59. package/lib/logger.js +1 -1
  60. package/lib/makefile.js +1 -1
  61. package/lib/node-package.js +1 -1
  62. package/lib/node-project.js +1 -1
  63. package/lib/object-file.js +1 -1
  64. package/lib/project.js +2 -2
  65. package/lib/projects.js +1 -1
  66. package/lib/python/pip.js +1 -1
  67. package/lib/python/poetry.js +2 -2
  68. package/lib/python/projenrc.js +1 -1
  69. package/lib/python/pytest.js +1 -1
  70. package/lib/python/python-project.js +1 -1
  71. package/lib/python/python-sample.js +1 -1
  72. package/lib/python/requirements-file.js +1 -1
  73. package/lib/python/setuppy.js +1 -1
  74. package/lib/python/setuptools.js +1 -1
  75. package/lib/python/venv.js +1 -1
  76. package/lib/readme.js +1 -1
  77. package/lib/release/publisher.js +1 -1
  78. package/lib/release/release-trigger.js +1 -1
  79. package/lib/release/release.js +1 -1
  80. package/lib/sample-file.js +2 -2
  81. package/lib/semver.js +1 -1
  82. package/lib/source-code.js +1 -1
  83. package/lib/tasks/runtime.js +1 -1
  84. package/lib/tasks/task.js +1 -1
  85. package/lib/tasks/tasks.js +1 -1
  86. package/lib/textfile.js +1 -1
  87. package/lib/toml.js +1 -1
  88. package/lib/typescript/projenrc.js +1 -1
  89. package/lib/typescript-config.js +1 -1
  90. package/lib/typescript.js +3 -3
  91. package/lib/upgrade-dependencies.js +2 -2
  92. package/lib/version.js +1 -1
  93. package/lib/vscode/devcontainer.js +1 -1
  94. package/lib/vscode/launch-config.js +1 -1
  95. package/lib/vscode/vscode.js +1 -1
  96. package/lib/web/next.js +3 -3
  97. package/lib/web/postcss.js +1 -1
  98. package/lib/web/react.js +4 -4
  99. package/lib/web/tailwind.js +1 -1
  100. package/lib/xmlfile.js +1 -1
  101. package/lib/yaml.js +1 -1
  102. package/package.json +2 -2
@@ -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.0" };
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.0" };
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXRhc2tzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9jZGstdGFza3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0Q0FBeUM7Ozs7OztBQUt6QyxNQUFhLFFBQVMsU0FBUSxxQkFBUzs7OztJQWFyQyxZQUFZLE9BQWdCO1FBQzFCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDcEMsV0FBVyxFQUFFLDhEQUE4RDtZQUMzRSxJQUFJLEVBQUUsV0FBVztTQUNsQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3RDLFdBQVcsRUFBRSx1Q0FBdUM7WUFDcEQsSUFBSSxFQUFFLFlBQVk7U0FDbkIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUN4QyxXQUFXLEVBQUUsd0NBQXdDO1lBQ3JELElBQUksRUFBRSxhQUFhO1NBQ3BCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDbEMsV0FBVyxFQUFFLG9EQUFvRDtZQUNqRSxJQUFJLEVBQUUsVUFBVTtTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDOztBQW5DSCw0QkFvQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gJy4uL3Byb2plY3QnO1xuaW1wb3J0IHsgVGFzayB9IGZyb20gJy4uL3Rhc2tzJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIENka1Rhc2tzIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBzeW50aDogVGFzaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgZGVwbG95OiBUYXNrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgZGVzdHJveTogVGFzaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IGRpZmY6IFRhc2s7XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgdGhpcy5zeW50aCA9IHByb2plY3QuYWRkVGFzaygnc3ludGgnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1N5bnRoZXNpemVzIHlvdXIgY2RrIGFwcCBpbnRvIGNkay5vdXQgKHBhcnQgb2YgXCJ5YXJuIGJ1aWxkXCIpJyxcbiAgICAgIGV4ZWM6ICdjZGsgc3ludGgnLFxuICAgIH0pO1xuXG4gICAgdGhpcy5kZXBsb3kgPSBwcm9qZWN0LmFkZFRhc2soJ2RlcGxveScsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVwbG95cyB5b3VyIENESyBhcHAgdG8gdGhlIEFXUyBjbG91ZCcsXG4gICAgICBleGVjOiAnY2RrIGRlcGxveScsXG4gICAgfSk7XG5cbiAgICB0aGlzLmRlc3Ryb3kgPSBwcm9qZWN0LmFkZFRhc2soJ2Rlc3Ryb3knLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0Rlc3Ryb3lzIHlvdXIgY2RrIGFwcCBpbiB0aGUgQVdTIGNsb3VkJyxcbiAgICAgIGV4ZWM6ICdjZGsgZGVzdHJveScsXG4gICAgfSk7XG5cbiAgICB0aGlzLmRpZmYgPSBwcm9qZWN0LmFkZFRhc2soJ2RpZmYnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0RpZmZzIHRoZSBjdXJyZW50bHkgZGVwbG95ZWQgYXBwIGFnYWluc3QgeW91ciBjb2RlJyxcbiAgICAgIGV4ZWM6ICdjZGsgZGlmZicsXG4gICAgfSk7XG4gIH1cbn0iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './java-app';
2
+ export * from './cdk-config';
3
+ export * from './cdk-tasks';
@@ -0,0 +1,16 @@
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
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXdzY2RrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLDZDQUEyQjtBQUMzQiwrQ0FBNkI7QUFDN0IsOENBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9qYXZhLWFwcCc7XG5leHBvcnQgKiBmcm9tICcuL2Nkay1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9jZGstdGFza3MnOyJdfQ==
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Feature flags as of v1.130.0
3
+ */
4
+ export declare const FEATURE_FLAGS: string[];
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ 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
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJuYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXdzY2RrL2ludGVybmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ1UsUUFBQSxhQUFhLEdBQUc7SUFDM0IsMEJBQTBCO0lBQzFCLHdEQUF3RDtJQUN4RCx5Q0FBeUM7SUFDekMsb0NBQW9DO0lBQ3BDLDZDQUE2QztJQUM3QyxrREFBa0Q7SUFDbEQscUNBQXFDO0lBQ3JDLHNDQUFzQztJQUN0QyxxREFBcUQ7SUFDckQsd0NBQXdDO0lBQ3hDLDBDQUEwQztJQUMxQywyQ0FBMkM7SUFDM0MsMkRBQTJEO0NBQzVELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZlYXR1cmUgZmxhZ3MgYXMgb2YgdjEuMTMwLjBcbiAqL1xuZXhwb3J0IGNvbnN0IEZFQVRVUkVfRkxBR1MgPSBbXG4gICdhd3MtY2RrOmVuYWJsZURpZmZOb0ZhaWwnLFxuICAnQGF3cy1jZGsvYXdzLWFwaWdhdGV3YXk6dXNhZ2VQbGFuS2V5T3JkZXJJbnNlbnNpdGl2ZUlkJyxcbiAgJ0Bhd3MtY2RrL2NvcmU6ZW5hYmxlU3RhY2tOYW1lRHVwbGljYXRlcycsXG4gICdAYXdzLWNkay9jb3JlOnN0YWNrUmVsYXRpdmVFeHBvcnRzJyxcbiAgJ0Bhd3MtY2RrL2F3cy1lY3ItYXNzZXRzOmRvY2tlcklnbm9yZVN1cHBvcnQnLFxuICAnQGF3cy1jZGsvYXdzLXNlY3JldHNtYW5hZ2VyOnBhcnNlT3duZWRTZWNyZXROYW1lJyxcbiAgJ0Bhd3MtY2RrL2F3cy1rbXM6ZGVmYXVsdEtleVBvbGljaWVzJyxcbiAgJ0Bhd3MtY2RrL2F3cy1zMzpncmFudFdyaXRlV2l0aG91dEFjbCcsXG4gICdAYXdzLWNkay9hd3MtZWNzLXBhdHRlcm5zOnJlbW92ZURlZmF1bHREZXNpcmVkQ291bnQnLFxuICAnQGF3cy1jZGsvYXdzLXJkczpsb3dlcmNhc2VEYklkZW50aWZpZXInLFxuICAnQGF3cy1jZGsvYXdzLWVmczpkZWZhdWx0RW5jcnlwdGlvbkF0UmVzdCcsXG4gICdAYXdzLWNkay9hd3MtbGFtYmRhOnJlY29nbml6ZVZlcnNpb25Qcm9wcycsXG4gICdAYXdzLWNkay9hd3MtY2xvdWRmcm9udDpkZWZhdWx0U2VjdXJpdHlQb2xpY3lUTFN2MS4yXzIwMjEnLFxuXTsiXX0=
@@ -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
+ }
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AwsCdkJavaApp = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const path_1 = require("path");
7
+ const semver = require("semver");
8
+ const __1 = require("..");
9
+ const java_1 = require("../java");
10
+ const cdk_config_1 = require("./cdk-config");
11
+ const cdk_tasks_1 = require("./cdk-tasks");
12
+ /**
13
+ * (experimental) AWS CDK app in Java.
14
+ *
15
+ * @experimental
16
+ * @pjid awscdk-app-java
17
+ */
18
+ class AwsCdkJavaApp extends java_1.JavaProject {
19
+ /**
20
+ * @experimental
21
+ */
22
+ constructor(options) {
23
+ var _b, _c, _d;
24
+ const mainClassComponents = options.mainClass.split('.');
25
+ const mainPackage = mainClassComponents.slice(0, -1);
26
+ const mainClassName = mainClassComponents[mainClassComponents.length - 1];
27
+ super({
28
+ ...options,
29
+ sample: false,
30
+ sampleJavaPackage: mainPackage.join('.'),
31
+ });
32
+ this.mainClass = options.mainClass;
33
+ this.mainPackage = mainPackage.join('.');
34
+ this.mainClassName = mainClassName;
35
+ this.cdkVersion = options.cdkVersion;
36
+ if (!this.cdkVersion) {
37
+ throw new Error('Required field cdkVersion is not specified.');
38
+ }
39
+ const cdkMajorVersion = (_c = (_b = semver.minVersion(this.cdkVersion)) === null || _b === void 0 ? void 0 : _b.major) !== null && _c !== void 0 ? _c : 1;
40
+ if (cdkMajorVersion >= 2) {
41
+ throw new Error('CDKv2 is still not supported');
42
+ }
43
+ this.addCdkDependency('core');
44
+ this.addCdkDependency(...(_d = options.cdkDependencies) !== null && _d !== void 0 ? _d : []);
45
+ this.cdkTasks = new cdk_tasks_1.CdkTasks(this);
46
+ this.buildTask.spawn(this.cdkTasks.synth);
47
+ this.cdkConfig = new cdk_config_1.CdkConfig(this, {
48
+ app: `mvn exec:java --quiet -Dexec.mainClass=${this.mainClass}`,
49
+ ...options,
50
+ });
51
+ this.addSample();
52
+ }
53
+ /**
54
+ * (experimental) Adds an AWS CDK module dependencies.
55
+ *
56
+ * @param modules The list of modules to depend on (e.g. "core", "aws-lambda", etc).
57
+ * @experimental
58
+ */
59
+ addCdkDependency(...modules) {
60
+ for (const m of modules) {
61
+ this.addDependency(`software.amazon.awscdk/${m}@${this.cdkVersion}`);
62
+ }
63
+ }
64
+ addSample() {
65
+ const pkg = this.mainPackage.split('.');
66
+ const javaFile = `${this.mainClassName}.java`;
67
+ new __1.SampleDir(this, path_1.join('src', 'main', 'java', ...pkg), {
68
+ files: {
69
+ [javaFile]: [
70
+ `package ${pkg.join('.')};`,
71
+ '',
72
+ 'import software.amazon.awscdk.core.App;',
73
+ 'import software.amazon.awscdk.core.Stack;',
74
+ '',
75
+ `public class ${this.mainClassName} {`,
76
+ ' public static void main(final String[] args) {',
77
+ ' App app = new App();',
78
+ ' new Stack(app, "MyStack");',
79
+ ' app.synth();',
80
+ ' }',
81
+ '}',
82
+ ].join('\n'),
83
+ },
84
+ });
85
+ }
86
+ }
87
+ exports.AwsCdkJavaApp = AwsCdkJavaApp;
88
+ _a = JSII_RTTI_SYMBOL_1;
89
+ AwsCdkJavaApp[_a] = { fqn: "projen.awscdk.AwsCdkJavaApp", version: "0.32.0" };
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YS1hcHAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXdzY2RrL2phdmEtYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0JBQTRCO0FBQzVCLGlDQUFpQztBQUNqQywwQkFBK0I7QUFDL0Isa0NBQTBEO0FBQzFELDZDQUFpRTtBQUNqRSwyQ0FBdUM7Ozs7Ozs7QUFjdkMsTUFBYSxhQUFjLFNBQVEsa0JBQVc7Ozs7SUFtQjVDLFlBQVksT0FBNkI7O1FBQ3ZDLE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekQsTUFBTSxXQUFXLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUUxRSxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixNQUFNLEVBQUUsS0FBSztZQUNiLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ3pDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBRXJDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztTQUNoRTtRQUVELE1BQU0sZUFBZSxlQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQywwQ0FBRSxLQUFLLG1DQUFJLENBQUMsQ0FBQztRQUN2RSxJQUFJLGVBQWUsSUFBSSxDQUFDLEVBQUU7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFHLE9BQU8sQ0FBQyxlQUFlLG1DQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXhELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxvQkFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLHNCQUFTLENBQUMsSUFBSSxFQUFFO1lBQ25DLEdBQUcsRUFBRSwwQ0FBMEMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUMvRCxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7Ozs7OztJQUdNLGdCQUFnQixDQUFDLEdBQUcsT0FBaUI7UUFDMUMsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1NBQ3RFO0lBQ0gsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QyxNQUFNLFFBQVEsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLE9BQU8sQ0FBQztRQUM5QyxJQUFJLGFBQVMsQ0FBQyxJQUFJLEVBQUUsV0FBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUU7WUFDdkQsS0FBSyxFQUFFO2dCQUNMLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQ1YsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHO29CQUMzQixFQUFFO29CQUNGLHlDQUF5QztvQkFDekMsMkNBQTJDO29CQUMzQyxFQUFFO29CQUNGLGdCQUFnQixJQUFJLENBQUMsYUFBYSxJQUFJO29CQUN0QyxrREFBa0Q7b0JBQ2xELDBCQUEwQjtvQkFDMUIsZ0NBQWdDO29CQUNoQyxrQkFBa0I7b0JBQ2xCLEtBQUs7b0JBQ0wsR0FBRztpQkFDSixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDYjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBdEZILHNDQXVGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpvaW4gfSBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIHNlbXZlciBmcm9tICdzZW12ZXInO1xuaW1wb3J0IHsgU2FtcGxlRGlyIH0gZnJvbSAnLi4nO1xuaW1wb3J0IHsgSmF2YVByb2plY3QsIEphdmFQcm9qZWN0T3B0aW9ucyB9IGZyb20gJy4uL2phdmEnO1xuaW1wb3J0IHsgQ2RrQ29uZmlnLCBDZGtDb25maWdDb21tb25PcHRpb25zIH0gZnJvbSAnLi9jZGstY29uZmlnJztcbmltcG9ydCB7IENka1Rhc2tzIH0gZnJvbSAnLi9jZGstdGFza3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF3c0Nka0phdmFBcHBPcHRpb25zIGV4dGVuZHMgSmF2YVByb2plY3RPcHRpb25zLCBDZGtDb25maWdDb21tb25PcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNka1ZlcnNpb246IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY2RrRGVwZW5kZW5jaWVzPzogc3RyaW5nW107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbWFpbkNsYXNzOiBzdHJpbmc7XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgQXdzQ2RrSmF2YUFwcCBleHRlbmRzIEphdmFQcm9qZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgY2RrVmVyc2lvbjogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBjZGtDb25maWc6IENka0NvbmZpZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBtYWluQ2xhc3M6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBjZGtUYXNrczogQ2RrVGFza3M7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgbWFpblBhY2thZ2U6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgbWFpbkNsYXNzTmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEF3c0Nka0phdmFBcHBPcHRpb25zKSB7XG4gICAgY29uc3QgbWFpbkNsYXNzQ29tcG9uZW50cyA9IG9wdGlvbnMubWFpbkNsYXNzLnNwbGl0KCcuJyk7XG4gICAgY29uc3QgbWFpblBhY2thZ2UgPSBtYWluQ2xhc3NDb21wb25lbnRzLnNsaWNlKDAsIC0xKTtcbiAgICBjb25zdCBtYWluQ2xhc3NOYW1lID0gbWFpbkNsYXNzQ29tcG9uZW50c1ttYWluQ2xhc3NDb21wb25lbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHNhbXBsZTogZmFsc2UsXG4gICAgICBzYW1wbGVKYXZhUGFja2FnZTogbWFpblBhY2thZ2Uuam9pbignLicpLFxuICAgIH0pO1xuXG4gICAgdGhpcy5tYWluQ2xhc3MgPSBvcHRpb25zLm1haW5DbGFzcztcbiAgICB0aGlzLm1haW5QYWNrYWdlID0gbWFpblBhY2thZ2Uuam9pbignLicpO1xuICAgIHRoaXMubWFpbkNsYXNzTmFtZSA9IG1haW5DbGFzc05hbWU7XG4gICAgdGhpcy5jZGtWZXJzaW9uID0gb3B0aW9ucy5jZGtWZXJzaW9uO1xuXG4gICAgaWYgKCF0aGlzLmNka1ZlcnNpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgZmllbGQgY2RrVmVyc2lvbiBpcyBub3Qgc3BlY2lmaWVkLicpO1xuICAgIH1cblxuICAgIGNvbnN0IGNka01ham9yVmVyc2lvbiA9IHNlbXZlci5taW5WZXJzaW9uKHRoaXMuY2RrVmVyc2lvbik/Lm1ham9yID8/IDE7XG4gICAgaWYgKGNka01ham9yVmVyc2lvbiA+PSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NES3YyIGlzIHN0aWxsIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICB9XG5cbiAgICB0aGlzLmFkZENka0RlcGVuZGVuY3koJ2NvcmUnKTtcbiAgICB0aGlzLmFkZENka0RlcGVuZGVuY3koLi4ub3B0aW9ucy5jZGtEZXBlbmRlbmNpZXMgPz8gW10pO1xuXG4gICAgdGhpcy5jZGtUYXNrcyA9IG5ldyBDZGtUYXNrcyh0aGlzKTtcbiAgICB0aGlzLmJ1aWxkVGFzay5zcGF3bih0aGlzLmNka1Rhc2tzLnN5bnRoKTtcblxuICAgIHRoaXMuY2RrQ29uZmlnID0gbmV3IENka0NvbmZpZyh0aGlzLCB7XG4gICAgICBhcHA6IGBtdm4gZXhlYzpqYXZhIC0tcXVpZXQgLURleGVjLm1haW5DbGFzcz0ke3RoaXMubWFpbkNsYXNzfWAsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRTYW1wbGUoKTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgYWRkQ2RrRGVwZW5kZW5jeSguLi5tb2R1bGVzOiBzdHJpbmdbXSkge1xuICAgIGZvciAoY29uc3QgbSBvZiBtb2R1bGVzKSB7XG4gICAgICB0aGlzLmFkZERlcGVuZGVuY3koYHNvZnR3YXJlLmFtYXpvbi5hd3NjZGsvJHttfUAke3RoaXMuY2RrVmVyc2lvbn1gKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZFNhbXBsZSgpIHtcbiAgICBjb25zdCBwa2cgPSB0aGlzLm1haW5QYWNrYWdlLnNwbGl0KCcuJyk7XG4gICAgY29uc3QgamF2YUZpbGUgPSBgJHt0aGlzLm1haW5DbGFzc05hbWV9LmphdmFgO1xuICAgIG5ldyBTYW1wbGVEaXIodGhpcywgam9pbignc3JjJywgJ21haW4nLCAnamF2YScsIC4uLnBrZyksIHtcbiAgICAgIGZpbGVzOiB7XG4gICAgICAgIFtqYXZhRmlsZV06IFtcbiAgICAgICAgICBgcGFja2FnZSAke3BrZy5qb2luKCcuJyl9O2AsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJ2ltcG9ydCBzb2Z0d2FyZS5hbWF6b24uYXdzY2RrLmNvcmUuQXBwOycsXG4gICAgICAgICAgJ2ltcG9ydCBzb2Z0d2FyZS5hbWF6b24uYXdzY2RrLmNvcmUuU3RhY2s7JyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICBgcHVibGljIGNsYXNzICR7dGhpcy5tYWluQ2xhc3NOYW1lfSB7YCxcbiAgICAgICAgICAnICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihmaW5hbCBTdHJpbmdbXSBhcmdzKSB7JyxcbiAgICAgICAgICAnICAgIEFwcCBhcHAgPSBuZXcgQXBwKCk7JyxcbiAgICAgICAgICAnICAgIG5ldyBTdGFjayhhcHAsIFwiTXlTdGFja1wiKTsnLFxuICAgICAgICAgICcgICAgYXBwLnN5bnRoKCk7JyxcbiAgICAgICAgICAnICB9JyxcbiAgICAgICAgICAnfScsXG4gICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,33 +1,10 @@
1
+ import { CdkConfig, CdkConfigCommonOptions } from './awscdk/cdk-config';
2
+ import { CdkTasks } from './awscdk/cdk-tasks';
1
3
  import { TypeScriptAppProject, TypeScriptProjectOptions } from './typescript';
2
4
  /**
3
5
  * @experimental
4
6
  */
5
- export declare enum CdkApprovalLevel {
6
- /**
7
- * (experimental) Approval is never required.
8
- *
9
- * @experimental
10
- */
11
- NEVER = "never",
12
- /**
13
- * (experimental) Requires approval on any IAM or security-group-related change.
14
- *
15
- * @experimental
16
- */
17
- ANY_CHANGE = "any-change",
18
- /**
19
- * (experimental) Requires approval when IAM statements or traffic rules are added;
20
- *
21
- * removals don't require approval
22
- *
23
- * @experimental
24
- */
25
- BROADENING = "broadening"
26
- }
27
- /**
28
- * @experimental
29
- */
30
- export interface AwsCdkTypeScriptAppOptions extends TypeScriptProjectOptions {
7
+ export interface AwsCdkTypeScriptAppOptions extends TypeScriptProjectOptions, CdkConfigCommonOptions {
31
8
  /**
32
9
  * (experimental) AWS CDK version to use.
33
10
  *
@@ -53,14 +30,6 @@ export interface AwsCdkTypeScriptAppOptions extends TypeScriptProjectOptions {
53
30
  * @featured true
54
31
  */
55
32
  readonly cdkDependencies?: string[];
56
- /**
57
- * (experimental) Additional context to include in `cdk.json`.
58
- *
59
- * @experimental
60
- */
61
- readonly context?: {
62
- [key: string]: string;
63
- };
64
33
  /**
65
34
  * (experimental) The CDK app's entrypoint (relative to the source directory, which is "src" by default).
66
35
  *
@@ -68,13 +37,6 @@ export interface AwsCdkTypeScriptAppOptions extends TypeScriptProjectOptions {
68
37
  * @experimental
69
38
  */
70
39
  readonly appEntrypoint?: string;
71
- /**
72
- * (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.
73
- *
74
- * @default CdkApprovalLevel.BROADENING
75
- * @experimental
76
- */
77
- readonly requireApproval?: CdkApprovalLevel;
78
40
  }
79
41
  /**
80
42
  * (experimental) AWS CDK app in TypeScript.
@@ -90,17 +52,23 @@ export declare class AwsCdkTypeScriptApp extends TypeScriptAppProject {
90
52
  */
91
53
  readonly cdkVersion: string;
92
54
  /**
93
- * (experimental) Contents of `cdk.json`.
55
+ * (experimental) The CDK app entrypoint.
94
56
  *
95
57
  * @experimental
96
58
  */
97
- readonly cdkConfig: any;
59
+ readonly appEntrypoint: string;
98
60
  /**
99
- * (experimental) The CDK app entrypoint.
61
+ * (experimental) Common CDK tasks.
100
62
  *
101
63
  * @experimental
102
64
  */
103
- readonly appEntrypoint: string;
65
+ readonly cdkTasks: CdkTasks;
66
+ /**
67
+ * (experimental) cdk.json configuration.
68
+ *
69
+ * @experimental
70
+ */
71
+ readonly cdkConfig: CdkConfig;
104
72
  /**
105
73
  * @experimental
106
74
  */