projen 0.102.0 → 0.103.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/.jsii +1173 -1104
  2. package/README.md +23 -0
  3. package/lib/ai-instructions.js +2 -2
  4. package/lib/awscdk/auto-discover.js +6 -6
  5. package/lib/awscdk/awscdk-app-java.js +1 -1
  6. package/lib/awscdk/awscdk-app-py.js +1 -1
  7. package/lib/awscdk/awscdk-app-ts.js +1 -1
  8. package/lib/awscdk/awscdk-construct.js +1 -1
  9. package/lib/awscdk/awscdk-deps-java.js +1 -1
  10. package/lib/awscdk/awscdk-deps-js.js +1 -1
  11. package/lib/awscdk/awscdk-deps-py.js +1 -1
  12. package/lib/awscdk/awscdk-deps.js +1 -1
  13. package/lib/awscdk/cdk-config.d.ts +4 -0
  14. package/lib/awscdk/cdk-config.js +4 -4
  15. package/lib/awscdk/cdk-tasks.js +1 -1
  16. package/lib/awscdk/integration-test.d.ts +1 -0
  17. package/lib/awscdk/integration-test.js +38 -10
  18. package/lib/awscdk/lambda-extension.js +1 -1
  19. package/lib/awscdk/lambda-function.js +2 -2
  20. package/lib/build/build-workflow.js +4 -3
  21. package/lib/cdk/auto-discover-base.js +2 -2
  22. package/lib/cdk/construct-lib.js +1 -1
  23. package/lib/cdk/integration-test-base.js +17 -3
  24. package/lib/cdk/jsii-build.js +10 -4
  25. package/lib/cdk/jsii-docgen.js +1 -1
  26. package/lib/cdk/jsii-project.d.ts +2 -4
  27. package/lib/cdk/jsii-project.js +10 -11
  28. package/lib/cdk8s/auto-discover.js +2 -2
  29. package/lib/cdk8s/cdk8s-app-py.js +1 -1
  30. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  31. package/lib/cdk8s/cdk8s-construct.js +1 -1
  32. package/lib/cdk8s/cdk8s-deps-py.js +1 -1
  33. package/lib/cdk8s/cdk8s-deps.js +1 -1
  34. package/lib/cdk8s/integration-test.js +3 -3
  35. package/lib/cdktf/cdktf-construct.js +1 -1
  36. package/lib/cdktn/cdktn-app-ts.js +1 -1
  37. package/lib/cdktn/cdktn-config.js +1 -1
  38. package/lib/cdktn/cdktn-construct.js +1 -1
  39. package/lib/cdktn/cdktn-deps.js +1 -1
  40. package/lib/cdktn/cdktn-tasks.js +1 -1
  41. package/lib/circleci/circleci.js +1 -1
  42. package/lib/cleanup.js +6 -33
  43. package/lib/cli/task-runtime.js +30 -8
  44. package/lib/clobber.js +11 -6
  45. package/lib/component.js +2 -2
  46. package/lib/dependencies.js +1 -1
  47. package/lib/dev-env.js +1 -1
  48. package/lib/docker-compose/docker-compose-service.js +1 -1
  49. package/lib/docker-compose/docker-compose.js +1 -1
  50. package/lib/file.js +1 -1
  51. package/lib/gitattributes.js +1 -1
  52. package/lib/github/actions-provider.js +1 -1
  53. package/lib/github/auto-approve.d.ts +2 -15
  54. package/lib/github/auto-approve.js +3 -4
  55. package/lib/github/auto-merge.js +1 -1
  56. package/lib/github/auto-queue.d.ts +2 -6
  57. package/lib/github/auto-queue.js +3 -3
  58. package/lib/github/dependabot.js +1 -1
  59. package/lib/github/dependency-review.d.ts +2 -12
  60. package/lib/github/dependency-review.js +3 -4
  61. package/lib/github/github-credentials.js +1 -1
  62. package/lib/github/github-project.js +1 -1
  63. package/lib/github/github.d.ts +26 -0
  64. package/lib/github/github.js +17 -2
  65. package/lib/github/merge-queue.js +1 -1
  66. package/lib/github/mergify.js +1 -1
  67. package/lib/github/pr-template.js +1 -1
  68. package/lib/github/private/util.d.ts +0 -2
  69. package/lib/github/private/util.js +1 -13
  70. package/lib/github/pull-request-backport.d.ts +2 -1
  71. package/lib/github/pull-request-backport.js +3 -3
  72. package/lib/github/pull-request-lint.d.ts +2 -15
  73. package/lib/github/pull-request-lint.js +4 -5
  74. package/lib/github/stale.d.ts +2 -15
  75. package/lib/github/stale.js +3 -4
  76. package/lib/github/task-workflow-job.js +4 -4
  77. package/lib/github/task-workflow.js +1 -1
  78. package/lib/github/workflow-actions.js +4 -3
  79. package/lib/github/workflow-jobs.js +1 -1
  80. package/lib/github/workflow-steps.js +1 -1
  81. package/lib/github/workflows.js +1 -1
  82. package/lib/gitlab/configuration.js +1 -1
  83. package/lib/gitlab/gitlab-configuration.js +1 -1
  84. package/lib/gitlab/nested-configuration.js +1 -1
  85. package/lib/gitpod.d.ts +6 -0
  86. package/lib/gitpod.js +2 -2
  87. package/lib/ignore-file.js +1 -1
  88. package/lib/ini.js +1 -1
  89. package/lib/java/java-project.js +1 -1
  90. package/lib/java/junit.js +1 -1
  91. package/lib/java/maven-compile.js +1 -1
  92. package/lib/java/maven-packaging.js +8 -3
  93. package/lib/java/maven-sample.js +1 -1
  94. package/lib/java/pom.js +2 -2
  95. package/lib/java/projenrc.js +13 -4
  96. package/lib/javascript/biome/biome.js +9 -4
  97. package/lib/javascript/bundler.d.ts +8 -0
  98. package/lib/javascript/bundler.js +13 -13
  99. package/lib/javascript/eslint.d.ts +7 -0
  100. package/lib/javascript/eslint.js +14 -11
  101. package/lib/javascript/jest.d.ts +8 -0
  102. package/lib/javascript/jest.js +17 -11
  103. package/lib/javascript/license-checker.js +1 -1
  104. package/lib/javascript/node-package.d.ts +1 -1
  105. package/lib/javascript/node-package.js +32 -15
  106. package/lib/javascript/node-project.js +38 -25
  107. package/lib/javascript/npm-config.js +1 -1
  108. package/lib/javascript/pnpm-workspace-config.js +2 -2
  109. package/lib/javascript/pnpm-workspace.js +1 -1
  110. package/lib/javascript/prettier.js +1 -1
  111. package/lib/javascript/projenrc.js +1 -1
  112. package/lib/javascript/typescript-config.js +2 -2
  113. package/lib/javascript/upgrade-dependencies.js +9 -6
  114. package/lib/javascript/yarnrc.js +1 -1
  115. package/lib/json-patch.js +1 -1
  116. package/lib/json.js +1 -1
  117. package/lib/license.js +1 -1
  118. package/lib/logger.js +1 -1
  119. package/lib/makefile.d.ts +2 -0
  120. package/lib/makefile.js +2 -2
  121. package/lib/object-file.js +1 -1
  122. package/lib/project-build.js +1 -1
  123. package/lib/project-tree.js +1 -1
  124. package/lib/project.d.ts +4 -0
  125. package/lib/project.js +2 -2
  126. package/lib/projects.js +1 -1
  127. package/lib/projenrc-json.js +1 -1
  128. package/lib/projenrc.js +1 -1
  129. package/lib/python/pip.js +1 -1
  130. package/lib/python/poetry.js +7 -4
  131. package/lib/python/projenrc.js +1 -1
  132. package/lib/python/pyproject-toml-file.js +1 -1
  133. package/lib/python/pytest-sample.js +1 -1
  134. package/lib/python/pytest.d.ts +5 -2
  135. package/lib/python/pytest.js +9 -8
  136. package/lib/python/python-project.js +1 -1
  137. package/lib/python/python-sample.js +1 -1
  138. package/lib/python/requirements-file.js +1 -1
  139. package/lib/python/setuppy.js +1 -1
  140. package/lib/python/setuptools.js +10 -4
  141. package/lib/python/uv-config.js +1 -1
  142. package/lib/python/uv.js +3 -3
  143. package/lib/python/venv.js +1 -1
  144. package/lib/readme.js +1 -1
  145. package/lib/release/publisher.d.ts +5 -0
  146. package/lib/release/publisher.js +90 -37
  147. package/lib/release/release-trigger.d.ts +10 -0
  148. package/lib/release/release-trigger.js +7 -2
  149. package/lib/release/release.d.ts +17 -2
  150. package/lib/release/release.js +16 -10
  151. package/lib/renovatebot.js +1 -1
  152. package/lib/run-task.cjs +13 -4
  153. package/lib/runner-options.d.ts +34 -0
  154. package/lib/runner-options.js +1 -1
  155. package/lib/sample-file.js +2 -2
  156. package/lib/script-runner.js +1 -1
  157. package/lib/source-code.js +1 -1
  158. package/lib/task-model.d.ts +3 -3
  159. package/lib/task-model.js +1 -1
  160. package/lib/task-shell.d.ts +3 -0
  161. package/lib/task-shell.js +5 -2
  162. package/lib/task.d.ts +4 -0
  163. package/lib/task.js +2 -2
  164. package/lib/tasks.js +1 -1
  165. package/lib/testing.js +1 -1
  166. package/lib/textfile.js +1 -1
  167. package/lib/toml.js +1 -1
  168. package/lib/typescript/projenrc-ts.js +1 -1
  169. package/lib/typescript/projenrc.js +1 -1
  170. package/lib/typescript/typescript-runner.js +1 -1
  171. package/lib/typescript/typescript-typedoc.js +1 -1
  172. package/lib/typescript/typescript.js +5 -5
  173. package/lib/util/dax.d.ts +12 -1
  174. package/lib/util/dax.js +17 -4
  175. package/lib/util/path.d.ts +39 -0
  176. package/lib/util/path.js +90 -1
  177. package/lib/version.js +2 -2
  178. package/lib/vscode/devcontainer.js +1 -1
  179. package/lib/vscode/extensions.js +1 -1
  180. package/lib/vscode/launch-config.js +1 -1
  181. package/lib/vscode/settings.js +1 -1
  182. package/lib/vscode/vscode.js +1 -1
  183. package/lib/web/next.js +3 -3
  184. package/lib/web/postcss.js +1 -1
  185. package/lib/web/react.js +3 -3
  186. package/lib/web/tailwind.js +1 -1
  187. package/lib/xmlfile.js +1 -1
  188. package/lib/yaml.js +1 -1
  189. package/package.json +1 -1
  190. package/BREAKING_CHANGES.md +0 -855
package/README.md CHANGED
@@ -296,6 +296,29 @@ community Slack workspace.
296
296
 
297
297
  [cdk.dev]: https://cdk.dev/
298
298
 
299
+ ## Security
300
+
301
+ projen follows a shared responsibility model: projen is
302
+ responsible for generating secure default configuration through its built-in
303
+ project types; you are responsible for the code you write in your projenrc
304
+ file, the third-party project types and components you use, and the environment
305
+ projen runs in.
306
+
307
+ projen is designed to run in a **trusted environment** with **trusted inputs**.
308
+ Your projenrc file is a program executed with your user's permissions, and
309
+ projen tasks execute shell commands defined in `.projen/tasks.json`. This file
310
+ is *prescriptive* by design: the projen CLI executes what it contains, so
311
+ anyone with write access to it (or to your repository in general) can change
312
+ what projen runs. This is expected behavior — equivalent to write access to a
313
+ `Makefile` or `package.json` scripts. The same trust model applies as with any
314
+ other build tool. Since all synthesized files are derived from your projenrc
315
+ program and checked in, source control always lets you review or restore what
316
+ projen will run.
317
+
318
+ See the [security documentation](https://projen.io/docs/security) for details,
319
+ and report security issues via our [security policy](./SECURITY.md) rather than
320
+ public GitHub issues.
321
+
299
322
  ## Contributions
300
323
 
301
324
  Contributions of all kinds are welcome! Check out our [contributor's
@@ -63,7 +63,7 @@ var AiAgent;
63
63
  * ai.addInstructions("Always write comprehensive tests.");
64
64
  */
65
65
  class AiInstructions extends component_1.Component {
66
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.AiInstructions", version: "0.102.0" };
66
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.AiInstructions", version: "0.103.1" };
67
67
  /**
68
68
  * Returns projen-specific instructions for AI agents.
69
69
  */
@@ -167,7 +167,7 @@ class AiInstructions extends component_1.Component {
167
167
  }
168
168
  exports.AiInstructions = AiInstructions;
169
169
  class AiInstructionsFile extends file_1.FileBase {
170
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.AiInstructionsFile", version: "0.102.0" };
170
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.AiInstructionsFile", version: "0.103.1" };
171
171
  instructions = [];
172
172
  /**
173
173
  * Adds instructions to the instruction file.
@@ -12,7 +12,7 @@ const component_1 = require("../component");
12
12
  * Creates integration tests from entry points discovered in the test tree.
13
13
  */
14
14
  class IntegrationTestAutoDiscover extends cdk_1.IntegrationTestAutoDiscoverBase {
15
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.IntegrationTestAutoDiscover", version: "0.102.0" };
15
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.IntegrationTestAutoDiscover", version: "0.103.1" };
16
16
  constructor(project, options) {
17
17
  super(project, options);
18
18
  for (const entrypoint of this.entrypoints) {
@@ -30,7 +30,7 @@ exports.IntegrationTestAutoDiscover = IntegrationTestAutoDiscover;
30
30
  * Creates lambdas from entry points discovered in the project's source tree.
31
31
  */
32
32
  class LambdaAutoDiscover extends cdk_1.AutoDiscoverBase {
33
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.LambdaAutoDiscover", version: "0.102.0" };
33
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.LambdaAutoDiscover", version: "0.103.1" };
34
34
  constructor(project, options) {
35
35
  super(project, {
36
36
  projectdir: options.srcdir,
@@ -50,7 +50,7 @@ exports.LambdaAutoDiscover = LambdaAutoDiscover;
50
50
  * Creates singleton lambdas from entry points discovered in the project's source tree.
51
51
  */
52
52
  class SingletonLambdaAutoDiscover extends cdk_1.AutoDiscoverBase {
53
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.SingletonLambdaAutoDiscover", version: "0.102.0" };
53
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.SingletonLambdaAutoDiscover", version: "0.103.1" };
54
54
  constructor(project, options) {
55
55
  super(project, {
56
56
  projectdir: options.srcdir,
@@ -72,7 +72,7 @@ exports.SingletonLambdaAutoDiscover = SingletonLambdaAutoDiscover;
72
72
  * Creates edge lambdas from entry points discovered in the project's source tree.
73
73
  */
74
74
  class EdgeLambdaAutoDiscover extends cdk_1.AutoDiscoverBase {
75
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.EdgeLambdaAutoDiscover", version: "0.102.0" };
75
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.EdgeLambdaAutoDiscover", version: "0.103.1" };
76
76
  constructor(project, options) {
77
77
  super(project, {
78
78
  projectdir: options.srcdir,
@@ -94,7 +94,7 @@ exports.EdgeLambdaAutoDiscover = EdgeLambdaAutoDiscover;
94
94
  * source tree.
95
95
  */
96
96
  class LambdaExtensionAutoDiscover extends cdk_1.AutoDiscoverBase {
97
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.LambdaExtensionAutoDiscover", version: "0.102.0" };
97
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.LambdaExtensionAutoDiscover", version: "0.103.1" };
98
98
  constructor(project, options) {
99
99
  super(project, {
100
100
  projectdir: options.srcdir,
@@ -115,7 +115,7 @@ exports.LambdaExtensionAutoDiscover = LambdaExtensionAutoDiscover;
115
115
  * project's source and test trees.
116
116
  */
117
117
  class AutoDiscover extends component_1.Component {
118
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AutoDiscover", version: "0.102.0" };
118
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AutoDiscover", version: "0.103.1" };
119
119
  constructor(project, options) {
120
120
  super(project);
121
121
  if (options.lambdaAutoDiscover ?? true) {
@@ -14,7 +14,7 @@ const java_1 = require("../java");
14
14
  * @pjid awscdk-app-java
15
15
  */
16
16
  class AwsCdkJavaApp extends java_1.JavaProject {
17
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkJavaApp", version: "0.102.0" };
17
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkJavaApp", version: "0.103.1" };
18
18
  /**
19
19
  * The `cdk.json` file.
20
20
  */
@@ -14,7 +14,7 @@ const python_project_1 = require("../python/python-project");
14
14
  * @pjid awscdk-app-py
15
15
  */
16
16
  class AwsCdkPythonApp extends python_project_1.PythonProject {
17
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkPythonApp", version: "0.102.0" };
17
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkPythonApp", version: "0.103.1" };
18
18
  /**
19
19
  * Common CDK tasks.
20
20
  */
@@ -54,7 +54,7 @@ const fs_1 = require("../util/fs");
54
54
  * @pjid awscdk-app-ts
55
55
  */
56
56
  class AwsCdkTypeScriptApp extends typescript_1.TypeScriptAppProject {
57
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkTypeScriptApp", version: "0.102.0" };
57
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkTypeScriptApp", version: "0.103.1" };
58
58
  /**
59
59
  * The CDK version this app is using.
60
60
  */
@@ -17,7 +17,7 @@ const dependencies_1 = require("../dependencies");
17
17
  * @pjid awscdk-construct
18
18
  */
19
19
  class AwsCdkConstructLibrary extends cdk_1.ConstructLibrary {
20
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkConstructLibrary", version: "0.102.0" };
20
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkConstructLibrary", version: "0.103.1" };
21
21
  cdkDeps;
22
22
  constructor(options) {
23
23
  super({
@@ -7,7 +7,7 @@ const awscdk_deps_1 = require("./awscdk-deps");
7
7
  * Manages dependencies on the AWS CDK for Java projects.
8
8
  */
9
9
  class AwsCdkDepsJava extends awscdk_deps_1.AwsCdkDeps {
10
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkDepsJava", version: "0.102.0" };
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkDepsJava", version: "0.103.1" };
11
11
  packageNames() {
12
12
  return {
13
13
  coreV2: "software.amazon.awscdk/aws-cdk-lib",
@@ -7,7 +7,7 @@ const awscdk_deps_1 = require("./awscdk-deps");
7
7
  * Manages dependencies on the AWS CDK for Node.js projects.
8
8
  */
9
9
  class AwsCdkDepsJs extends awscdk_deps_1.AwsCdkDeps {
10
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkDepsJs", version: "0.102.0" };
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkDepsJs", version: "0.103.1" };
11
11
  packageNames() {
12
12
  return {
13
13
  coreV2: "aws-cdk-lib",
@@ -7,7 +7,7 @@ const awscdk_deps_1 = require("./awscdk-deps");
7
7
  * Manages dependencies on the AWS CDK for Python projects.
8
8
  */
9
9
  class AwsCdkDepsPy extends awscdk_deps_1.AwsCdkDeps {
10
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkDepsPy", version: "0.102.0" };
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkDepsPy", version: "0.103.1" };
11
11
  packageNames() {
12
12
  return {
13
13
  coreV2: "aws-cdk-lib",
@@ -42,7 +42,7 @@ const dependencies_1 = require("../dependencies");
42
42
  * Manages dependencies on the AWS CDK.
43
43
  */
44
44
  class AwsCdkDeps extends component_1.Component {
45
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkDeps", version: "0.102.0" };
45
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.AwsCdkDeps", version: "0.103.1" };
46
46
  /**
47
47
  * The dependency requirement for AWS CDK (e.g. `^2.0.0`).
48
48
  */
@@ -86,6 +86,10 @@ export interface CdkConfigCommonOptions {
86
86
  * running `cdk synth` or when `cdk watch` identifies a change in your source
87
87
  * code before redeployment.
88
88
  *
89
+ * The CDK CLI runs it through a shell on every synthesis, on the machine of
90
+ * anyone who checks out the project, so shell syntax in it is interpreted and
91
+ * the command should be one you would run yourself.
92
+ *
89
93
  * @default - no build command
90
94
  */
91
95
  readonly buildCommand?: string;
@@ -11,7 +11,7 @@ const internal_1 = require("./internal");
11
11
  * CDK V2 feature flags configuration.
12
12
  */
13
13
  class CdkFeatureFlagsV2 {
14
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.CdkFeatureFlagsV2", version: "0.102.0" };
14
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.CdkFeatureFlagsV2", version: "0.103.1" };
15
15
  /**
16
16
  * Disable all feature flags.
17
17
  */
@@ -52,7 +52,7 @@ exports.CdkFeatureFlagsV2 = CdkFeatureFlagsV2;
52
52
  * CDK feature flags configuration.
53
53
  */
54
54
  class CdkFeatureFlags {
55
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.CdkFeatureFlags", version: "0.102.0" };
55
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.CdkFeatureFlags", version: "0.103.1" };
56
56
  /**
57
57
  * CDK V2 feature flags configuration.
58
58
  */
@@ -67,7 +67,7 @@ exports.CdkFeatureFlags = CdkFeatureFlags;
67
67
  * Represents cdk.json file.
68
68
  */
69
69
  class CdkConfig extends component_1.Component {
70
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.CdkConfig", version: "0.102.0" };
70
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.CdkConfig", version: "0.103.1" };
71
71
  /**
72
72
  * Represents the JSON file.
73
73
  */
@@ -168,4 +168,4 @@ var ApprovalLevel;
168
168
  */
169
169
  ApprovalLevel["BROADENING"] = "broadening";
170
170
  })(ApprovalLevel || (exports.ApprovalLevel = ApprovalLevel = {}));
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvY2RrLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEscURBQTRDO0FBQzVDLDRDQUF5QztBQUN6QyxrQ0FBbUM7QUFFbkMsa0NBQTBDO0FBQzFDLHlDQUE4QztBQUU5Qzs7R0FFRztBQUNILE1BQWEsaUJBQWlCOztJQUM1Qjs7T0FFRztJQUNJLE1BQU0sQ0FBVSxJQUFJLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUV4RDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFVLEdBQUcsR0FBRyxJQUFJLGlCQUFpQixDQUFDLDJCQUFnQixDQUFDLENBQUM7SUFFckU7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsa0JBQWtCO1FBQzlCLElBQUksQ0FBQztZQUNILE1BQU0sWUFBWSxHQUNoQixJQUFBLHNCQUFlLEVBQ2IsT0FBTyxDQUFDLE9BQU8sQ0FBQyw0Q0FBNEMsRUFBRTtnQkFDNUQsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO2FBQ3ZCLENBQUMsQ0FDSCxJQUFJLElBQUksQ0FBQztZQUVaLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNQLE9BQU8sZUFBZSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFZSxLQUFLLENBQTBCO0lBRS9DLFlBQW9CLEtBQThCO1FBQ2hELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7O0FBekNILDhDQTBDQztBQVVEOztHQUVHO0FBQ0gsTUFBYSxlQUFlOztJQUMxQjs7T0FFRztJQUNJLE1BQU0sQ0FBVSxFQUFFLEdBQUcsaUJBQWlCLENBQUM7SUFFOUIsS0FBSyxD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YUFBYSw2QkFBYixhQUFhLFFBYXhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVlcENsb25lIH0gZnJvbSBcImZhc3QtanNvbi1wYXRjaFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudFwiO1xuaW1wb3J0IHsgSnNvbkZpbGUgfSBmcm9tIFwiLi4vanNvblwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSBcIi4uL3Byb2plY3RcIjtcbmltcG9ydCB7IHRyeVJlYWRGaWxlU3luYyB9IGZyb20gXCIuLi91dGlsXCI7XG5pbXBvcnQgeyBGRUFUVVJFX0ZMQUdTX1YyIH0gZnJvbSBcIi4vaW50ZXJuYWxcIjtcblxuLyoqXG4gKiBDREsgVjIgZmVhdHVyZSBmbGFncyBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgQ2RrRmVhdHVyZUZsYWdzVjIgaW1wbGVtZW50cyBJQ2RrRmVhdHVyZUZsYWdzIHtcbiAgLyoqXG4gICAqIERpc2FibGUgYWxsIGZlYXR1cmUgZmxhZ3MuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5PTkUgPSBuZXcgQ2RrRmVhdHVyZUZsYWdzVjIoe30pO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgYWxsIENESyBWMiBmZWF0dXJlIGZsYWdzIGtub3duIHRvIHByb2plbi5cbiAgICogVGhlc2UgbWlnaHQgbm90IGluY2x1ZGUgZmVhdHVyZSBmbGFncywgaWYgeW91ciB2ZXJzaW9uIG9mIHByb2plbiBpc24ndCB1cC10by1kYXRlLlxuICAgKlxuICAgKiBNYWtlIHN1cmUgdG8gZG91YmxlLWNoZWNrIGFueSBjaGFuZ2VzIHRvIGZlYXR1cmUgZmxhZ3MgaW4gYGNkay5qc29uYCBiZWZvcmUgZGVwbG95aW5nLlxuICAgKiBVbmV4cGVjdGVkIGNoYW5nZXMgbWF5IGNhdXNlIGJyZWFraW5nIGNoYW5nZXMgaW4geW91ciBDREsgYXBwLlxuICAgKiBZb3UgY2FuIG92ZXJ3cml0ZSBhbnkgZmVhdHVyZSBmbGFnIGJ5IHBhc3NpbmcgaXQgaW50byB0aGUgY29udGV4dCBmaWVsZC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQUxMID0gbmV3IENka0ZlYXR1cmVGbGFnc1YyKEZFQVRVUkVfRkxBR1NfVjIpO1xuXG4gIC8qKlxuICAgKiBBdHRlbXB0IHRvIGxvYWQgdGhlIGZlYXR1cmUgZmxhZ3MgZnJvbSB0aGUgYGF3cy1jZGstbGliL3JlY29tbWVuZGVkLWZlYXR1cmUtZmxhZ3MuanNvbmAgaW4gYSBsb2NhbGx5IGF2YWlsYWJsZSBucG0gcGFja2FnZS5cbiAgICogVGhpcyBmaWxlIGlzIHR5cGljYWxseSBvbmx5IHByZXNlbnQgaW4gQVdTIENESyBUeXBlU2NyaXB0IHByb2plY3RzLCBidXQgY2FuIHlpZWxkIG1vcmUgYWNjdXJhdGUgcmVzdWx0cy5cbiAgICpcbiAgICogRmFsbHMgYmFjayB0byBhbGwga25vd24gZmVhdHVyZSBmbGFncyBpZiBub3QgZm91bmQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Mb2NhbEF3c0Nka0xpYigpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZmVhdHVyZUZsYWdzID1cbiAgICAgICAgdHJ5UmVhZEZpbGVTeW5jKFxuICAgICAgICAgIHJlcXVpcmUucmVzb2x2ZShcImF3cy1jZGstbGliL3JlY29tbWVuZGVkLWZlYXR1cmUtZmxhZ3MuanNvblwiLCB7XG4gICAgICAgICAgICBwYXRoczogW3Byb2Nlc3MuY3dkKCldLFxuICAgICAgICAgIH0pLFxuICAgICAgICApIHx8IFwie31cIjtcblxuICAgICAgcmV0dXJuIG5ldyBDZGtGZWF0dXJlRmxhZ3NWMihKU09OLnBhcnNlKGZlYXR1cmVGbGFncykpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIENka0ZlYXR1cmVGbGFncy5WMi5BTEw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGZsYWdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKGZsYWdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikge1xuICAgIHRoaXMuZmxhZ3MgPSBmbGFncztcbiAgfVxufVxuXG4vKipcbiAqXG4gKiBAc3ViY2xhc3NhYmxlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNka0ZlYXR1cmVGbGFncyB7XG4gIHJlYWRvbmx5IGZsYWdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuLyoqXG4gKiBDREsgZmVhdHVyZSBmbGFncyBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgQ2RrRmVhdHVyZUZsYWdzIGltcGxlbWVudHMgSUNka0ZlYXR1cmVGbGFncyB7XG4gIC8qKlxuICAgKiBDREsgVjIgZmVhdHVyZSBmbGFncyBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWMiA9IENka0ZlYXR1cmVGbGFnc1YyO1xuXG4gIHB1YmxpYyByZWFkb25seSBmbGFnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihmbGFnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pIHtcbiAgICB0aGlzLmZsYWdzID0gZmxhZ3M7XG4gIH1cbn1cblxuLyoqXG4gKiBDb21tb24gb3B0aW9ucyBmb3IgYGNkay5qc29uYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZGtDb25maWdDb21tb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgY29udGV4dCB0byBpbmNsdWRlIGluIGBjZGsuanNvbmAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gYWRkaXRpb25hbCBjb250ZXh0XG4gICAqL1xuICByZWFkb25seSBjb250ZXh0PzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcblxuICAvKipcbiAgICogRmVhdHVyZSBmbGFncyB0aGF0IHNob3VsZCBiZSBlbmFibGVkIGluIGBjZGsuanNvbmAuXG4gICAqXG4gICAqIE1ha2Ugc3VyZSB0byBkb3VibGUtY2hlY2sgYW55IGNoYW5nZXMgdG8gZmVhdHVyZSBmbGFncyBpbiBgY2RrLmpzb25gIGJlZm9yZSBkZXBsb3lpbmcuXG4gICAqIFVuZXhwZWN0ZWQgY2hhbmdlcyBtYXkgY2F1c2UgYnJlYWtpbmcgY2hhbmdlcyBpbiB5b3VyIENESyBhcHAuXG4gICAqIFlvdSBjYW4gb3ZlcndyaXRlIGFueSBmZWF0dXJlIGZsYWcgYnkgcGFzc2luZyBpdCBpbnRvIHRoZSBjb250ZXh0IGZpZWxkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGZlYXR1cmUgZmxhZ3MgYXJlIGVuYWJsZWQgYnkgZGVmYXVsdFxuICAgKi9cbiAgcmVhZG9ubHkgZmVhdHVyZUZsYWdzPzogSUNka0ZlYXR1cmVGbGFncztcblxuICAvKipcbiAgICogVG8gcHJvdGVjdCB5b3UgYWdhaW5zdCB1bmludGVuZGVkIGNoYW5nZXMgdGhhdCBhZmZlY3QgeW91ciBzZWN1cml0eSBwb3N0dXJlLFxuICAgKiB0aGUgQVdTIENESyBUb29sa2l0IHByb21wdHMgeW91IHRvIGFwcHJvdmUgc2VjdXJpdHktcmVsYXRlZCBjaGFuZ2VzIGJlZm9yZSBkZXBsb3lpbmcgdGhlbS5cbiAgICpcbiAgICogQGRlZmF1bHQgQXBwcm92YWxMZXZlbC5CUk9BREVOSU5HXG4gICAqL1xuICByZWFkb25seSByZXF1aXJlQXBwcm92YWw/OiBBcHByb3ZhbExldmVsO1xuXG4gIC8qKlxuICAgKiBjZGsub3V0IGRpcmVjdG9yeS5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJjZGsub3V0XCJcbiAgICovXG4gIHJlYWRvbmx5IGNka291dD86IHN0cmluZztcblxuICAvKipcbiAgICogQSBjb21tYW5kIHRvIGV4ZWN1dGUgYmVmb3JlIHN5bnRoZXNpcy4gVGhpcyBjb21tYW5kIHdpbGwgYmUgY2FsbGVkIHdoZW5cbiAgICogcnVubmluZyBgY2RrIHN5bnRoYCBvciB3aGVuIGBjZGsgd2F0Y2hgIGlkZW50aWZpZXMgYSBjaGFuZ2UgaW4geW91ciBzb3VyY2VcbiAgICogY29kZSBiZWZvcmUgcmVkZXBsb3ltZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGJ1aWxkIGNvbW1hbmRcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkQ29tbWFuZD86IHN0cmluZztcblxuICAvKipcbiAgICogR2xvYiBwYXR0ZXJucyB0byBpbmNsdWRlIGluIGBjZGsgd2F0Y2hgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgcmVhZG9ubHkgd2F0Y2hJbmNsdWRlcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBHbG9iIHBhdHRlcm5zIHRvIGV4Y2x1ZGUgZnJvbSBgY2RrIHdhdGNoYC5cbiAgICpcbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHJlYWRvbmx5IHdhdGNoRXhjbHVkZXM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgQ2RrSnNvbmAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrQ29uZmlnT3B0aW9ucyBleHRlbmRzIENka0NvbmZpZ0NvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGNvbW1hbmQgbGluZSB0byBleGVjdXRlIGluIG9yZGVyIHRvIHN5bnRoZXNpemUgdGhlIENESyBhcHBsaWNhdGlvblxuICAgKiAobGFuZ3VhZ2Ugc3BlY2lmaWMpLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBjZGsuanNvbiBmaWxlLlxuICovXG5leHBvcnQgY2xhc3MgQ2RrQ29uZmlnIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIEpTT04gZmlsZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBqc29uOiBKc29uRmlsZTtcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgY2RrLm91dCBkaXJlY3RvcnkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY2Rrb3V0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgZ2xvYiBwYXR0ZXJucyB0byBiZSBpbmNsdWRlZCBieSBDREsuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9pbmNsdWRlOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogTGlzdCBvZiBnbG9iIHBhdHRlcm5zIHRvIGJlIGV4Y2x1ZGVkIGJ5IENESy5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX2V4Y2x1ZGU6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgY29udGV4dCB0byB3cml0ZSB0byBjZGsuanNvbi5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbnRleHQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IENka0NvbmZpZ09wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIHRoaXMuY2Rrb3V0ID0gb3B0aW9ucy5jZGtvdXQgPz8gXCJjZGsub3V0XCI7XG4gICAgdGhpcy5faW5jbHVkZSA9IG9wdGlvbnMud2F0Y2hJbmNsdWRlcyA/PyBbXTtcbiAgICB0aGlzLl9leGNsdWRlID0gb3B0aW9ucy53YXRjaEV4Y2x1ZGVzID8/IFtdO1xuXG4gICAgY29uc3QgZmxhZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gb3B0aW9ucy5mZWF0dXJlRmxhZ3M/LmZsYWdzID8/IHt9O1xuICAgIHRoaXMuX2NvbnRleHQgPSB7XG4gICAgICAuLi5mbGFncyxcbiAgICAgIC8vIEN1c3RvbWVyIGNvbnRleHQgc2hvdWxkIHRha2UgcHJlY2VkZW5jZSBvdmVyIHRoZSBkZWZhdWx0IGZlYXR1cmUgZmxhZ3NcbiAgICAgIC4uLihvcHRpb25zLmNvbnRleHQgPz8ge30pLFxuICAgIH07XG5cbiAgICB0aGlzLmpzb24gPSBuZXcgSnNvbkZpbGUocHJvamVjdCwgXCJjZGsuanNvblwiLCB7XG4gICAgICBvbWl0RW1wdHk6IHRydWUsXG4gICAgICBvYmo6IHtcbiAgICAgICAgYXBwOiBvcHRpb25zLmFwcCxcbiAgICAgICAgY29udGV4dDogdGhpcy5fY29udGV4dCxcbiAgICAgICAgcmVxdWlyZUFwcHJvdmFsOiBvcHRpb25zLnJlcXVpcmVBcHByb3ZhbCxcbiAgICAgICAgb3V0cHV0OiB0aGlzLmNka291dCxcbiAgICAgICAgYnVpbGQ6IG9wdGlvbnMuYnVpbGRDb21tYW5kLFxuICAgICAgICB3YXRjaDoge1xuICAgICAgICAgIGluY2x1ZGU6ICgpID0+IHRoaXMuX2luY2x1ZGUsXG4gICAgICAgICAgZXhjbHVkZTogKCkgPT4gdGhpcy5fZXhjbHVkZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBwcm9qZWN0LmdpdGlnbm9yZS5leGNsdWRlKGAvJHt0aGlzLmNka291dH0vYCk7XG4gICAgcHJvamVjdC5naXRpZ25vcmUuZXhjbHVkZShcIi5jZGsuc3RhZ2luZy9cIik7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGluY2x1ZGVzIHRvIGBjZGsuanNvbmAuXG4gICAqIEBwYXJhbSBwYXR0ZXJucyBUaGUgaW5jbHVkZXMgdG8gYWRkLlxuICAgKi9cbiAgcHVibGljIGFkZEluY2x1ZGVzKC4uLnBhdHRlcm5zOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuX2luY2x1ZGUucHVzaCguLi5wYXR0ZXJucyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGV4Y2x1ZGVzIHRvIGBjZGsuanNvbmAuXG4gICAqIEBwYXJhbSBwYXR0ZXJucyBUaGUgZXhjbHVkZXMgdG8gYWRkLlxuICAgKi9cbiAgcHVibGljIGFkZEV4Y2x1ZGVzKC4uLnBhdHRlcm5zOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuX2V4Y2x1ZGUucHVzaCguLi5wYXR0ZXJucyk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdCBvZiBnbG9iIHBhdHRlcm5zIHRvIGJlIGluY2x1ZGVkIGJ5IENESy5cbiAgICovXG4gIHB1YmxpYyBnZXQgaW5jbHVkZSgpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFsuLi50aGlzLl9pbmNsdWRlXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGdsb2IgcGF0dGVybnMgdG8gYmUgZXhjbHVkZWQgYnkgQ0RLLlxuICAgKi9cbiAgcHVibGljIGdldCBleGNsdWRlKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gWy4uLnRoaXMuX2V4Y2x1ZGVdO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBjb250ZXh0IHRvIHdyaXRlIHRvIGNkay5qc29uLlxuICAgKi9cbiAgcHVibGljIGdldCBjb250ZXh0KCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICByZXR1cm4gZGVlcENsb25lKHRoaXMuX2NvbnRleHQpO1xuICB9XG59XG5cbi8qKlxuICogV2hpY2ggYXBwcm92YWwgaXMgcmVxdWlyZWQgd2hlbiBkZXBsb3lpbmcgQ0RLIGFwcHMuXG4gKi9cbmV4cG9ydCBlbnVtIEFwcHJvdmFsTGV2ZWwge1xuICAvKipcbiAgICogQXBwcm92YWwgaXMgbmV2ZXIgcmVxdWlyZWRcbiAgICovXG4gIE5FVkVSID0gXCJuZXZlclwiLFxuICAvKipcbiAgICogUmVxdWlyZXMgYXBwcm92YWwgb24gYW55IElBTSBvciBzZWN1cml0eS1ncm91cC1yZWxhdGVkIGNoYW5nZVxuICAgKi9cbiAgQU5ZX0NIQU5HRSA9IFwiYW55LWNoYW5nZVwiLFxuICAvKipcbiAgICogUmVxdWlyZXMgYXBwcm92YWwgd2hlbiBJQU0gc3RhdGVtZW50cyBvciB0cmFmZmljIHJ1bGVzIGFyZSBhZGRlZDsgcmVtb3ZhbHMgZG9uJ3QgcmVxdWlyZSBhcHByb3ZhbFxuICAgKi9cbiAgQlJPQURFTklORyA9IFwiYnJvYWRlbmluZ1wiLFxufVxuIl19
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvY2RrLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEscURBQTRDO0FBQzVDLDRDQUF5QztBQUN6QyxrQ0FBbUM7QUFFbkMsa0NBQTBDO0FBQzFDLHlDQUE4QztBQUU5Qzs7R0FFRztBQUNILE1BQWEsaUJBQWlCOztJQUM1Qjs7T0FFRztJQUNJLE1BQU0sQ0FBVSxJQUFJLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUV4RDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFVLEdBQUcsR0FBRyxJQUFJLGlCQUFpQixDQUFDLDJCQUFnQixDQUFDLENBQUM7SUFFckU7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsa0JBQWtCO1FBQzlCLElBQUksQ0FBQztZQUNILE1BQU0sWUFBWSxHQUNoQixJQUFBLHNCQUFlLEVBQ2IsT0FBTyxDQUFDLE9BQU8sQ0FBQyw0Q0FBNEMsRUFBRTtnQkFDNUQsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO2FBQ3ZCLENBQUMsQ0FDSCxJQUFJLElBQUksQ0FBQztZQUVaLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNQLE9BQU8sZUFBZSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFZSxLQUFLLENBQTBCO0lBRS9DLFlBQW9CLEtBQThCO1FBQ2hELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7O0FBekNILDhDQTBDQztBQVVEOztHQUVHO0FBQ0gsTUFBYSxlQUFlOztJQUMxQjs7T0FFRztJQUNJLE1BQU0sQ0FBVSxFQUFFLEdBQUcsaUJBQWlCLENBQUM7SUFFOUIsS0FBSyxD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YUFBYSw2QkFBYixhQUFhLFFBYXhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVlcENsb25lIH0gZnJvbSBcImZhc3QtanNvbi1wYXRjaFwiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvbXBvbmVudFwiO1xuaW1wb3J0IHsgSnNvbkZpbGUgfSBmcm9tIFwiLi4vanNvblwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSBcIi4uL3Byb2plY3RcIjtcbmltcG9ydCB7IHRyeVJlYWRGaWxlU3luYyB9IGZyb20gXCIuLi91dGlsXCI7XG5pbXBvcnQgeyBGRUFUVVJFX0ZMQUdTX1YyIH0gZnJvbSBcIi4vaW50ZXJuYWxcIjtcblxuLyoqXG4gKiBDREsgVjIgZmVhdHVyZSBmbGFncyBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgQ2RrRmVhdHVyZUZsYWdzVjIgaW1wbGVtZW50cyBJQ2RrRmVhdHVyZUZsYWdzIHtcbiAgLyoqXG4gICAqIERpc2FibGUgYWxsIGZlYXR1cmUgZmxhZ3MuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5PTkUgPSBuZXcgQ2RrRmVhdHVyZUZsYWdzVjIoe30pO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgYWxsIENESyBWMiBmZWF0dXJlIGZsYWdzIGtub3duIHRvIHByb2plbi5cbiAgICogVGhlc2UgbWlnaHQgbm90IGluY2x1ZGUgZmVhdHVyZSBmbGFncywgaWYgeW91ciB2ZXJzaW9uIG9mIHByb2plbiBpc24ndCB1cC10by1kYXRlLlxuICAgKlxuICAgKiBNYWtlIHN1cmUgdG8gZG91YmxlLWNoZWNrIGFueSBjaGFuZ2VzIHRvIGZlYXR1cmUgZmxhZ3MgaW4gYGNkay5qc29uYCBiZWZvcmUgZGVwbG95aW5nLlxuICAgKiBVbmV4cGVjdGVkIGNoYW5nZXMgbWF5IGNhdXNlIGJyZWFraW5nIGNoYW5nZXMgaW4geW91ciBDREsgYXBwLlxuICAgKiBZb3UgY2FuIG92ZXJ3cml0ZSBhbnkgZmVhdHVyZSBmbGFnIGJ5IHBhc3NpbmcgaXQgaW50byB0aGUgY29udGV4dCBmaWVsZC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQUxMID0gbmV3IENka0ZlYXR1cmVGbGFnc1YyKEZFQVRVUkVfRkxBR1NfVjIpO1xuXG4gIC8qKlxuICAgKiBBdHRlbXB0IHRvIGxvYWQgdGhlIGZlYXR1cmUgZmxhZ3MgZnJvbSB0aGUgYGF3cy1jZGstbGliL3JlY29tbWVuZGVkLWZlYXR1cmUtZmxhZ3MuanNvbmAgaW4gYSBsb2NhbGx5IGF2YWlsYWJsZSBucG0gcGFja2FnZS5cbiAgICogVGhpcyBmaWxlIGlzIHR5cGljYWxseSBvbmx5IHByZXNlbnQgaW4gQVdTIENESyBUeXBlU2NyaXB0IHByb2plY3RzLCBidXQgY2FuIHlpZWxkIG1vcmUgYWNjdXJhdGUgcmVzdWx0cy5cbiAgICpcbiAgICogRmFsbHMgYmFjayB0byBhbGwga25vd24gZmVhdHVyZSBmbGFncyBpZiBub3QgZm91bmQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Mb2NhbEF3c0Nka0xpYigpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZmVhdHVyZUZsYWdzID1cbiAgICAgICAgdHJ5UmVhZEZpbGVTeW5jKFxuICAgICAgICAgIHJlcXVpcmUucmVzb2x2ZShcImF3cy1jZGstbGliL3JlY29tbWVuZGVkLWZlYXR1cmUtZmxhZ3MuanNvblwiLCB7XG4gICAgICAgICAgICBwYXRoczogW3Byb2Nlc3MuY3dkKCldLFxuICAgICAgICAgIH0pLFxuICAgICAgICApIHx8IFwie31cIjtcblxuICAgICAgcmV0dXJuIG5ldyBDZGtGZWF0dXJlRmxhZ3NWMihKU09OLnBhcnNlKGZlYXR1cmVGbGFncykpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIENka0ZlYXR1cmVGbGFncy5WMi5BTEw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGZsYWdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKGZsYWdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikge1xuICAgIHRoaXMuZmxhZ3MgPSBmbGFncztcbiAgfVxufVxuXG4vKipcbiAqXG4gKiBAc3ViY2xhc3NhYmxlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNka0ZlYXR1cmVGbGFncyB7XG4gIHJlYWRvbmx5IGZsYWdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuLyoqXG4gKiBDREsgZmVhdHVyZSBmbGFncyBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgQ2RrRmVhdHVyZUZsYWdzIGltcGxlbWVudHMgSUNka0ZlYXR1cmVGbGFncyB7XG4gIC8qKlxuICAgKiBDREsgVjIgZmVhdHVyZSBmbGFncyBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWMiA9IENka0ZlYXR1cmVGbGFnc1YyO1xuXG4gIHB1YmxpYyByZWFkb25seSBmbGFnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihmbGFnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pIHtcbiAgICB0aGlzLmZsYWdzID0gZmxhZ3M7XG4gIH1cbn1cblxuLyoqXG4gKiBDb21tb24gb3B0aW9ucyBmb3IgYGNkay5qc29uYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZGtDb25maWdDb21tb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgY29udGV4dCB0byBpbmNsdWRlIGluIGBjZGsuanNvbmAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gYWRkaXRpb25hbCBjb250ZXh0XG4gICAqL1xuICByZWFkb25seSBjb250ZXh0PzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcblxuICAvKipcbiAgICogRmVhdHVyZSBmbGFncyB0aGF0IHNob3VsZCBiZSBlbmFibGVkIGluIGBjZGsuanNvbmAuXG4gICAqXG4gICAqIE1ha2Ugc3VyZSB0byBkb3VibGUtY2hlY2sgYW55IGNoYW5nZXMgdG8gZmVhdHVyZSBmbGFncyBpbiBgY2RrLmpzb25gIGJlZm9yZSBkZXBsb3lpbmcuXG4gICAqIFVuZXhwZWN0ZWQgY2hhbmdlcyBtYXkgY2F1c2UgYnJlYWtpbmcgY2hhbmdlcyBpbiB5b3VyIENESyBhcHAuXG4gICAqIFlvdSBjYW4gb3ZlcndyaXRlIGFueSBmZWF0dXJlIGZsYWcgYnkgcGFzc2luZyBpdCBpbnRvIHRoZSBjb250ZXh0IGZpZWxkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGZlYXR1cmUgZmxhZ3MgYXJlIGVuYWJsZWQgYnkgZGVmYXVsdFxuICAgKi9cbiAgcmVhZG9ubHkgZmVhdHVyZUZsYWdzPzogSUNka0ZlYXR1cmVGbGFncztcblxuICAvKipcbiAgICogVG8gcHJvdGVjdCB5b3UgYWdhaW5zdCB1bmludGVuZGVkIGNoYW5nZXMgdGhhdCBhZmZlY3QgeW91ciBzZWN1cml0eSBwb3N0dXJlLFxuICAgKiB0aGUgQVdTIENESyBUb29sa2l0IHByb21wdHMgeW91IHRvIGFwcHJvdmUgc2VjdXJpdHktcmVsYXRlZCBjaGFuZ2VzIGJlZm9yZSBkZXBsb3lpbmcgdGhlbS5cbiAgICpcbiAgICogQGRlZmF1bHQgQXBwcm92YWxMZXZlbC5CUk9BREVOSU5HXG4gICAqL1xuICByZWFkb25seSByZXF1aXJlQXBwcm92YWw/OiBBcHByb3ZhbExldmVsO1xuXG4gIC8qKlxuICAgKiBjZGsub3V0IGRpcmVjdG9yeS5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJjZGsub3V0XCJcbiAgICovXG4gIHJlYWRvbmx5IGNka291dD86IHN0cmluZztcblxuICAvKipcbiAgICogQSBjb21tYW5kIHRvIGV4ZWN1dGUgYmVmb3JlIHN5bnRoZXNpcy4gVGhpcyBjb21tYW5kIHdpbGwgYmUgY2FsbGVkIHdoZW5cbiAgICogcnVubmluZyBgY2RrIHN5bnRoYCBvciB3aGVuIGBjZGsgd2F0Y2hgIGlkZW50aWZpZXMgYSBjaGFuZ2UgaW4geW91ciBzb3VyY2VcbiAgICogY29kZSBiZWZvcmUgcmVkZXBsb3ltZW50LlxuICAgKlxuICAgKiBUaGUgQ0RLIENMSSBydW5zIGl0IHRocm91Z2ggYSBzaGVsbCBvbiBldmVyeSBzeW50aGVzaXMsIG9uIHRoZSBtYWNoaW5lIG9mXG4gICAqIGFueW9uZSB3aG8gY2hlY2tzIG91dCB0aGUgcHJvamVjdCwgc28gc2hlbGwgc3ludGF4IGluIGl0IGlzIGludGVycHJldGVkIGFuZFxuICAgKiB0aGUgY29tbWFuZCBzaG91bGQgYmUgb25lIHlvdSB3b3VsZCBydW4geW91cnNlbGYuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gYnVpbGQgY29tbWFuZFxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRDb21tYW5kPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBHbG9iIHBhdHRlcm5zIHRvIGluY2x1ZGUgaW4gYGNkayB3YXRjaGAuXG4gICAqXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSB3YXRjaEluY2x1ZGVzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEdsb2IgcGF0dGVybnMgdG8gZXhjbHVkZSBmcm9tIGBjZGsgd2F0Y2hgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgcmVhZG9ubHkgd2F0Y2hFeGNsdWRlcz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBDZGtKc29uYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZGtDb25maWdPcHRpb25zIGV4dGVuZHMgQ2RrQ29uZmlnQ29tbW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgY29tbWFuZCBsaW5lIHRvIGV4ZWN1dGUgaW4gb3JkZXIgdG8gc3ludGhlc2l6ZSB0aGUgQ0RLIGFwcGxpY2F0aW9uXG4gICAqIChsYW5ndWFnZSBzcGVjaWZpYykuXG4gICAqL1xuICByZWFkb25seSBhcHA6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGNkay5qc29uIGZpbGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBDZGtDb25maWcgZXh0ZW5kcyBDb21wb25lbnQge1xuICAvKipcbiAgICogUmVwcmVzZW50cyB0aGUgSlNPTiBmaWxlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGpzb246IEpzb25GaWxlO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBjZGsub3V0IGRpcmVjdG9yeS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjZGtvdXQ6IHN0cmluZztcblxuICAvKipcbiAgICogTGlzdCBvZiBnbG9iIHBhdHRlcm5zIHRvIGJlIGluY2x1ZGVkIGJ5IENESy5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX2luY2x1ZGU6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGdsb2IgcGF0dGVybnMgdG8gYmUgZXhjbHVkZWQgYnkgQ0RLLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfZXhjbHVkZTogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBjb250ZXh0IHRvIHdyaXRlIHRvIGNkay5qc29uLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfY29udGV4dDogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogQ2RrQ29uZmlnT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgdGhpcy5jZGtvdXQgPSBvcHRpb25zLmNka291dCA/PyBcImNkay5vdXRcIjtcbiAgICB0aGlzLl9pbmNsdWRlID0gb3B0aW9ucy53YXRjaEluY2x1ZGVzID8/IFtdO1xuICAgIHRoaXMuX2V4Y2x1ZGUgPSBvcHRpb25zLndhdGNoRXhjbHVkZXMgPz8gW107XG5cbiAgICBjb25zdCBmbGFnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBvcHRpb25zLmZlYXR1cmVGbGFncz8uZmxhZ3MgPz8ge307XG4gICAgdGhpcy5fY29udGV4dCA9IHtcbiAgICAgIC4uLmZsYWdzLFxuICAgICAgLy8gQ3VzdG9tZXIgY29udGV4dCBzaG91bGQgdGFrZSBwcmVjZWRlbmNlIG92ZXIgdGhlIGRlZmF1bHQgZmVhdHVyZSBmbGFnc1xuICAgICAgLi4uKG9wdGlvbnMuY29udGV4dCA/PyB7fSksXG4gICAgfTtcblxuICAgIHRoaXMuanNvbiA9IG5ldyBKc29uRmlsZShwcm9qZWN0LCBcImNkay5qc29uXCIsIHtcbiAgICAgIG9taXRFbXB0eTogdHJ1ZSxcbiAgICAgIG9iajoge1xuICAgICAgICBhcHA6IG9wdGlvbnMuYXBwLFxuICAgICAgICBjb250ZXh0OiB0aGlzLl9jb250ZXh0LFxuICAgICAgICByZXF1aXJlQXBwcm92YWw6IG9wdGlvbnMucmVxdWlyZUFwcHJvdmFsLFxuICAgICAgICBvdXRwdXQ6IHRoaXMuY2Rrb3V0LFxuICAgICAgICBidWlsZDogb3B0aW9ucy5idWlsZENvbW1hbmQsXG4gICAgICAgIHdhdGNoOiB7XG4gICAgICAgICAgaW5jbHVkZTogKCkgPT4gdGhpcy5faW5jbHVkZSxcbiAgICAgICAgICBleGNsdWRlOiAoKSA9PiB0aGlzLl9leGNsdWRlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHByb2plY3QuZ2l0aWdub3JlLmV4Y2x1ZGUoYC8ke3RoaXMuY2Rrb3V0fS9gKTtcbiAgICBwcm9qZWN0LmdpdGlnbm9yZS5leGNsdWRlKFwiLmNkay5zdGFnaW5nL1wiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgaW5jbHVkZXMgdG8gYGNkay5qc29uYC5cbiAgICogQHBhcmFtIHBhdHRlcm5zIFRoZSBpbmNsdWRlcyB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWRkSW5jbHVkZXMoLi4ucGF0dGVybnM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5faW5jbHVkZS5wdXNoKC4uLnBhdHRlcm5zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgZXhjbHVkZXMgdG8gYGNkay5qc29uYC5cbiAgICogQHBhcmFtIHBhdHRlcm5zIFRoZSBleGNsdWRlcyB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWRkRXhjbHVkZXMoLi4ucGF0dGVybnM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5fZXhjbHVkZS5wdXNoKC4uLnBhdHRlcm5zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGdsb2IgcGF0dGVybnMgdG8gYmUgaW5jbHVkZWQgYnkgQ0RLLlxuICAgKi9cbiAgcHVibGljIGdldCBpbmNsdWRlKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gWy4uLnRoaXMuX2luY2x1ZGVdO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgZ2xvYiBwYXR0ZXJucyB0byBiZSBleGNsdWRlZCBieSBDREsuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGV4Y2x1ZGUoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbLi4udGhpcy5fZXhjbHVkZV07XG4gIH1cblxuICAvKipcbiAgICogVGhlIGNvbnRleHQgdG8gd3JpdGUgdG8gY2RrLmpzb24uXG4gICAqL1xuICBwdWJsaWMgZ2V0IGNvbnRleHQoKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICAgIHJldHVybiBkZWVwQ2xvbmUodGhpcy5fY29udGV4dCk7XG4gIH1cbn1cblxuLyoqXG4gKiBXaGljaCBhcHByb3ZhbCBpcyByZXF1aXJlZCB3aGVuIGRlcGxveWluZyBDREsgYXBwcy5cbiAqL1xuZXhwb3J0IGVudW0gQXBwcm92YWxMZXZlbCB7XG4gIC8qKlxuICAgKiBBcHByb3ZhbCBpcyBuZXZlciByZXF1aXJlZFxuICAgKi9cbiAgTkVWRVIgPSBcIm5ldmVyXCIsXG4gIC8qKlxuICAgKiBSZXF1aXJlcyBhcHByb3ZhbCBvbiBhbnkgSUFNIG9yIHNlY3VyaXR5LWdyb3VwLXJlbGF0ZWQgY2hhbmdlXG4gICAqL1xuICBBTllfQ0hBTkdFID0gXCJhbnktY2hhbmdlXCIsXG4gIC8qKlxuICAgKiBSZXF1aXJlcyBhcHByb3ZhbCB3aGVuIElBTSBzdGF0ZW1lbnRzIG9yIHRyYWZmaWMgcnVsZXMgYXJlIGFkZGVkOyByZW1vdmFscyBkb24ndCByZXF1aXJlIGFwcHJvdmFsXG4gICAqL1xuICBCUk9BREVOSU5HID0gXCJicm9hZGVuaW5nXCIsXG59XG4iXX0=
@@ -7,7 +7,7 @@ const component_1 = require("../component");
7
7
  * Adds standard AWS CDK tasks to your project.
8
8
  */
9
9
  class CdkTasks extends component_1.Component {
10
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.CdkTasks", version: "0.102.0" };
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.CdkTasks", version: "0.103.1" };
11
11
  /**
12
12
  * Synthesizes your app.
13
13
  */
@@ -23,6 +23,7 @@ export interface IntegrationTestCommonOptions {
23
23
  export interface IntegrationTestOptions extends IntegrationTestCommonOptions, IntegrationTestBaseOptions {
24
24
  /**
25
25
  * A list of stacks within the integration test to deploy/destroy.
26
+ *
26
27
  * @default ["**"]
27
28
  */
28
29
  readonly stacks?: string[];
@@ -9,7 +9,7 @@ const dependencies_1 = require("../dependencies");
9
9
  * Cloud integration tests.
10
10
  */
11
11
  class IntegrationTest extends cdk_1.IntegrationTestBase {
12
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.IntegrationTest", version: "0.102.0" };
12
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.IntegrationTest", version: "0.103.1" };
13
13
  /**
14
14
  * Destroy the integration test resources
15
15
  */
@@ -33,7 +33,8 @@ class IntegrationTest extends cdk_1.IntegrationTestBase {
33
33
  const assertDir = (0, posix_1.join)(this.tmpDir, "assert.cdk.out");
34
34
  const app = `ts-node -P ${options.tsconfigPath} ${options.entrypoint}`;
35
35
  const opts = [
36
- `--app "${app}"`,
36
+ "--app",
37
+ app,
37
38
  "--no-notices",
38
39
  "--no-version-reporting",
39
40
  // don't inject cloudformation metadata into template
@@ -43,30 +44,57 @@ class IntegrationTest extends cdk_1.IntegrationTestBase {
43
44
  if (!pathMetadata) {
44
45
  opts.push("--no-path-metadata");
45
46
  }
46
- const cdkopts = opts.join(" ");
47
47
  // Determine which stacks to deploy
48
48
  const stacks = options.stacks ?? ["**"];
49
- const stackOpts = stacks.map((stack) => `'${stack}'`).join(" ");
50
49
  this.deployTask.execArgs(["rm", "-fr", deployDir]);
51
- this.deployTask.exec(`cdk deploy ${cdkopts} ${stackOpts} --require-approval=never -o ${deployDir}`);
50
+ this.deployTask.execArgs([
51
+ "cdk",
52
+ "deploy",
53
+ ...opts,
54
+ ...stacks,
55
+ "--require-approval=never",
56
+ "-o",
57
+ deployDir,
58
+ ]);
52
59
  // if deployment was successful, copy the deploy dir to the expected dir
53
60
  this.deployTask.execArgs(["rm", "-fr", this.snapshotDir]);
54
61
  this.deployTask.execArgs(["mv", deployDir, this.snapshotDir]);
55
62
  this.watchTask = project.addTask(`integ:${this.name}:watch`, {
56
63
  description: `watch integration test '${this.name}' (without updating snapshots)`,
57
- exec: `cdk watch ${cdkopts} ${stackOpts} -o ${deployDir}`,
64
+ execArgs: ["cdk", "watch", ...opts, ...stacks, "-o", deployDir],
58
65
  });
59
66
  this.destroyTask = project.addTask(`integ:${this.name}:destroy`, {
60
67
  description: `destroy integration test '${this.name}'`,
61
- exec: `cdk destroy --app ${this.snapshotDir} ${stackOpts} --no-version-reporting`,
68
+ execArgs: [
69
+ "cdk",
70
+ "destroy",
71
+ "--app",
72
+ this.snapshotDir,
73
+ ...stacks,
74
+ "--no-version-reporting",
75
+ ],
62
76
  });
63
77
  const destroyAfterDeploy = options.destroyAfterDeploy ?? true;
64
78
  if (destroyAfterDeploy) {
65
79
  this.deployTask.spawn(this.destroyTask);
66
80
  }
67
- this.snapshotTask.exec(`cdk synth ${cdkopts} -o ${this.snapshotDir} > /dev/null`);
81
+ this.snapshotTask.execArgs([
82
+ "cdk",
83
+ "synth",
84
+ "--quiet",
85
+ ...opts,
86
+ "-o",
87
+ this.snapshotDir,
88
+ ]);
68
89
  const exclude = ["asset.*", "cdk.out", "manifest.json", "tree.json"];
69
- this.assertTask.exec(`cdk synth ${cdkopts} -o ${assertDir} > /dev/null`);
90
+ this.assertTask.execArgs([
91
+ "cdk",
92
+ "synth",
93
+ "--quiet",
94
+ ...opts,
95
+ "-o",
96
+ assertDir,
97
+ ]);
70
98
  this.assertTask.execArgs([
71
99
  "diff",
72
100
  "-r",
@@ -82,4 +110,4 @@ class IntegrationTest extends cdk_1.IntegrationTestBase {
82
110
  }
83
111
  }
84
112
  exports.IntegrationTest = IntegrationTest;
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdyYXRpb24tdGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvaW50ZWdyYXRpb24tdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsc0NBQWtDO0FBR2xDLGdDQUE2QztBQUM3QyxrREFBaUQ7QUFxQ2pEOztHQUVHO0FBQ0gsTUFBYSxlQUFnQixTQUFRLHlCQUFtQjs7SUFDdEQ7O09BRUc7SUFDYSxXQUFXLENBQU87SUFFbEM7O09BRUc7SUFDYSxTQUFTLENBQU87SUFFaEMsWUFBWSxPQUFnQixFQUFFLE9BQStCO1FBQzNELEtBQUssQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFeEIsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztZQUM3QixJQUFJLEVBQUUsU0FBUztZQUNmLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWE7WUFDdEMsSUFBSSxFQUFFLDZCQUFjLENBQUMsS0FBSztTQUMzQixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1lBQzdCLElBQUksRUFBRSxTQUFTO1lBQ2YsSUFBSSxFQUFFLDZCQUFjLENBQUMsS0FBSztTQUMzQixDQUFDLENBQUM7UUFFSCxNQUFNLFNBQVMsR0FBRyxJQUFBLFlBQUksRUFBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDdEQsTUFBTSxTQUFTLEdBQUcsSUFBQSxZQUFJLEVBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sR0FBRyxHQUFHLGNBQWMsT0FBTyxDQUFDLFlBQVksSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFdkUsTUFBTSxJQUFJLEdBQUc7WUFDWCxVQUFVLEdBQUcsR0FBRztZQUNoQixjQUFjO1lBQ2Qsd0JBQXdCO1lBQ3hCLHFEQUFxRDtZQUNyRCxxQkFBcUI7U0FD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LENBQUMsV0FBVyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDakQsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG9CQUFvQjtRQUMzRSxDQUFDO0lBQ0gsQ0FBQzs7QUE1RkgsMENBNkZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgam9pbiB9IGZyb20gXCJwYXRoL3Bvc2l4XCI7XG5pbXBvcnQgdHlwZSB7IEF3c0Nka0RlcHMgfSBmcm9tIFwiLi9hd3NjZGstZGVwc1wiO1xuaW1wb3J0IHR5cGUgeyBJbnRlZ3JhdGlvblRlc3RCYXNlT3B0aW9ucyB9IGZyb20gXCIuLi9jZGtcIjtcbmltcG9ydCB7IEludGVncmF0aW9uVGVzdEJhc2UgfSBmcm9tIFwiLi4vY2RrXCI7XG5pbXBvcnQgeyBEZXBlbmRlbmN5VHlwZSB9IGZyb20gXCIuLi9kZXBlbmRlbmNpZXNcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCIuLi9wcm9qZWN0XCI7XG5pbXBvcnQgdHlwZSB7IFRhc2sgfSBmcm9tIFwiLi4vdGFza1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEludGVncmF0aW9uVGVzdENvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogRGVzdHJveSB0aGUgdGVzdCBhcHAgYWZ0ZXIgYSBzdWNjZXNzZnVsIGRlcGxveW1lbnQuIElmIGRpc2FibGVkLCBsZWF2ZXMgdGhlXG4gICAqIGFwcCBkZXBsb3llZCBpbiB0aGUgZGV2IGFjY291bnQuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGRlc3Ryb3lBZnRlckRlcGxveT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgcGF0aCBtZXRhZGF0YSwgYWRkaW5nIGBhd3M6Y2RrOnBhdGhgLCB3aXRoIHRoZSBkZWZpbmluZyBjb25zdHJ1Y3Qnc1xuICAgKiBwYXRoLCB0byB0aGUgQ2xvdWRGb3JtYXRpb24gbWV0YWRhdGEgZm9yIGVhY2ggc3ludGhlc2l6ZWQgcmVzb3VyY2UuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBwYXRoTWV0YWRhdGE/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBJbnRlZ3JhdGlvblRlc3RgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEludGVncmF0aW9uVGVzdE9wdGlvbnNcbiAgZXh0ZW5kcyBJbnRlZ3JhdGlvblRlc3RDb21tb25PcHRpb25zLCBJbnRlZ3JhdGlvblRlc3RCYXNlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2Ygc3RhY2tzIHdpdGhpbiB0aGUgaW50ZWdyYXRpb24gdGVzdCB0byBkZXBsb3kvZGVzdHJveS5cbiAgICogQGRlZmF1bHQgW1wiKipcIl1cbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBV1MgQ0RLIGRlcGVuZGVuY3kgbWFuYWdlci5cbiAgICovXG4gIHJlYWRvbmx5IGNka0RlcHM6IEF3c0Nka0RlcHM7XG59XG5cbi8qKlxuICogQ2xvdWQgaW50ZWdyYXRpb24gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnRlZ3JhdGlvblRlc3QgZXh0ZW5kcyBJbnRlZ3JhdGlvblRlc3RCYXNlIHtcbiAgLyoqXG4gICAqIERlc3Ryb3kgdGhlIGludGVncmF0aW9uIHRlc3QgcmVzb3VyY2VzXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGVzdHJveVRhc2s6IFRhc2s7XG5cbiAgLyoqXG4gICAqIFRoZSB3YXRjaCB0YXNrLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHdhdGNoVGFzazogVGFzaztcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBJbnRlZ3JhdGlvblRlc3RPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCwgb3B0aW9ucyk7XG5cbiAgICBwcm9qZWN0LmRlcHMucmVxdWVzdERlcGVuZGVuY3koe1xuICAgICAgbmFtZTogXCJhd3MtY2RrXCIsXG4gICAgICB2ZXJzaW9uOiBvcHRpb25zLmNka0RlcHMuY2RrQ2xpVmVyc2lvbixcbiAgICAgIHR5cGU6IERlcGVuZGVuY3lUeXBlLkJVSUxELFxuICAgIH0pO1xuXG4gICAgcHJvamVjdC5kZXBzLnJlcXVlc3REZXBlbmRlbmN5KHtcbiAgICAgIG5hbWU6IFwidHMtbm9kZVwiLFxuICAgICAgdHlwZTogRGVwZW5kZW5jeVR5cGUuQlVJTEQsXG4gICAgfSk7XG5cbiAgICBjb25zdCBkZXBsb3lEaXIgPSBqb2luKHRoaXMudG1wRGlyLCBcImRlcGxveS5jZGsub3V0XCIpO1xuICAgIGNvbnN0IGFzc2VydERpciA9IGpvaW4odGhpcy50bXBEaXIsIFwiYXNzZXJ0LmNkay5vdXRcIik7XG4gICAgY29uc3QgYXBwID0gYHRzLW5vZGUgLVAgJHtvcHRpb25zLnRzY29uZmlnUGF0aH0gJHtvcHRpb25zLmVudHJ5cG9pbnR9YDtcblxuICAgIGNvbnN0IG9wdHMgPSBbXG4gICAgICBgLS1hcHAgXCIke2FwcH1cImAsXG4gICAgICBcIi0tbm8tbm90aWNlc1wiLFxuICAgICAgXCItLW5vLXZlcnNpb24tcmVwb3J0aW5nXCIsXG4gICAgICAvLyBkb24ndCBpbmplY3QgY2xvdWRmb3JtYXRpb24gbWV0YWRhdGEgaW50byB0ZW1wbGF0ZVxuICAgICAgXCItLW5vLWFzc2V0LW1ldGFkYXRhXCIsXG4gICAgXTtcblxuICAgIGNvbnN0IHBhdGhNZXRhZGF0YSA9IG9wdGlvbnMucGF0aE1ldGFkYXRhID8/IGZhbHNlO1xuICAgIGlmICghcGF0aE1ldGFkYXRhKSB7XG4gICAgICBvcHRzLnB1c2goXCItLW5vLXBhdGgtbWV0YWRhdGFcIik7XG4gICAgfVxuXG4gICAgY29uc3QgY2Rrb3B0cyA9IG9wdHMuam9pbihcIiBcIik7XG5cbiAgICAvLyBEZXRlcm1pbmUgd2hpY2ggc3RhY2tzIHRvIGRlcGxveVxuICAgIGNvbnN0IHN0YWNrcyA9IG9wdGlvbnMuc3RhY2tzID8/IFtcIioqXCJdO1xuICAgIGNvbnN0IHN0YWNrT3B0cyA9IHN0YWNrcy5tYXAoKHN0YWNrKSA9PiBgJyR7c3RhY2t9J2ApLmpvaW4oXCIgXCIpO1xuXG4gICAgdGhpcy5kZXBsb3lUYXNrLmV4ZWNBcmdzKFtcInJtXCIsIFwiLWZyXCIsIGRlcGxveURpcl0pO1xuICAgIHRoaXMuZGVwbG95VGFzay5leGVjKFxuICAgICAgYGNkayBkZXBsb3kgJHtjZGtvcHRzfSAke3N0YWNrT3B0c30gLS1yZXF1aXJlLWFwcHJvdmFsPW5ldmVyIC1vICR7ZGVwbG95RGlyfWAsXG4gICAgKTtcblxuICAgIC8vIGlmIGRlcGxveW1lbnQgd2FzIHN1Y2Nlc3NmdWwsIGNvcHkgdGhlIGRlcGxveSBkaXIgdG8gdGhlIGV4cGVjdGVkIGRpclxuICAgIHRoaXMuZGVwbG95VGFzay5leGVjQXJncyhbXCJybVwiLCBcIi1mclwiLCB0aGlzLnNuYXBzaG90RGlyXSk7XG4gICAgdGhpcy5kZXBsb3lUYXNrLmV4ZWNBcmdzKFtcIm12XCIsIGRlcGxveURpciwgdGhpcy5zbmFwc2hvdERpcl0pO1xuXG4gICAgdGhpcy53YXRjaFRhc2sgPSBwcm9qZWN0LmFkZFRhc2soYGludGVnOiR7dGhpcy5uYW1lfTp3YXRjaGAsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBgd2F0Y2ggaW50ZWdyYXRpb24gdGVzdCAnJHt0aGlzLm5hbWV9JyAod2l0aG91dCB1cGRhdGluZyBzbmFwc2hvdHMpYCxcbiAgICAgIGV4ZWM6IGBjZGsgd2F0Y2ggJHtjZGtvcHRzfSAke3N0YWNrT3B0c30gLW8gJHtkZXBsb3lEaXJ9YCxcbiAgICB9KTtcblxuICAgIHRoaXMuZGVzdHJveVRhc2sgPSBwcm9qZWN0LmFkZFRhc2soYGludGVnOiR7dGhpcy5uYW1lfTpkZXN0cm95YCwge1xuICAgICAgZGVzY3JpcHRpb246IGBkZXN0cm95IGludGVncmF0aW9uIHRlc3QgJyR7dGhpcy5uYW1lfSdgLFxuICAgICAgZXhlYzogYGNkayBkZXN0cm95IC0tYXBwICR7dGhpcy5zbmFwc2hvdERpcn0gJHtzdGFja09wdHN9IC0tbm8tdmVyc2lvbi1yZXBvcnRpbmdgLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZGVzdHJveUFmdGVyRGVwbG95ID0gb3B0aW9ucy5kZXN0cm95QWZ0ZXJEZXBsb3kgPz8gdHJ1ZTtcbiAgICBpZiAoZGVzdHJveUFmdGVyRGVwbG95KSB7XG4gICAgICB0aGlzLmRlcGxveVRhc2suc3Bhd24odGhpcy5kZXN0cm95VGFzayk7XG4gICAgfVxuXG4gICAgdGhpcy5zbmFwc2hvdFRhc2suZXhlYyhcbiAgICAgIGBjZGsgc3ludGggJHtjZGtvcHRzfSAtbyAke3RoaXMuc25hcHNob3REaXJ9ID4gL2Rldi9udWxsYCxcbiAgICApO1xuXG4gICAgY29uc3QgZXhjbHVkZSA9IFtcImFzc2V0LipcIiwgXCJjZGsub3V0XCIsIFwibWFuaWZlc3QuanNvblwiLCBcInRyZWUuanNvblwiXTtcblxuICAgIHRoaXMuYXNzZXJ0VGFzay5leGVjKGBjZGsgc3ludGggJHtjZGtvcHRzfSAtbyAke2Fzc2VydERpcn0gPiAvZGV2L251bGxgKTtcbiAgICB0aGlzLmFzc2VydFRhc2suZXhlY0FyZ3MoW1xuICAgICAgXCJkaWZmXCIsXG4gICAgICBcIi1yXCIsXG4gICAgICAuLi5leGNsdWRlLmZsYXRNYXAoKHgpID0+IFtcIi14XCIsIHhdKSxcbiAgICAgIGAke3RoaXMuc25hcHNob3REaXJ9L2AsXG4gICAgICBgJHthc3NlcnREaXJ9L2AsXG4gICAgXSk7XG5cbiAgICAvLyBkbyBub3QgY29tbWl0IGFsbCBmaWxlcyB3ZSBhcmUgZXhjbHVkaW5nXG4gICAgZm9yIChjb25zdCB4IG9mIGV4Y2x1ZGUpIHtcbiAgICAgIHByb2plY3QuYWRkR2l0SWdub3JlKGAke3RoaXMuc25hcHNob3REaXJ9LyR7eH1gKTtcbiAgICAgIHByb2plY3QuYWRkR2l0SWdub3JlKGAke3RoaXMuc25hcHNob3REaXJ9LyoqLyR7eH1gKTsgLy8gbmVzdGVkIGFzc2VtYmxpZXNcbiAgICB9XG4gIH1cbn1cbiJdfQ==
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdyYXRpb24tdGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvaW50ZWdyYXRpb24tdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsc0NBQWtDO0FBR2xDLGdDQUE2QztBQUM3QyxrREFBaUQ7QUFzQ2pEOztHQUVHO0FBQ0gsTUFBYSxlQUFnQixTQUFRLHlCQUFtQjs7SUFDdEQ7O09BRUc7SUFDYSxXQUFXLENBQU87SUFFbEM7O09BRUc7SUFDYSxTQUFTLENBQU87SUFFaEMsWUFBWSxPQUFnQixFQUFFLE9BQStCO1FBQzNELEtBQUssQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFeEIsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztZQUM3QixJQUFJLEVBQUUsU0FBUztZQUNmLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWE7WUFDdEMsSUFBSSxFQUFFLDZCQUFjLENBQUMsS0FBSztTQUMzQixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1lBQzdCLElBQUksRUFBRSxTQUFTO1lBQ2YsSUFBSSxFQUFFLDZCQUFjLENBQUMsS0FBSztTQUMzQixDQUFDLENBQUM7UUFFSCxNQUFNLFNBQVMsR0FBRyxJQUFBLFlBQUksRUFBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDdEQsTUFBTSxTQUFTLEdBQUcsSUFBQSxZQUFJLEVBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sR0FBRyxHQUFHLGNBQWMsT0FBTyxDQUFDLFlBQVksSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFdkUsTUFBTSxJQUFJLEdBQUc7WUFDWCxPQUFPO1lBQ1AsR0FBRztZQUNILGNBQWM7WUFDZCx3QkFBd0I7WUFDeEIscURBQXFEO1lBQ3JELHFCQUFxQjtTQUN0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QyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDakQsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG9CQUFvQjtRQUMzRSxDQUFDO0lBQ0gsQ0FBQzs7QUFuSEgsMENBb0hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgam9pbiB9IGZyb20gXCJwYXRoL3Bvc2l4XCI7XG5pbXBvcnQgdHlwZSB7IEF3c0Nka0RlcHMgfSBmcm9tIFwiLi9hd3NjZGstZGVwc1wiO1xuaW1wb3J0IHR5cGUgeyBJbnRlZ3JhdGlvblRlc3RCYXNlT3B0aW9ucyB9IGZyb20gXCIuLi9jZGtcIjtcbmltcG9ydCB7IEludGVncmF0aW9uVGVzdEJhc2UgfSBmcm9tIFwiLi4vY2RrXCI7XG5pbXBvcnQgeyBEZXBlbmRlbmN5VHlwZSB9IGZyb20gXCIuLi9kZXBlbmRlbmNpZXNcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCIuLi9wcm9qZWN0XCI7XG5pbXBvcnQgdHlwZSB7IFRhc2sgfSBmcm9tIFwiLi4vdGFza1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEludGVncmF0aW9uVGVzdENvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogRGVzdHJveSB0aGUgdGVzdCBhcHAgYWZ0ZXIgYSBzdWNjZXNzZnVsIGRlcGxveW1lbnQuIElmIGRpc2FibGVkLCBsZWF2ZXMgdGhlXG4gICAqIGFwcCBkZXBsb3llZCBpbiB0aGUgZGV2IGFjY291bnQuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGRlc3Ryb3lBZnRlckRlcGxveT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgcGF0aCBtZXRhZGF0YSwgYWRkaW5nIGBhd3M6Y2RrOnBhdGhgLCB3aXRoIHRoZSBkZWZpbmluZyBjb25zdHJ1Y3Qnc1xuICAgKiBwYXRoLCB0byB0aGUgQ2xvdWRGb3JtYXRpb24gbWV0YWRhdGEgZm9yIGVhY2ggc3ludGhlc2l6ZWQgcmVzb3VyY2UuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBwYXRoTWV0YWRhdGE/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBJbnRlZ3JhdGlvblRlc3RgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEludGVncmF0aW9uVGVzdE9wdGlvbnNcbiAgZXh0ZW5kcyBJbnRlZ3JhdGlvblRlc3RDb21tb25PcHRpb25zLCBJbnRlZ3JhdGlvblRlc3RCYXNlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2Ygc3RhY2tzIHdpdGhpbiB0aGUgaW50ZWdyYXRpb24gdGVzdCB0byBkZXBsb3kvZGVzdHJveS5cbiAgICpcbiAgICogQGRlZmF1bHQgW1wiKipcIl1cbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBV1MgQ0RLIGRlcGVuZGVuY3kgbWFuYWdlci5cbiAgICovXG4gIHJlYWRvbmx5IGNka0RlcHM6IEF3c0Nka0RlcHM7XG59XG5cbi8qKlxuICogQ2xvdWQgaW50ZWdyYXRpb24gdGVzdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnRlZ3JhdGlvblRlc3QgZXh0ZW5kcyBJbnRlZ3JhdGlvblRlc3RCYXNlIHtcbiAgLyoqXG4gICAqIERlc3Ryb3kgdGhlIGludGVncmF0aW9uIHRlc3QgcmVzb3VyY2VzXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGVzdHJveVRhc2s6IFRhc2s7XG5cbiAgLyoqXG4gICAqIFRoZSB3YXRjaCB0YXNrLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHdhdGNoVGFzazogVGFzaztcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBJbnRlZ3JhdGlvblRlc3RPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCwgb3B0aW9ucyk7XG5cbiAgICBwcm9qZWN0LmRlcHMucmVxdWVzdERlcGVuZGVuY3koe1xuICAgICAgbmFtZTogXCJhd3MtY2RrXCIsXG4gICAgICB2ZXJzaW9uOiBvcHRpb25zLmNka0RlcHMuY2RrQ2xpVmVyc2lvbixcbiAgICAgIHR5cGU6IERlcGVuZGVuY3lUeXBlLkJVSUxELFxuICAgIH0pO1xuXG4gICAgcHJvamVjdC5kZXBzLnJlcXVlc3REZXBlbmRlbmN5KHtcbiAgICAgIG5hbWU6IFwidHMtbm9kZVwiLFxuICAgICAgdHlwZTogRGVwZW5kZW5jeVR5cGUuQlVJTEQsXG4gICAgfSk7XG5cbiAgICBjb25zdCBkZXBsb3lEaXIgPSBqb2luKHRoaXMudG1wRGlyLCBcImRlcGxveS5jZGsub3V0XCIpO1xuICAgIGNvbnN0IGFzc2VydERpciA9IGpvaW4odGhpcy50bXBEaXIsIFwiYXNzZXJ0LmNkay5vdXRcIik7XG4gICAgY29uc3QgYXBwID0gYHRzLW5vZGUgLVAgJHtvcHRpb25zLnRzY29uZmlnUGF0aH0gJHtvcHRpb25zLmVudHJ5cG9pbnR9YDtcblxuICAgIGNvbnN0IG9wdHMgPSBbXG4gICAgICBcIi0tYXBwXCIsXG4gICAgICBhcHAsXG4gICAgICBcIi0tbm8tbm90aWNlc1wiLFxuICAgICAgXCItLW5vLXZlcnNpb24tcmVwb3J0aW5nXCIsXG4gICAgICAvLyBkb24ndCBpbmplY3QgY2xvdWRmb3JtYXRpb24gbWV0YWRhdGEgaW50byB0ZW1wbGF0ZVxuICAgICAgXCItLW5vLWFzc2V0LW1ldGFkYXRhXCIsXG4gICAgXTtcblxuICAgIGNvbnN0IHBhdGhNZXRhZGF0YSA9IG9wdGlvbnMucGF0aE1ldGFkYXRhID8/IGZhbHNlO1xuICAgIGlmICghcGF0aE1ldGFkYXRhKSB7XG4gICAgICBvcHRzLnB1c2goXCItLW5vLXBhdGgtbWV0YWRhdGFcIik7XG4gICAgfVxuXG4gICAgLy8gRGV0ZXJtaW5lIHdoaWNoIHN0YWNrcyB0byBkZXBsb3lcbiAgICBjb25zdCBzdGFja3MgPSBvcHRpb25zLnN0YWNrcyA/PyBbXCIqKlwiXTtcblxuICAgIHRoaXMuZGVwbG95VGFzay5leGVjQXJncyhbXCJybVwiLCBcIi1mclwiLCBkZXBsb3lEaXJdKTtcbiAgICB0aGlzLmRlcGxveVRhc2suZXhlY0FyZ3MoW1xuICAgICAgXCJjZGtcIixcbiAgICAgIFwiZGVwbG95XCIsXG4gICAgICAuLi5vcHRzLFxuICAgICAgLi4uc3RhY2tzLFxuICAgICAgXCItLXJlcXVpcmUtYXBwcm92YWw9bmV2ZXJcIixcbiAgICAgIFwiLW9cIixcbiAgICAgIGRlcGxveURpcixcbiAgICBdKTtcblxuICAgIC8vIGlmIGRlcGxveW1lbnQgd2FzIHN1Y2Nlc3NmdWwsIGNvcHkgdGhlIGRlcGxveSBkaXIgdG8gdGhlIGV4cGVjdGVkIGRpclxuICAgIHRoaXMuZGVwbG95VGFzay5leGVjQXJncyhbXCJybVwiLCBcIi1mclwiLCB0aGlzLnNuYXBzaG90RGlyXSk7XG4gICAgdGhpcy5kZXBsb3lUYXNrLmV4ZWNBcmdzKFtcIm12XCIsIGRlcGxveURpciwgdGhpcy5zbmFwc2hvdERpcl0pO1xuXG4gICAgdGhpcy53YXRjaFRhc2sgPSBwcm9qZWN0LmFkZFRhc2soYGludGVnOiR7dGhpcy5uYW1lfTp3YXRjaGAsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBgd2F0Y2ggaW50ZWdyYXRpb24gdGVzdCAnJHt0aGlzLm5hbWV9JyAod2l0aG91dCB1cGRhdGluZyBzbmFwc2hvdHMpYCxcbiAgICAgIGV4ZWNBcmdzOiBbXCJjZGtcIiwgXCJ3YXRjaFwiLCAuLi5vcHRzLCAuLi5zdGFja3MsIFwiLW9cIiwgZGVwbG95RGlyXSxcbiAgICB9KTtcblxuICAgIHRoaXMuZGVzdHJveVRhc2sgPSBwcm9qZWN0LmFkZFRhc2soYGludGVnOiR7dGhpcy5uYW1lfTpkZXN0cm95YCwge1xuICAgICAgZGVzY3JpcHRpb246IGBkZXN0cm95IGludGVncmF0aW9uIHRlc3QgJyR7dGhpcy5uYW1lfSdgLFxuICAgICAgZXhlY0FyZ3M6IFtcbiAgICAgICAgXCJjZGtcIixcbiAgICAgICAgXCJkZXN0cm95XCIsXG4gICAgICAgIFwiLS1hcHBcIixcbiAgICAgICAgdGhpcy5zbmFwc2hvdERpcixcbiAgICAgICAgLi4uc3RhY2tzLFxuICAgICAgICBcIi0tbm8tdmVyc2lvbi1yZXBvcnRpbmdcIixcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBkZXN0cm95QWZ0ZXJEZXBsb3kgPSBvcHRpb25zLmRlc3Ryb3lBZnRlckRlcGxveSA/PyB0cnVlO1xuICAgIGlmIChkZXN0cm95QWZ0ZXJEZXBsb3kpIHtcbiAgICAgIHRoaXMuZGVwbG95VGFzay5zcGF3bih0aGlzLmRlc3Ryb3lUYXNrKTtcbiAgICB9XG5cbiAgICB0aGlzLnNuYXBzaG90VGFzay5leGVjQXJncyhbXG4gICAgICBcImNka1wiLFxuICAgICAgXCJzeW50aFwiLFxuICAgICAgXCItLXF1aWV0XCIsXG4gICAgICAuLi5vcHRzLFxuICAgICAgXCItb1wiLFxuICAgICAgdGhpcy5zbmFwc2hvdERpcixcbiAgICBdKTtcblxuICAgIGNvbnN0IGV4Y2x1ZGUgPSBbXCJhc3NldC4qXCIsIFwiY2RrLm91dFwiLCBcIm1hbmlmZXN0Lmpzb25cIiwgXCJ0cmVlLmpzb25cIl07XG5cbiAgICB0aGlzLmFzc2VydFRhc2suZXhlY0FyZ3MoW1xuICAgICAgXCJjZGtcIixcbiAgICAgIFwic3ludGhcIixcbiAgICAgIFwiLS1xdWlldFwiLFxuICAgICAgLi4ub3B0cyxcbiAgICAgIFwiLW9cIixcbiAgICAgIGFzc2VydERpcixcbiAgICBdKTtcbiAgICB0aGlzLmFzc2VydFRhc2suZXhlY0FyZ3MoW1xuICAgICAgXCJkaWZmXCIsXG4gICAgICBcIi1yXCIsXG4gICAgICAuLi5leGNsdWRlLmZsYXRNYXAoKHgpID0+IFtcIi14XCIsIHhdKSxcbiAgICAgIGAke3RoaXMuc25hcHNob3REaXJ9L2AsXG4gICAgICBgJHthc3NlcnREaXJ9L2AsXG4gICAgXSk7XG5cbiAgICAvLyBkbyBub3QgY29tbWl0IGFsbCBmaWxlcyB3ZSBhcmUgZXhjbHVkaW5nXG4gICAgZm9yIChjb25zdCB4IG9mIGV4Y2x1ZGUpIHtcbiAgICAgIHByb2plY3QuYWRkR2l0SWdub3JlKGAke3RoaXMuc25hcHNob3REaXJ9LyR7eH1gKTtcbiAgICAgIHByb2plY3QuYWRkR2l0SWdub3JlKGAke3RoaXMuc25hcHNob3REaXJ9LyoqLyR7eH1gKTsgLy8gbmVzdGVkIGFzc2VtYmxpZXNcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -13,7 +13,7 @@ const source_code_1 = require("../source-code");
13
13
  * Create a Lambda Extension
14
14
  */
15
15
  class LambdaExtension extends component_1.Component {
16
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.LambdaExtension", version: "0.102.0" };
16
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.LambdaExtension", version: "0.103.1" };
17
17
  constructor(project, options) {
18
18
  super(project);
19
19
  const basePath = (0, path_1.join)((0, path_1.dirname)(options.entrypoint), (0, path_1.basename)(options.entrypoint, internal_1.TYPESCRIPT_LAMBDA_EXTENSION_EXT));
@@ -63,7 +63,7 @@ const util_1 = require("../util");
63
63
  * });
64
64
  */
65
65
  class LambdaFunction extends component_1.Component {
66
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.LambdaFunction", version: "0.102.0" };
66
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.LambdaFunction", version: "0.103.1" };
67
67
  /**
68
68
  * Defines a pre-bundled AWS Lambda function construct from handler code.
69
69
  *
@@ -218,7 +218,7 @@ exports.LambdaFunction = LambdaFunction;
218
218
  class LambdaRuntime {
219
219
  functionRuntime;
220
220
  esbuildTarget;
221
- static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.LambdaRuntime", version: "0.102.0" };
221
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.awscdk.LambdaRuntime", version: "0.103.1" };
222
222
  /**
223
223
  * Node.js 14.x
224
224
  * @deprecated Node.js 14 runtime has been deprecated on Dec 4, 2023