projen 0.48.0 → 0.49.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. package/.jsii +6276 -1413
  2. package/.prettierignore +1 -0
  3. package/.prettierrc.json +3 -0
  4. package/API.md +1111 -41
  5. package/changelog.md +2 -8
  6. package/docs/gitlab.md +67 -0
  7. package/lib/_resolve.d.ts +1 -1
  8. package/lib/_resolve.js +5 -7
  9. package/lib/awscdk/auto-discover.d.ts +4 -4
  10. package/lib/awscdk/auto-discover.js +2 -2
  11. package/lib/awscdk/{java-app.d.ts → awscdk-app-java.d.ts} +13 -30
  12. package/lib/awscdk/awscdk-app-java.js +91 -0
  13. package/lib/awscdk/awscdk-app-ts.d.ts +5 -5
  14. package/lib/awscdk/awscdk-app-ts.js +35 -34
  15. package/lib/awscdk/awscdk-construct.d.ts +3 -3
  16. package/lib/awscdk/awscdk-construct.js +12 -10
  17. package/lib/awscdk/awscdk-deps-java.d.ts +14 -0
  18. package/lib/awscdk/awscdk-deps-java.js +30 -0
  19. package/lib/awscdk/awscdk-deps-js.d.ts +14 -0
  20. package/lib/awscdk/awscdk-deps-js.js +31 -0
  21. package/lib/awscdk/awscdk-deps.d.ts +59 -11
  22. package/lib/awscdk/awscdk-deps.js +27 -23
  23. package/lib/awscdk/cdk-config.d.ts +3 -3
  24. package/lib/awscdk/cdk-config.js +5 -5
  25. package/lib/awscdk/cdk-tasks.d.ts +3 -3
  26. package/lib/awscdk/cdk-tasks.js +21 -20
  27. package/lib/awscdk/index.d.ts +11 -9
  28. package/lib/awscdk/index.js +4 -2
  29. package/lib/awscdk/integration-test.d.ts +4 -4
  30. package/lib/awscdk/integration-test.js +15 -13
  31. package/lib/awscdk/internal.js +16 -16
  32. package/lib/awscdk/lambda-function.d.ts +4 -4
  33. package/lib/awscdk/lambda-function.js +29 -29
  34. package/lib/build/build-workflow.d.ts +5 -5
  35. package/lib/build/build-workflow.js +36 -30
  36. package/lib/build/index.d.ts +1 -1
  37. package/lib/build/index.js +1 -1
  38. package/lib/builtin-example.task.js +3 -3
  39. package/lib/cdk/construct-lib.d.ts +1 -1
  40. package/lib/cdk/construct-lib.js +4 -4
  41. package/lib/cdk/consts.d.ts +2 -2
  42. package/lib/cdk/consts.js +5 -5
  43. package/lib/cdk/index.d.ts +3 -3
  44. package/lib/cdk/index.js +1 -1
  45. package/lib/cdk/jsii-docgen.d.ts +1 -1
  46. package/lib/cdk/jsii-docgen.js +7 -7
  47. package/lib/cdk/jsii-project.d.ts +3 -3
  48. package/lib/cdk/jsii-project.js +39 -39
  49. package/lib/cdk8s/cdk8s-app-ts.d.ts +1 -1
  50. package/lib/cdk8s/cdk8s-app-ts.js +28 -21
  51. package/lib/cdk8s/cdk8s-construct.d.ts +1 -1
  52. package/lib/cdk8s/cdk8s-construct.js +10 -6
  53. package/lib/cdk8s/index.d.ts +2 -2
  54. package/lib/cdk8s/index.js +1 -1
  55. package/lib/cdktf/cdktf-construct.d.ts +1 -1
  56. package/lib/cdktf/cdktf-construct.js +4 -4
  57. package/lib/cdktf/index.d.ts +1 -1
  58. package/lib/cdktf/index.js +1 -1
  59. package/lib/cleanup.js +20 -14
  60. package/lib/cli/cmds/new.js +71 -42
  61. package/lib/cli/index.js +27 -10
  62. package/lib/cli/macros.js +15 -11
  63. package/lib/cli/synth.d.ts +1 -1
  64. package/lib/cli/synth.js +15 -12
  65. package/lib/cli/tasks.d.ts +2 -2
  66. package/lib/cli/tasks.js +9 -6
  67. package/lib/cli/util.js +4 -4
  68. package/lib/clobber.d.ts +2 -2
  69. package/lib/clobber.js +14 -10
  70. package/lib/common.js +7 -9
  71. package/lib/component.d.ts +1 -1
  72. package/lib/component.js +2 -2
  73. package/lib/dependencies.d.ts +2 -2
  74. package/lib/dependencies.js +14 -12
  75. package/lib/dev-env.d.ts +1 -1
  76. package/lib/dev-env.js +2 -2
  77. package/lib/docker-compose.d.ts +2 -2
  78. package/lib/docker-compose.js +23 -19
  79. package/lib/file.d.ts +2 -2
  80. package/lib/file.js +7 -5
  81. package/lib/gitattributes.d.ts +2 -2
  82. package/lib/gitattributes.js +7 -8
  83. package/lib/github/auto-approve.d.ts +2 -2
  84. package/lib/github/auto-approve.js +25 -15
  85. package/lib/github/auto-merge.d.ts +2 -2
  86. package/lib/github/auto-merge.js +14 -14
  87. package/lib/github/constants.d.ts +1 -1
  88. package/lib/github/constants.js +4 -4
  89. package/lib/github/dependabot.d.ts +2 -2
  90. package/lib/github/dependabot.js +16 -14
  91. package/lib/github/github-project.d.ts +5 -5
  92. package/lib/github/github-project.js +14 -10
  93. package/lib/github/github.d.ts +7 -7
  94. package/lib/github/github.js +7 -5
  95. package/lib/github/index.d.ts +13 -13
  96. package/lib/github/index.js +1 -1
  97. package/lib/github/mergify.d.ts +2 -2
  98. package/lib/github/mergify.js +3 -3
  99. package/lib/github/pr-template.d.ts +2 -2
  100. package/lib/github/pr-template.js +5 -5
  101. package/lib/github/pull-request-lint.d.ts +2 -2
  102. package/lib/github/pull-request-lint.js +17 -14
  103. package/lib/github/stale-util.d.ts +1 -1
  104. package/lib/github/stale-util.js +2 -3
  105. package/lib/github/stale.d.ts +2 -2
  106. package/lib/github/stale.js +28 -20
  107. package/lib/github/task-workflow.d.ts +4 -4
  108. package/lib/github/task-workflow.js +12 -10
  109. package/lib/github/workflow-actions.d.ts +2 -2
  110. package/lib/github/workflow-actions.js +22 -20
  111. package/lib/github/workflows-model.d.ts +20 -20
  112. package/lib/github/workflows-model.js +1 -1
  113. package/lib/github/workflows.d.ts +4 -4
  114. package/lib/github/workflows.js +42 -27
  115. package/lib/gitlab/configuration-model.d.ts +1308 -0
  116. package/lib/gitlab/configuration-model.js +122 -0
  117. package/lib/gitlab/configuration.d.ts +260 -0
  118. package/lib/gitlab/configuration.js +296 -0
  119. package/lib/gitlab/gitlab-configuration.d.ts +30 -0
  120. package/lib/gitlab/gitlab-configuration.js +49 -0
  121. package/lib/gitlab/index.d.ts +4 -0
  122. package/lib/gitlab/index.js +17 -0
  123. package/lib/gitlab/nested-configuration.d.ts +26 -0
  124. package/lib/gitlab/nested-configuration.js +38 -0
  125. package/lib/gitpod.d.ts +4 -4
  126. package/lib/gitpod.js +12 -9
  127. package/lib/ignore-file.d.ts +2 -2
  128. package/lib/ignore-file.js +10 -13
  129. package/lib/index.d.ts +47 -46
  130. package/lib/index.js +2 -1
  131. package/lib/ini.d.ts +3 -3
  132. package/lib/ini.js +4 -4
  133. package/lib/inventory.d.ts +1 -1
  134. package/lib/inventory.js +34 -30
  135. package/lib/java/index.d.ts +7 -7
  136. package/lib/java/index.js +1 -1
  137. package/lib/java/java-project.d.ts +7 -6
  138. package/lib/java/java-project.js +11 -13
  139. package/lib/java/junit.d.ts +3 -3
  140. package/lib/java/junit.js +17 -17
  141. package/lib/java/maven-compile.d.ts +3 -3
  142. package/lib/java/maven-compile.js +7 -7
  143. package/lib/java/maven-packaging.d.ts +3 -3
  144. package/lib/java/maven-packaging.js +12 -16
  145. package/lib/java/maven-sample.d.ts +2 -2
  146. package/lib/java/maven-sample.js +12 -12
  147. package/lib/java/pom.d.ts +2 -2
  148. package/lib/java/pom.js +16 -14
  149. package/lib/java/projenrc.d.ts +3 -3
  150. package/lib/java/projenrc.js +35 -25
  151. package/lib/javascript/bundler.d.ts +3 -3
  152. package/lib/javascript/bundler.js +14 -12
  153. package/lib/javascript/eslint.d.ts +4 -3
  154. package/lib/javascript/eslint.js +102 -86
  155. package/lib/javascript/index.d.ts +10 -10
  156. package/lib/javascript/index.js +1 -1
  157. package/lib/javascript/jest.d.ts +4 -4
  158. package/lib/javascript/jest.js +48 -37
  159. package/lib/javascript/node-package.d.ts +9 -2
  160. package/lib/javascript/node-package.js +111 -81
  161. package/lib/javascript/node-project.d.ts +11 -11
  162. package/lib/javascript/node-project.js +78 -52
  163. package/lib/javascript/npm-config.d.ts +2 -2
  164. package/lib/javascript/npm-config.js +4 -4
  165. package/lib/javascript/prettier.d.ts +4 -4
  166. package/lib/javascript/prettier.js +5 -5
  167. package/lib/javascript/projenrc.d.ts +2 -2
  168. package/lib/javascript/projenrc.js +8 -8
  169. package/lib/javascript/render-options.d.ts +2 -2
  170. package/lib/javascript/render-options.js +23 -18
  171. package/lib/javascript/typescript-config.d.ts +2 -2
  172. package/lib/javascript/typescript-config.js +5 -5
  173. package/lib/javascript/upgrade-dependencies.d.ts +4 -4
  174. package/lib/javascript/upgrade-dependencies.js +67 -53
  175. package/lib/javascript/util.js +2 -2
  176. package/lib/json.d.ts +3 -3
  177. package/lib/json.js +4 -4
  178. package/lib/license.d.ts +2 -2
  179. package/lib/license.js +7 -7
  180. package/lib/logger.d.ts +2 -2
  181. package/lib/logger.js +14 -9
  182. package/lib/logging.js +2 -2
  183. package/lib/makefile.d.ts +2 -2
  184. package/lib/makefile.js +12 -15
  185. package/lib/object-file.d.ts +2 -2
  186. package/lib/object-file.js +9 -7
  187. package/lib/option-hints.js +1 -1
  188. package/lib/project-build.d.ts +3 -3
  189. package/lib/project-build.js +14 -14
  190. package/lib/project.d.ts +14 -14
  191. package/lib/project.js +41 -23
  192. package/lib/projects.d.ts +1 -1
  193. package/lib/projects.js +10 -11
  194. package/lib/projenrc-json.d.ts +2 -2
  195. package/lib/projenrc-json.js +5 -5
  196. package/lib/python/index.d.ts +13 -13
  197. package/lib/python/index.js +1 -1
  198. package/lib/python/pip.d.ts +4 -4
  199. package/lib/python/pip.js +16 -12
  200. package/lib/python/poetry.d.ts +7 -7
  201. package/lib/python/poetry.js +41 -33
  202. package/lib/python/projenrc.d.ts +2 -2
  203. package/lib/python/projenrc.js +24 -21
  204. package/lib/python/pytest.d.ts +2 -2
  205. package/lib/python/pytest.js +19 -19
  206. package/lib/python/python-deps.d.ts +2 -2
  207. package/lib/python/python-deps.js +1 -1
  208. package/lib/python/python-packaging.d.ts +2 -2
  209. package/lib/python/python-packaging.js +1 -1
  210. package/lib/python/python-project.d.ts +7 -7
  211. package/lib/python/python-project.js +14 -13
  212. package/lib/python/python-sample.d.ts +2 -2
  213. package/lib/python/python-sample.js +17 -17
  214. package/lib/python/requirements-file.d.ts +3 -3
  215. package/lib/python/requirements-file.js +7 -8
  216. package/lib/python/setuppy.d.ts +2 -2
  217. package/lib/python/setuppy.js +23 -23
  218. package/lib/python/setuptools.d.ts +4 -4
  219. package/lib/python/setuptools.js +11 -11
  220. package/lib/python/venv.d.ts +3 -3
  221. package/lib/python/venv.js +6 -6
  222. package/lib/readme.d.ts +2 -2
  223. package/lib/readme.js +5 -3
  224. package/lib/release/bump-version.d.ts +1 -1
  225. package/lib/release/bump-version.js +37 -26
  226. package/lib/release/bump-version.task.js +7 -7
  227. package/lib/release/index.d.ts +3 -3
  228. package/lib/release/index.js +1 -1
  229. package/lib/release/publisher.d.ts +4 -4
  230. package/lib/release/publisher.js +93 -78
  231. package/lib/release/release-trigger.js +3 -3
  232. package/lib/release/release.d.ts +6 -6
  233. package/lib/release/release.js +37 -23
  234. package/lib/release/reset-version.task.js +4 -4
  235. package/lib/release/tag-version.js +1 -1
  236. package/lib/release/tag-version.task.js +3 -3
  237. package/lib/release/update-changelog.js +6 -4
  238. package/lib/release/update-changelog.task.js +4 -4
  239. package/lib/run-projenrc-json.task.js +5 -5
  240. package/lib/sample-file.d.ts +2 -2
  241. package/lib/sample-file.js +8 -8
  242. package/lib/semver.js +17 -7
  243. package/lib/source-code.d.ts +2 -2
  244. package/lib/source-code.js +5 -5
  245. package/lib/task-model.js +1 -1
  246. package/lib/task-runtime.d.ts +1 -1
  247. package/lib/task-runtime.js +27 -27
  248. package/lib/task.d.ts +1 -1
  249. package/lib/task.js +2 -2
  250. package/lib/tasks.d.ts +3 -3
  251. package/lib/tasks.js +5 -5
  252. package/lib/testing.d.ts +1 -1
  253. package/lib/testing.js +2 -2
  254. package/lib/textfile.d.ts +2 -2
  255. package/lib/textfile.js +3 -3
  256. package/lib/toml.d.ts +3 -3
  257. package/lib/toml.js +4 -4
  258. package/lib/typescript/index.d.ts +3 -3
  259. package/lib/typescript/index.js +1 -1
  260. package/lib/typescript/projenrc.d.ts +2 -2
  261. package/lib/typescript/projenrc.js +10 -10
  262. package/lib/typescript/typescript-typedoc.d.ts +1 -1
  263. package/lib/typescript/typescript-typedoc.js +4 -4
  264. package/lib/typescript/typescript.d.ts +3 -3
  265. package/lib/typescript/typescript.js +59 -62
  266. package/lib/util/semver.js +33 -33
  267. package/lib/util/synth.d.ts +1 -1
  268. package/lib/util/synth.js +15 -12
  269. package/lib/util.js +39 -32
  270. package/lib/version.d.ts +3 -3
  271. package/lib/version.js +12 -12
  272. package/lib/vscode/devcontainer.d.ts +4 -4
  273. package/lib/vscode/devcontainer.js +13 -8
  274. package/lib/vscode/index.d.ts +3 -3
  275. package/lib/vscode/index.js +1 -1
  276. package/lib/vscode/launch-config.d.ts +2 -2
  277. package/lib/vscode/launch-config.js +4 -4
  278. package/lib/vscode/vscode.d.ts +3 -3
  279. package/lib/vscode/vscode.js +2 -2
  280. package/lib/web/index.d.ts +4 -4
  281. package/lib/web/index.js +1 -1
  282. package/lib/web/next.d.ts +3 -3
  283. package/lib/web/next.js +241 -237
  284. package/lib/web/postcss.d.ts +3 -3
  285. package/lib/web/postcss.js +9 -6
  286. package/lib/web/react.d.ts +4 -4
  287. package/lib/web/react.js +172 -177
  288. package/lib/web/tailwind.d.ts +2 -2
  289. package/lib/web/tailwind.js +3 -3
  290. package/lib/xmlfile.d.ts +3 -3
  291. package/lib/xmlfile.js +5 -5
  292. package/lib/yaml.d.ts +3 -3
  293. package/lib/yaml.js +4 -4
  294. package/package.json +4 -1
  295. package/releasetag.txt +1 -1
  296. package/version.txt +1 -1
  297. package/lib/awscdk/java-app.js +0 -90
package/changelog.md CHANGED
@@ -1,13 +1,7 @@
1
1
 
2
- ## [0.48.0](https://github.com/projen/projen/compare/v0.47.15...v0.48.0) (2022-01-02)
2
+ ### [0.49.2](https://github.com/projen/projen/compare/v0.49.1...v0.49.2) (2022-01-02)
3
3
 
4
4
 
5
- ### ⚠ BREAKING CHANGES
6
-
7
- * **eslint:** Prettier configuration is now under a `settings` option instead (instead of `prettierOptions: { bracketSpacing: false }`, write `prettierOptions: { settings: { bracketSpacing: false } }`).
8
- * **prettier:** `prettier.config` is now called `prettier.settings` and DOES NOT include `overrides`.
9
- * **node:** The `prettierIgnoreEnabled` option is now under `prettierOptions.ignoreFile` and can be accessed via `prettier.ignoreFile`. Similarly, `project.addPrettierIgnore()` is now `project.prettier.addIgnorePattern()`.
10
-
11
5
  ### Features
12
6
 
13
- * **eslint:** use prettier if enabled ([#1450](https://github.com/projen/projen/issues/1450)) ([5d970d8](https://github.com/projen/projen/commit/5d970d8ceef42fde7fe3728015b705c6045d5899))
7
+ * GitLab CI model and base classes ([#1357](https://github.com/projen/projen/issues/1357)) ([2ef39f8](https://github.com/projen/projen/commit/2ef39f895b255dc4c844947f29fb0568eb6f4088)), closes [#137](https://github.com/projen/projen/issues/137) [#942](https://github.com/projen/projen/issues/942)
package/docs/gitlab.md ADDED
@@ -0,0 +1,67 @@
1
+ # GitLab
2
+
3
+ [GitLab CI/CD](https://docs.gitlab.com/ee/ci/yaml/gitlab_ci_yaml.html) uses a `.gitlab-ci.yml` file located at the root of your repository to specify continuous integration and continuous deployment processes. GitLab CI configuration files can be split into multiple files using the [include](https://docs.gitlab.com/ee/ci/yaml/#include) fields in order to increase readability or reduce duplication of the same configuration in multiple places.
4
+
5
+ ## Creating a configuration
6
+
7
+ We support the creation of GitLab CI/CD Configurations through a `CiConfiguration` class and a higher level `GitlabConfiguration` and `NestedConfiguration` classes. To create a GitLab configuration you must first create a [project](./project.md) to assign the configuration to.
8
+
9
+ When using GitLab for CI, the `.gitlab-ci.yml` is always located at the root of the project while other configuration files are located in the `.gitlab\ci-templates\` subdirectory.
10
+
11
+ ```js
12
+ const { typescript, gitlab } = require('projen');
13
+ const project = new typescript.TypeScriptProject({
14
+ defaultReleaseBranch: 'main',
15
+ name: 'my-project',
16
+ });
17
+ const gitlabMain = new gitlab.GitlabConfiguration(project,
18
+ {
19
+ jobs: {
20
+ myJob: {
21
+ script: 'echo Hello',
22
+ },
23
+ },
24
+ });
25
+ gitlabMain.createNestedTemplates({
26
+ myNestedTemplate: {
27
+ jobs: {
28
+ myOtherJob: {
29
+ script: 'echo World!',
30
+ },
31
+ },
32
+ },
33
+ });
34
+ project.synth();
35
+ ```
36
+ This creates the following directory structure.
37
+
38
+ ```shell
39
+ ├── .gitlab-ci.yml
40
+ └── .gitlab
41
+ └── ci-templates
42
+ └── mynestedtemplate.yml
43
+ ```
44
+
45
+ ## Updating Nested Configurations
46
+
47
+ You can modify a `NestedConfiguration` through the `nestedTemplates` property of a `GitlabConfiguration`.
48
+ ```js
49
+ const { typescript, gitlab } = require('projen');
50
+ const project = new typescript.TypeScriptProject({
51
+ defaultReleaseBranch: 'main',
52
+ name: 'my-project',
53
+ });
54
+ const gitlabMain = new gitlab.GitlabConfiguration(project,
55
+ {
56
+ jobs: {
57
+ myJob: {
58
+ script: 'echo Hello',
59
+ },
60
+ },
61
+ });
62
+ gitlabMain.createNestedTemplates({
63
+ myNestedTemplate: {},
64
+ });
65
+ gitlabMain.nestedTemplates.myNestedTemplate.addStages('stage');
66
+ project.synth();
67
+ ```
package/lib/_resolve.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { ResolveOptions } from './file';
1
+ import { ResolveOptions } from "./file";
2
2
  export declare function resolve(value: any, options?: ResolveOptions): any;
package/lib/_resolve.js CHANGED
@@ -16,23 +16,21 @@ function resolve(value, options = {}) {
16
16
  return resolve(resolved, options);
17
17
  }
18
18
  // if value is a function, call it and resolve the result.
19
- if (typeof (value) === 'function') {
19
+ if (typeof value === "function") {
20
20
  const resolved = value.apply(undefined, args);
21
21
  return resolve(resolved, options);
22
22
  }
23
- if (typeof (value) !== 'object') {
23
+ if (typeof value !== "object") {
24
24
  return value;
25
25
  }
26
26
  if (Array.isArray(value)) {
27
27
  if (omitEmpty && value.length === 0) {
28
28
  return undefined;
29
29
  }
30
- return value
31
- .map(x => resolve(x, options))
32
- .filter(x => x != null); // filter undefined/null/omitted
30
+ return value.map((x) => resolve(x, options)).filter((x) => x != null); // filter undefined/null/omitted
33
31
  }
34
32
  // only allow data types (i.e. objects without constructors)
35
- if (value.constructor && ((_c = value.constructor) === null || _c === void 0 ? void 0 : _c.name) !== 'Object') {
33
+ if (value.constructor && ((_c = value.constructor) === null || _c === void 0 ? void 0 : _c.name) !== "Object") {
36
34
  throw new Error(`only data types can be resolved. trying to resolve object of type ${(_d = value.constructor) === null || _d === void 0 ? void 0 : _d.name}`);
37
35
  }
38
36
  const result = {};
@@ -50,4 +48,4 @@ function resolve(value, options = {}) {
50
48
  return result;
51
49
  }
52
50
  exports.resolve = resolve;
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX3Jlc29sdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvX3Jlc29sdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsU0FBUyxZQUFZLENBQUMsR0FBUTtJQUM1QixPQUFRLEdBQW1CLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQztBQUNuRCxDQUFDO0FBRUQsU0FBZ0IsT0FBTyxDQUFDLEtBQVUsRUFBRSxVQUEwQixFQUFFOztJQUM5RCxNQUFNLElBQUksU0FBRyxPQUFPLENBQUMsSUFBSSxtQ0FBSSxFQUFFLENBQUM7SUFDaEMsTUFBTSxTQUFTLFNBQUcsT0FBTyxDQUFDLFNBQVMsbUNBQUksS0FBSyxDQUFDO0lBRTdDLElBQUksS0FBSyxJQUFJLElBQUksRUFBRTtRQUNqQixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDdkIsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hDLE9BQU8sT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUNuQztJQUVELDBEQUEwRDtJQUMxRCxJQUFJLE9BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxVQUFVLEVBQUU7UUFDaEMsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUMsT0FBTyxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQ25DO0lBRUQsSUFBSSxPQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssUUFBUSxFQUFFO1FBQzlCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDeEIsSUFBSSxTQUFTLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDbkMsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxPQUFPLEtBQUs7YUFDVCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQzdCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGdDQUFnQztLQUM1RDtJQUVELDREQUE0RDtJQUM1RCxJQUFJLEtBQUssQ0FBQyxXQUFXLElBQUksT0FBQSxLQUFLLENBQUMsV0FBVywwQ0FBRSxJQUFJLE1BQUssUUFBUSxFQUFFO1FBQzdELE1BQU0sSUFBSSxLQUFLLENBQUMscUVBQXFFLE1BQUEsS0FBSyxDQUFDLFdBQVcsMENBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztLQUNqSDtJQUVELE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztJQUV2QixLQUFLLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUMxQyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXJDLHdCQUF3QjtRQUN4QixJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUU7WUFDMUIsU0FBUztTQUNWO1FBRUQsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQztLQUN0QjtJQUVELElBQUksU0FBUyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUNqRCxPQUFPLFNBQVMsQ0FBQztLQUNsQjtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUF2REQsMEJBdURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzb2x2ZU9wdGlvbnMsIElSZXNvbHZhYmxlIH0gZnJvbSAnLi9maWxlJztcblxuZnVuY3Rpb24gaXNSZXNvbHZhYmxlKG9iajogYW55KTogb2JqIGlzIElSZXNvbHZhYmxlIHtcbiAgcmV0dXJuIChvYmogYXMgSVJlc29sdmFibGUpLnRvSlNPTiAhPT0gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZSh2YWx1ZTogYW55LCBvcHRpb25zOiBSZXNvbHZlT3B0aW9ucyA9IHt9KTogYW55IHtcbiAgY29uc3QgYXJncyA9IG9wdGlvbnMuYXJncyA/PyBbXTtcbiAgY29uc3Qgb21pdEVtcHR5ID0gb3B0aW9ucy5vbWl0RW1wdHkgPz8gZmFsc2U7XG5cbiAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBpZiAoaXNSZXNvbHZhYmxlKHZhbHVlKSkge1xuICAgIGNvbnN0IHJlc29sdmVkID0gdmFsdWUudG9KU09OKCk7XG4gICAgcmV0dXJuIHJlc29sdmUocmVzb2x2ZWQsIG9wdGlvbnMpO1xuICB9XG5cbiAgLy8gaWYgdmFsdWUgaXMgYSBmdW5jdGlvbiwgY2FsbCBpdCBhbmQgcmVzb2x2ZSB0aGUgcmVzdWx0LlxuICBpZiAodHlwZW9mKHZhbHVlKSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGNvbnN0IHJlc29sdmVkID0gdmFsdWUuYXBwbHkodW5kZWZpbmVkLCBhcmdzKTtcbiAgICByZXR1cm4gcmVzb2x2ZShyZXNvbHZlZCwgb3B0aW9ucyk7XG4gIH1cblxuICBpZiAodHlwZW9mKHZhbHVlKSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICBpZiAob21pdEVtcHR5ICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlXG4gICAgICAubWFwKHggPT4gcmVzb2x2ZSh4LCBvcHRpb25zKSlcbiAgICAgIC5maWx0ZXIoeCA9PiB4ICE9IG51bGwpOyAvLyBmaWx0ZXIgdW5kZWZpbmVkL251bGwvb21pdHRlZFxuICB9XG5cbiAgLy8gb25seSBhbGxvdyBkYXRhIHR5cGVzIChpLmUuIG9iamVjdHMgd2l0aG91dCBjb25zdHJ1Y3RvcnMpXG4gIGlmICh2YWx1ZS5jb25zdHJ1Y3RvciAmJiB2YWx1ZS5jb25zdHJ1Y3Rvcj8ubmFtZSAhPT0gJ09iamVjdCcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYG9ubHkgZGF0YSB0eXBlcyBjYW4gYmUgcmVzb2x2ZWQuIHRyeWluZyB0byByZXNvbHZlIG9iamVjdCBvZiB0eXBlICR7dmFsdWUuY29uc3RydWN0b3I/Lm5hbWV9YCk7XG4gIH1cblxuICBjb25zdCByZXN1bHQ6IGFueSA9IHt9O1xuXG4gIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKHZhbHVlKSkge1xuICAgIGNvbnN0IHJlc29sdmVkID0gcmVzb2x2ZSh2LCBvcHRpb25zKTtcblxuICAgIC8vIHNraXAgdW5kZWZpbmVkIHZhbHVlc1xuICAgIGlmIChyZXNvbHZlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICByZXN1bHRba10gPSByZXNvbHZlZDtcbiAgfVxuXG4gIGlmIChvbWl0RW1wdHkgJiYgT2JqZWN0LmtleXMocmVzdWx0KS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn0iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX3Jlc29sdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvX3Jlc29sdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsU0FBUyxZQUFZLENBQUMsR0FBUTtJQUM1QixPQUFRLEdBQW1CLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQztBQUNuRCxDQUFDO0FBRUQsU0FBZ0IsT0FBTyxDQUFDLEtBQVUsRUFBRSxVQUEwQixFQUFFOztJQUM5RCxNQUFNLElBQUksU0FBRyxPQUFPLENBQUMsSUFBSSxtQ0FBSSxFQUFFLENBQUM7SUFDaEMsTUFBTSxTQUFTLFNBQUcsT0FBTyxDQUFDLFNBQVMsbUNBQUksS0FBSyxDQUFDO0lBRTdDLElBQUksS0FBSyxJQUFJLElBQUksRUFBRTtRQUNqQixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDdkIsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hDLE9BQU8sT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUNuQztJQUVELDBEQUEwRDtJQUMxRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFVBQVUsRUFBRTtRQUMvQixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM5QyxPQUFPLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDbkM7SUFFRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUM3QixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3hCLElBQUksU0FBUyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ25DLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBQ0QsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxnQ0FBZ0M7S0FDeEc7SUFFRCw0REFBNEQ7SUFDNUQsSUFBSSxLQUFLLENBQUMsV0FBVyxJQUFJLE9BQUEsS0FBSyxDQUFDLFdBQVcsMENBQUUsSUFBSSxNQUFLLFFBQVEsRUFBRTtRQUM3RCxNQUFNLElBQUksS0FBSyxDQUNiLHFFQUFxRSxNQUFBLEtBQUssQ0FBQyxXQUFXLDBDQUFFLElBQUksRUFBRSxDQUMvRixDQUFDO0tBQ0g7SUFFRCxNQUFNLE1BQU0sR0FBUSxFQUFFLENBQUM7SUFFdkIsS0FBSyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDMUMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVyQyx3QkFBd0I7UUFDeEIsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFO1lBQzFCLFNBQVM7U0FDVjtRQUVELE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUM7S0FDdEI7SUFFRCxJQUFJLFNBQVMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDakQsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBdkRELDBCQXVEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc29sdmVPcHRpb25zLCBJUmVzb2x2YWJsZSB9IGZyb20gXCIuL2ZpbGVcIjtcblxuZnVuY3Rpb24gaXNSZXNvbHZhYmxlKG9iajogYW55KTogb2JqIGlzIElSZXNvbHZhYmxlIHtcbiAgcmV0dXJuIChvYmogYXMgSVJlc29sdmFibGUpLnRvSlNPTiAhPT0gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZSh2YWx1ZTogYW55LCBvcHRpb25zOiBSZXNvbHZlT3B0aW9ucyA9IHt9KTogYW55IHtcbiAgY29uc3QgYXJncyA9IG9wdGlvbnMuYXJncyA/PyBbXTtcbiAgY29uc3Qgb21pdEVtcHR5ID0gb3B0aW9ucy5vbWl0RW1wdHkgPz8gZmFsc2U7XG5cbiAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBpZiAoaXNSZXNvbHZhYmxlKHZhbHVlKSkge1xuICAgIGNvbnN0IHJlc29sdmVkID0gdmFsdWUudG9KU09OKCk7XG4gICAgcmV0dXJuIHJlc29sdmUocmVzb2x2ZWQsIG9wdGlvbnMpO1xuICB9XG5cbiAgLy8gaWYgdmFsdWUgaXMgYSBmdW5jdGlvbiwgY2FsbCBpdCBhbmQgcmVzb2x2ZSB0aGUgcmVzdWx0LlxuICBpZiAodHlwZW9mIHZhbHVlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBjb25zdCByZXNvbHZlZCA9IHZhbHVlLmFwcGx5KHVuZGVmaW5lZCwgYXJncyk7XG4gICAgcmV0dXJuIHJlc29sdmUocmVzb2x2ZWQsIG9wdGlvbnMpO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIGlmIChvbWl0RW1wdHkgJiYgdmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWUubWFwKCh4KSA9PiByZXNvbHZlKHgsIG9wdGlvbnMpKS5maWx0ZXIoKHgpID0+IHggIT0gbnVsbCk7IC8vIGZpbHRlciB1bmRlZmluZWQvbnVsbC9vbWl0dGVkXG4gIH1cblxuICAvLyBvbmx5IGFsbG93IGRhdGEgdHlwZXMgKGkuZS4gb2JqZWN0cyB3aXRob3V0IGNvbnN0cnVjdG9ycylcbiAgaWYgKHZhbHVlLmNvbnN0cnVjdG9yICYmIHZhbHVlLmNvbnN0cnVjdG9yPy5uYW1lICE9PSBcIk9iamVjdFwiKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYG9ubHkgZGF0YSB0eXBlcyBjYW4gYmUgcmVzb2x2ZWQuIHRyeWluZyB0byByZXNvbHZlIG9iamVjdCBvZiB0eXBlICR7dmFsdWUuY29uc3RydWN0b3I/Lm5hbWV9YFxuICAgICk7XG4gIH1cblxuICBjb25zdCByZXN1bHQ6IGFueSA9IHt9O1xuXG4gIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKHZhbHVlKSkge1xuICAgIGNvbnN0IHJlc29sdmVkID0gcmVzb2x2ZSh2LCBvcHRpb25zKTtcblxuICAgIC8vIHNraXAgdW5kZWZpbmVkIHZhbHVlc1xuICAgIGlmIChyZXNvbHZlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICByZXN1bHRba10gPSByZXNvbHZlZDtcbiAgfVxuXG4gIGlmIChvbWl0RW1wdHkgJiYgT2JqZWN0LmtleXMocmVzdWx0KS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
- import { Component } from '../component';
2
- import { Project } from '../project';
3
- import { AwsCdkDeps } from './awscdk-deps';
4
- import { LambdaFunctionCommonOptions } from './lambda-function';
1
+ import { Component } from "../component";
2
+ import { Project } from "../project";
3
+ import { AwsCdkDeps } from "./awscdk-deps";
4
+ import { LambdaFunctionCommonOptions } from "./lambda-function";
5
5
  /**
6
6
  * (experimental) Options for `AutoDiscover`.
7
7
  *
@@ -50,5 +50,5 @@ class AutoDiscover extends component_1.Component {
50
50
  }
51
51
  exports.AutoDiscover = AutoDiscover;
52
52
  _a = JSII_RTTI_SYMBOL_1;
53
- AutoDiscover[_a] = { fqn: "projen.awscdk.AutoDiscover", version: "0.48.0" };
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1kaXNjb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXV0by1kaXNjb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsNENBQXlDO0FBR3pDLHlEQUFxRDtBQUNyRCx5Q0FBeUU7QUFDekUsdURBQWdGOzs7Ozs7QUFxQmhGLE1BQWEsWUFBYSxTQUFRLHFCQUFTOzs7O0lBQ3pDLFlBQVksT0FBZ0IsRUFBRSxPQUE0QjtRQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTywyQkFBMkIsQ0FBQyxPQUE0QjtRQUM5RCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sZ0NBQXFCLEVBQUUsRUFBRTtZQUM1RCxHQUFHLEVBQUUsV0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUM7U0FDL0MsQ0FBQyxDQUFDO1FBRUgsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUU7WUFDcEMsSUFBSSxnQ0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQy9CLFVBQVUsRUFBRSxXQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUM7Z0JBQzVDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztnQkFDeEIsR0FBRyxPQUFPLENBQUMsYUFBYTthQUN6QixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTyw0QkFBNEIsQ0FBQyxPQUE0QjtRQUMvRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sK0JBQW9CLEVBQUUsRUFBRTtZQUMzRCxHQUFHLEVBQUUsV0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUM7U0FDaEQsQ0FBQyxDQUFDO1FBRUgsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUU7WUFDcEMsSUFBSSxrQ0FBZSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hDLFVBQVUsRUFBRSxXQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUM7Z0JBQzdDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztnQkFDeEIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO2FBQ25DLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7QUFsQ0gsb0NBb0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgam9pbiB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgZ2xvYiBmcm9tICdnbG9iJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi4vcHJvamVjdCc7XG5pbXBvcnQgeyBBd3NDZGtEZXBzIH0gZnJvbSAnLi9hd3NjZGstZGVwcyc7XG5pbXBvcnQgeyBJbnRlZ3JhdGlvblRlc3QgfSBmcm9tICcuL2ludGVncmF0aW9uLXRlc3QnO1xuaW1wb3J0IHsgVFlQRVNDUklQVF9JTlRFR19FWFQsIFRZUEVTQ1JJUFRfTEFNQkRBX0VYVCB9IGZyb20gJy4vaW50ZXJuYWwnO1xuaW1wb3J0IHsgTGFtYmRhRnVuY3Rpb24sIExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucyB9IGZyb20gJy4vbGFtYmRhLWZ1bmN0aW9uJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgQXV0b0Rpc2NvdmVyT3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsYW1iZGFPcHRpb25zPzogTGFtYmRhRnVuY3Rpb25Db21tb25PcHRpb25zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHNyY2Rpcjogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHRlc3RkaXI6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHRzY29uZmlnUGF0aDogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBjZGtEZXBzOiBBd3NDZGtEZXBzO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgQXV0b0Rpc2NvdmVyIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogQXV0b0Rpc2NvdmVyT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgdGhpcy5hdXRvRGlzY292ZXJMYW1iZGFGdW5jdGlvbnMob3B0aW9ucyk7XG4gICAgdGhpcy5hdXRvRGlzY292ZXJJbnRlZ3JhdGlvblRlc3RzKG9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBhdXRvRGlzY292ZXJMYW1iZGFGdW5jdGlvbnMob3B0aW9uczogQXV0b0Rpc2NvdmVyT3B0aW9ucykge1xuICAgIGNvbnN0IGVudHJ5cG9pbnRzID0gZ2xvYi5zeW5jKGAqKi8qJHtUWVBFU0NSSVBUX0xBTUJEQV9FWFR9YCwge1xuICAgICAgY3dkOiBqb2luKHRoaXMucHJvamVjdC5vdXRkaXIsIG9wdGlvbnMuc3JjZGlyKSxcbiAgICB9KTtcblxuICAgIGZvciAoY29uc3QgZW50cnlwb2ludCBvZiBlbnRyeXBvaW50cykge1xuICAgICAgbmV3IExhbWJkYUZ1bmN0aW9uKHRoaXMucHJvamVjdCwge1xuICAgICAgICBlbnRyeXBvaW50OiBqb2luKG9wdGlvbnMuc3JjZGlyLCBlbnRyeXBvaW50KSxcbiAgICAgICAgY2RrRGVwczogb3B0aW9ucy5jZGtEZXBzLFxuICAgICAgICAuLi5vcHRpb25zLmxhbWJkYU9wdGlvbnMsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGF1dG9EaXNjb3ZlckludGVncmF0aW9uVGVzdHMob3B0aW9uczogQXV0b0Rpc2NvdmVyT3B0aW9ucykge1xuICAgIGNvbnN0IGVudHJ5cG9pbnRzID0gZ2xvYi5zeW5jKGAqKi8qJHtUWVBFU0NSSVBUX0lOVEVHX0VYVH1gLCB7XG4gICAgICBjd2Q6IGpvaW4odGhpcy5wcm9qZWN0Lm91dGRpciwgb3B0aW9ucy50ZXN0ZGlyKSxcbiAgICB9KTtcblxuICAgIGZvciAoY29uc3QgZW50cnlwb2ludCBvZiBlbnRyeXBvaW50cykge1xuICAgICAgbmV3IEludGVncmF0aW9uVGVzdCh0aGlzLnByb2plY3QsIHtcbiAgICAgICAgZW50cnlwb2ludDogam9pbihvcHRpb25zLnRlc3RkaXIsIGVudHJ5cG9pbnQpLFxuICAgICAgICBjZGtEZXBzOiBvcHRpb25zLmNka0RlcHMsXG4gICAgICAgIHRzY29uZmlnUGF0aDogb3B0aW9ucy50c2NvbmZpZ1BhdGgsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxufSJdfQ==
53
+ AutoDiscover[_a] = { fqn: "projen.awscdk.AutoDiscover", version: "0.49.2" };
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1kaXNjb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXV0by1kaXNjb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsNENBQXlDO0FBR3pDLHlEQUFxRDtBQUNyRCx5Q0FBeUU7QUFDekUsdURBQWdGOzs7Ozs7QUFxQmhGLE1BQWEsWUFBYSxTQUFRLHFCQUFTOzs7O0lBQ3pDLFlBQVksT0FBZ0IsRUFBRSxPQUE0QjtRQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTywyQkFBMkIsQ0FBQyxPQUE0QjtRQUM5RCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sZ0NBQXFCLEVBQUUsRUFBRTtZQUM1RCxHQUFHLEVBQUUsV0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUM7U0FDL0MsQ0FBQyxDQUFDO1FBRUgsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUU7WUFDcEMsSUFBSSxnQ0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQy9CLFVBQVUsRUFBRSxXQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUM7Z0JBQzVDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztnQkFDeEIsR0FBRyxPQUFPLENBQUMsYUFBYTthQUN6QixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTyw0QkFBNEIsQ0FBQyxPQUE0QjtRQUMvRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sK0JBQW9CLEVBQUUsRUFBRTtZQUMzRCxHQUFHLEVBQUUsV0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUM7U0FDaEQsQ0FBQyxDQUFDO1FBRUgsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUU7WUFDcEMsSUFBSSxrQ0FBZSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hDLFVBQVUsRUFBRSxXQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUM7Z0JBQzdDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztnQkFDeEIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO2FBQ25DLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7QUFsQ0gsb0NBbUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgam9pbiB9IGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgKiBhcyBnbG9iIGZyb20gXCJnbG9iXCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50XCI7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSBcIi4uL3Byb2plY3RcIjtcbmltcG9ydCB7IEF3c0Nka0RlcHMgfSBmcm9tIFwiLi9hd3NjZGstZGVwc1wiO1xuaW1wb3J0IHsgSW50ZWdyYXRpb25UZXN0IH0gZnJvbSBcIi4vaW50ZWdyYXRpb24tdGVzdFwiO1xuaW1wb3J0IHsgVFlQRVNDUklQVF9JTlRFR19FWFQsIFRZUEVTQ1JJUFRfTEFNQkRBX0VYVCB9IGZyb20gXCIuL2ludGVybmFsXCI7XG5pbXBvcnQgeyBMYW1iZGFGdW5jdGlvbiwgTGFtYmRhRnVuY3Rpb25Db21tb25PcHRpb25zIH0gZnJvbSBcIi4vbGFtYmRhLWZ1bmN0aW9uXCI7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9EaXNjb3Zlck9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbGFtYmRhT3B0aW9ucz86IExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBzcmNkaXI6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB0ZXN0ZGlyOiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB0c2NvbmZpZ1BhdGg6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY2RrRGVwczogQXdzQ2RrRGVwcztcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIEF1dG9EaXNjb3ZlciBleHRlbmRzIENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IEF1dG9EaXNjb3Zlck9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIHRoaXMuYXV0b0Rpc2NvdmVyTGFtYmRhRnVuY3Rpb25zKG9wdGlvbnMpO1xuICAgIHRoaXMuYXV0b0Rpc2NvdmVySW50ZWdyYXRpb25UZXN0cyhvcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgYXV0b0Rpc2NvdmVyTGFtYmRhRnVuY3Rpb25zKG9wdGlvbnM6IEF1dG9EaXNjb3Zlck9wdGlvbnMpIHtcbiAgICBjb25zdCBlbnRyeXBvaW50cyA9IGdsb2Iuc3luYyhgKiovKiR7VFlQRVNDUklQVF9MQU1CREFfRVhUfWAsIHtcbiAgICAgIGN3ZDogam9pbih0aGlzLnByb2plY3Qub3V0ZGlyLCBvcHRpb25zLnNyY2RpciksXG4gICAgfSk7XG5cbiAgICBmb3IgKGNvbnN0IGVudHJ5cG9pbnQgb2YgZW50cnlwb2ludHMpIHtcbiAgICAgIG5ldyBMYW1iZGFGdW5jdGlvbih0aGlzLnByb2plY3QsIHtcbiAgICAgICAgZW50cnlwb2ludDogam9pbihvcHRpb25zLnNyY2RpciwgZW50cnlwb2ludCksXG4gICAgICAgIGNka0RlcHM6IG9wdGlvbnMuY2RrRGVwcyxcbiAgICAgICAgLi4ub3B0aW9ucy5sYW1iZGFPcHRpb25zLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhdXRvRGlzY292ZXJJbnRlZ3JhdGlvblRlc3RzKG9wdGlvbnM6IEF1dG9EaXNjb3Zlck9wdGlvbnMpIHtcbiAgICBjb25zdCBlbnRyeXBvaW50cyA9IGdsb2Iuc3luYyhgKiovKiR7VFlQRVNDUklQVF9JTlRFR19FWFR9YCwge1xuICAgICAgY3dkOiBqb2luKHRoaXMucHJvamVjdC5vdXRkaXIsIG9wdGlvbnMudGVzdGRpciksXG4gICAgfSk7XG5cbiAgICBmb3IgKGNvbnN0IGVudHJ5cG9pbnQgb2YgZW50cnlwb2ludHMpIHtcbiAgICAgIG5ldyBJbnRlZ3JhdGlvblRlc3QodGhpcy5wcm9qZWN0LCB7XG4gICAgICAgIGVudHJ5cG9pbnQ6IGpvaW4ob3B0aW9ucy50ZXN0ZGlyLCBlbnRyeXBvaW50KSxcbiAgICAgICAgY2RrRGVwczogb3B0aW9ucy5jZGtEZXBzLFxuICAgICAgICB0c2NvbmZpZ1BhdGg6IG9wdGlvbnMudHNjb25maWdQYXRoLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,35 +1,18 @@
1
- import { JavaProject, JavaProjectOptions } from '../java';
2
- import { CdkConfig, CdkConfigCommonOptions } from './cdk-config';
3
- import { CdkTasks } from './cdk-tasks';
1
+ import { JavaProject, JavaProjectOptions } from "../java";
2
+ import { AwsCdkDeps, AwsCdkDepsCommonOptions } from "./awscdk-deps";
3
+ import { CdkConfig, CdkConfigCommonOptions } from "./cdk-config";
4
+ import { CdkTasks } from "./cdk-tasks";
4
5
  /**
5
6
  * @experimental
6
7
  */
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[];
8
+ export interface AwsCdkJavaAppOptions extends JavaProjectOptions, CdkConfigCommonOptions, AwsCdkDepsCommonOptions {
26
9
  /**
27
10
  * (experimental) The name of the Java class with the static `main()` method.
28
11
  *
29
12
  * This method
30
13
  * should call `app.synth()` on the CDK app.
31
14
  *
32
- * @default "org.acme.App"
15
+ * @default "org.acme.MyApp"
33
16
  * @experimental
34
17
  */
35
18
  readonly mainClass: string;
@@ -42,17 +25,17 @@ export interface AwsCdkJavaAppOptions extends JavaProjectOptions, CdkConfigCommo
42
25
  */
43
26
  export declare class AwsCdkJavaApp extends JavaProject {
44
27
  /**
45
- * (experimental) The CDK version this app is using.
28
+ * (experimental) The `cdk.json` file.
46
29
  *
47
30
  * @experimental
48
31
  */
49
- readonly cdkVersion: string;
32
+ readonly cdkConfig: CdkConfig;
50
33
  /**
51
- * (experimental) The `cdk.json` file.
34
+ * (experimental) CDK dependency management helper class.
52
35
  *
53
36
  * @experimental
54
37
  */
55
- readonly cdkConfig: CdkConfig;
38
+ readonly cdkDeps: AwsCdkDeps;
56
39
  /**
57
40
  * (experimental) The full name of the main class of the java app (package.Class).
58
41
  *
@@ -82,10 +65,10 @@ export declare class AwsCdkJavaApp extends JavaProject {
82
65
  */
83
66
  constructor(options: AwsCdkJavaAppOptions);
84
67
  /**
85
- * (experimental) Adds an AWS CDK module dependencies.
68
+ * (deprecated) Adds an AWS CDK module dependencies.
86
69
  *
87
- * @param modules The list of modules to depend on (e.g. "core", "aws-lambda", etc).
88
- * @experimental
70
+ * @param modules The list of modules to depend on (e.g. "software.amazon.awscdk/aws-lambda", "software.amazon.awscdk/aws-iam", etc).
71
+ * @deprecated In CDK 2.x all modules are available by default. Alpha modules should be added using the standard 'deps'
89
72
  */
90
73
  addCdkDependency(...modules: string[]): void;
91
74
  private addSample;
@@ -0,0 +1,91 @@
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 __1 = require("..");
8
+ const java_1 = require("../java");
9
+ const awscdk_deps_java_1 = require("./awscdk-deps-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;
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.cdkDeps = new awscdk_deps_java_1.AwsCdkDepsJava(this, {
36
+ dependencyType: __1.DependencyType.RUNTIME,
37
+ ...options,
38
+ });
39
+ this.cdkTasks = new cdk_tasks_1.CdkTasks(this);
40
+ this.postCompileTask.spawn(this.cdkTasks.synth);
41
+ this.cdkConfig = new cdk_config_1.CdkConfig(this, {
42
+ app: `mvn exec:java --quiet -Dexec.mainClass=${this.mainClass}`,
43
+ featureFlags: this.cdkDeps.cdkMajorVersion < 2,
44
+ ...options,
45
+ });
46
+ if ((_b = options.sample) !== null && _b !== void 0 ? _b : true) {
47
+ this.addSample();
48
+ }
49
+ }
50
+ /**
51
+ * (deprecated) Adds an AWS CDK module dependencies.
52
+ *
53
+ * @param modules The list of modules to depend on (e.g. "software.amazon.awscdk/aws-lambda", "software.amazon.awscdk/aws-iam", etc).
54
+ * @deprecated In CDK 2.x all modules are available by default. Alpha modules should be added using the standard 'deps'
55
+ */
56
+ addCdkDependency(...modules) {
57
+ for (const m of modules) {
58
+ this.cdkDeps.addV1Dependencies(m);
59
+ }
60
+ }
61
+ addSample() {
62
+ const pkg = this.mainPackage.split(".");
63
+ const javaFile = `${this.mainClassName}.java`;
64
+ new __1.SampleDir(this, path_1.join("src", "main", "java", ...pkg), {
65
+ files: {
66
+ [javaFile]: [
67
+ `package ${pkg.join(".")};`,
68
+ "",
69
+ this.cdkDeps.cdkMajorVersion == 1
70
+ ? "import software.amazon.awscdk.core.App;"
71
+ : "import software.amazon.awscdk.App;",
72
+ this.cdkDeps.cdkMajorVersion == 1
73
+ ? "import software.amazon.awscdk.core.Stack;"
74
+ : "import software.amazon.awscdk.Stack;",
75
+ "",
76
+ `public class ${this.mainClassName} {`,
77
+ " public static void main(final String[] args) {",
78
+ " App app = new App();",
79
+ ' new Stack(app, "MyStack");',
80
+ " app.synth();",
81
+ " }",
82
+ "}",
83
+ ].join("\n"),
84
+ },
85
+ });
86
+ }
87
+ }
88
+ exports.AwsCdkJavaApp = AwsCdkJavaApp;
89
+ _a = JSII_RTTI_SYMBOL_1;
90
+ AwsCdkJavaApp[_a] = { fqn: "projen.awscdk.AwsCdkJavaApp", version: "0.49.2" };
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLWFwcC1qYXZhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9hd3NjZGstYXBwLWphdmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBNEI7QUFDNUIsMEJBQStDO0FBQy9DLGtDQUEwRDtBQUUxRCx5REFBb0Q7QUFDcEQsNkNBQWlFO0FBQ2pFLDJDQUF1Qzs7Ozs7OztBQVd2QyxNQUFhLGFBQWMsU0FBUSxrQkFBVzs7OztJQW1CNUMsWUFBWSxPQUE2Qjs7UUFDdkMsTUFBTSxtQkFBbUIsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6RCxNQUFNLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckQsTUFBTSxhQUFhLEdBQUcsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRTFFLEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLE1BQU0sRUFBRSxLQUFLO1lBQ2IsaUJBQWlCLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7U0FDekMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUVuQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksaUNBQWMsQ0FBQyxJQUFJLEVBQUU7WUFDdEMsY0FBYyxFQUFFLGtCQUFjLENBQUMsT0FBTztZQUN0QyxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksb0JBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWhELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxzQkFBUyxDQUFDLElBQUksRUFBRTtZQUNuQyxHQUFHLEVBQUUsMENBQTBDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDL0QsWUFBWSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxHQUFHLENBQUM7WUFDOUMsR0FBRyxPQUFPO1NBQ1gsQ0FBQyxDQUFDO1FBRUgsVUFBSSxPQUFPLENBQUMsTUFBTSxtQ0FBSSxJQUFJLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQzs7Ozs7OztJQUdNLGdCQUFnQixDQUFDLEdBQUcsT0FBaUI7UUFDMUMsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7SUFFTyxTQUFTO1FBQ2YsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsTUFBTSxRQUFRLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxPQUFPLENBQUM7UUFDOUMsSUFBSSxhQUFTLENBQUMsSUFBSSxFQUFFLFdBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZELEtBQUssRUFBRTtnQkFDTCxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUNWLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRztvQkFDM0IsRUFBRTtvQkFDRixJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsSUFBSSxDQUFDO3dCQUMvQixDQUFDLENBQUMseUNBQXlDO3dCQUMzQyxDQUFDLENBQUMsb0NBQW9DO29CQUN4QyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsSUFBSSxDQUFDO3dCQUMvQixDQUFDLENBQUMsMkNBQTJDO3dCQUM3QyxDQUFDLENBQUMsc0NBQXNDO29CQUMxQyxFQUFFO29CQUNGLGdCQUFnQixJQUFJLENBQUMsYUFBYSxJQUFJO29CQUN0QyxrREFBa0Q7b0JBQ2xELDBCQUEwQjtvQkFDMUIsZ0NBQWdDO29CQUNoQyxrQkFBa0I7b0JBQ2xCLEtBQUs7b0JBQ0wsR0FBRztpQkFDSixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDYjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBckZILHNDQXNGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpvaW4gfSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgRGVwZW5kZW5jeVR5cGUsIFNhbXBsZURpciB9IGZyb20gXCIuLlwiO1xuaW1wb3J0IHsgSmF2YVByb2plY3QsIEphdmFQcm9qZWN0T3B0aW9ucyB9IGZyb20gXCIuLi9qYXZhXCI7XG5pbXBvcnQgeyBBd3NDZGtEZXBzLCBBd3NDZGtEZXBzQ29tbW9uT3B0aW9ucyB9IGZyb20gXCIuL2F3c2Nkay1kZXBzXCI7XG5pbXBvcnQgeyBBd3NDZGtEZXBzSmF2YSB9IGZyb20gXCIuL2F3c2Nkay1kZXBzLWphdmFcIjtcbmltcG9ydCB7IENka0NvbmZpZywgQ2RrQ29uZmlnQ29tbW9uT3B0aW9ucyB9IGZyb20gXCIuL2Nkay1jb25maWdcIjtcbmltcG9ydCB7IENka1Rhc2tzIH0gZnJvbSBcIi4vY2RrLXRhc2tzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXdzQ2RrSmF2YUFwcE9wdGlvbnNcbiAgZXh0ZW5kcyBKYXZhUHJvamVjdE9wdGlvbnMsXG4gICAgQ2RrQ29uZmlnQ29tbW9uT3B0aW9ucyxcbiAgICBBd3NDZGtEZXBzQ29tbW9uT3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbWFpbkNsYXNzOiBzdHJpbmc7XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgQXdzQ2RrSmF2YUFwcCBleHRlbmRzIEphdmFQcm9qZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IGNka0NvbmZpZzogQ2RrQ29uZmlnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBjZGtEZXBzOiBBd3NDZGtEZXBzO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IG1haW5DbGFzczogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IGNka1Rhc2tzOiBDZGtUYXNrcztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBtYWluUGFja2FnZTogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBtYWluQ2xhc3NOYW1lOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogQXdzQ2RrSmF2YUFwcE9wdGlvbnMpIHtcbiAgICBjb25zdCBtYWluQ2xhc3NDb21wb25lbnRzID0gb3B0aW9ucy5tYWluQ2xhc3Muc3BsaXQoXCIuXCIpO1xuICAgIGNvbnN0IG1haW5QYWNrYWdlID0gbWFpbkNsYXNzQ29tcG9uZW50cy5zbGljZSgwLCAtMSk7XG4gICAgY29uc3QgbWFpbkNsYXNzTmFtZSA9IG1haW5DbGFzc0NvbXBvbmVudHNbbWFpbkNsYXNzQ29tcG9uZW50cy5sZW5ndGggLSAxXTtcblxuICAgIHN1cGVyKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBzYW1wbGU6IGZhbHNlLFxuICAgICAgc2FtcGxlSmF2YVBhY2thZ2U6IG1haW5QYWNrYWdlLmpvaW4oXCIuXCIpLFxuICAgIH0pO1xuXG4gICAgdGhpcy5tYWluQ2xhc3MgPSBvcHRpb25zLm1haW5DbGFzcztcbiAgICB0aGlzLm1haW5QYWNrYWdlID0gbWFpblBhY2thZ2Uuam9pbihcIi5cIik7XG4gICAgdGhpcy5tYWluQ2xhc3NOYW1lID0gbWFpbkNsYXNzTmFtZTtcblxuICAgIHRoaXMuY2RrRGVwcyA9IG5ldyBBd3NDZGtEZXBzSmF2YSh0aGlzLCB7XG4gICAgICBkZXBlbmRlbmN5VHlwZTogRGVwZW5kZW5jeVR5cGUuUlVOVElNRSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICB0aGlzLmNka1Rhc2tzID0gbmV3IENka1Rhc2tzKHRoaXMpO1xuICAgIHRoaXMucG9zdENvbXBpbGVUYXNrLnNwYXduKHRoaXMuY2RrVGFza3Muc3ludGgpO1xuXG4gICAgdGhpcy5jZGtDb25maWcgPSBuZXcgQ2RrQ29uZmlnKHRoaXMsIHtcbiAgICAgIGFwcDogYG12biBleGVjOmphdmEgLS1xdWlldCAtRGV4ZWMubWFpbkNsYXNzPSR7dGhpcy5tYWluQ2xhc3N9YCxcbiAgICAgIGZlYXR1cmVGbGFnczogdGhpcy5jZGtEZXBzLmNka01ham9yVmVyc2lvbiA8IDIsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuXG4gICAgaWYgKG9wdGlvbnMuc2FtcGxlID8/IHRydWUpIHtcbiAgICAgIHRoaXMuYWRkU2FtcGxlKCk7XG4gICAgfVxuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBhZGRDZGtEZXBlbmRlbmN5KC4uLm1vZHVsZXM6IHN0cmluZ1tdKSB7XG4gICAgZm9yIChjb25zdCBtIG9mIG1vZHVsZXMpIHtcbiAgICAgIHRoaXMuY2RrRGVwcy5hZGRWMURlcGVuZGVuY2llcyhtKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZFNhbXBsZSgpIHtcbiAgICBjb25zdCBwa2cgPSB0aGlzLm1haW5QYWNrYWdlLnNwbGl0KFwiLlwiKTtcbiAgICBjb25zdCBqYXZhRmlsZSA9IGAke3RoaXMubWFpbkNsYXNzTmFtZX0uamF2YWA7XG4gICAgbmV3IFNhbXBsZURpcih0aGlzLCBqb2luKFwic3JjXCIsIFwibWFpblwiLCBcImphdmFcIiwgLi4ucGtnKSwge1xuICAgICAgZmlsZXM6IHtcbiAgICAgICAgW2phdmFGaWxlXTogW1xuICAgICAgICAgIGBwYWNrYWdlICR7cGtnLmpvaW4oXCIuXCIpfTtgLFxuICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgdGhpcy5jZGtEZXBzLmNka01ham9yVmVyc2lvbiA9PSAxXG4gICAgICAgICAgICA/IFwiaW1wb3J0IHNvZnR3YXJlLmFtYXpvbi5hd3NjZGsuY29yZS5BcHA7XCJcbiAgICAgICAgICAgIDogXCJpbXBvcnQgc29mdHdhcmUuYW1hem9uLmF3c2Nkay5BcHA7XCIsXG4gICAgICAgICAgdGhpcy5jZGtEZXBzLmNka01ham9yVmVyc2lvbiA9PSAxXG4gICAgICAgICAgICA/IFwiaW1wb3J0IHNvZnR3YXJlLmFtYXpvbi5hd3NjZGsuY29yZS5TdGFjaztcIlxuICAgICAgICAgICAgOiBcImltcG9ydCBzb2Z0d2FyZS5hbWF6b24uYXdzY2RrLlN0YWNrO1wiLFxuICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgYHB1YmxpYyBjbGFzcyAke3RoaXMubWFpbkNsYXNzTmFtZX0ge2AsXG4gICAgICAgICAgXCIgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKGZpbmFsIFN0cmluZ1tdIGFyZ3MpIHtcIixcbiAgICAgICAgICBcIiAgICBBcHAgYXBwID0gbmV3IEFwcCgpO1wiLFxuICAgICAgICAgICcgICAgbmV3IFN0YWNrKGFwcCwgXCJNeVN0YWNrXCIpOycsXG4gICAgICAgICAgXCIgICAgYXBwLnN5bnRoKCk7XCIsXG4gICAgICAgICAgXCIgIH1cIixcbiAgICAgICAgICBcIn1cIixcbiAgICAgICAgXS5qb2luKFwiXFxuXCIpLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,8 +1,8 @@
1
- import { TypeScriptAppProject, TypeScriptProjectOptions } from '../typescript';
2
- import { AwsCdkDeps, AwsCdkDepsCommonOptions } from './awscdk-deps';
3
- import { CdkConfig, CdkConfigCommonOptions } from './cdk-config';
4
- import { CdkTasks } from './cdk-tasks';
5
- import { LambdaFunctionCommonOptions } from './lambda-function';
1
+ import { TypeScriptAppProject, TypeScriptProjectOptions } from "../typescript";
2
+ import { AwsCdkDeps, AwsCdkDepsCommonOptions } from "./awscdk-deps";
3
+ import { CdkConfig, CdkConfigCommonOptions } from "./cdk-config";
4
+ import { CdkTasks } from "./cdk-tasks";
5
+ import { LambdaFunctionCommonOptions } from "./lambda-function";
6
6
  /**
7
7
  * @experimental
8
8
  */
@@ -9,7 +9,7 @@ const component_1 = require("../component");
9
9
  const dependencies_1 = require("../dependencies");
10
10
  const typescript_1 = require("../typescript");
11
11
  const auto_discover_1 = require("./auto-discover");
12
- const awscdk_deps_1 = require("./awscdk-deps");
12
+ const awscdk_deps_js_1 = require("./awscdk-deps-js");
13
13
  const cdk_config_1 = require("./cdk-config");
14
14
  const cdk_tasks_1 = require("./cdk-tasks");
15
15
  /**
@@ -34,11 +34,11 @@ class AwsCdkTypeScriptApp extends typescript_1.TypeScriptAppProject {
34
34
  addToPreCompile: false,
35
35
  },
36
36
  });
37
- this.cdkDeps = new awscdk_deps_1.AwsCdkDeps(this, {
37
+ this.cdkDeps = new awscdk_deps_js_1.AwsCdkDepsJs(this, {
38
38
  dependencyType: dependencies_1.DependencyType.RUNTIME,
39
39
  ...options,
40
40
  });
41
- this.appEntrypoint = (_b = options.appEntrypoint) !== null && _b !== void 0 ? _b : 'main.ts';
41
+ this.appEntrypoint = (_b = options.appEntrypoint) !== null && _b !== void 0 ? _b : "main.ts";
42
42
  // CLI
43
43
  this.addDevDeps(`aws-cdk@${this.cdkDeps.cdkVersion}`);
44
44
  // no compile step because we do all of it in typescript directly
@@ -48,35 +48,32 @@ class AwsCdkTypeScriptApp extends typescript_1.TypeScriptAppProject {
48
48
  this.postCompileTask.spawn(this.cdkTasks.synthSilent);
49
49
  const tsConfigFile = (_c = this.tsconfig) === null || _c === void 0 ? void 0 : _c.fileName;
50
50
  if (!tsConfigFile) {
51
- throw new Error('Expecting tsconfig.json');
51
+ throw new Error("Expecting tsconfig.json");
52
52
  }
53
53
  this.cdkConfig = new cdk_config_1.CdkConfig(this, {
54
54
  app: `npx ts-node -P ${tsConfigFile} --prefer-ts-exts ${path.posix.join(this.srcdir, this.appEntrypoint)}`,
55
55
  featureFlags: this.cdkDeps.cdkMajorVersion < 2,
56
56
  buildCommand: this.runTaskCommand(this.bundler.bundleTask),
57
- watchIncludes: [
58
- `${this.srcdir}/**/*.ts`,
59
- `${this.testdir}/**/*.ts`,
60
- ],
57
+ watchIncludes: [`${this.srcdir}/**/*.ts`, `${this.testdir}/**/*.ts`],
61
58
  watchExcludes: [
62
- 'README.md',
63
- 'cdk*.json',
64
- '**/*.d.ts',
65
- '**/*.js',
66
- 'tsconfig.json',
67
- 'package*.json',
68
- 'yarn.lock',
69
- 'node_modules',
59
+ "README.md",
60
+ "cdk*.json",
61
+ "**/*.d.ts",
62
+ "**/*.js",
63
+ "tsconfig.json",
64
+ "package*.json",
65
+ "yarn.lock",
66
+ "node_modules",
70
67
  ],
71
68
  ...options,
72
69
  });
73
- this.gitignore.exclude('.parcel-cache/');
70
+ this.gitignore.exclude(".parcel-cache/");
74
71
  (_d = this.npmignore) === null || _d === void 0 ? void 0 : _d.exclude(`${this.cdkConfig.cdkout}/`);
75
- (_e = this.npmignore) === null || _e === void 0 ? void 0 : _e.exclude('.cdk.staging/');
72
+ (_e = this.npmignore) === null || _e === void 0 ? void 0 : _e.exclude(".cdk.staging/");
76
73
  if (this.tsconfig) {
77
74
  this.tsconfig.exclude.push(this.cdkConfig.cdkout);
78
75
  }
79
- this.addDevDeps('ts-node@^9');
76
+ this.addDevDeps("ts-node@^9");
80
77
  if ((_f = options.sampleCode) !== null && _f !== void 0 ? _f : true) {
81
78
  new SampleCode(this, this.cdkDeps.cdkMajorVersion);
82
79
  }
@@ -96,7 +93,9 @@ class AwsCdkTypeScriptApp extends typescript_1.TypeScriptAppProject {
96
93
  *
97
94
  * @experimental
98
95
  */
99
- get cdkVersion() { return this.cdkDeps.cdkVersion; }
96
+ get cdkVersion() {
97
+ return this.cdkDeps.cdkVersion;
98
+ }
100
99
  /**
101
100
  * (experimental) Adds an AWS CDK module dependencies.
102
101
  *
@@ -109,7 +108,7 @@ class AwsCdkTypeScriptApp extends typescript_1.TypeScriptAppProject {
109
108
  }
110
109
  exports.AwsCdkTypeScriptApp = AwsCdkTypeScriptApp;
111
110
  _a = JSII_RTTI_SYMBOL_1;
112
- AwsCdkTypeScriptApp[_a] = { fqn: "projen.awscdk.AwsCdkTypeScriptApp", version: "0.48.0" };
111
+ AwsCdkTypeScriptApp[_a] = { fqn: "projen.awscdk.AwsCdkTypeScriptApp", version: "0.49.2" };
113
112
  class SampleCode extends component_1.Component {
114
113
  constructor(project, cdkMajorVersion) {
115
114
  super(project);
@@ -119,18 +118,19 @@ class SampleCode extends component_1.Component {
119
118
  synthesize() {
120
119
  const outdir = this.project.outdir;
121
120
  const srcdir = path.join(outdir, this.appProject.srcdir);
122
- if (fs.pathExistsSync(srcdir) && fs.readdirSync(srcdir).filter(x => x.endsWith('.ts'))) {
121
+ if (fs.pathExistsSync(srcdir) &&
122
+ fs.readdirSync(srcdir).filter((x) => x.endsWith(".ts"))) {
123
123
  return;
124
124
  }
125
125
  const srcImports = new Array();
126
126
  if (this.cdkMajorVersion < 2) {
127
- srcImports.push('import { App, Construct, Stack, StackProps } from \'@aws-cdk/core\';');
127
+ srcImports.push("import { App, Construct, Stack, StackProps } from '@aws-cdk/core';");
128
128
  }
129
129
  else {
130
- srcImports.push('import { App, Stack, StackProps } from \'aws-cdk-lib\';');
131
- srcImports.push('import { Construct } from \'constructs\';');
130
+ srcImports.push("import { App, Stack, StackProps } from 'aws-cdk-lib';");
131
+ srcImports.push("import { Construct } from 'constructs';");
132
132
  }
133
- const srcCode = `${srcImports.join('\n')}
133
+ const srcCode = `${srcImports.join("\n")}
134
134
 
135
135
  export class MyStack extends Stack {
136
136
  constructor(scope: Construct, id: string, props: StackProps = {}) {
@@ -155,20 +155,21 @@ app.synth();`;
155
155
  fs.mkdirpSync(srcdir);
156
156
  fs.writeFileSync(path.join(srcdir, this.appProject.appEntrypoint), srcCode);
157
157
  const testdir = path.join(outdir, this.appProject.testdir);
158
- if (fs.pathExistsSync(testdir) && fs.readdirSync(testdir).filter(x => x.endsWith('.ts'))) {
158
+ if (fs.pathExistsSync(testdir) &&
159
+ fs.readdirSync(testdir).filter((x) => x.endsWith(".ts"))) {
159
160
  return;
160
161
  }
161
162
  const testImports = new Array();
162
163
  if (this.cdkMajorVersion < 2) {
163
- testImports.push('import { App } from \'@aws-cdk/core\';');
164
- testImports.push('import { Template } from \'@aws-cdk/assertions\';');
164
+ testImports.push("import { App } from '@aws-cdk/core';");
165
+ testImports.push("import { Template } from '@aws-cdk/assertions';");
165
166
  }
166
167
  else {
167
- testImports.push('import { App } from \'aws-cdk-lib\';');
168
- testImports.push('import { Template } from \'aws-cdk-lib/assertions\';');
168
+ testImports.push("import { App } from 'aws-cdk-lib';");
169
+ testImports.push("import { Template } from 'aws-cdk-lib/assertions';");
169
170
  }
170
- const appEntrypointName = path.basename(this.appProject.appEntrypoint, '.ts');
171
- const testCode = `${testImports.join('\n')}
171
+ const appEntrypointName = path.basename(this.appProject.appEntrypoint, ".ts");
172
+ const testCode = `${testImports.join("\n")}
172
173
  import { MyStack } from '../src/${appEntrypointName}';
173
174
 
174
175
  test('Snapshot', () => {
@@ -182,4 +183,4 @@ test('Snapshot', () => {
182
183
  fs.writeFileSync(path.join(testdir, `${appEntrypointName}.test.ts`), testCode);
183
184
  }
184
185
  }
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLWFwcC10cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXdzY2RrLWFwcC10cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZCQUE2QjtBQUM3QiwrQkFBK0I7QUFDL0IsNENBQXlDO0FBQ3pDLGtEQUFpRDtBQUNqRCw4Q0FBK0U7QUFDL0UsbURBQStDO0FBQy9DLCtDQUFvRTtBQUNwRSw2Q0FBaUU7QUFDakUsMkNBQXVDOzs7Ozs7O0FBZXZDLE1BQWEsbUJBQW9CLFNBQVEsaUNBQW9COzs7O0lBZTNELFlBQVksT0FBbUM7O1FBQzdDLEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLGNBQWMsRUFBRTtnQkFDZCxHQUFHLE9BQU8sQ0FBQyxjQUFjO2dCQUV6Qix1RUFBdUU7Z0JBQ3ZFLHlEQUF5RDtnQkFDekQsZUFBZSxFQUFFLEtBQUs7YUFDdkI7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksd0JBQVUsQ0FBQyxJQUFJLEVBQUU7WUFDbEMsY0FBYyxFQUFFLDZCQUFjLENBQUMsT0FBTztZQUN0QyxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxTQUFHLE9BQU8sQ0FBQyxhQUFhLG1DQUFJLFNBQVMsQ0FBQztRQUV4RCxNQUFNO1FBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUV0RCxpRUFBaUU7UUFDakUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUV6QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksb0JBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVuQyx5QkFBeUI7UUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxX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QyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUN4RixPQUFPO1NBQ1I7UUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO1FBQ3hDLElBQUksSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLEVBQUU7WUFDNUIsV0FBVyxDQUFDLElBQUksQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1lBQzNELFdBQVcsQ0FBQyxJQUFJLENBQUMsbURBQW1ELENBQUMsQ0FBQztTQUN2RTthQUFNO1lBQ0wsV0FBVyxDQUFDLElBQUksQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1lBQ3pELFdBQVcsQ0FBQyxJQUFJLENBQUMsc0RBQXNELENBQUMsQ0FBQztTQUMxRTtRQUVELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM5RSxNQUFNLFFBQVEsR0FBRyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2tDQUNaLGlCQUFpQjs7Ozs7Ozs7SUFRL0MsQ0FBQztRQUVELEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkIsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLGlCQUFpQixVQUFVLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNqRixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMtZXh0cmEnO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50JztcbmltcG9ydCB7IERlcGVuZGVuY3lUeXBlIH0gZnJvbSAnLi4vZGVwZW5kZW5jaWVzJztcbmltcG9ydCB7IFR5cGVTY3JpcHRBcHBQcm9qZWN0LCBUeXBlU2NyaXB0UHJvamVjdE9wdGlvbnMgfSBmcm9tICcuLi90eXBlc2NyaXB0JztcbmltcG9ydCB7IEF1dG9EaXNjb3ZlciB9IGZyb20gJy4vYXV0by1kaXNjb3Zlcic7XG5pbXBvcnQgeyBBd3NDZGtEZXBzLCBBd3NDZGtEZXBzQ29tbW9uT3B0aW9ucyB9IGZyb20gJy4vYXdzY2RrLWRlcHMnO1xuaW1wb3J0IHsgQ2RrQ29uZmlnLCBDZGtDb25maWdDb21tb25PcHRpb25zIH0gZnJvbSAnLi9jZGstY29uZmlnJztcbmltcG9ydCB7IENka1Rhc2tzIH0gZnJvbSAnLi9jZGstdGFza3MnO1xuaW1wb3J0IHsgTGFtYmRhRnVuY3Rpb25Db21tb25PcHRpb25zIH0gZnJvbSAnLi9sYW1iZGEtZnVuY3Rpb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zIGV4dGVuZHMgVHlwZVNjcmlwdFByb2plY3RPcHRpb25zLCBDZGtDb25maWdDb21tb25PcHRpb25zLCBBd3NDZGtEZXBzQ29tbW9uT3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgYXBwRW50cnlwb2ludD86IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsYW1iZGFBdXRvRGlzY292ZXI/OiBib29sZWFuO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsYW1iZGFPcHRpb25zPzogTGFtYmRhRnVuY3Rpb25Db21tb25PcHRpb25zO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIEF3c0Nka1R5cGVTY3JpcHRBcHAgZXh0ZW5kcyBUeXBlU2NyaXB0QXBwUHJvamVjdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGdldCBjZGtWZXJzaW9uKCkgeyByZXR1cm4gdGhpcy5jZGtEZXBzLmNka1ZlcnNpb247IH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBhcHBFbnRyeXBvaW50OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IGNka1Rhc2tzOiBDZGtUYXNrcztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgY2RrQ29uZmlnOiBDZGtDb25maWc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNka0RlcHM6IEF3c0Nka0RlcHM7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogQXdzQ2RrVHlwZVNjcmlwdEFwcE9wdGlvbnMpIHtcbiAgICBzdXBlcih7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgc2FtcGxlQ29kZTogZmFsc2UsXG4gICAgICBidW5kbGVyT3B0aW9uczoge1xuICAgICAgICAuLi5vcHRpb25zLmJ1bmRsZXJPcHRpb25zLFxuXG4gICAgICAgIC8vIHdlIGludm9rZSB0aGUgXCJidW5kbGVcIiB0YXNrIGFzIHBhcnQgb2YgdGhlIGJ1aWxkIHN0ZXAgaW4gY2RrLmpzb24gc29cbiAgICAgICAgLy8gd2UgZG9uJ3Qgd2FudCBpdCB0byBiZSBhZGRlZCB0byB0aGUgcHJlLWNvbXBpbGUgcGhhc2UuXG4gICAgICAgIGFkZFRvUHJlQ29tcGlsZTogZmFsc2UsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5jZGtEZXBzID0gbmV3IEF3c0Nka0RlcHModGhpcywge1xuICAgICAgZGVwZW5kZW5jeVR5cGU6IERlcGVuZGVuY3lUeXBlLlJVTlRJTUUsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuICAgIHRoaXMuYXBwRW50cnlwb2ludCA9IG9wdGlvbnMuYXBwRW50cnlwb2ludCA/PyAnbWFpbi50cyc7XG5cbiAgICAvLyBDTElcbiAgICB0aGlzLmFkZERldkRlcHMoYGF3cy1jZGtAJHt0aGlzLmNka0RlcHMuY2RrVmVyc2lvbn1gKTtcblxuICAgIC8vIG5vIGNvbXBpbGUgc3RlcCBiZWNhdXNlIHdlIGRvIGFsbCBvZiBpdCBpbiB0eXBlc2NyaXB0IGRpcmVjdGx5XG4gICAgdGhpcy5jb21waWxlVGFzay5yZXNldCgpO1xuXG4gICAgdGhpcy5jZGtUYXNrcyA9IG5ldyBDZGtUYXNrcyh0aGlzKTtcblxuICAgIC8vIGFkZCBzeW50aCB0byB0aGUgYnVpbGRcbiAgICB0aGlzLnBvc3RDb21waWxlVGFzay5zcGF3bih0aGlzLmNka1Rhc2tzLnN5bnRoU2lsZW50KTtcblxuICAgIGNvbnN0IHRzQ29uZmlnRmlsZSA9IHRoaXMudHNjb25maWc/LmZpbGVOYW1lO1xuICAgIGlmICghdHNDb25maWdGaWxlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGluZyB0c2NvbmZpZy5qc29uJyk7XG4gICAgfVxuXG4gICAgdGhpcy5jZGtDb25maWcgPSBuZXcgQ2RrQ29uZmlnKHRoaXMsIHtcbiAgICAgIGFwcDogYG5weCB0cy1ub2RlIC1QICR7dHNDb25maWdGaWxlfSAtLXByZWZlci10cy1leHRzICR7cGF0aC5wb3NpeC5qb2luKHRoaXMuc3JjZGlyLCB0aGlzLmFwcEVudHJ5cG9pbnQpfWAsXG4gICAgICBmZWF0dXJlRmxhZ3M6IHRoaXMuY2RrRGVwcy5jZGtNYWpvclZlcnNpb24gPCAyLFxuICAgICAgYnVpbGRDb21tYW5kOiB0aGlzLnJ1blRhc2tDb21tYW5kKHRoaXMuYnVuZGxlci5idW5kbGVUYXNrKSxcbiAgICAgIHdhdGNoSW5jbHVkZXM6IFtcbiAgICAgICAgYCR7dGhpcy5zcmNkaXJ9LyoqLyoudHNgLFxuICAgICAgICBgJHt0aGlzLnRlc3RkaXJ9LyoqLyoudHNgLFxuICAgICAgXSxcbiAgICAgIHdhdGNoRXhjbHVkZXM6IFtcbiAgICAgICAgJ1JFQURNRS5tZCcsXG4gICAgICAgICdjZGsqLmpzb24nLFxuICAgICAgICAnKiovKi5kLnRzJyxcbiAgICAgICAgJyoqLyouanMnLFxuICAgICAgICAndHNjb25maWcuanNvbicsXG4gICAgICAgICdwYWNrYWdlKi5qc29uJyxcbiAgICAgICAgJ3lhcm4ubG9jaycsXG4gICAgICAgICdub2RlX21vZHVsZXMnLFxuICAgICAgXSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICB0aGlzLmdpdGlnbm9yZS5leGNsdWRlKCcucGFyY2VsLWNhY2hlLycpO1xuXG4gICAgdGhpcy5ucG1pZ25vcmU/LmV4Y2x1ZGUoYCR7dGhpcy5jZGtDb25maWcuY2Rrb3V0fS9gKTtcbiAgICB0aGlzLm5wbWlnbm9yZT8uZXhjbHVkZSgnLmNkay5zdGFnaW5nLycpO1xuXG4gICAgaWYgKHRoaXMudHNjb25maWcpIHtcbiAgICAgIHRoaXMudHNjb25maWcuZXhjbHVkZS5wdXNoKHRoaXMuY2RrQ29uZmlnLmNka291dCk7XG4gICAgfVxuXG4gICAgdGhpcy5hZGREZXZEZXBzKCd0cy1ub2RlQF45Jyk7XG4gICAgaWYgKG9wdGlvbnMuc2FtcGxlQ29kZSA/PyB0cnVlKSB7XG4gICAgICBuZXcgU2FtcGxlQ29kZSh0aGlzLCB0aGlzLmNka0RlcHMuY2RrTWFqb3JWZXJzaW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCBsYW1iZGFBdXRvRGlzY292ZXIgPSBvcHRpb25zLmxhbWJkYUF1dG9EaXNjb3ZlciA/PyB0cnVlO1xuICAgIGlmIChsYW1iZGFBdXRvRGlzY292ZXIpIHtcbiAgICAgIG5ldyBBdXRvRGlzY292ZXIodGhpcywge1xuICAgICAgICBzcmNkaXI6IHRoaXMuc3JjZGlyLFxuICAgICAgICB0ZXN0ZGlyOiB0aGlzLnRlc3RkaXIsXG4gICAgICAgIGxhbWJkYU9wdGlvbnM6IG9wdGlvbnMubGFtYmRhT3B0aW9ucyxcbiAgICAgICAgdHNjb25maWdQYXRoOiB0aGlzLnRzY29uZmlnRGV2LmZpbGVOYW1lLFxuICAgICAgICBjZGtEZXBzOiB0aGlzLmNka0RlcHMsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBhZGRDZGtEZXBlbmRlbmN5KC4uLm1vZHVsZXM6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIHRoaXMuY2RrRGVwcy5hZGRWMURlcGVuZGVuY2llcyguLi5tb2R1bGVzKTtcbiAgfVxufVxuXG5jbGFzcyBTYW1wbGVDb2RlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBhcHBQcm9qZWN0OiBBd3NDZGtUeXBlU2NyaXB0QXBwO1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IEF3c0Nka1R5cGVTY3JpcHRBcHAsIHByaXZhdGUgcmVhZG9ubHkgY2RrTWFqb3JWZXJzaW9uOiBudW1iZXIpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcbiAgICB0aGlzLmFwcFByb2plY3QgPSBwcm9qZWN0O1xuICB9XG5cbiAgcHVibGljIHN5bnRoZXNpemUoKSB7XG4gICAgY29uc3Qgb3V0ZGlyID0gdGhpcy5wcm9qZWN0Lm91dGRpcjtcbiAgICBjb25zdCBzcmNkaXIgPSBwYXRoLmpvaW4ob3V0ZGlyLCB0aGlzLmFwcFByb2plY3Quc3JjZGlyKTtcbiAgICBpZiAoZnMucGF0aEV4aXN0c1N5bmMoc3JjZGlyKSAmJiBmcy5yZWFkZGlyU3luYyhzcmNkaXIpLmZpbHRlcih4ID0+IHguZW5kc1dpdGgoJy50cycpKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNyY0ltcG9ydHMgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuICAgIGlmICh0aGlzLmNka01ham9yVmVyc2lvbiA8IDIpIHtcbiAgICAgIHNyY0ltcG9ydHMucHVzaCgnaW1wb3J0IHsgQXBwLCBDb25zdHJ1Y3QsIFN0YWNrLCBTdGFja1Byb3BzIH0gZnJvbSBcXCdAYXdzLWNkay9jb3JlXFwnOycpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzcmNJbXBvcnRzLnB1c2goJ2ltcG9ydCB7IEFwcCwgU3RhY2ssIFN0YWNrUHJvcHMgfSBmcm9tIFxcJ2F3cy1jZGstbGliXFwnOycpO1xuICAgICAgc3JjSW1wb3J0cy5wdXNoKCdpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFxcJ2NvbnN0cnVjdHNcXCc7Jyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3JjQ29kZSA9IGAke3NyY0ltcG9ydHMuam9pbignXFxuJyl9XG5cbmV4cG9ydCBjbGFzcyBNeVN0YWNrIGV4dGVuZHMgU3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU3RhY2tQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICAvLyBkZWZpbmUgcmVzb3VyY2VzIGhlcmUuLi5cbiAgfVxufVxuXG4vLyBmb3IgZGV2ZWxvcG1lbnQsIHVzZSBhY2NvdW50L3JlZ2lvbiBmcm9tIGNkayBjbGlcbmNvbnN0IGRldkVudiA9IHtcbiAgYWNjb3VudDogcHJvY2Vzcy5lbnYuQ0RLX0RFRkFVTFRfQUNDT1VOVCxcbiAgcmVnaW9uOiBwcm9jZXNzLmVudi5DREtfREVGQVVMVF9SRUdJT04sXG59O1xuXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5cbm5ldyBNeVN0YWNrKGFwcCwgJ215LXN0YWNrLWRldicsIHsgZW52OiBkZXZFbnYgfSk7XG4vLyBuZXcgTXlTdGFjayhhcHAsICdteS1zdGFjay1wcm9kJywgeyBlbnY6IHByb2RFbnYgfSk7XG5cbmFwcC5zeW50aCgpO2A7XG5cbiAgICBmcy5ta2RpcnBTeW5jKHNyY2Rpcik7XG4gICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oc3JjZGlyLCB0aGlzLmFwcFByb2plY3QuYXBwRW50cnlwb2ludCksIHNyY0NvZGUpO1xuXG4gICAgY29uc3QgdGVzdGRpciA9IHBhdGguam9pbihvdXRkaXIsIHRoaXMuYXBwUHJvamVjdC50ZXN0ZGlyKTtcbiAgICBpZiAoZnMucGF0aEV4aXN0c1N5bmModGVzdGRpcikgJiYgZnMucmVhZGRpclN5bmModGVzdGRpcikuZmlsdGVyKHggPT4geC5lbmRzV2l0aCgnLnRzJykpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdGVzdEltcG9ydHMgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuICAgIGlmICh0aGlzLmNka01ham9yVmVyc2lvbiA8IDIpIHtcbiAgICAgIHRlc3RJbXBvcnRzLnB1c2goJ2ltcG9ydCB7IEFwcCB9IGZyb20gXFwnQGF3cy1jZGsvY29yZVxcJzsnKTtcbiAgICAgIHRlc3RJbXBvcnRzLnB1c2goJ2ltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSBcXCdAYXdzLWNkay9hc3NlcnRpb25zXFwnOycpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0ZXN0SW1wb3J0cy5wdXNoKCdpbXBvcnQgeyBBcHAgfSBmcm9tIFxcJ2F3cy1jZGstbGliXFwnOycpO1xuICAgICAgdGVzdEltcG9ydHMucHVzaCgnaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tIFxcJ2F3cy1jZGstbGliL2Fzc2VydGlvbnNcXCc7Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgYXBwRW50cnlwb2ludE5hbWUgPSBwYXRoLmJhc2VuYW1lKHRoaXMuYXBwUHJvamVjdC5hcHBFbnRyeXBvaW50LCAnLnRzJyk7XG4gICAgY29uc3QgdGVzdENvZGUgPSBgJHt0ZXN0SW1wb3J0cy5qb2luKCdcXG4nKX1cbmltcG9ydCB7IE15U3RhY2sgfSBmcm9tICcuLi9zcmMvJHthcHBFbnRyeXBvaW50TmFtZX0nO1xuXG50ZXN0KCdTbmFwc2hvdCcsICgpID0+IHtcbiAgY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuICBjb25zdCBzdGFjayA9IG5ldyBNeVN0YWNrKGFwcCwgJ3Rlc3QnKTtcblxuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG4gIGV4cGVjdCh0ZW1wbGF0ZS50b0pTT04oKSkudG9NYXRjaFNuYXBzaG90KCk7XG59KTtgO1xuXG4gICAgZnMubWtkaXJwU3luYyh0ZXN0ZGlyKTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbih0ZXN0ZGlyLCBgJHthcHBFbnRyeXBvaW50TmFtZX0udGVzdC50c2ApLCB0ZXN0Q29kZSk7XG4gIH1cbn1cbiJdfQ==
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLWFwcC10cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXdzY2RrLWFwcC10cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZCQUE2QjtBQUM3QiwrQkFBK0I7QUFDL0IsNENBQXlDO0FBQ3pDLGtEQUFpRDtBQUNqRCw4Q0FBK0U7QUFDL0UsbURBQStDO0FBRS9DLHFEQUFnRDtBQUNoRCw2Q0FBaUU7QUFDakUsMkNBQXVDOzs7Ozs7O0FBa0J2QyxNQUFhLG1CQUFvQixTQUFRLGlDQUFvQjs7OztJQWlCM0QsWUFBWSxPQUFtQzs7UUFDN0MsS0FBSyxDQUFDO1lBQ0osR0FBRyxPQUFPO1lBQ1YsVUFBVSxFQUFFLEtBQUs7WUFDakIsY0FBYyxFQUFFO2dCQUNkLEdBQUcsT0FBTyxDQUFDLGNBQWM7Z0JBRXpCLHVFQUF1RTtnQkFDdkUseURBQXlEO2dCQUN6RCxlQUFlLEVBQUUsS0FBSzthQUN2QjtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSw2QkFBWSxDQUFDLElBQUksRUFBRTtZQUNwQyxjQUFjLEVBQUUsNkJBQWMsQ0FBQyxPQUFPO1lBQ3RDLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxhQUFhLFNBQUcsT0FBTyxDQUFDLGFBQWEsbUNBQUksU0FBUyxDQUFDO1FBRXhELE1BQU07UUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBRXRELGlFQUFpRTtRQUNqRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXpCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxvQkFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRW5DLHlCQUF5QjtRQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFD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QU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUN4RDtZQUNBLE9BQU87U0FDUjtRQUVELE1BQU0sV0FBVyxHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7UUFDeEMsSUFBSSxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsRUFBRTtZQUM1QixXQUFXLENBQUMsSUFBSSxDQUFDLHNDQUFzQyxDQUFDLENBQUM7WUFDekQsV0FBVyxDQUFDLElBQUksQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO1NBQ3JFO2FBQU07WUFDTCxXQUFXLENBQUMsSUFBSSxDQUFDLG9DQUFvQyxDQUFDLENBQUM7WUFDdkQsV0FBVyxDQUFDLElBQUksQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO1NBQ3hFO1FBRUQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUNyQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFDN0IsS0FBSyxDQUNOLENBQUM7UUFDRixNQUFNLFFBQVEsR0FBRyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2tDQUNaLGlCQUFpQjs7Ozs7Ozs7SUFRL0MsQ0FBQztRQUVELEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkIsRUFBRSxDQUFDLGFBQWEsQ0FDZCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLGlCQUFpQixVQUFVLENBQUMsRUFDbEQsUUFBUSxDQUNULENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRcIjtcbmltcG9ydCB7IERlcGVuZGVuY3lUeXBlIH0gZnJvbSBcIi4uL2RlcGVuZGVuY2llc1wiO1xuaW1wb3J0IHsgVHlwZVNjcmlwdEFwcFByb2plY3QsIFR5cGVTY3JpcHRQcm9qZWN0T3B0aW9ucyB9IGZyb20gXCIuLi90eXBlc2NyaXB0XCI7XG5pbXBvcnQgeyBBdXRvRGlzY292ZXIgfSBmcm9tIFwiLi9hdXRvLWRpc2NvdmVyXCI7XG5pbXBvcnQgeyBBd3NDZGtEZXBzLCBBd3NDZGtEZXBzQ29tbW9uT3B0aW9ucyB9IGZyb20gXCIuL2F3c2Nkay1kZXBzXCI7XG5pbXBvcnQgeyBBd3NDZGtEZXBzSnMgfSBmcm9tIFwiLi9hd3NjZGstZGVwcy1qc1wiO1xuaW1wb3J0IHsgQ2RrQ29uZmlnLCBDZGtDb25maWdDb21tb25PcHRpb25zIH0gZnJvbSBcIi4vY2RrLWNvbmZpZ1wiO1xuaW1wb3J0IHsgQ2RrVGFza3MgfSBmcm9tIFwiLi9jZGstdGFza3NcIjtcbmltcG9ydCB7IExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucyB9IGZyb20gXCIuL2xhbWJkYS1mdW5jdGlvblwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zXG4gIGV4dGVuZHMgVHlwZVNjcmlwdFByb2plY3RPcHRpb25zLFxuICAgIENka0NvbmZpZ0NvbW1vbk9wdGlvbnMsXG4gICAgQXdzQ2RrRGVwc0NvbW1vbk9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGFwcEVudHJ5cG9pbnQ/OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbGFtYmRhQXV0b0Rpc2NvdmVyPzogYm9vbGVhbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbGFtYmRhT3B0aW9ucz86IExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucztcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBBd3NDZGtUeXBlU2NyaXB0QXBwIGV4dGVuZHMgVHlwZVNjcmlwdEFwcFByb2plY3Qge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBnZXQgY2RrVmVyc2lvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jZGtEZXBzLmNka1ZlcnNpb247XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBhcHBFbnRyeXBvaW50OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IGNka1Rhc2tzOiBDZGtUYXNrcztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgY2RrQ29uZmlnOiBDZGtDb25maWc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNka0RlcHM6IEF3c0Nka0RlcHM7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogQXdzQ2RrVHlwZVNjcmlwdEFwcE9wdGlvbnMpIHtcbiAgICBzdXBlcih7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgc2FtcGxlQ29kZTogZmFsc2UsXG4gICAgICBidW5kbGVyT3B0aW9uczoge1xuICAgICAgICAuLi5vcHRpb25zLmJ1bmRsZXJPcHRpb25zLFxuXG4gICAgICAgIC8vIHdlIGludm9rZSB0aGUgXCJidW5kbGVcIiB0YXNrIGFzIHBhcnQgb2YgdGhlIGJ1aWxkIHN0ZXAgaW4gY2RrLmpzb24gc29cbiAgICAgICAgLy8gd2UgZG9uJ3Qgd2FudCBpdCB0byBiZSBhZGRlZCB0byB0aGUgcHJlLWNvbXBpbGUgcGhhc2UuXG4gICAgICAgIGFkZFRvUHJlQ29tcGlsZTogZmFsc2UsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5jZGtEZXBzID0gbmV3IEF3c0Nka0RlcHNKcyh0aGlzLCB7XG4gICAgICBkZXBlbmRlbmN5VHlwZTogRGVwZW5kZW5jeVR5cGUuUlVOVElNRSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG4gICAgdGhpcy5hcHBFbnRyeXBvaW50ID0gb3B0aW9ucy5hcHBFbnRyeXBvaW50ID8/IFwibWFpbi50c1wiO1xuXG4gICAgLy8gQ0xJXG4gICAgdGhpcy5hZGREZXZEZXBzKGBhd3MtY2RrQCR7dGhpcy5jZGtEZXBzLmNka1ZlcnNpb259YCk7XG5cbiAgICAvLyBubyBjb21waWxlIHN0ZXAgYmVjYXVzZSB3ZSBkbyBhbGwgb2YgaXQgaW4gdHlwZXNjcmlwdCBkaXJlY3RseVxuICAgIHRoaXMuY29tcGlsZVRhc2sucmVzZXQoKTtcblxuICAgIHRoaXMuY2RrVGFza3MgPSBuZXcgQ2RrVGFza3ModGhpcyk7XG5cbiAgICAvLyBhZGQgc3ludGggdG8gdGhlIGJ1aWxkXG4gICAgdGhpcy5wb3N0Q29tcGlsZVRhc2suc3Bhd24odGhpcy5jZGtUYXNrcy5zeW50aFNpbGVudCk7XG5cbiAgICBjb25zdCB0c0NvbmZpZ0ZpbGUgPSB0aGlzLnRzY29uZmlnPy5maWxlTmFtZTtcbiAgICBpZiAoIXRzQ29uZmlnRmlsZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0aW5nIHRzY29uZmlnLmpzb25cIik7XG4gICAgfVxuXG4gICAgdGhpcy5jZGtDb25maWcgPSBuZXcgQ2RrQ29uZmlnKHRoaXMsIHtcbiAgICAgIGFwcDogYG5weCB0cy1ub2RlIC1QICR7dHNDb25maWdGaWxlfSAtLXByZWZlci10cy1leHRzICR7cGF0aC5wb3NpeC5qb2luKFxuICAgICAgICB0aGlzLnNyY2RpcixcbiAgICAgICAgdGhpcy5hcHBFbnRyeXBvaW50XG4gICAgICApfWAsXG4gICAgICBmZWF0dXJlRmxhZ3M6IHRoaXMuY2RrRGVwcy5jZGtNYWpvclZlcnNpb24gPCAyLFxuICAgICAgYnVpbGRDb21tYW5kOiB0aGlzLnJ1blRhc2tDb21tYW5kKHRoaXMuYnVuZGxlci5idW5kbGVUYXNrKSxcbiAgICAgIHdhdGNoSW5jbHVkZXM6IFtgJHt0aGlzLnNyY2Rpcn0vKiovKi50c2AsIGAke3RoaXMudGVzdGRpcn0vKiovKi50c2BdLFxuICAgICAgd2F0Y2hFeGNsdWRlczogW1xuICAgICAgICBcIlJFQURNRS5tZFwiLFxuICAgICAgICBcImNkayouanNvblwiLFxuICAgICAgICBcIioqLyouZC50c1wiLFxuICAgICAgICBcIioqLyouanNcIixcbiAgICAgICAgXCJ0c2NvbmZpZy5qc29uXCIsXG4gICAgICAgIFwicGFja2FnZSouanNvblwiLFxuICAgICAgICBcInlhcm4ubG9ja1wiLFxuICAgICAgICBcIm5vZGVfbW9kdWxlc1wiLFxuICAgICAgXSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICB0aGlzLmdpdGlnbm9yZS5leGNsdWRlKFwiLnBhcmNlbC1jYWNoZS9cIik7XG5cbiAgICB0aGlzLm5wbWlnbm9yZT8uZXhjbHVkZShgJHt0aGlzLmNka0NvbmZpZy5jZGtvdXR9L2ApO1xuICAgIHRoaXMubnBtaWdub3JlPy5leGNsdWRlKFwiLmNkay5zdGFnaW5nL1wiKTtcblxuICAgIGlmICh0aGlzLnRzY29uZmlnKSB7XG4gICAgICB0aGlzLnRzY29uZmlnLmV4Y2x1ZGUucHVzaCh0aGlzLmNka0NvbmZpZy5jZGtvdXQpO1xuICAgIH1cblxuICAgIHRoaXMuYWRkRGV2RGVwcyhcInRzLW5vZGVAXjlcIik7XG4gICAgaWYgKG9wdGlvbnMuc2FtcGxlQ29kZSA/PyB0cnVlKSB7XG4gICAgICBuZXcgU2FtcGxlQ29kZSh0aGlzLCB0aGlzLmNka0RlcHMuY2RrTWFqb3JWZXJzaW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCBsYW1iZGFBdXRvRGlzY292ZXIgPSBvcHRpb25zLmxhbWJkYUF1dG9EaXNjb3ZlciA/PyB0cnVlO1xuICAgIGlmIChsYW1iZGFBdXRvRGlzY292ZXIpIHtcbiAgICAgIG5ldyBBdXRvRGlzY292ZXIodGhpcywge1xuICAgICAgICBzcmNkaXI6IHRoaXMuc3JjZGlyLFxuICAgICAgICB0ZXN0ZGlyOiB0aGlzLnRlc3RkaXIsXG4gICAgICAgIGxhbWJkYU9wdGlvbnM6IG9wdGlvbnMubGFtYmRhT3B0aW9ucyxcbiAgICAgICAgdHNjb25maWdQYXRoOiB0aGlzLnRzY29uZmlnRGV2LmZpbGVOYW1lLFxuICAgICAgICBjZGtEZXBzOiB0aGlzLmNka0RlcHMsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBhZGRDZGtEZXBlbmRlbmN5KC4uLm1vZHVsZXM6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIHRoaXMuY2RrRGVwcy5hZGRWMURlcGVuZGVuY2llcyguLi5tb2R1bGVzKTtcbiAgfVxufVxuXG5jbGFzcyBTYW1wbGVDb2RlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBhcHBQcm9qZWN0OiBBd3NDZGtUeXBlU2NyaXB0QXBwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb2plY3Q6IEF3c0Nka1R5cGVTY3JpcHRBcHAsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZGtNYWpvclZlcnNpb246IG51bWJlclxuICApIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcbiAgICB0aGlzLmFwcFByb2plY3QgPSBwcm9qZWN0O1xuICB9XG5cbiAgcHVibGljIHN5bnRoZXNpemUoKSB7XG4gICAgY29uc3Qgb3V0ZGlyID0gdGhpcy5wcm9qZWN0Lm91dGRpcjtcbiAgICBjb25zdCBzcmNkaXIgPSBwYXRoLmpvaW4ob3V0ZGlyLCB0aGlzLmFwcFByb2plY3Quc3JjZGlyKTtcbiAgICBpZiAoXG4gICAgICBmcy5wYXRoRXhpc3RzU3luYyhzcmNkaXIpICYmXG4gICAgICBmcy5yZWFkZGlyU3luYyhzcmNkaXIpLmZpbHRlcigoeCkgPT4geC5lbmRzV2l0aChcIi50c1wiKSlcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzcmNJbXBvcnRzID0gbmV3IEFycmF5PHN0cmluZz4oKTtcbiAgICBpZiAodGhpcy5jZGtNYWpvclZlcnNpb24gPCAyKSB7XG4gICAgICBzcmNJbXBvcnRzLnB1c2goXG4gICAgICAgIFwiaW1wb3J0IHsgQXBwLCBDb25zdHJ1Y3QsIFN0YWNrLCBTdGFja1Byb3BzIH0gZnJvbSAnQGF3cy1jZGsvY29yZSc7XCJcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNyY0ltcG9ydHMucHVzaChcImltcG9ydCB7IEFwcCwgU3RhY2ssIFN0YWNrUHJvcHMgfSBmcm9tICdhd3MtY2RrLWxpYic7XCIpO1xuICAgICAgc3JjSW1wb3J0cy5wdXNoKFwiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XCIpO1xuICAgIH1cblxuICAgIGNvbnN0IHNyY0NvZGUgPSBgJHtzcmNJbXBvcnRzLmpvaW4oXCJcXG5cIil9XG5cbmV4cG9ydCBjbGFzcyBNeVN0YWNrIGV4dGVuZHMgU3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU3RhY2tQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICAvLyBkZWZpbmUgcmVzb3VyY2VzIGhlcmUuLi5cbiAgfVxufVxuXG4vLyBmb3IgZGV2ZWxvcG1lbnQsIHVzZSBhY2NvdW50L3JlZ2lvbiBmcm9tIGNkayBjbGlcbmNvbnN0IGRldkVudiA9IHtcbiAgYWNjb3VudDogcHJvY2Vzcy5lbnYuQ0RLX0RFRkFVTFRfQUNDT1VOVCxcbiAgcmVnaW9uOiBwcm9jZXNzLmVudi5DREtfREVGQVVMVF9SRUdJT04sXG59O1xuXG5jb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5cbm5ldyBNeVN0YWNrKGFwcCwgJ215LXN0YWNrLWRldicsIHsgZW52OiBkZXZFbnYgfSk7XG4vLyBuZXcgTXlTdGFjayhhcHAsICdteS1zdGFjay1wcm9kJywgeyBlbnY6IHByb2RFbnYgfSk7XG5cbmFwcC5zeW50aCgpO2A7XG5cbiAgICBmcy5ta2RpcnBTeW5jKHNyY2Rpcik7XG4gICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oc3JjZGlyLCB0aGlzLmFwcFByb2plY3QuYXBwRW50cnlwb2ludCksIHNyY0NvZGUpO1xuXG4gICAgY29uc3QgdGVzdGRpciA9IHBhdGguam9pbihvdXRkaXIsIHRoaXMuYXBwUHJvamVjdC50ZXN0ZGlyKTtcbiAgICBpZiAoXG4gICAgICBmcy5wYXRoRXhpc3RzU3luYyh0ZXN0ZGlyKSAmJlxuICAgICAgZnMucmVhZGRpclN5bmModGVzdGRpcikuZmlsdGVyKCh4KSA9PiB4LmVuZHNXaXRoKFwiLnRzXCIpKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRlc3RJbXBvcnRzID0gbmV3IEFycmF5PHN0cmluZz4oKTtcbiAgICBpZiAodGhpcy5jZGtNYWpvclZlcnNpb24gPCAyKSB7XG4gICAgICB0ZXN0SW1wb3J0cy5wdXNoKFwiaW1wb3J0IHsgQXBwIH0gZnJvbSAnQGF3cy1jZGsvY29yZSc7XCIpO1xuICAgICAgdGVzdEltcG9ydHMucHVzaChcImltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSAnQGF3cy1jZGsvYXNzZXJ0aW9ucyc7XCIpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0ZXN0SW1wb3J0cy5wdXNoKFwiaW1wb3J0IHsgQXBwIH0gZnJvbSAnYXdzLWNkay1saWInO1wiKTtcbiAgICAgIHRlc3RJbXBvcnRzLnB1c2goXCJpbXBvcnQgeyBUZW1wbGF0ZSB9IGZyb20gJ2F3cy1jZGstbGliL2Fzc2VydGlvbnMnO1wiKTtcbiAgICB9XG5cbiAgICBjb25zdCBhcHBFbnRyeXBvaW50TmFtZSA9IHBhdGguYmFzZW5hbWUoXG4gICAgICB0aGlzLmFwcFByb2plY3QuYXBwRW50cnlwb2ludCxcbiAgICAgIFwiLnRzXCJcbiAgICApO1xuICAgIGNvbnN0IHRlc3RDb2RlID0gYCR7dGVzdEltcG9ydHMuam9pbihcIlxcblwiKX1cbmltcG9ydCB7IE15U3RhY2sgfSBmcm9tICcuLi9zcmMvJHthcHBFbnRyeXBvaW50TmFtZX0nO1xuXG50ZXN0KCdTbmFwc2hvdCcsICgpID0+IHtcbiAgY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuICBjb25zdCBzdGFjayA9IG5ldyBNeVN0YWNrKGFwcCwgJ3Rlc3QnKTtcblxuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG4gIGV4cGVjdCh0ZW1wbGF0ZS50b0pTT04oKSkudG9NYXRjaFNuYXBzaG90KCk7XG59KTtgO1xuXG4gICAgZnMubWtkaXJwU3luYyh0ZXN0ZGlyKTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKFxuICAgICAgcGF0aC5qb2luKHRlc3RkaXIsIGAke2FwcEVudHJ5cG9pbnROYW1lfS50ZXN0LnRzYCksXG4gICAgICB0ZXN0Q29kZVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
- import { ConstructLibrary, ConstructLibraryOptions } from '../cdk';
2
- import { AwsCdkDeps, AwsCdkDepsCommonOptions } from './awscdk-deps';
3
- import { LambdaFunctionCommonOptions } from './lambda-function';
1
+ import { ConstructLibrary, ConstructLibraryOptions } from "../cdk";
2
+ import { AwsCdkDeps, AwsCdkDepsCommonOptions } from "./awscdk-deps";
3
+ import { LambdaFunctionCommonOptions } from "./lambda-function";
4
4
  /**
5
5
  * (experimental) Options for `AwsCdkConstructLibrary`.
6
6
  *