projen 0.99.80 → 0.100.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/.jsii +1677 -3664
  2. package/BREAKING_CHANGES.md +855 -0
  3. package/lib/ai-instructions.d.ts +0 -1
  4. package/lib/ai-instructions.js +6 -12
  5. package/lib/awscdk/auto-discover.js +7 -14
  6. package/lib/awscdk/awscdk-app-java.d.ts +0 -7
  7. package/lib/awscdk/awscdk-app-java.js +28 -21
  8. package/lib/awscdk/awscdk-app-py.d.ts +0 -12
  9. package/lib/awscdk/awscdk-app-py.js +27 -24
  10. package/lib/awscdk/awscdk-app-ts.d.ts +0 -5
  11. package/lib/awscdk/awscdk-app-ts.js +57 -31
  12. package/lib/awscdk/awscdk-construct.d.ts +0 -26
  13. package/lib/awscdk/awscdk-construct.js +4 -44
  14. package/lib/awscdk/awscdk-deps-java.js +2 -6
  15. package/lib/awscdk/awscdk-deps-js.js +2 -7
  16. package/lib/awscdk/awscdk-deps-py.js +2 -7
  17. package/lib/awscdk/awscdk-deps.d.ts +1 -90
  18. package/lib/awscdk/awscdk-deps.js +68 -114
  19. package/lib/awscdk/cdk-config.d.ts +0 -21
  20. package/lib/awscdk/cdk-config.js +44 -51
  21. package/lib/awscdk/cdk-tasks.js +26 -4
  22. package/lib/awscdk/integration-test.js +10 -15
  23. package/lib/awscdk/internal.js +5 -2
  24. package/lib/awscdk/lambda-extension.js +4 -16
  25. package/lib/awscdk/lambda-function.d.ts +0 -10
  26. package/lib/awscdk/lambda-function.js +88 -78
  27. package/lib/awscdk/private/feature-flags-v2.const.d.ts +1 -1
  28. package/lib/awscdk/private/feature-flags-v2.const.js +2 -2
  29. package/lib/build/build-workflow.js +51 -6
  30. package/lib/builtin-example.task.d.ts +1 -0
  31. package/lib/builtin-example.task.js +2 -1
  32. package/lib/cdk/auto-discover-base.js +43 -8
  33. package/lib/cdk/construct-lib.js +2 -4
  34. package/lib/cdk/integration-test-base.js +26 -4
  35. package/lib/cdk/jsii-build.d.ts +0 -1
  36. package/lib/cdk/jsii-build.js +4 -4
  37. package/lib/cdk/jsii-docgen.js +2 -4
  38. package/lib/cdk/jsii-project.d.ts +12 -9
  39. package/lib/cdk/jsii-project.js +22 -7
  40. package/lib/cdk8s/auto-discover.js +3 -6
  41. package/lib/cdk8s/cdk8s-app-py.js +7 -4
  42. package/lib/cdk8s/cdk8s-app-ts.js +43 -6
  43. package/lib/cdk8s/cdk8s-construct.js +44 -5
  44. package/lib/cdk8s/cdk8s-deps-py.js +2 -4
  45. package/lib/cdk8s/cdk8s-deps.js +50 -5
  46. package/lib/cdk8s/integration-test.js +2 -4
  47. package/lib/cdktf/cdktf-construct.js +36 -5
  48. package/lib/circleci/circleci.js +66 -44
  49. package/lib/cleanup.js +38 -5
  50. package/lib/cli/cmds/new.js +51 -20
  51. package/lib/cli/cmds/run-task.js +107 -0
  52. package/lib/cli/{synth.d.ts → cmds/synth.d.ts} +0 -5
  53. package/lib/cli/cmds/synth.js +90 -0
  54. package/lib/cli/index.js +47 -22
  55. package/lib/cli/macros.js +35 -2
  56. package/lib/{task-runtime.d.ts → cli/task-runtime.d.ts} +13 -2
  57. package/lib/cli/task-runtime.js +411 -0
  58. package/lib/cli/util.js +37 -4
  59. package/lib/component.js +3 -4
  60. package/lib/dependencies.js +43 -12
  61. package/lib/dev-env.js +10 -4
  62. package/lib/docker-compose/docker-compose-service.js +54 -4
  63. package/lib/docker-compose/docker-compose.js +8 -4
  64. package/lib/file.js +60 -5
  65. package/lib/gitattributes.js +7 -5
  66. package/lib/github/actions-provider.js +3 -7
  67. package/lib/github/auto-approve.js +3 -4
  68. package/lib/github/auto-merge.js +3 -5
  69. package/lib/github/auto-queue.js +36 -5
  70. package/lib/github/dependabot.js +13 -4
  71. package/lib/github/dependency-review.js +2 -4
  72. package/lib/github/github-credentials.js +37 -5
  73. package/lib/github/github-project.d.ts +1 -32
  74. package/lib/github/github-project.js +30 -8
  75. package/lib/github/github.d.ts +0 -9
  76. package/lib/github/github.js +27 -14
  77. package/lib/github/index.js +24 -2
  78. package/lib/github/merge-queue.js +3 -4
  79. package/lib/github/mergify.d.ts +0 -7
  80. package/lib/github/mergify.js +6 -13
  81. package/lib/github/pr-template.js +2 -4
  82. package/lib/github/pull-request-backport.js +4 -4
  83. package/lib/github/pull-request-lint.js +4 -4
  84. package/lib/github/stale.js +2 -4
  85. package/lib/github/task-workflow-job.js +20 -4
  86. package/lib/github/task-workflow.js +4 -4
  87. package/lib/github/workflow-actions.d.ts +0 -8
  88. package/lib/github/workflow-actions.js +2 -14
  89. package/lib/github/workflow-jobs.js +2 -4
  90. package/lib/github/workflow-steps.js +2 -4
  91. package/lib/github/workflows-model.d.ts +0 -8
  92. package/lib/github/workflows-model.js +1 -1
  93. package/lib/github/workflows.js +39 -6
  94. package/lib/gitlab/configuration-model.d.ts +0 -4
  95. package/lib/gitlab/configuration-model.js +1 -1
  96. package/lib/gitlab/configuration.js +125 -41
  97. package/lib/gitlab/gitlab-configuration.js +3 -5
  98. package/lib/gitlab/nested-configuration.js +3 -4
  99. package/lib/gitpod.js +11 -7
  100. package/lib/ignore-file.js +5 -4
  101. package/lib/index.d.ts +1 -2
  102. package/lib/index.js +38 -18
  103. package/lib/ini.js +36 -5
  104. package/lib/inventory.d.ts +32 -23
  105. package/lib/inventory.js +37 -4
  106. package/lib/java/java-project.js +26 -4
  107. package/lib/java/junit.js +2 -4
  108. package/lib/java/maven-compile.js +2 -4
  109. package/lib/java/maven-packaging.js +6 -4
  110. package/lib/java/maven-sample.js +2 -4
  111. package/lib/java/pom.js +45 -12
  112. package/lib/java/projenrc.js +10 -4
  113. package/lib/javascript/biome/biome.js +48 -6
  114. package/lib/javascript/bundler.d.ts +0 -8
  115. package/lib/javascript/bundler.js +48 -11
  116. package/lib/javascript/eslint.d.ts +0 -13
  117. package/lib/javascript/eslint.js +38 -37
  118. package/lib/javascript/index.js +24 -2
  119. package/lib/javascript/jest.d.ts +0 -20
  120. package/lib/javascript/jest.js +71 -15
  121. package/lib/javascript/license-checker.js +3 -4
  122. package/lib/javascript/node-package.d.ts +0 -28
  123. package/lib/javascript/node-package.js +136 -38
  124. package/lib/javascript/node-project.d.ts +5 -76
  125. package/lib/javascript/node-project.js +88 -81
  126. package/lib/javascript/npm-config.js +7 -9
  127. package/lib/javascript/prettier.js +16 -4
  128. package/lib/javascript/projenrc.js +3 -4
  129. package/lib/javascript/render-options.d.ts +2 -2
  130. package/lib/javascript/render-options.js +36 -5
  131. package/lib/javascript/typescript-config.js +45 -8
  132. package/lib/javascript/upgrade-dependencies.js +56 -36
  133. package/lib/javascript/util.js +35 -2
  134. package/lib/javascript/yarnrc.d.ts +1 -28
  135. package/lib/javascript/yarnrc.js +3 -45
  136. package/lib/json-patch.js +3 -4
  137. package/lib/json.js +4 -5
  138. package/lib/license.js +37 -5
  139. package/lib/logger.js +14 -11
  140. package/lib/logging.js +10 -7
  141. package/lib/makefile.js +7 -4
  142. package/lib/object-file.js +19 -4
  143. package/lib/project-build.js +26 -4
  144. package/lib/project-tree.js +3 -4
  145. package/lib/project.d.ts +0 -35
  146. package/lib/project.js +105 -58
  147. package/lib/projects.js +37 -6
  148. package/lib/projenrc-json.d.ts +0 -10
  149. package/lib/projenrc-json.js +4 -13
  150. package/lib/projenrc.js +2 -4
  151. package/lib/python/index.js +24 -2
  152. package/lib/python/pip.js +5 -4
  153. package/lib/python/poetry.js +63 -7
  154. package/lib/python/projenrc.js +10 -4
  155. package/lib/python/pyproject-toml-file.js +2 -4
  156. package/lib/python/pytest-sample.js +2 -4
  157. package/lib/python/pytest.d.ts +0 -12
  158. package/lib/python/pytest.js +3 -5
  159. package/lib/python/python-project.js +33 -10
  160. package/lib/python/python-sample.js +2 -4
  161. package/lib/python/requirements-file.js +4 -5
  162. package/lib/python/setuppy.d.ts +0 -8
  163. package/lib/python/setuppy.js +3 -4
  164. package/lib/python/setuptools.js +8 -4
  165. package/lib/python/uv.js +11 -4
  166. package/lib/python/venv.js +45 -6
  167. package/lib/readme.js +2 -4
  168. package/lib/release/bump-version.js +36 -3
  169. package/lib/release/bump-version.task.js +35 -2
  170. package/lib/release/commit-tag-version.js +39 -3
  171. package/lib/release/publisher.d.ts +0 -49
  172. package/lib/release/publisher.js +24 -22
  173. package/lib/release/release-trigger.js +33 -4
  174. package/lib/release/release.d.ts +0 -24
  175. package/lib/release/release.js +66 -31
  176. package/lib/release/tag-version.js +35 -2
  177. package/lib/release/update-changelog.js +36 -3
  178. package/lib/renovatebot.js +14 -4
  179. package/lib/run-projenrc-json.task.js +35 -2
  180. package/lib/run-task.cjs +12567 -271
  181. package/lib/sample-file.js +43 -9
  182. package/lib/smithy/smithy-build.js +46 -1
  183. package/lib/source-code.js +6 -5
  184. package/lib/task-runner.d.ts +25 -0
  185. package/lib/task-runner.js +92 -0
  186. package/lib/task.d.ts +0 -7
  187. package/lib/task.js +13 -13
  188. package/lib/tasks.d.ts +5 -9
  189. package/lib/tasks.js +64 -23
  190. package/lib/testing.js +2 -4
  191. package/lib/textfile.js +3 -4
  192. package/lib/toml.js +36 -5
  193. package/lib/typescript/projenrc-ts.js +8 -4
  194. package/lib/typescript/projenrc.js +6 -4
  195. package/lib/typescript/typescript-typedoc.js +2 -4
  196. package/lib/typescript/typescript.d.ts +0 -10
  197. package/lib/typescript/typescript.js +75 -29
  198. package/lib/util/synth.js +39 -6
  199. package/lib/util.js +38 -5
  200. package/lib/version.d.ts +0 -4
  201. package/lib/version.js +24 -10
  202. package/lib/vscode/devcontainer.js +11 -4
  203. package/lib/vscode/extensions.js +17 -18
  204. package/lib/vscode/launch-config.js +5 -6
  205. package/lib/vscode/settings.js +4 -4
  206. package/lib/vscode/vscode.js +5 -4
  207. package/lib/web/next.js +38 -8
  208. package/lib/web/postcss.js +5 -4
  209. package/lib/web/react.d.ts +0 -14
  210. package/lib/web/react.js +51 -25
  211. package/lib/web/tailwind.js +4 -4
  212. package/lib/xmlfile.js +2 -4
  213. package/lib/yaml.js +40 -5
  214. package/package.json +8 -9
  215. package/lib/cli/synth.js +0 -105
  216. package/lib/cli/tasks.js +0 -71
  217. package/lib/semver.d.ts +0 -34
  218. package/lib/semver.js +0 -56
  219. package/lib/task-runtime.js +0 -317
  220. /package/lib/cli/{tasks.d.ts → cmds/run-task.d.ts} +0 -0
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.ObjectFile = void 0;
5
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
@@ -10,6 +9,24 @@ const util_1 = require("./util");
10
9
  * Represents an Object file.
11
10
  */
12
11
  class ObjectFile extends file_1.FileBase {
12
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ObjectFile", version: "0.100.0" };
13
+ /**
14
+ * The output object. This object can be mutated until the project is
15
+ * synthesized.
16
+ */
17
+ obj;
18
+ /**
19
+ * An object to be merged on top of `obj` after the resolver is called
20
+ */
21
+ rawOverrides;
22
+ /**
23
+ * Indicates if empty objects and arrays are omitted from the output object.
24
+ */
25
+ omitEmpty;
26
+ /**
27
+ * patches to be applied to `obj` after the resolver is called
28
+ */
29
+ patchOperations;
13
30
  constructor(scope, filePath, options) {
14
31
  super(scope, filePath, options);
15
32
  this.obj = options.obj ?? {};
@@ -189,8 +206,6 @@ class ObjectFile extends file_1.FileBase {
189
206
  }
190
207
  }
191
208
  exports.ObjectFile = ObjectFile;
192
- _a = JSII_RTTI_SYMBOL_1;
193
- ObjectFile[_a] = { fqn: "projen.ObjectFile", version: "0.99.80" };
194
209
  /**
195
210
  * Split on periods while processing escape characters \
196
211
  */
@@ -213,4 +228,4 @@ function splitOnPeriods(x) {
213
228
  ret.reverse();
214
229
  return ret;
215
230
  }
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvb2JqZWN0LWZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxpQ0FBa0M7QUFDbEMsNkNBQXlDO0FBQ3pDLGlDQUFtQztBQTJCbkM7O0dBRUc7QUFDSCxNQUFzQixVQUFXLFNBQVEsZUFBUTtJQXNCL0MsWUFBWSxLQUFpQixFQUFFLFFBQWdCLEVBQUUsT0FBMEI7UUFDekUsS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFaEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDO1FBQzVDLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BaUNHO0lBQ0ksV0FBVyxDQUFDLElBQVksRUFBRSxLQUFVO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLElBQUksR0FBUSxJQUFJLENBQUMsWUFBWSxDQUFDO1FBRWxDLE9BQU8sS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4QixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFHLENBQUM7WUFFM0IsOERBQThEO1lBQzlELHNDQUFzQztZQUN0QyxNQUFNLFFBQVEsR0FDWixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSTtnQkFDakIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUTtnQkFDN0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENB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UyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3JFLENBQUM7O0FBek5ILGdDQTBOQzs7O0FBRUQ7O0dBRUc7QUFDSCxTQUFTLGNBQWMsQ0FBQyxDQUFTO0lBQy9CLCtFQUErRTtJQUMvRSxvREFBb0Q7SUFDcEQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNuQixDQUFDLEVBQUUsQ0FBQztRQUNOLENBQUM7YUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUN4QixHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xCLENBQUM7YUFBTSxDQUFDO1lBQ04sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQztJQUVELEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNkLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSUNvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgdHlwZSB7IEZpbGVCYXNlT3B0aW9ucywgSVJlc29sdmVyIH0gZnJvbSBcIi4vZmlsZVwiO1xuaW1wb3J0IHsgRmlsZUJhc2UgfSBmcm9tIFwiLi9maWxlXCI7XG5pbXBvcnQgeyBKc29uUGF0Y2ggfSBmcm9tIFwiLi9qc29uLXBhdGNoXCI7XG5pbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tIFwiLi91dGlsXCI7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYE9iamVjdEZpbGVgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9iamVjdEZpbGVPcHRpb25zIGV4dGVuZHMgRmlsZUJhc2VPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBvYmplY3QgdGhhdCB3aWxsIGJlIHNlcmlhbGl6ZWQuIFlvdSBjYW4gbW9kaWZ5IHRoZSBvYmplY3QncyBjb250ZW50c1xuICAgKiBiZWZvcmUgc3ludGhlc2lzLlxuICAgKlxuICAgKiBTZXJpYWxpemF0aW9uIG9mIHRoZSBvYmplY3QgaXMgc2ltaWxhciB0byBKU09OLnN0cmluZ2lmeSB3aXRoIGZldyBlbmhhbmNlbWVudHM6XG4gICAqIC0gdmFsdWVzIHRoYXQgYXJlIGZ1bmN0aW9ucyB3aWxsIGJlIGNhbGxlZCBkdXJpbmcgc3ludGhlc2lzIGFuZCB0aGUgcmVzdWx0IHdpbGwgYmUgc2VyaWFsaXplZCAtIHRoaXMgYWxsb3cgdG8gaGF2ZSBsYXp5IHZhbHVlcy5cbiAgICogLSBgU2V0YCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhcnJheVxuICAgKiAtIGBNYXBgIHdpbGwgYmUgY29udmVydGVkIHRvIGEgcGxhaW4gb2JqZWN0ICh7IGtleTogdmFsdWUsIC4uLiB9fSlcbiAgICogLSBgUmVnRXhwYCB3aXRob3V0IGZsYWdzIHdpbGwgYmUgY29udmVydGVkIHRvIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgc291cmNlXG4gICAqXG4gICAqICBAZGVmYXVsdCB7fSBhbiBlbXB0eSBvYmplY3QgKHVzZSBgZmlsZS5vYmpgIHRvIG11dGF0ZSkuXG4gICAqL1xuICByZWFkb25seSBvYmo/OiBhbnk7XG5cbiAgLyoqXG4gICAqIE9taXRzIGVtcHR5IG9iamVjdHMgYW5kIGFycmF5cy5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IG9taXRFbXB0eT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBPYmplY3QgZmlsZS5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE9iamVjdEZpbGUgZXh0ZW5kcyBGaWxlQmFzZSB7XG4gIC8qKlxuICAgKiBUaGUgb3V0cHV0IG9iamVjdC4gVGhpcyBvYmplY3QgY2FuIGJlIG11dGF0ZWQgdW50aWwgdGhlIHByb2plY3QgaXNcbiAgICogc3ludGhlc2l6ZWQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IG9iajogb2JqZWN0O1xuXG4gIC8qKlxuICAgKiBBbiBvYmplY3QgdG8gYmUgbWVyZ2VkIG9uIHRvcCBvZiBgb2JqYCBhZnRlciB0aGUgcmVzb2x2ZXIgaXMgY2FsbGVkXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHJhd092ZXJyaWRlczogb2JqZWN0O1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgZW1wdHkgb2JqZWN0cyBhbmQgYXJyYXlzIGFyZSBvbWl0dGVkIGZyb20gdGhlIG91dHB1dCBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgb21pdEVtcHR5OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBwYXRjaGVzIHRvIGJlIGFwcGxpZWQgdG8gYG9iamAgYWZ0ZXIgdGhlIHJlc29sdmVyIGlzIGNhbGxlZFxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBwYXRjaE9wZXJhdGlvbnM6IEFycmF5PEpzb25QYXRjaFtdPjtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogSUNvbnN0cnVjdCwgZmlsZVBhdGg6IHN0cmluZywgb3B0aW9uczogT2JqZWN0RmlsZU9wdGlvbnMpIHtcbiAgICBzdXBlcihzY29wZSwgZmlsZVBhdGgsIG9wdGlvbnMpO1xuXG4gICAgdGhpcy5vYmogPSBvcHRpb25zLm9iaiA/PyB7fTtcbiAgICB0aGlzLm9taXRFbXB0eSA9IG9wdGlvbnMub21pdEVtcHR5ID8/IGZhbHNlO1xuICAgIHRoaXMucmF3T3ZlcnJpZGVzID0ge307XG4gICAgdGhpcy5wYXRjaE9wZXJhdGlvbnMgPSBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGFuIG92ZXJyaWRlIHRvIHRoZSBzeW50aGVzaXplZCBvYmplY3QgZmlsZS5cbiAgICpcbiAgICogSWYgdGhlIG92ZXJyaWRlIGlzIG5lc3RlZCwgc2VwYXJhdGUgZWFjaCBuZXN0ZWQgbGV2ZWwgdXNpbmcgYSBkb3QgKC4pIGluIHRoZSBwYXRoIHBhcmFtZXRlci5cbiAgICogSWYgdGhlcmUgaXMgYW4gYXJyYXkgYXMgcGFydCBvZiB0aGUgbmVzdGluZywgc3BlY2lmeSB0aGUgaW5kZXggaW4gdGhlIHBhdGguXG4gICAqXG4gICAqIFRvIGluY2x1ZGUgYSBsaXRlcmFsIGAuYCBpbiB0aGUgcHJvcGVydHkgbmFtZSwgcHJlZml4IHdpdGggYSBgXFxgLiBJbiBtb3N0XG4gICAqIHByb2dyYW1taW5nIGxhbmd1YWdlcyB5b3Ugd2lsbCBuZWVkIHRvIHdyaXRlIHRoaXMgYXMgYFwiXFxcXC5cImAgYmVjYXVzZSB0aGVcbiAgICogYFxcYCBpdHNlbGYgd2lsbCBuZWVkIHRvIGJlIGVzY2FwZWQuXG4gICAqXG4gICAqIEZvciBleGFtcGxlLFxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIHByb2plY3QudHNjb25maWcuZmlsZS5hZGRPdmVycmlkZSgnY29tcGlsZXJPcHRpb25zLmFsd2F5c1N0cmljdCcsIHRydWUpO1xuICAgKiBwcm9qZWN0LnRzY29uZmlnLmZpbGUuYWRkT3ZlcnJpZGUoJ2NvbXBpbGVyT3B0aW9ucy5saWInLCBbJ2RvbScsICdkb20uaXRlcmFibGUnLCAnZXNuZXh0J10pO1xuICAgKiBgYGBcbiAgICogd291bGQgYWRkIHRoZSBvdmVycmlkZXNcbiAgICogYGBganNvblxuICAgKiBcImNvbXBpbGVyT3B0aW9uc1wiOiB7XG4gICAqICAgXCJhbHdheXNTdHJpY3RcIjogdHJ1ZSxcbiAgICogICBcImxpYlwiOiBbXG4gICAqICAgICBcImRvbVwiLFxuICAgKiAgICAgXCJkb20uaXRlcmFibGVcIixcbiAgICogICAgIFwiZXNuZXh0XCJcbiAgICogICBdXG4gICAqICAgLi4uXG4gICAqIH1cbiAgICogLi4uXG4gICAqIGBgYFxuICAgKlxuICAgKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSwgeW91IGNhbiB1c2UgZG90IG5vdGF0aW9uIHRvXG4gICAqICAgICAgICBvdmVycmlkZSB2YWx1ZXMgaW4gY29tcGxleCB0eXBlcy4gQW55IGludGVybWVkaWF0ZSBrZXlzXG4gICAqICAgICAgICB3aWxsIGJlIGNyZWF0ZWQgYXMgbmVlZGVkLlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUuIENvdWxkIGJlIHByaW1pdGl2ZSBvciBjb21wbGV4LlxuICAgKi9cbiAgcHVibGljIGFkZE92ZXJyaWRlKHBhdGg6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIGNvbnN0IHBhcnRzID0gc3BsaXRPblBlcmlvZHMocGF0aCk7XG4gICAgbGV0IGN1cnI6IGFueSA9IHRoaXMucmF3T3ZlcnJpZGVzO1xuXG4gICAgd2hpbGUgKHBhcnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnN0IGtleSA9IHBhcnRzLnNoaWZ0KCkhO1xuXG4gICAgICAvLyBpZiB3ZSBjYW4ndCByZWN1cnNlIGZ1cnRoZXIgb3IgdGhlIHByZXZpb3VzIHZhbHVlIGlzIG5vdCBhblxuICAgICAgLy8gb2JqZWN0IG92ZXJ3cml0ZSBpdCB3aXRoIGFuIG9iamVjdC5cbiAgICAgIGNvbnN0IGlzT2JqZWN0ID1cbiAgICAgICAgY3VycltrZXldICE9IG51bGwgJiZcbiAgICAgICAgdHlwZW9mIGN1cnJba2V5XSA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgICAhQXJyYXkuaXNBcnJheShjdXJyW2tleV0pO1xuICAgICAgaWYgKCFpc09iamVjdCkge1xuICAgICAgICBjdXJyW2tleV0gPSB7fTtcbiAgICAgIH1cblxuICAgICAgY3VyciA9IGN1cnJba2V5XTtcbiAgICB9XG5cbiAgICBjb25zdCBsYXN0S2V5ID0gcGFydHMuc2hpZnQoKSE7XG4gICAgY3VycltsYXN0S2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgdG8gYW4gYXJyYXkgaW4gdGhlIHN5bnRoZXNpemVkIG9iamVjdCBmaWxlLlxuICAgKlxuICAgKiBJZiB0aGUgYXJyYXkgaXMgbmVzdGVkLCBzZXBhcmF0ZSBlYWNoIG5lc3RlZCBsZXZlbCB1c2luZyBhIGRvdCAoLikgaW4gdGhlIHBhdGggcGFyYW1ldGVyLlxuICAgKiBJZiB0aGVyZSBpcyBhbiBhcnJheSBhcyBwYXJ0IG9mIHRoZSBuZXN0aW5nLCBzcGVjaWZ5IHRoZSBpbmRleCBpbiB0aGUgcGF0aC5cbiAgICpcbiAgICogVG8gaW5jbHVkZSBhIGxpdGVyYWwgYC5gIGluIHRoZSBwcm9wZXJ0eSBuYW1lLCBwcmVmaXggd2l0aCBhIGBcXGAuIEluIG1vc3RcbiAgICogcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzIHlvdSB3aWxsIG5lZWQgdG8gd3JpdGUgdGhpcyBhcyBgXCJcXFxcLlwiYCBiZWNhdXNlIHRoZVxuICAgKiBgXFxgIGl0c2VsZiB3aWxsIG5lZWQgdG8gYmUgZXNjYXBlZC5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUsIHdpdGggdGhlIGZvbGxvd2luZyBvYmplY3QgZmlsZVxuICAgKiBgYGBqc29uXG4gICAqIFwiY29tcGlsZXJPcHRpb25zXCI6IHtcbiAgICogICBcImV4Y2x1ZGVcIjogW1wibm9kZV9tb2R1bGVzXCJdLFxuICAgKiAgIFwibGliXCI6IFtcImVzMjAyMFwiXVxuICAgKiAgIC4uLlxuICAgKiB9XG4gICAqIC4uLlxuICAgKiBgYGBcbiAgICpcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBwcm9qZWN0LnRzY29uZmlnLmZpbGUuYWRkVG9BcnJheSgnY29tcGlsZXJPcHRpb25zLmV4Y2x1ZGUnLCAnY292ZXJhZ2UnKTtcbiAgICogcHJvamVjdC50c2NvbmZpZy5maWxlLmFkZFRvQXJyYXkoJ2NvbXBpbGVyT3B0aW9ucy5saWInLCAnZG9tJywgJ2RvbS5pdGVyYWJsZScsICdlc25leHQnKTtcbiAgICogYGBgXG4gICAqIHdvdWxkIHJlc3VsdCBpbiB0aGUgZm9sbG93aW5nIG9iamVjdCBmaWxlXG4gICAqIGBgYGpzb25cbiAgICogXCJjb21waWxlck9wdGlvbnNcIjoge1xuICAgKiAgIFwiZXhjbHVkZVwiOiBbXCJub2RlX21vZHVsZXNcIiwgXCJjb3ZlcmFnZVwiXSxcbiAgICogICBcImxpYlwiOiBbXCJlczIwMjBcIiwgXCJkb21cIiwgXCJkb20uaXRlcmFibGVcIiwgXCJlc25leHRcIl1cbiAgICogICAuLi5cbiAgICogfVxuICAgKiAuLi5cbiAgICogYGBgXG4gICAqXG4gICAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggb2YgdGhlIHByb3BlcnR5LCB5b3UgY2FuIHVzZSBkb3Qgbm90YXRpb24gdG9cbiAgICogICAgICAgIGF0dCB0byBhcnJheXMgaW4gY29tcGxleCB0eXBlcy4gQW55IGludGVybWVkaWF0ZSBrZXlzXG4gICAqICAgICAgICB3aWxsIGJlIGNyZWF0ZWQgYXMgbmVlZGVkLlxuICAgKiBAcGFyYW0gdmFsdWVzIC0gVGhlIHZhbHVlcyB0byBhZGQuIENvdWxkIGJlIHByaW1pdGl2ZSBvciBjb21wbGV4LlxuICAgKi9cbiAgcHVibGljIGFkZFRvQXJyYXkocGF0aDogc3RyaW5nLCAuLi52YWx1ZXM6IGFueSkge1xuICAgIGNvbnN0IHBhcnRzID0gc3BsaXRPblBlcmlvZHMocGF0aCk7XG4gICAgbGV0IGN1cnI6IGFueSA9IHRoaXMucmF3T3ZlcnJpZGVzO1xuXG4gICAgd2hpbGUgKHBhcnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnN0IGtleSA9IHBhcnRzLnNoaWZ0KCkhO1xuXG4gICAgICAvLyBpZiB3ZSBjYW4ndCByZWN1cnNlIGZ1cnRoZXIgb3IgdGhlIHByZXZpb3VzIHZhbHVlIGlzIG5vdCBhblxuICAgICAgLy8gb2JqZWN0IG92ZXJ3cml0ZSBpdCB3aXRoIGFuIG9iamVjdC5cbiAgICAgIGNvbnN0IGlzT2JqZWN0ID1cbiAgICAgICAgY3VycltrZXldICE9IG51bGwgJiZcbiAgICAgICAgdHlwZW9mIGN1cnJba2V5XSA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgICAhQXJyYXkuaXNBcnJheShjdXJyW2tleV0pO1xuICAgICAgaWYgKCFpc09iamVjdCkge1xuICAgICAgICBjdXJyW2tleV0gPSB7fTtcbiAgICAgIH1cblxuICAgICAgY3VyciA9IGN1cnJba2V5XTtcbiAgICB9XG5cbiAgICBjb25zdCBsYXN0S2V5ID0gcGFydHMuc2hpZnQoKSE7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY3VycltsYXN0S2V5XSkpIHtcbiAgICAgIGN1cnJbbGFzdEtleV0ucHVzaCguLi52YWx1ZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjdXJyW2xhc3RLZXldID0ge1xuICAgICAgICBfXyRBUFBFTkQ6IFsuLi4oY3VycltsYXN0S2V5XT8uX18kQVBQRU5EID8/IFtdKSwgLi4udmFsdWVzXSxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFwcGxpZXMgYW4gUkZDIDY5MDIgSlNPTi1wYXRjaCB0byB0aGUgc3ludGhlc2l6ZWQgb2JqZWN0IGZpbGUuXG4gICAqIFNlZSBodHRwczovL2RhdGF0cmFja2VyLmlldGYub3JnL2RvYy9odG1sL3JmYzY5MDIgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gICAqXG4gICAqIEZvciBleGFtcGxlLCB3aXRoIHRoZSBmb2xsb3dpbmcgb2JqZWN0IGZpbGVcbiAgICogYGBganNvblxuICAgKiBcImNvbXBpbGVyT3B0aW9uc1wiOiB7XG4gICAqICAgXCJleGNsdWRlXCI6IFtcIm5vZGVfbW9kdWxlc1wiXSxcbiAgICogICBcImxpYlwiOiBbXCJlczIwMjBcIl1cbiAgICogICAuLi5cbiAgICogfVxuICAgKiAuLi5cbiAgICogYGBgXG4gICAqXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogcHJvamVjdC50c2NvbmZpZy5maWxlLnBhdGNoKEpzb25QYXRjaC5hZGQoXCIvY29tcGlsZXJPcHRpb25zL2V4Y2x1ZGUvLVwiLCBcImNvdmVyYWdlXCIpKTtcbiAgICogcHJvamVjdC50c2NvbmZpZy5maWxlLnBhdGNoKEpzb25QYXRjaC5yZXBsYWNlKFwiL2NvbXBpbGVyT3B0aW9ucy9saWJcIiwgW1wiZG9tXCIsIFwiZG9tLml0ZXJhYmxlXCIsIFwiZXNuZXh0XCJdKSk7XG4gICAqIGBgYFxuICAgKiB3b3VsZCByZXN1bHQgaW4gdGhlIGZvbGxvd2luZyBvYmplY3QgZmlsZVxuICAgKiBgYGBqc29uXG4gICAqIFwiY29tcGlsZXJPcHRpb25zXCI6IHtcbiAgICogICBcImV4Y2x1ZGVcIjogW1wibm9kZV9tb2R1bGVzXCIsIFwiY292ZXJhZ2VcIl0sXG4gICAqICAgXCJsaWJcIjogW1wiZG9tXCIsIFwiZG9tLml0ZXJhYmxlXCIsIFwiZXNuZXh0XCJdXG4gICAqICAgLi4uXG4gICAqIH1cbiAgICogLi4uXG4gICAqIGBgYFxuICAgKlxuICAgKiBAcGFyYW0gcGF0Y2hlcyAtIFRoZSBwYXRjaCBvcGVyYXRpb25zIHRvIGFwcGx5XG4gICAqL1xuICBwdWJsaWMgcGF0Y2goLi4ucGF0Y2hlczogSnNvblBhdGNoW10pIHtcbiAgICB0aGlzLnBhdGNoT3BlcmF0aW9ucy5wdXNoKHBhdGNoZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN5bnRhY3RpYyBzdWdhciBmb3IgYGFkZE92ZXJyaWRlKHBhdGgsIHVuZGVmaW5lZClgLlxuICAgKiBAcGFyYW0gcGF0aCBUaGUgcGF0aCBvZiB0aGUgdmFsdWUgdG8gZGVsZXRlXG4gICAqL1xuICBwdWJsaWMgYWRkRGVsZXRpb25PdmVycmlkZShwYXRoOiBzdHJpbmcpIHtcbiAgICB0aGlzLmFkZE92ZXJyaWRlKHBhdGgsIHVuZGVmaW5lZCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUNvbnRlbnQocmVzb2x2ZXI6IElSZXNvbHZlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3Qgb2JqID0gdGhpcy5vYmo7XG5cbiAgICBjb25zdCByZXNvbHZlZCA9XG4gICAgICByZXNvbHZlci5yZXNvbHZlKG9iaiwge1xuICAgICAgICBvbWl0RW1wdHk6IHRoaXMub21pdEVtcHR5LFxuICAgICAgfSkgPz8gdW5kZWZpbmVkO1xuXG4gICAgaWYgKHJlc29sdmVkKSB7XG4gICAgICBkZWVwTWVyZ2UoW3Jlc29sdmVkLCB0aGlzLnJhd092ZXJyaWRlc10sIHsgZGVzdHJ1Y3RpdmU6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgbGV0IHBhdGNoZWQgPSByZXNvbHZlZDtcbiAgICBmb3IgKGNvbnN0IG9wZXJhdGlvbiBvZiB0aGlzLnBhdGNoT3BlcmF0aW9ucykge1xuICAgICAgcGF0Y2hlZCA9IEpzb25QYXRjaC5hcHBseShwYXRjaGVkLCAuLi5vcGVyYXRpb24pO1xuICAgIH1cbiAgICByZXR1cm4gcGF0Y2hlZCA/IEpTT04uc3RyaW5naWZ5KHBhdGNoZWQsIHVuZGVmaW5lZCwgMikgOiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBTcGxpdCBvbiBwZXJpb2RzIHdoaWxlIHByb2Nlc3NpbmcgZXNjYXBlIGNoYXJhY3RlcnMgXFxcbiAqL1xuZnVuY3Rpb24gc3BsaXRPblBlcmlvZHMoeDogc3RyaW5nKTogc3RyaW5nW10ge1xuICAvLyBCdWlsZCB0aGlzIGxpc3QgaW4gcmV2ZXJzZSBiZWNhdXNlIGl0J3MgbW9yZSBjb252ZW5pZW50IHRvIGdldCB0aGUgXCJjdXJyZW50XCJcbiAgLy8gaXRlbSBieSBkb2luZyByZXRbMF0gdGhhbiBieSByZXRbcmV0Lmxlbmd0aCAtIDFdLlxuICBjb25zdCByZXQgPSBbXCJcIl07XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgeC5sZW5ndGg7IGkrKykge1xuICAgIGlmICh4W2ldID09PSBcIlxcXFxcIiAmJiBpICsgMSA8IHgubGVuZ3RoKSB7XG4gICAgICByZXRbMF0gKz0geFtpICsgMV07XG4gICAgICBpKys7XG4gICAgfSBlbHNlIGlmICh4W2ldID09PSBcIi5cIikge1xuICAgICAgcmV0LnVuc2hpZnQoXCJcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldFswXSArPSB4W2ldO1xuICAgIH1cbiAgfVxuXG4gIHJldC5yZXZlcnNlKCk7XG4gIHJldHVybiByZXQ7XG59XG4iXX0=
231
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvb2JqZWN0LWZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUVBLGlDQUFrQztBQUNsQyw2Q0FBeUM7QUFDekMsaUNBQW1DO0FBMkJuQzs7R0FFRztBQUNILE1BQXNCLFVBQVcsU0FBUSxlQUFROztJQUMvQzs7O09BR0c7SUFDYyxHQUFHLENBQVM7SUFFN0I7O09BRUc7SUFDYyxZQUFZLENBQVM7SUFFdEM7O09BRUc7SUFDYSxTQUFTLENBQVU7SUFFbkM7O09BRUc7SUFDYyxlQUFlLENBQXFCO0lBRXJELFlBQVksS0FBaUIsRUFBRSxRQUFnQixFQUFFLE9BQTBCO1FBQ3pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRWhDLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQztRQUM1QyxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWlDRztJQUNJLFdBQVcsQ0FBQyxJQUFZLEVBQUUsS0FBVTtRQUN6QyxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsSUFBSSxJQUFJLEdBQVEsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUVsQyxPQUFPLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDeEIsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRyxDQUFDO1lBRTNCLDhEQUE4RDtZQUM5RCxzQ0FBc0M7WUFDdEMsTUFBTSxRQUFRLEdBQ1osSUFBSSxDQUFDLEdB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TyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB0eXBlIHsgRmlsZUJhc2VPcHRpb25zLCBJUmVzb2x2ZXIgfSBmcm9tIFwiLi9maWxlXCI7XG5pbXBvcnQgeyBGaWxlQmFzZSB9IGZyb20gXCIuL2ZpbGVcIjtcbmltcG9ydCB7IEpzb25QYXRjaCB9IGZyb20gXCIuL2pzb24tcGF0Y2hcIjtcbmltcG9ydCB7IGRlZXBNZXJnZSB9IGZyb20gXCIuL3V0aWxcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBgT2JqZWN0RmlsZWAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2JqZWN0RmlsZU9wdGlvbnMgZXh0ZW5kcyBGaWxlQmFzZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG9iamVjdCB0aGF0IHdpbGwgYmUgc2VyaWFsaXplZC4gWW91IGNhbiBtb2RpZnkgdGhlIG9iamVjdCdzIGNvbnRlbnRzXG4gICAqIGJlZm9yZSBzeW50aGVzaXMuXG4gICAqXG4gICAqIFNlcmlhbGl6YXRpb24gb2YgdGhlIG9iamVjdCBpcyBzaW1pbGFyIHRvIEpTT04uc3RyaW5naWZ5IHdpdGggZmV3IGVuaGFuY2VtZW50czpcbiAgICogLSB2YWx1ZXMgdGhhdCBhcmUgZnVuY3Rpb25zIHdpbGwgYmUgY2FsbGVkIGR1cmluZyBzeW50aGVzaXMgYW5kIHRoZSByZXN1bHQgd2lsbCBiZSBzZXJpYWxpemVkIC0gdGhpcyBhbGxvdyB0byBoYXZlIGxhenkgdmFsdWVzLlxuICAgKiAtIGBTZXRgIHdpbGwgYmUgY29udmVydGVkIHRvIGFycmF5XG4gICAqIC0gYE1hcGAgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYSBwbGFpbiBvYmplY3QgKHsga2V5OiB2YWx1ZSwgLi4uIH19KVxuICAgKiAtIGBSZWdFeHBgIHdpdGhvdXQgZmxhZ3Mgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBzb3VyY2VcbiAgICpcbiAgICogIEBkZWZhdWx0IHt9IGFuIGVtcHR5IG9iamVjdCAodXNlIGBmaWxlLm9iamAgdG8gbXV0YXRlKS5cbiAgICovXG4gIHJlYWRvbmx5IG9iaj86IGFueTtcblxuICAvKipcbiAgICogT21pdHMgZW1wdHkgb2JqZWN0cyBhbmQgYXJyYXlzLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgb21pdEVtcHR5PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIE9iamVjdCBmaWxlLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgT2JqZWN0RmlsZSBleHRlbmRzIEZpbGVCYXNlIHtcbiAgLyoqXG4gICAqIFRoZSBvdXRwdXQgb2JqZWN0LiBUaGlzIG9iamVjdCBjYW4gYmUgbXV0YXRlZCB1bnRpbCB0aGUgcHJvamVjdCBpc1xuICAgKiBzeW50aGVzaXplZC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgb2JqOiBvYmplY3Q7XG5cbiAgLyoqXG4gICAqIEFuIG9iamVjdCB0byBiZSBtZXJnZWQgb24gdG9wIG9mIGBvYmpgIGFmdGVyIHRoZSByZXNvbHZlciBpcyBjYWxsZWRcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgcmF3T3ZlcnJpZGVzOiBvYmplY3Q7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiBlbXB0eSBvYmplY3RzIGFuZCBhcnJheXMgYXJlIG9taXR0ZWQgZnJvbSB0aGUgb3V0cHV0IG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBvbWl0RW1wdHk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIHBhdGNoZXMgdG8gYmUgYXBwbGllZCB0byBgb2JqYCBhZnRlciB0aGUgcmVzb2x2ZXIgaXMgY2FsbGVkXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHBhdGNoT3BlcmF0aW9uczogQXJyYXk8SnNvblBhdGNoW10+O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBJQ29uc3RydWN0LCBmaWxlUGF0aDogc3RyaW5nLCBvcHRpb25zOiBPYmplY3RGaWxlT3B0aW9ucykge1xuICAgIHN1cGVyKHNjb3BlLCBmaWxlUGF0aCwgb3B0aW9ucyk7XG5cbiAgICB0aGlzLm9iaiA9IG9wdGlvbnMub2JqID8/IHt9O1xuICAgIHRoaXMub21pdEVtcHR5ID0gb3B0aW9ucy5vbWl0RW1wdHkgPz8gZmFsc2U7XG4gICAgdGhpcy5yYXdPdmVycmlkZXMgPSB7fTtcbiAgICB0aGlzLnBhdGNoT3BlcmF0aW9ucyA9IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4gb3ZlcnJpZGUgdG8gdGhlIHN5bnRoZXNpemVkIG9iamVjdCBmaWxlLlxuICAgKlxuICAgKiBJZiB0aGUgb3ZlcnJpZGUgaXMgbmVzdGVkLCBzZXBhcmF0ZSBlYWNoIG5lc3RlZCBsZXZlbCB1c2luZyBhIGRvdCAoLikgaW4gdGhlIHBhdGggcGFyYW1ldGVyLlxuICAgKiBJZiB0aGVyZSBpcyBhbiBhcnJheSBhcyBwYXJ0IG9mIHRoZSBuZXN0aW5nLCBzcGVjaWZ5IHRoZSBpbmRleCBpbiB0aGUgcGF0aC5cbiAgICpcbiAgICogVG8gaW5jbHVkZSBhIGxpdGVyYWwgYC5gIGluIHRoZSBwcm9wZXJ0eSBuYW1lLCBwcmVmaXggd2l0aCBhIGBcXGAuIEluIG1vc3RcbiAgICogcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzIHlvdSB3aWxsIG5lZWQgdG8gd3JpdGUgdGhpcyBhcyBgXCJcXFxcLlwiYCBiZWNhdXNlIHRoZVxuICAgKiBgXFxgIGl0c2VsZiB3aWxsIG5lZWQgdG8gYmUgZXNjYXBlZC5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUsXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogcHJvamVjdC50c2NvbmZpZy5maWxlLmFkZE92ZXJyaWRlKCdjb21waWxlck9wdGlvbnMuYWx3YXlzU3RyaWN0JywgdHJ1ZSk7XG4gICAqIHByb2plY3QudHNjb25maWcuZmlsZS5hZGRPdmVycmlkZSgnY29tcGlsZXJPcHRpb25zLmxpYicsIFsnZG9tJywgJ2RvbS5pdGVyYWJsZScsICdlc25leHQnXSk7XG4gICAqIGBgYFxuICAgKiB3b3VsZCBhZGQgdGhlIG92ZXJyaWRlc1xuICAgKiBgYGBqc29uXG4gICAqIFwiY29tcGlsZXJPcHRpb25zXCI6IHtcbiAgICogICBcImFsd2F5c1N0cmljdFwiOiB0cnVlLFxuICAgKiAgIFwibGliXCI6IFtcbiAgICogICAgIFwiZG9tXCIsXG4gICAqICAgICBcImRvbS5pdGVyYWJsZVwiLFxuICAgKiAgICAgXCJlc25leHRcIlxuICAgKiAgIF1cbiAgICogICAuLi5cbiAgICogfVxuICAgKiAuLi5cbiAgICogYGBgXG4gICAqXG4gICAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggb2YgdGhlIHByb3BlcnR5LCB5b3UgY2FuIHVzZSBkb3Qgbm90YXRpb24gdG9cbiAgICogICAgICAgIG92ZXJyaWRlIHZhbHVlcyBpbiBjb21wbGV4IHR5cGVzLiBBbnkgaW50ZXJtZWRpYXRlIGtleXNcbiAgICogICAgICAgIHdpbGwgYmUgY3JlYXRlZCBhcyBuZWVkZWQuXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZS4gQ291bGQgYmUgcHJpbWl0aXZlIG9yIGNvbXBsZXguXG4gICAqL1xuICBwdWJsaWMgYWRkT3ZlcnJpZGUocGF0aDogc3RyaW5nLCB2YWx1ZTogYW55KSB7XG4gICAgY29uc3QgcGFydHMgPSBzcGxpdE9uUGVyaW9kcyhwYXRoKTtcbiAgICBsZXQgY3VycjogYW55ID0gdGhpcy5yYXdPdmVycmlkZXM7XG5cbiAgICB3aGlsZSAocGFydHMubGVuZ3RoID4gMSkge1xuICAgICAgY29uc3Qga2V5ID0gcGFydHMuc2hpZnQoKSE7XG5cbiAgICAgIC8vIGlmIHdlIGNhbid0IHJlY3Vyc2UgZnVydGhlciBvciB0aGUgcHJldmlvdXMgdmFsdWUgaXMgbm90IGFuXG4gICAgICAvLyBvYmplY3Qgb3ZlcndyaXRlIGl0IHdpdGggYW4gb2JqZWN0LlxuICAgICAgY29uc3QgaXNPYmplY3QgPVxuICAgICAgICBjdXJyW2tleV0gIT0gbnVsbCAmJlxuICAgICAgICB0eXBlb2YgY3VycltrZXldID09PSBcIm9iamVjdFwiICYmXG4gICAgICAgICFBcnJheS5pc0FycmF5KGN1cnJba2V5XSk7XG4gICAgICBpZiAoIWlzT2JqZWN0KSB7XG4gICAgICAgIGN1cnJba2V5XSA9IHt9O1xuICAgICAgfVxuXG4gICAgICBjdXJyID0gY3VycltrZXldO1xuICAgIH1cblxuICAgIGNvbnN0IGxhc3RLZXkgPSBwYXJ0cy5zaGlmdCgpITtcbiAgICBjdXJyW2xhc3RLZXldID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyB0byBhbiBhcnJheSBpbiB0aGUgc3ludGhlc2l6ZWQgb2JqZWN0IGZpbGUuXG4gICAqXG4gICAqIElmIHRoZSBhcnJheSBpcyBuZXN0ZWQsIHNlcGFyYXRlIGVhY2ggbmVzdGVkIGxldmVsIHVzaW5nIGEgZG90ICguKSBpbiB0aGUgcGF0aCBwYXJhbWV0ZXIuXG4gICAqIElmIHRoZXJlIGlzIGFuIGFycmF5IGFzIHBhcnQgb2YgdGhlIG5lc3RpbmcsIHNwZWNpZnkgdGhlIGluZGV4IGluIHRoZSBwYXRoLlxuICAgKlxuICAgKiBUbyBpbmNsdWRlIGEgbGl0ZXJhbCBgLmAgaW4gdGhlIHByb3BlcnR5IG5hbWUsIHByZWZpeCB3aXRoIGEgYFxcYC4gSW4gbW9zdFxuICAgKiBwcm9ncmFtbWluZyBsYW5ndWFnZXMgeW91IHdpbGwgbmVlZCB0byB3cml0ZSB0aGlzIGFzIGBcIlxcXFwuXCJgIGJlY2F1c2UgdGhlXG4gICAqIGBcXGAgaXRzZWxmIHdpbGwgbmVlZCB0byBiZSBlc2NhcGVkLlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZSwgd2l0aCB0aGUgZm9sbG93aW5nIG9iamVjdCBmaWxlXG4gICAqIGBgYGpzb25cbiAgICogXCJjb21waWxlck9wdGlvbnNcIjoge1xuICAgKiAgIFwiZXhjbHVkZVwiOiBbXCJub2RlX21vZHVsZXNcIl0sXG4gICAqICAgXCJsaWJcIjogW1wiZXMyMDIwXCJdXG4gICAqICAgLi4uXG4gICAqIH1cbiAgICogLi4uXG4gICAqIGBgYFxuICAgKlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIHByb2plY3QudHNjb25maWcuZmlsZS5hZGRUb0FycmF5KCdjb21waWxlck9wdGlvbnMuZXhjbHVkZScsICdjb3ZlcmFnZScpO1xuICAgKiBwcm9qZWN0LnRzY29uZmlnLmZpbGUuYWRkVG9BcnJheSgnY29tcGlsZXJPcHRpb25zLmxpYicsICdkb20nLCAnZG9tLml0ZXJhYmxlJywgJ2VzbmV4dCcpO1xuICAgKiBgYGBcbiAgICogd291bGQgcmVzdWx0IGluIHRoZSBmb2xsb3dpbmcgb2JqZWN0IGZpbGVcbiAgICogYGBganNvblxuICAgKiBcImNvbXBpbGVyT3B0aW9uc1wiOiB7XG4gICAqICAgXCJleGNsdWRlXCI6IFtcIm5vZGVfbW9kdWxlc1wiLCBcImNvdmVyYWdlXCJdLFxuICAgKiAgIFwibGliXCI6IFtcImVzMjAyMFwiLCBcImRvbVwiLCBcImRvbS5pdGVyYWJsZVwiLCBcImVzbmV4dFwiXVxuICAgKiAgIC4uLlxuICAgKiB9XG4gICAqIC4uLlxuICAgKiBgYGBcbiAgICpcbiAgICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgcHJvcGVydHksIHlvdSBjYW4gdXNlIGRvdCBub3RhdGlvbiB0b1xuICAgKiAgICAgICAgYXR0IHRvIGFycmF5cyBpbiBjb21wbGV4IHR5cGVzLiBBbnkgaW50ZXJtZWRpYXRlIGtleXNcbiAgICogICAgICAgIHdpbGwgYmUgY3JlYXRlZCBhcyBuZWVkZWQuXG4gICAqIEBwYXJhbSB2YWx1ZXMgLSBUaGUgdmFsdWVzIHRvIGFkZC4gQ291bGQgYmUgcHJpbWl0aXZlIG9yIGNvbXBsZXguXG4gICAqL1xuICBwdWJsaWMgYWRkVG9BcnJheShwYXRoOiBzdHJpbmcsIC4uLnZhbHVlczogYW55KSB7XG4gICAgY29uc3QgcGFydHMgPSBzcGxpdE9uUGVyaW9kcyhwYXRoKTtcbiAgICBsZXQgY3VycjogYW55ID0gdGhpcy5yYXdPdmVycmlkZXM7XG5cbiAgICB3aGlsZSAocGFydHMubGVuZ3RoID4gMSkge1xuICAgICAgY29uc3Qga2V5ID0gcGFydHMuc2hpZnQoKSE7XG5cbiAgICAgIC8vIGlmIHdlIGNhbid0IHJlY3Vyc2UgZnVydGhlciBvciB0aGUgcHJldmlvdXMgdmFsdWUgaXMgbm90IGFuXG4gICAgICAvLyBvYmplY3Qgb3ZlcndyaXRlIGl0IHdpdGggYW4gb2JqZWN0LlxuICAgICAgY29uc3QgaXNPYmplY3QgPVxuICAgICAgICBjdXJyW2tleV0gIT0gbnVsbCAmJlxuICAgICAgICB0eXBlb2YgY3VycltrZXldID09PSBcIm9iamVjdFwiICYmXG4gICAgICAgICFBcnJheS5pc0FycmF5KGN1cnJba2V5XSk7XG4gICAgICBpZiAoIWlzT2JqZWN0KSB7XG4gICAgICAgIGN1cnJba2V5XSA9IHt9O1xuICAgICAgfVxuXG4gICAgICBjdXJyID0gY3VycltrZXldO1xuICAgIH1cblxuICAgIGNvbnN0IGxhc3RLZXkgPSBwYXJ0cy5zaGlmdCgpITtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShjdXJyW2xhc3RLZXldKSkge1xuICAgICAgY3VycltsYXN0S2V5XS5wdXNoKC4uLnZhbHVlcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGN1cnJbbGFzdEtleV0gPSB7XG4gICAgICAgIF9fJEFQUEVORDogWy4uLihjdXJyW2xhc3RLZXldPy5fXyRBUFBFTkQgPz8gW10pLCAuLi52YWx1ZXNdLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQXBwbGllcyBhbiBSRkMgNjkwMiBKU09OLXBhdGNoIHRvIHRoZSBzeW50aGVzaXplZCBvYmplY3QgZmlsZS5cbiAgICogU2VlIGh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZG9jL2h0bWwvcmZjNjkwMiBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUsIHdpdGggdGhlIGZvbGxvd2luZyBvYmplY3QgZmlsZVxuICAgKiBgYGBqc29uXG4gICAqIFwiY29tcGlsZXJPcHRpb25zXCI6IHtcbiAgICogICBcImV4Y2x1ZGVcIjogW1wibm9kZV9tb2R1bGVzXCJdLFxuICAgKiAgIFwibGliXCI6IFtcImVzMjAyMFwiXVxuICAgKiAgIC4uLlxuICAgKiB9XG4gICAqIC4uLlxuICAgKiBgYGBcbiAgICpcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBwcm9qZWN0LnRzY29uZmlnLmZpbGUucGF0Y2goSnNvblBhdGNoLmFkZChcIi9jb21waWxlck9wdGlvbnMvZXhjbHVkZS8tXCIsIFwiY292ZXJhZ2VcIikpO1xuICAgKiBwcm9qZWN0LnRzY29uZmlnLmZpbGUucGF0Y2goSnNvblBhdGNoLnJlcGxhY2UoXCIvY29tcGlsZXJPcHRpb25zL2xpYlwiLCBbXCJkb21cIiwgXCJkb20uaXRlcmFibGVcIiwgXCJlc25leHRcIl0pKTtcbiAgICogYGBgXG4gICAqIHdvdWxkIHJlc3VsdCBpbiB0aGUgZm9sbG93aW5nIG9iamVjdCBmaWxlXG4gICAqIGBgYGpzb25cbiAgICogXCJjb21waWxlck9wdGlvbnNcIjoge1xuICAgKiAgIFwiZXhjbHVkZVwiOiBbXCJub2RlX21vZHVsZXNcIiwgXCJjb3ZlcmFnZVwiXSxcbiAgICogICBcImxpYlwiOiBbXCJkb21cIiwgXCJkb20uaXRlcmFibGVcIiwgXCJlc25leHRcIl1cbiAgICogICAuLi5cbiAgICogfVxuICAgKiAuLi5cbiAgICogYGBgXG4gICAqXG4gICAqIEBwYXJhbSBwYXRjaGVzIC0gVGhlIHBhdGNoIG9wZXJhdGlvbnMgdG8gYXBwbHlcbiAgICovXG4gIHB1YmxpYyBwYXRjaCguLi5wYXRjaGVzOiBKc29uUGF0Y2hbXSkge1xuICAgIHRoaXMucGF0Y2hPcGVyYXRpb25zLnB1c2gocGF0Y2hlcyk7XG4gIH1cblxuICAvKipcbiAgICogU3ludGFjdGljIHN1Z2FyIGZvciBgYWRkT3ZlcnJpZGUocGF0aCwgdW5kZWZpbmVkKWAuXG4gICAqIEBwYXJhbSBwYXRoIFRoZSBwYXRoIG9mIHRoZSB2YWx1ZSB0byBkZWxldGVcbiAgICovXG4gIHB1YmxpYyBhZGREZWxldGlvbk92ZXJyaWRlKHBhdGg6IHN0cmluZykge1xuICAgIHRoaXMuYWRkT3ZlcnJpZGUocGF0aCwgdW5kZWZpbmVkKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQ29udGVudChyZXNvbHZlcjogSVJlc29sdmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBvYmogPSB0aGlzLm9iajtcblxuICAgIGNvbnN0IHJlc29sdmVkID1cbiAgICAgIHJlc29sdmVyLnJlc29sdmUob2JqLCB7XG4gICAgICAgIG9taXRFbXB0eTogdGhpcy5vbWl0RW1wdHksXG4gICAgICB9KSA/PyB1bmRlZmluZWQ7XG5cbiAgICBpZiAocmVzb2x2ZWQpIHtcbiAgICAgIGRlZXBNZXJnZShbcmVzb2x2ZWQsIHRoaXMucmF3T3ZlcnJpZGVzXSwgeyBkZXN0cnVjdGl2ZTogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBsZXQgcGF0Y2hlZCA9IHJlc29sdmVkO1xuICAgIGZvciAoY29uc3Qgb3BlcmF0aW9uIG9mIHRoaXMucGF0Y2hPcGVyYXRpb25zKSB7XG4gICAgICBwYXRjaGVkID0gSnNvblBhdGNoLmFwcGx5KHBhdGNoZWQsIC4uLm9wZXJhdGlvbik7XG4gICAgfVxuICAgIHJldHVybiBwYXRjaGVkID8gSlNPTi5zdHJpbmdpZnkocGF0Y2hlZCwgdW5kZWZpbmVkLCAyKSA6IHVuZGVmaW5lZDtcbiAgfVxufVxuXG4vKipcbiAqIFNwbGl0IG9uIHBlcmlvZHMgd2hpbGUgcHJvY2Vzc2luZyBlc2NhcGUgY2hhcmFjdGVycyBcXFxuICovXG5mdW5jdGlvbiBzcGxpdE9uUGVyaW9kcyh4OiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIC8vIEJ1aWxkIHRoaXMgbGlzdCBpbiByZXZlcnNlIGJlY2F1c2UgaXQncyBtb3JlIGNvbnZlbmllbnQgdG8gZ2V0IHRoZSBcImN1cnJlbnRcIlxuICAvLyBpdGVtIGJ5IGRvaW5nIHJldFswXSB0aGFuIGJ5IHJldFtyZXQubGVuZ3RoIC0gMV0uXG4gIGNvbnN0IHJldCA9IFtcIlwiXTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCB4Lmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKHhbaV0gPT09IFwiXFxcXFwiICYmIGkgKyAxIDwgeC5sZW5ndGgpIHtcbiAgICAgIHJldFswXSArPSB4W2kgKyAxXTtcbiAgICAgIGkrKztcbiAgICB9IGVsc2UgaWYgKHhbaV0gPT09IFwiLlwiKSB7XG4gICAgICByZXQudW5zaGlmdChcIlwiKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0WzBdICs9IHhbaV07XG4gICAgfVxuICB9XG5cbiAgcmV0LnJldmVyc2UoKTtcbiAgcmV0dXJuIHJldDtcbn1cbiJdfQ==
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.ProjectBuild = void 0;
5
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
@@ -16,6 +15,31 @@ const component_1 = require("./component");
16
15
  * 6. package
17
16
  */
18
17
  class ProjectBuild extends component_1.Component {
18
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ProjectBuild", version: "0.100.0" };
19
+ /**
20
+ * The task responsible for a full release build.
21
+ */
22
+ buildTask;
23
+ /**
24
+ * Pre-compile task.
25
+ */
26
+ preCompileTask;
27
+ /**
28
+ * Compiles the code. By default for node.js projects this task is empty.
29
+ */
30
+ compileTask;
31
+ /**
32
+ * Post-compile task.
33
+ */
34
+ postCompileTask;
35
+ /**
36
+ * Tests the code.
37
+ */
38
+ testTask;
39
+ /**
40
+ * The "package" task.
41
+ */
42
+ packageTask;
19
43
  constructor(project) {
20
44
  super(project);
21
45
  this.preCompileTask = project.tasks.addTask("pre-compile", {
@@ -51,6 +75,4 @@ class ProjectBuild extends component_1.Component {
51
75
  }
52
76
  }
53
77
  exports.ProjectBuild = ProjectBuild;
54
- _a = JSII_RTTI_SYMBOL_1;
55
- ProjectBuild[_a] = { fqn: "projen.ProjectBuild", version: "0.99.80" };
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC1idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9qZWN0LWJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkNBQXdDO0FBSXhDOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFhLFlBQWEsU0FBUSxxQkFBUztJQStCekMsWUFBWSxPQUFnQjtRQUMxQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRTtZQUN6RCxXQUFXLEVBQUUscUNBQXFDO1NBQ25ELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ2xELFdBQVcsRUFBRSxjQUFjO1NBQzVCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFO1lBQzNELFdBQVcsRUFBRSxtQ0FBbUM7U0FDakQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDNUMsV0FBVyxFQUFFLFdBQVc7U0FDekIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDbEQsV0FBVyxFQUFFLGtDQUFrQztTQUNoRCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUM5QyxXQUFXLEVBQUUsb0JBQW9CO1NBQ2xDLENBQUMsQ0FBQztRQUVILG1FQUFtRTtRQUNuRSw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV2Qyx1Q0FBdUM7UUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDOztBQXhFSCxvQ0F5RUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCIuL3Byb2plY3RcIjtcbmltcG9ydCB0eXBlIHsgVGFzayB9IGZyb20gXCIuL3Rhc2tcIjtcblxuLyoqXG4gKiBNYW5hZ2VzIGEgc3RhbmRhcmQgYnVpbGQgcHJvY2VzcyBmb3IgYWxsIHByb2plY3RzLlxuICpcbiAqIEJ1aWxkIHNwYXducyB0aGVzZSB0YXNrcyBpbiBvcmRlcjpcbiAqIDEuIGRlZmF1bHRcbiAqIDIuIHByZS1jb21waWxlXG4gKiAzLiBjb21waWxlXG4gKiA0LiBwb3N0LWNvbXBpbGVcbiAqIDUuIHRlc3RcbiAqIDYuIHBhY2thZ2VcbiAqL1xuZXhwb3J0IGNsYXNzIFByb2plY3RCdWlsZCBleHRlbmRzIENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgdGFzayByZXNwb25zaWJsZSBmb3IgYSBmdWxsIHJlbGVhc2UgYnVpbGQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYnVpbGRUYXNrOiBUYXNrO1xuXG4gIC8qKlxuICAgKiBQcmUtY29tcGlsZSB0YXNrLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHByZUNvbXBpbGVUYXNrOiBUYXNrO1xuXG4gIC8qKlxuICAgKiBDb21waWxlcyB0aGUgY29kZS4gQnkgZGVmYXVsdCBmb3Igbm9kZS5qcyBwcm9qZWN0cyB0aGlzIHRhc2sgaXMgZW1wdHkuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY29tcGlsZVRhc2s6IFRhc2s7XG5cbiAgLyoqXG4gICAqIFBvc3QtY29tcGlsZSB0YXNrLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHBvc3RDb21waWxlVGFzazogVGFzaztcblxuICAvKipcbiAgICogVGVzdHMgdGhlIGNvZGUuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdGVzdFRhc2s6IFRhc2s7XG5cbiAgLyoqXG4gICAqIFRoZSBcInBhY2thZ2VcIiB0YXNrLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHBhY2thZ2VUYXNrOiBUYXNrO1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIHRoaXMucHJlQ29tcGlsZVRhc2sgPSBwcm9qZWN0LnRhc2tzLmFkZFRhc2soXCJwcmUtY29tcGlsZVwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJQcmVwYXJlIHRoZSBwcm9qZWN0IGZvciBjb21waWxhdGlvblwiLFxuICAgIH0pO1xuXG4gICAgdGhpcy5jb21waWxlVGFzayA9IHByb2plY3QudGFza3MuYWRkVGFzayhcImNvbXBpbGVcIiwge1xuICAgICAgZGVzY3JpcHRpb246IFwiT25seSBjb21waWxlXCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLnBvc3RDb21waWxlVGFzayA9IHByb2plY3QudGFza3MuYWRkVGFzayhcInBvc3QtY29tcGlsZVwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJSdW5zIGFmdGVyIHN1Y2Nlc3NmdWwgY29tcGlsYXRpb25cIixcbiAgICB9KTtcblxuICAgIHRoaXMudGVzdFRhc2sgPSBwcm9qZWN0LnRhc2tzLmFkZFRhc2soXCJ0ZXN0XCIsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlJ1biB0ZXN0c1wiLFxuICAgIH0pO1xuXG4gICAgdGhpcy5wYWNrYWdlVGFzayA9IHByb2plY3QudGFza3MuYWRkVGFzayhcInBhY2thZ2VcIiwge1xuICAgICAgZGVzY3JpcHRpb246IFwiQ3JlYXRlcyB0aGUgZGlzdHJpYnV0aW9uIHBhY2thZ2VcIixcbiAgICB9KTtcblxuICAgIHRoaXMuYnVpbGRUYXNrID0gcHJvamVjdC50YXNrcy5hZGRUYXNrKFwiYnVpbGRcIiwge1xuICAgICAgZGVzY3JpcHRpb246IFwiRnVsbCByZWxlYXNlIGJ1aWxkXCIsXG4gICAgfSk7XG5cbiAgICAvLyBpZiB0aGlzIGlzIG5vdCBzdWJwcm9qZWN0LCBleGVjdXRlIHRoZSBcImRlZmF1bHRcIiB0YXNrIHdoaWNoIHdpbGxcbiAgICAvLyBzeW50aGVzaXplIHByb2plY3QgZmlsZXMuXG4gICAgaWYgKCF0aGlzLnByb2plY3QucGFyZW50ICYmIHRoaXMucHJvamVjdC5kZWZhdWx0VGFzaykge1xuICAgICAgdGhpcy5idWlsZFRhc2suc3Bhd24odGhpcy5wcm9qZWN0LmRlZmF1bHRUYXNrKTtcbiAgICB9XG5cbiAgICB0aGlzLmJ1aWxkVGFzay5zcGF3bih0aGlzLnByZUNvbXBpbGVUYXNrKTtcbiAgICB0aGlzLmJ1aWxkVGFzay5zcGF3bih0aGlzLmNvbXBpbGVUYXNrKTtcbiAgICB0aGlzLmJ1aWxkVGFzay5zcGF3bih0aGlzLnBvc3RDb21waWxlVGFzayk7XG4gICAgdGhpcy5idWlsZFRhc2suc3Bhd24odGhpcy50ZXN0VGFzayk7XG4gICAgdGhpcy5idWlsZFRhc2suc3Bhd24odGhpcy5wYWNrYWdlVGFzayk7XG5cbiAgICAvLyBkbyBub3QgYWxsb3cgYWRkaXRpb25hbCBidWlsZCBwaGFzZXNcbiAgICB0aGlzLmJ1aWxkVGFzay5sb2NrKCk7XG4gIH1cbn1cbiJdfQ==
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC1idWlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm9qZWN0LWJ1aWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSwyQ0FBd0M7QUFJeEM7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQWEsWUFBYSxTQUFRLHFCQUFTOztJQUN6Qzs7T0FFRztJQUNhLFNBQVMsQ0FBTztJQUVoQzs7T0FFRztJQUNhLGNBQWMsQ0FBTztJQUVyQzs7T0FFRztJQUNhLFdBQVcsQ0FBTztJQUVsQzs7T0FFRztJQUNhLGVBQWUsQ0FBTztJQUV0Qzs7T0FFRztJQUNhLFFBQVEsQ0FBTztJQUUvQjs7T0FFRztJQUNhLFdBQVcsQ0FBTztJQUVsQyxZQUFZLE9BQWdCO1FBQzFCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFO1lBQ3pELFdBQVcsRUFBRSxxQ0FBcUM7U0FDbkQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDbEQsV0FBVyxFQUFFLGNBQWM7U0FDNUIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUU7WUFDM0QsV0FBVyxFQUFFLG1DQUFtQztTQUNqRCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUM1QyxXQUFXLEVBQUUsV0FBVztTQUN6QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUNsRCxXQUFXLEVBQUUsa0NBQWtDO1NBQ2hELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQzlDLFdBQVcsRUFBRSxvQkFBb0I7U0FDbEMsQ0FBQyxDQUFDO1FBRUgsbUVBQW1FO1FBQ25FLDRCQUE0QjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXZDLHVDQUF1QztRQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7O0FBeEVILG9DQXlFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSBcIi4vcHJvamVjdFwiO1xuaW1wb3J0IHR5cGUgeyBUYXNrIH0gZnJvbSBcIi4vdGFza1wiO1xuXG4vKipcbiAqIE1hbmFnZXMgYSBzdGFuZGFyZCBidWlsZCBwcm9jZXNzIGZvciBhbGwgcHJvamVjdHMuXG4gKlxuICogQnVpbGQgc3Bhd25zIHRoZXNlIHRhc2tzIGluIG9yZGVyOlxuICogMS4gZGVmYXVsdFxuICogMi4gcHJlLWNvbXBpbGVcbiAqIDMuIGNvbXBpbGVcbiAqIDQuIHBvc3QtY29tcGlsZVxuICogNS4gdGVzdFxuICogNi4gcGFja2FnZVxuICovXG5leHBvcnQgY2xhc3MgUHJvamVjdEJ1aWxkIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFRoZSB0YXNrIHJlc3BvbnNpYmxlIGZvciBhIGZ1bGwgcmVsZWFzZSBidWlsZC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBidWlsZFRhc2s6IFRhc2s7XG5cbiAgLyoqXG4gICAqIFByZS1jb21waWxlIHRhc2suXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHJlQ29tcGlsZVRhc2s6IFRhc2s7XG5cbiAgLyoqXG4gICAqIENvbXBpbGVzIHRoZSBjb2RlLiBCeSBkZWZhdWx0IGZvciBub2RlLmpzIHByb2plY3RzIHRoaXMgdGFzayBpcyBlbXB0eS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjb21waWxlVGFzazogVGFzaztcblxuICAvKipcbiAgICogUG9zdC1jb21waWxlIHRhc2suXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcG9zdENvbXBpbGVUYXNrOiBUYXNrO1xuXG4gIC8qKlxuICAgKiBUZXN0cyB0aGUgY29kZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB0ZXN0VGFzazogVGFzaztcblxuICAvKipcbiAgICogVGhlIFwicGFja2FnZVwiIHRhc2suXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcGFja2FnZVRhc2s6IFRhc2s7XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgdGhpcy5wcmVDb21waWxlVGFzayA9IHByb2plY3QudGFza3MuYWRkVGFzayhcInByZS1jb21waWxlXCIsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlByZXBhcmUgdGhlIHByb2plY3QgZm9yIGNvbXBpbGF0aW9uXCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLmNvbXBpbGVUYXNrID0gcHJvamVjdC50YXNrcy5hZGRUYXNrKFwiY29tcGlsZVwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJPbmx5IGNvbXBpbGVcIixcbiAgICB9KTtcblxuICAgIHRoaXMucG9zdENvbXBpbGVUYXNrID0gcHJvamVjdC50YXNrcy5hZGRUYXNrKFwicG9zdC1jb21waWxlXCIsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlJ1bnMgYWZ0ZXIgc3VjY2Vzc2Z1bCBjb21waWxhdGlvblwiLFxuICAgIH0pO1xuXG4gICAgdGhpcy50ZXN0VGFzayA9IHByb2plY3QudGFza3MuYWRkVGFzayhcInRlc3RcIiwge1xuICAgICAgZGVzY3JpcHRpb246IFwiUnVuIHRlc3RzXCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLnBhY2thZ2VUYXNrID0gcHJvamVjdC50YXNrcy5hZGRUYXNrKFwicGFja2FnZVwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJDcmVhdGVzIHRoZSBkaXN0cmlidXRpb24gcGFja2FnZVwiLFxuICAgIH0pO1xuXG4gICAgdGhpcy5idWlsZFRhc2sgPSBwcm9qZWN0LnRhc2tzLmFkZFRhc2soXCJidWlsZFwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJGdWxsIHJlbGVhc2UgYnVpbGRcIixcbiAgICB9KTtcblxuICAgIC8vIGlmIHRoaXMgaXMgbm90IHN1YnByb2plY3QsIGV4ZWN1dGUgdGhlIFwiZGVmYXVsdFwiIHRhc2sgd2hpY2ggd2lsbFxuICAgIC8vIHN5bnRoZXNpemUgcHJvamVjdCBmaWxlcy5cbiAgICBpZiAoIXRoaXMucHJvamVjdC5wYXJlbnQgJiYgdGhpcy5wcm9qZWN0LmRlZmF1bHRUYXNrKSB7XG4gICAgICB0aGlzLmJ1aWxkVGFzay5zcGF3bih0aGlzLnByb2plY3QuZGVmYXVsdFRhc2spO1xuICAgIH1cblxuICAgIHRoaXMuYnVpbGRUYXNrLnNwYXduKHRoaXMucHJlQ29tcGlsZVRhc2spO1xuICAgIHRoaXMuYnVpbGRUYXNrLnNwYXduKHRoaXMuY29tcGlsZVRhc2spO1xuICAgIHRoaXMuYnVpbGRUYXNrLnNwYXduKHRoaXMucG9zdENvbXBpbGVUYXNrKTtcbiAgICB0aGlzLmJ1aWxkVGFzay5zcGF3bih0aGlzLnRlc3RUYXNrKTtcbiAgICB0aGlzLmJ1aWxkVGFzay5zcGF3bih0aGlzLnBhY2thZ2VUYXNrKTtcblxuICAgIC8vIGRvIG5vdCBhbGxvdyBhZGRpdGlvbmFsIGJ1aWxkIHBoYXNlc1xuICAgIHRoaXMuYnVpbGRUYXNrLmxvY2soKTtcbiAgfVxufVxuIl19
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.ProjectTree = void 0;
5
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
@@ -18,6 +17,8 @@ const json_1 = require("./json");
18
17
  * @stability experimental
19
18
  */
20
19
  class ProjectTree extends component_1.Component {
20
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ProjectTree", version: "0.100.0" };
21
+ file;
21
22
  constructor(project) {
22
23
  super(project, new.target.name);
23
24
  this.file = new json_1.JsonFile(project, ".projen/tree.json", {
@@ -31,8 +32,6 @@ class ProjectTree extends component_1.Component {
31
32
  }
32
33
  }
33
34
  exports.ProjectTree = ProjectTree;
34
- _a = JSII_RTTI_SYMBOL_1;
35
- ProjectTree[_a] = { fqn: "projen.ProjectTree", version: "0.99.80" };
36
35
  function renderConstruct(construct) {
37
36
  return {
38
37
  [construct.node.id]: {
@@ -46,4 +45,4 @@ function renderConstruct(construct) {
46
45
  },
47
46
  };
48
47
  }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC10cmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Byb2plY3QtdHJlZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLDJDQUF3QztBQUN4QyxpQ0FBa0M7QUFHbEM7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFhLFdBQVksU0FBUSxxQkFBUztJQUd4QyxZQUFtQixPQUFnQjtRQUNqQyxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGVBQVEsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUU7WUFDckQsUUFBUSxFQUFFLElBQUk7WUFDZCxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUNWLENBQUMsSUFBSSxDQUFDLEVBQ0osc0VBQXNFO2dCQUN4RSxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUM7YUFDNUIsQ0FBQztTQUNILENBQUMsQ0FBQztJQUNMLENBQUM7O0FBZkgsa0NBZ0JDOzs7QUFTRCxTQUFTLGVBQWUsQ0FBQyxTQUFxQjtJQUM1QyxPQUFPO1FBQ0wsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ25CLFFBQVEsRUFBRSxNQUFNLENBQUMsV0FBVyxDQUMxQixTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FDOUQ7WUFDRCxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTTtnQkFDbkMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FDNUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUNiLEdBQUcsS0FBSztvQkFDUixHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUM7aUJBQ3RCLENBQUMsRUFDRixFQUFFLENBQ0g7Z0JBQ0gsQ0FBQyxDQUFDLFNBQVM7U0FDZDtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudFwiO1xuaW1wb3J0IHsgSnNvbkZpbGUgfSBmcm9tIFwiLi9qc29uXCI7XG5pbXBvcnQgdHlwZSB7IFByb2plY3QgfSBmcm9tIFwiLi9wcm9qZWN0XCI7XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgYC5wcm9qZW4vdHJlZS5qc29uYCBmaWxlIHRoYXQgcHJvdmlkZXMgYSBzbmFwc2hvdCBvZiB5b3VyXG4gKiBwcm9qZWN0J3MgY29tcG9uZW50IGhpZXJhcmNoeS4gVGhpcyBmaWxlIGluY2x1ZGVzIG1ldGFkYXRhIGFib3V0IGVhY2hcbiAqIGNvbXBvbmVudCBzdWNoIGFzIGZpbGUgcGF0aHMsIHR5cGVzLCBhbmQgdGhlIHByb2plbiB2ZXJzaW9uIHVzZWQuXG4gKlxuICogVGhlIHRyZWUgZmlsZSBpcyBoZWxwZnVsIGZvcjpcbiAqIC0gVW5kZXJzdGFuZGluZyBob3cgeW91ciBwcm9qZWN0IGlzIHN0cnVjdHVyZWRcbiAqIC0gRGVidWdnaW5nIGNvbXBvbmVudCByZWxhdGlvbnNoaXBzXG4gKiAtIFZlcmlmeWluZyB3aGljaCB2ZXJzaW9ucyBzeW50aGVzaXplZCB0aGUgcHJvamVjdFxuICpcbiAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9qZWN0VHJlZSBleHRlbmRzIENvbXBvbmVudCB7XG4gIHB1YmxpYyBmaWxlOiBKc29uRmlsZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCkge1xuICAgIHN1cGVyKHByb2plY3QsIG5ldy50YXJnZXQubmFtZSk7XG5cbiAgICB0aGlzLmZpbGUgPSBuZXcgSnNvbkZpbGUocHJvamVjdCwgXCIucHJvamVuL3RyZWUuanNvblwiLCB7XG4gICAgICByZWFkb25seTogdHJ1ZSxcbiAgICAgIG1hcmtlcjogZmFsc2UsXG4gICAgICBvYmo6ICgpID0+ICh7XG4gICAgICAgIFtcIi8vXCJdOlxuICAgICAgICAgIFwiRXhwZXJpbWVudGFsLiBFeHBlY3QgZnJlcXVlbnQgY2hhbmdlcyB0byB0aGUgc3RydWN0dXJlIG9mIHRoaXMgZmlsZS5cIixcbiAgICAgICAgLi4ucmVuZGVyQ29uc3RydWN0KHByb2plY3QpLFxuICAgICAgfSksXG4gICAgfSk7XG4gIH1cbn1cblxudHlwZSBDb25zdHJ1Y3RUcmVlID0gUmVjb3JkPHN0cmluZywgQ29uc3RydWN0TGVhZj47XG5cbmludGVyZmFjZSBDb25zdHJ1Y3RMZWFmIHtcbiAgbWV0YWRhdGE6IGFueTtcbiAgbm9kZXM/OiBDb25zdHJ1Y3RUcmVlO1xufVxuXG5mdW5jdGlvbiByZW5kZXJDb25zdHJ1Y3QoY29uc3RydWN0OiBJQ29uc3RydWN0KTogQ29uc3RydWN0VHJlZSB7XG4gIHJldHVybiB7XG4gICAgW2NvbnN0cnVjdC5ub2RlLmlkXToge1xuICAgICAgbWV0YWRhdGE6IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgICAgY29uc3RydWN0Lm5vZGUubWV0YWRhdGEubWFwKCh7IHR5cGUsIGRhdGEgfSkgPT4gW3R5cGUsIGRhdGFdKSxcbiAgICAgICksXG4gICAgICBub2RlczogY29uc3RydWN0Lm5vZGUuY2hpbGRyZW4ubGVuZ3RoXG4gICAgICAgID8gY29uc3RydWN0Lm5vZGUuY2hpbGRyZW4ucmVkdWNlKFxuICAgICAgICAgICAgKG5vZGVzLCBjKSA9PiAoe1xuICAgICAgICAgICAgICAuLi5ub2RlcyxcbiAgICAgICAgICAgICAgLi4ucmVuZGVyQ29uc3RydWN0KGMpLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB7fSxcbiAgICAgICAgICApXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgIH0sXG4gIH07XG59XG4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC10cmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Byb2plY3QtdHJlZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0EsMkNBQXdDO0FBQ3hDLGlDQUFrQztBQUdsQzs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQWEsV0FBWSxTQUFRLHFCQUFTOztJQUNqQyxJQUFJLENBQVc7SUFFdEIsWUFBbUIsT0FBZ0I7UUFDakMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWhDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxlQUFRLENBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFO1lBQ3JELFFBQVEsRUFBRSxJQUFJO1lBQ2QsTUFBTSxFQUFFLEtBQUs7WUFDYixHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDVixDQUFDLElBQUksQ0FBQyxFQUNKLHNFQUFzRTtnQkFDeEUsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDO2FBQzVCLENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDOztBQWZILGtDQWdCQztBQVNELFNBQVMsZUFBZSxDQUFDLFNBQXFCO0lBQzVDLE9BQU87UUFDTCxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDbkIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQzFCLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUM5RDtZQUNELEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO2dCQUNuQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUM1QixDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQ2IsR0FBRyxLQUFLO29CQUNSLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQztpQkFDdEIsQ0FBQyxFQUNGLEVBQUUsQ0FDSDtnQkFDSCxDQUFDLENBQUMsU0FBUztTQUNkO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50XCI7XG5pbXBvcnQgeyBKc29uRmlsZSB9IGZyb20gXCIuL2pzb25cIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCIuL3Byb2plY3RcIjtcblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBgLnByb2plbi90cmVlLmpzb25gIGZpbGUgdGhhdCBwcm92aWRlcyBhIHNuYXBzaG90IG9mIHlvdXJcbiAqIHByb2plY3QncyBjb21wb25lbnQgaGllcmFyY2h5LiBUaGlzIGZpbGUgaW5jbHVkZXMgbWV0YWRhdGEgYWJvdXQgZWFjaFxuICogY29tcG9uZW50IHN1Y2ggYXMgZmlsZSBwYXRocywgdHlwZXMsIGFuZCB0aGUgcHJvamVuIHZlcnNpb24gdXNlZC5cbiAqXG4gKiBUaGUgdHJlZSBmaWxlIGlzIGhlbHBmdWwgZm9yOlxuICogLSBVbmRlcnN0YW5kaW5nIGhvdyB5b3VyIHByb2plY3QgaXMgc3RydWN0dXJlZFxuICogLSBEZWJ1Z2dpbmcgY29tcG9uZW50IHJlbGF0aW9uc2hpcHNcbiAqIC0gVmVyaWZ5aW5nIHdoaWNoIHZlcnNpb25zIHN5bnRoZXNpemVkIHRoZSBwcm9qZWN0XG4gKlxuICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGNsYXNzIFByb2plY3RUcmVlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgcHVibGljIGZpbGU6IEpzb25GaWxlO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0KSB7XG4gICAgc3VwZXIocHJvamVjdCwgbmV3LnRhcmdldC5uYW1lKTtcblxuICAgIHRoaXMuZmlsZSA9IG5ldyBKc29uRmlsZShwcm9qZWN0LCBcIi5wcm9qZW4vdHJlZS5qc29uXCIsIHtcbiAgICAgIHJlYWRvbmx5OiB0cnVlLFxuICAgICAgbWFya2VyOiBmYWxzZSxcbiAgICAgIG9iajogKCkgPT4gKHtcbiAgICAgICAgW1wiLy9cIl06XG4gICAgICAgICAgXCJFeHBlcmltZW50YWwuIEV4cGVjdCBmcmVxdWVudCBjaGFuZ2VzIHRvIHRoZSBzdHJ1Y3R1cmUgb2YgdGhpcyBmaWxlLlwiLFxuICAgICAgICAuLi5yZW5kZXJDb25zdHJ1Y3QocHJvamVjdCksXG4gICAgICB9KSxcbiAgICB9KTtcbiAgfVxufVxuXG50eXBlIENvbnN0cnVjdFRyZWUgPSBSZWNvcmQ8c3RyaW5nLCBDb25zdHJ1Y3RMZWFmPjtcblxuaW50ZXJmYWNlIENvbnN0cnVjdExlYWYge1xuICBtZXRhZGF0YTogYW55O1xuICBub2Rlcz86IENvbnN0cnVjdFRyZWU7XG59XG5cbmZ1bmN0aW9uIHJlbmRlckNvbnN0cnVjdChjb25zdHJ1Y3Q6IElDb25zdHJ1Y3QpOiBDb25zdHJ1Y3RUcmVlIHtcbiAgcmV0dXJuIHtcbiAgICBbY29uc3RydWN0Lm5vZGUuaWRdOiB7XG4gICAgICBtZXRhZGF0YTogT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgICBjb25zdHJ1Y3Qubm9kZS5tZXRhZGF0YS5tYXAoKHsgdHlwZSwgZGF0YSB9KSA9PiBbdHlwZSwgZGF0YV0pLFxuICAgICAgKSxcbiAgICAgIG5vZGVzOiBjb25zdHJ1Y3Qubm9kZS5jaGlsZHJlbi5sZW5ndGhcbiAgICAgICAgPyBjb25zdHJ1Y3Qubm9kZS5jaGlsZHJlbi5yZWR1Y2UoXG4gICAgICAgICAgICAobm9kZXMsIGMpID0+ICh7XG4gICAgICAgICAgICAgIC4uLm5vZGVzLFxuICAgICAgICAgICAgICAuLi5yZW5kZXJDb25zdHJ1Y3QoYyksXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHt9LFxuICAgICAgICAgIClcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
package/lib/project.d.ts CHANGED
@@ -8,7 +8,6 @@ import { GitAttributesFile } from "./gitattributes";
8
8
  import type { IgnoreFileOptions } from "./ignore-file";
9
9
  import { IgnoreFile } from "./ignore-file";
10
10
  import type * as inventory from "./inventory";
11
- import { JsonFile } from "./json";
12
11
  import type { LoggerOptions } from "./logger";
13
12
  import { Logger } from "./logger";
14
13
  import { ObjectFile } from "./object-file";
@@ -210,7 +209,6 @@ export declare class Project extends Construct {
210
209
  * Whether to commit the managed files by default.
211
210
  */
212
211
  readonly commitGenerated: boolean;
213
- private readonly tips;
214
212
  private readonly excludeFromCleanup;
215
213
  private readonly _ejected;
216
214
  /** projenCommand without default value */
@@ -263,12 +261,6 @@ export declare class Project extends Construct {
263
261
  * @returns a `FileBase` or undefined if there is no file in that path
264
262
  */
265
263
  tryFindFile(filePath: string): FileBase | undefined;
266
- /**
267
- * Finds a json file by name.
268
- * @param filePath The file path.
269
- * @deprecated use `tryFindObjectFile`
270
- */
271
- tryFindJsonFile(filePath: string): JsonFile | undefined;
272
264
  /**
273
265
  * Finds an object file (like JsonFile, YamlFile, etc.) by name.
274
266
  * @param filePath The file path.
@@ -284,12 +276,6 @@ export declare class Project extends Construct {
284
276
  * the file was not found.
285
277
  */
286
278
  tryRemoveFile(filePath: string): FileBase | undefined;
287
- /**
288
- * Prints a "tip" message during synthesis.
289
- * @param message The message
290
- * @deprecated - use `project.logger.info(message)` to show messages during synthesis
291
- */
292
- addTip(message: string): void;
293
279
  /**
294
280
  * Exclude the matching files from pre-synth cleanup. Can be used when, for example, some
295
281
  * source files include the projen marker and we don't want them to be erased during synth.
@@ -349,27 +335,6 @@ export declare class Project extends Construct {
349
335
  */
350
336
  postSynthesize(): void;
351
337
  }
352
- /**
353
- * Which type of project this is.
354
- *
355
- * @deprecated no longer supported at the base project level
356
- */
357
- export declare enum ProjectType {
358
- /**
359
- * This module may be a either a library or an app.
360
- */
361
- UNKNOWN = "unknown",
362
- /**
363
- * This is a library, intended to be published to a package manager and
364
- * consumed by other projects.
365
- */
366
- LIB = "lib",
367
- /**
368
- * This is an app (service, tool, website, etc). Its artifacts are intended to
369
- * be deployed or published for end-user consumption.
370
- */
371
- APP = "app"
372
- }
373
338
  /**
374
339
  * Information passed from `projen new` to the project object when the project
375
340
  * is first created. It is used to generate projenrc files in various languages.