projen 0.99.80 → 0.100.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/.jsii +1719 -3687
  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/cli/task-runtime.d.ts +75 -0
  57. package/lib/cli/task-runtime.js +482 -0
  58. package/lib/cli/util.js +37 -4
  59. package/lib/common.d.ts +9 -0
  60. package/lib/common.js +11 -2
  61. package/lib/component.js +3 -4
  62. package/lib/dependencies.js +43 -12
  63. package/lib/dev-env.js +10 -4
  64. package/lib/docker-compose/docker-compose-service.js +54 -4
  65. package/lib/docker-compose/docker-compose.js +8 -4
  66. package/lib/file.js +60 -5
  67. package/lib/gitattributes.js +7 -5
  68. package/lib/github/actions-provider.js +3 -7
  69. package/lib/github/auto-approve.js +3 -4
  70. package/lib/github/auto-merge.js +3 -5
  71. package/lib/github/auto-queue.js +36 -5
  72. package/lib/github/dependabot.js +13 -4
  73. package/lib/github/dependency-review.js +2 -4
  74. package/lib/github/github-credentials.js +37 -5
  75. package/lib/github/github-project.d.ts +1 -32
  76. package/lib/github/github-project.js +30 -8
  77. package/lib/github/github.d.ts +0 -9
  78. package/lib/github/github.js +27 -14
  79. package/lib/github/index.js +24 -2
  80. package/lib/github/merge-queue.js +3 -4
  81. package/lib/github/mergify.d.ts +0 -7
  82. package/lib/github/mergify.js +6 -13
  83. package/lib/github/pr-template.js +2 -4
  84. package/lib/github/pull-request-backport.js +4 -4
  85. package/lib/github/pull-request-lint.js +4 -4
  86. package/lib/github/stale.js +2 -4
  87. package/lib/github/task-workflow-job.js +20 -4
  88. package/lib/github/task-workflow.js +4 -4
  89. package/lib/github/workflow-actions.d.ts +0 -8
  90. package/lib/github/workflow-actions.js +2 -14
  91. package/lib/github/workflow-jobs.js +2 -4
  92. package/lib/github/workflow-steps.js +2 -4
  93. package/lib/github/workflows-model.d.ts +0 -8
  94. package/lib/github/workflows-model.js +1 -1
  95. package/lib/github/workflows.js +39 -6
  96. package/lib/gitlab/configuration-model.d.ts +0 -4
  97. package/lib/gitlab/configuration-model.js +1 -1
  98. package/lib/gitlab/configuration.js +125 -41
  99. package/lib/gitlab/gitlab-configuration.js +3 -5
  100. package/lib/gitlab/nested-configuration.js +3 -4
  101. package/lib/gitpod.js +11 -7
  102. package/lib/ignore-file.js +5 -4
  103. package/lib/index.d.ts +1 -2
  104. package/lib/index.js +38 -18
  105. package/lib/ini.js +36 -5
  106. package/lib/inventory.d.ts +32 -23
  107. package/lib/inventory.js +37 -4
  108. package/lib/java/java-project.js +26 -4
  109. package/lib/java/junit.js +2 -4
  110. package/lib/java/maven-compile.js +2 -4
  111. package/lib/java/maven-packaging.js +6 -4
  112. package/lib/java/maven-sample.js +2 -4
  113. package/lib/java/pom.js +45 -12
  114. package/lib/java/projenrc.js +10 -4
  115. package/lib/javascript/biome/biome.js +48 -6
  116. package/lib/javascript/bundler.d.ts +0 -8
  117. package/lib/javascript/bundler.js +48 -11
  118. package/lib/javascript/eslint.d.ts +0 -13
  119. package/lib/javascript/eslint.js +38 -37
  120. package/lib/javascript/index.js +24 -2
  121. package/lib/javascript/jest.d.ts +0 -20
  122. package/lib/javascript/jest.js +71 -15
  123. package/lib/javascript/license-checker.js +3 -4
  124. package/lib/javascript/node-package.d.ts +0 -28
  125. package/lib/javascript/node-package.js +136 -38
  126. package/lib/javascript/node-project.d.ts +5 -76
  127. package/lib/javascript/node-project.js +88 -81
  128. package/lib/javascript/npm-config.js +7 -9
  129. package/lib/javascript/prettier.js +16 -4
  130. package/lib/javascript/projenrc.js +3 -4
  131. package/lib/javascript/render-options.d.ts +2 -2
  132. package/lib/javascript/render-options.js +36 -5
  133. package/lib/javascript/typescript-config.js +45 -8
  134. package/lib/javascript/upgrade-dependencies.js +56 -36
  135. package/lib/javascript/util.js +35 -2
  136. package/lib/javascript/yarnrc.d.ts +1 -28
  137. package/lib/javascript/yarnrc.js +3 -45
  138. package/lib/json-patch.js +3 -4
  139. package/lib/json.js +4 -5
  140. package/lib/license.js +37 -5
  141. package/lib/logger.js +14 -11
  142. package/lib/logging.js +10 -7
  143. package/lib/makefile.js +7 -4
  144. package/lib/object-file.js +19 -4
  145. package/lib/project-build.js +26 -4
  146. package/lib/project-tree.js +3 -4
  147. package/lib/project.d.ts +0 -35
  148. package/lib/project.js +105 -58
  149. package/lib/projects.js +37 -6
  150. package/lib/projenrc-json.d.ts +0 -10
  151. package/lib/projenrc-json.js +4 -13
  152. package/lib/projenrc.js +2 -4
  153. package/lib/python/index.js +24 -2
  154. package/lib/python/pip.js +5 -4
  155. package/lib/python/poetry.js +63 -7
  156. package/lib/python/projenrc.js +10 -4
  157. package/lib/python/pyproject-toml-file.js +2 -4
  158. package/lib/python/pytest-sample.js +2 -4
  159. package/lib/python/pytest.d.ts +0 -12
  160. package/lib/python/pytest.js +3 -5
  161. package/lib/python/python-project.js +33 -10
  162. package/lib/python/python-sample.js +2 -4
  163. package/lib/python/requirements-file.js +4 -5
  164. package/lib/python/setuppy.d.ts +0 -8
  165. package/lib/python/setuppy.js +3 -4
  166. package/lib/python/setuptools.js +8 -4
  167. package/lib/python/uv.js +11 -4
  168. package/lib/python/venv.js +45 -6
  169. package/lib/readme.js +2 -4
  170. package/lib/release/bump-version.js +36 -3
  171. package/lib/release/bump-version.task.js +35 -2
  172. package/lib/release/commit-tag-version.js +39 -3
  173. package/lib/release/publisher.d.ts +0 -49
  174. package/lib/release/publisher.js +24 -22
  175. package/lib/release/release-trigger.js +33 -4
  176. package/lib/release/release.d.ts +0 -24
  177. package/lib/release/release.js +66 -31
  178. package/lib/release/tag-version.js +35 -2
  179. package/lib/release/update-changelog.js +36 -3
  180. package/lib/renovatebot.js +14 -4
  181. package/lib/run-projenrc-json.task.js +35 -2
  182. package/lib/run-task.cjs +12631 -275
  183. package/lib/sample-file.js +43 -9
  184. package/lib/smithy/smithy-build.js +46 -1
  185. package/lib/source-code.js +6 -5
  186. package/lib/task-model.d.ts +10 -0
  187. package/lib/task-model.js +1 -1
  188. package/lib/task-runner.d.ts +25 -0
  189. package/lib/task-runner.js +100 -0
  190. package/lib/task.d.ts +0 -7
  191. package/lib/task.js +13 -13
  192. package/lib/tasks.d.ts +5 -9
  193. package/lib/tasks.js +64 -23
  194. package/lib/testing.js +2 -4
  195. package/lib/textfile.js +3 -4
  196. package/lib/toml.js +36 -5
  197. package/lib/typescript/projenrc-ts.js +8 -4
  198. package/lib/typescript/projenrc.js +6 -4
  199. package/lib/typescript/typescript-typedoc.js +2 -4
  200. package/lib/typescript/typescript.d.ts +0 -10
  201. package/lib/typescript/typescript.js +75 -29
  202. package/lib/util/synth.js +39 -6
  203. package/lib/util.js +38 -5
  204. package/lib/version.d.ts +0 -4
  205. package/lib/version.js +24 -10
  206. package/lib/vscode/devcontainer.js +11 -4
  207. package/lib/vscode/extensions.js +17 -18
  208. package/lib/vscode/launch-config.js +5 -6
  209. package/lib/vscode/settings.js +4 -4
  210. package/lib/vscode/vscode.js +5 -4
  211. package/lib/web/next.js +38 -8
  212. package/lib/web/postcss.js +5 -4
  213. package/lib/web/react.d.ts +0 -14
  214. package/lib/web/react.js +51 -25
  215. package/lib/web/tailwind.js +4 -4
  216. package/lib/xmlfile.js +2 -4
  217. package/lib/yaml.js +40 -5
  218. package/package.json +11 -12
  219. package/lib/cli/synth.js +0 -105
  220. package/lib/cli/tasks.js +0 -71
  221. package/lib/semver.d.ts +0 -34
  222. package/lib/semver.js +0 -56
  223. package/lib/task-runtime.d.ts +0 -34
  224. package/lib/task-runtime.js +0 -317
  225. /package/lib/cli/{tasks.d.ts → cmds/run-task.d.ts} +0 -0
package/lib/gitpod.js CHANGED
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.Gitpod = exports.GitpodPortVisibility = exports.GitpodOnOpen = exports.GitpodOpenIn = exports.GitpodOpenMode = void 0;
5
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
@@ -107,11 +106,18 @@ var GitpodPortVisibility;
107
106
  * The Gitpod component which emits .gitpod.yml
108
107
  */
109
108
  class Gitpod extends component_1.Component {
109
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Gitpod", version: "0.100.1" };
110
+ dockerImage;
111
+ prebuilds;
112
+ tasks = new Array();
113
+ ports = new Array();
114
+ vscodeExtensions = new Array();
115
+ /**
116
+ * Direct access to the gitpod configuration (escape hatch)
117
+ */
118
+ config;
110
119
  constructor(project, options = {}) {
111
120
  super(project);
112
- this.tasks = new Array();
113
- this.ports = new Array();
114
- this.vscodeExtensions = new Array();
115
121
  this.dockerImage = options?.dockerImage;
116
122
  if (options?.tasks) {
117
123
  for (const task of options.tasks) {
@@ -240,6 +246,4 @@ class Gitpod extends component_1.Component {
240
246
  }
241
247
  }
242
248
  exports.Gitpod = Gitpod;
243
- _a = JSII_RTTI_SYMBOL_1;
244
- Gitpod[_a] = { fqn: "projen.Gitpod", version: "0.99.80" };
245
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0cG9kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2dpdHBvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDJDQUF3QztBQVF4QyxpQ0FBa0M7QUFFbEM7O0dBRUc7QUFDSCxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUM7QUFFbEM7Ozs7O0dBS0c7QUFFSDs7R0FFRztBQUNILElBQVksY0F5Qlg7QUF6QkQsV0FBWSxjQUFjO0lBQ3hCOztPQUVHO0lBQ0gseUNBQXVCLENBQUE7SUFDdkI7O09BRUc7SUFDSCwyQ0FBeUIsQ0FBQTtJQUN6Qjs7T0FFRztJQUNILDZDQUEyQixDQUFBO0lBQzNCOztPQUVHO0lBQ0gsMkNBQXlCLENBQUE7SUFDekI7O09BRUc7SUFDSCx5Q0FBdUIsQ0FBQTtJQUN2Qjs7T0FFRztJQUNILCtDQUE2QixDQUFBO0FBQy9CLENBQUMsRUF6QlcsY0FBYyw4QkFBZCxjQUFjLFFBeUJ6QjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxZQWlCWDtBQWpCRCxXQUFZLFlBQVk7SUFDdEI7O09BRUc7SUFDSCxpQ0FBaUIsQ0FBQTtJQUNqQjs7T0FFRztJQUNILDZCQUFhLENBQUE7SUFDYjs7T0FFRztJQUNILCtCQUFlLENBQUE7SUFDZjs7T0FFRztJQUNILDZCQUFhLENBQUE7QUFDZixDQUFDLEVBakJXLFlBQVksNEJBQVosWUFBWSxRQWlCdkI7QUEyREQ7O0dBRUc7QUFDSCxJQUFZLFlBb0JYO0FBcEJELFdBQVksWUFBWTtJQUN0Qjs7T0FFRztJQUNILDZDQUE2QixDQUFBO0lBRTdCOztPQUVHO0lBQ0gsNkNBQTZCLENBQUE7SUFFN0I7O09BRUc7SUFDSCxpQ0FBaUIsQ0FBQTtJQUVqQjs7T0FFRztJQUNILGlDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFwQlcsWUFBWSw0QkFBWixZQUFZLFFBb0J2QjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxvQkFVWDtBQVZELFdBQVksb0JBQW9CO0lBQzlCOztPQUVHO0lBQ0gs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SUFBSSxDQUFDLFNBQVM7YUFDMUIsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztJQUNILENBQUM7O0FBekpILHdCQTBKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUge1xuICBJRGV2RW52aXJvbm1lbnQsXG4gIERldkVudmlyb25tZW50T3B0aW9ucyxcbiAgRGV2RW52aXJvbm1lbnREb2NrZXJJbWFnZSxcbn0gZnJvbSBcIi4vZGV2LWVudlwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSBcIi4vcHJvamVjdFwiO1xuaW1wb3J0IHR5cGUgeyBUYXNrIH0gZnJvbSBcIi4vdGFza1wiO1xuaW1wb3J0IHsgWWFtbEZpbGUgfSBmcm9tIFwiLi95YW1sXCI7XG5cbi8qKlxuICogUmVsYXRpdmUgcGF0aCBvZiBHaXRwb2QgZmlsZSB0byBnZW5lcmF0ZVxuICovXG5jb25zdCBHSVRQT0RfRklMRSA9IFwiLmdpdHBvZC55bWxcIjtcblxuLyoqXG4gKiBodHRwczovL3d3dy5naXRwb2QuaW8vZG9jcy9jb25maWd1cmF0aW9uL1xuICogaHR0cHM6Ly93d3cuZ2l0cG9kLmlvL2RvY3MvY29uZmlnLXN0YXJ0LXRhc2tzL1xuICogaHR0cHM6Ly93d3cuZ2l0cG9kLmlvL2RvY3MvcHJlYnVpbGRzLyNjb25maWd1cmUtdGhlLWdpdGh1Yi1hcHBcbiAqIGh0dHBzOi8vd3d3LmdpdHBvZC5pby9kb2NzL3ZzY29kZS1leHRlbnNpb25zL1xuICovXG5cbi8qKlxuICogQ29uZmlndXJlIGhvdyB0aGUgdGVybWluYWwgc2hvdWxkIGJlIG9wZW5lZCByZWxhdGl2ZSB0byB0aGUgcHJldmlvdXMgdGFzay5cbiAqL1xuZXhwb3J0IGVudW0gR2l0cG9kT3Blbk1vZGUge1xuICAvKipcbiAgICogT3BlbnMgaW4gdGhlIHNhbWUgdGFiIGdyb3VwIHJpZ2h0IGFmdGVyIHRoZSBwcmV2aW91cyB0YWJcbiAgICovXG4gIFRBQl9BRlRFUiA9IFwidGFiLWFmdGVyXCIsXG4gIC8qKlxuICAgKiBPcGVucyBpbiB0aGUgc2FtZSB0YWIgZ3JvdXAgbGVmdCBiZWZvcmUgdGhlIHByZXZpb3VzIHRhYlxuICAgKi9cbiAgVEFCX0JFRk9SRSA9IFwidGFiLWJlZm9yZVwiLFxuICAvKipcbiAgICogU3BsaXRzIGFuZCBhZGRzIHRoZSB0ZXJtaW5hbCB0byB0aGUgcmlnaHRcbiAgICovXG4gIFNQTElUX1JJR0hUID0gXCJzcGxpdC1yaWdodFwiLFxuICAvKipcbiAgICogU3BsaXRzIGFuZCBhZGRzIHRoZSB0ZXJtaW5hbCB0byB0aGUgbGVmdFxuICAgKi9cbiAgU1BMSVRfTEVGVCA9IFwic3BsaXQtbGVmdFwiLFxuICAvKipcbiAgICogU3BsaXRzIGFuZCBhZGRzIHRoZSB0ZXJtaW5hbCB0byB0aGUgdG9wXG4gICAqL1xuICBTUExJVF9UT1AgPSBcInNwbGl0LXRvcFwiLFxuICAvKipcbiAgICogU3BsaXRzIGFuZCBhZGRzIHRoZSB0ZXJtaW5hbCB0byB0aGUgYm90dG9tXG4gICAqL1xuICBTUExJVF9CT1RUT00gPSBcInNwbGl0LWJvdHRvbVwiLFxufVxuXG4vKipcbiAqIENvbmZpZ3VyZSB3aGVyZSBpbiB0aGUgSURFIHRoZSB0ZXJtaW5hbCBzaG91bGQgYmUgb3BlbmVkLlxuICovXG5leHBvcnQgZW51bSBHaXRwb2RPcGVuSW4ge1xuICAvKipcbiAgICogdGhlIGJvdHRvbSBwYW5lbCAoZGVmYXVsdClcbiAgICovXG4gIEJPVFRPTSA9IFwiYm90dG9tXCIsXG4gIC8qKlxuICAgKiB0aGUgbGVmdCBwYW5lbFxuICAgKi9cbiAgTEVGVCA9IFwibGVmdFwiLFxuICAvKipcbiAgICogdGhlIHJpZ2h0IHBhbmVsXG4gICAqL1xuICBSSUdIVCA9IFwicmlnaHRcIixcbiAgLyoqXG4gICAqIHRoZSBtYWluIGVkaXRvciBhcmVhXG4gICAqL1xuICBNQUlOID0gXCJtYWluXCIsXG59XG5cbi8qKlxuICogQ29uZmlndXJlIG9wdGlvbnMgZm9yIGEgdGFzayB0byBiZSBydW4gd2hlbiBvcGVuaW5nIGEgR2l0cG9kXG4gKiB3b3Jrc3BhY2UgKGUuZy4gcnVubmluZyB0ZXN0cywgb3Igc3RhcnRpbmcgYSBkZXYgc2VydmVyKS5cbiAqXG4gKiBTdGFydCBNb2RlICAgICAgICAgfCBFeGVjdXRpb25cbiAqIEZyZXNoIFdvcmtzcGFjZSAgICB8IGJlZm9yZSAmJiBpbml0ICYmIGNvbW1hbmRcbiAqIFJlc3RhcnQgV29ya3NwYWNlICB8IGJlZm9yZSAmJiBjb21tYW5kXG4gKiBTbmFwc2hvdCAgICAgICAgICAgfCBiZWZvcmUgJiYgY29tbWFuZFxuICogUHJlYnVpbGQgICAgICAgICAgIHwgYmVmb3JlICYmIGluaXQgJiYgcHJlYnVpbGRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRwb2RUYXNrIHtcbiAgLyoqXG4gICAqIFJlcXVpcmVkLiBUaGUgc2hlbGwgY29tbWFuZCB0byBydW5cbiAgICovXG4gIHJlYWRvbmx5IGNvbW1hbmQ6IHN0cmluZztcblxuICAvKipcbiAgICogQSBuYW1lIGZvciB0aGlzIHRhc2suXG4gICAqIEBkZWZhdWx0IC0gdGFzayBuYW1lcyBhcmUgb21pdHRlZCB3aGVuIGJsYW5rXG4gICAqL1xuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBZb3UgY2FuIGNvbmZpZ3VyZSBob3cgdGhlIHRlcm1pbmFsIHNob3VsZCBiZSBvcGVuZWQgcmVsYXRpdmUgdG8gdGhlIHByZXZpb3VzIHRhc2suXG4gICAqIEBkZWZhdWx0IEdpdHBvZE9wZW5Nb2RlLlRBQl9BRlRFUlxuICAgKi9cbiAgcmVhZG9ubHkgb3Blbk1vZGU/OiBHaXRwb2RPcGVuTW9kZTtcblxuICAvKipcbiAgICogWW91IGNhbiBjb25maWd1cmUgd2hlcmUgaW4gdGhlIElERSB0aGUgdGVybWluYWwgc2hvdWxkIGJlIG9wZW5lZFxuICAgKiBAZGVmYXVsdCBHaXRwb2RPcGVuSW4uQk9UVE9NXG4gICAqL1xuICByZWFkb25seSBvcGVuSW4/OiBHaXRwb2RPcGVuSW47XG5cbiAgLyoqXG4gICAqIEluIGNhc2UgeW91IG5lZWQgdG8gcnVuIHNvbWV0aGluZyBldmVuIGJlZm9yZSBpbml0LCB0aGF0IGlzIGEgcmVxdWlyZW1lbnQgZm9yIGJvdGggaW5pdCBhbmQgY29tbWFuZCxcbiAgICogeW91IGNhbiB1c2UgdGhlIGJlZm9yZSBwcm9wZXJ0eS5cbiAgICogQGRlZmF1bHRcbiAgICovXG4gIHJlYWRvbmx5IGJlZm9yZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGluaXQgcHJvcGVydHkgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSBzaGVsbCBjb21tYW5kcyB0aGF0IHNob3VsZCBvbmx5IGJlIGV4ZWN1dGVkIGFmdGVyIGEgd29ya3NwYWNlXG4gICAqIHdhcyBmcmVzaGx5IGNsb25lZCBhbmQgbmVlZHMgdG8gYmUgaW5pdGlhbGl6ZWQgc29tZWhvdy4gU3VjaCB0YXNrcyBhcmUgdXN1YWxseSBidWlsZHMgb3IgZG93bmxvYWRpbmdcbiAgICogZGVwZW5kZW5jaWVzLiBBbnl0aGluZyB5b3Ugb25seSB3YW50IHRvIGRvIG9uY2UgYnV0IG5vdCB3aGVuIHlvdSByZXN0YXJ0IGEgd29ya3NwYWNlIG9yIHN0YXJ0IGEgc25hcHNob3QuXG4gICAqIEBkZWZhdWx0XG4gICAqL1xuICByZWFkb25seSBpbml0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgb3B0aW9uYWwgcHJlYnVpbGQgY29tbWFuZCB3aWxsIGJlIGV4ZWN1dGVkIGR1cmluZyBwcmVidWlsZHMuIEl0IGlzIG1lYW50IHRvIHJ1biBhZGRpdGlvbmFsIGxvbmcgcnVubmluZ1xuICAgKiBwcm9jZXNzZXMgdGhhdCBjb3VsZCBiZSB1c2VmdWwsIGUuZy4gcnVubmluZyB0ZXN0IHN1aXRlcy5cbiAgICogQGRlZmF1bHRcbiAgICovXG4gIHJlYWRvbmx5IHByZWJ1aWxkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFdoYXQgdG8gZG8gd2hlbiBhIHNlcnZpY2Ugb24gYSBwb3J0IGlzIGRldGVjdGVkLlxuICovXG5leHBvcnQgZW51bSBHaXRwb2RPbk9wZW4ge1xuICAvKipcbiAgICogT3BlbiBhIG5ldyBicm93c2VyIHRhYlxuICAgKi9cbiAgT1BFTl9CUk9XU0VSID0gXCJvcGVuLWJyb3dzZXJcIixcblxuICAvKipcbiAgICogT3BlbiBhIHByZXZpZXcgb24gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIElERVxuICAgKi9cbiAgT1BFTl9QUkVWSUVXID0gXCJvcGVuLXByZXZpZXdcIixcblxuICAvKipcbiAgICogU2hvdyBhIG5vdGlmaWNhdGlvbiBhc2tpbmcgdGhlIHVzZXIgd2hhdCB0byBkbyAoZGVmYXVsdClcbiAgICovXG4gIE5PVElGWSA9IFwibm90aWZ5XCIsXG5cbiAgLyoqXG4gICAqIERvIG5vdGhpbmcuXG4gICAqL1xuICBJR05PUkUgPSBcImlnbm9yZVwiLFxufVxuXG4vKipcbiAqIFdoZXRoZXIgdGhlIHBvcnQgdmlzaWJpbGl0eSBzaG91bGQgYmUgcHJpdmF0ZSBvciBwdWJsaWNcbiAqL1xuZXhwb3J0IGVudW0gR2l0cG9kUG9ydFZpc2liaWxpdHkge1xuICAvKipcbiAgICogQWxsb3dzIGV2ZXJ5b25lIHdpdGggdGhlIHBvcnQgVVJMIHRvIGFjY2VzcyB0aGUgcG9ydCAoZGVmYXVsdClcbiAgICovXG4gIFBVQkxJQyA9IFwicHVibGljXCIsXG5cbiAgLyoqXG4gICAqIE9ubHkgYWxsb3dzIHVzZXJzIHdpdGggd29ya3NwYWNlIGFjY2VzcyB0byBhY2Nlc3MgdGhlIHBvcnRcbiAgICovXG4gIFBSSVZBVEUgPSBcInByaXZhdGVcIixcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBhbiBleHBvc2VkIHBvcnQgb24gR2l0cG9kXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2l0cG9kUG9ydCB7XG4gIC8qKlxuICAgKiBBIHBvcnQgdGhhdCBzaG91bGQgYmUgZXhwb3NlZCAoZm9yd2FyZGVkKSBmcm9tIHRoZSBjb250YWluZXIuXG4gICAqXG4gICAqIEBleGFtcGxlIFwiODA4MFwiXG4gICAqL1xuICByZWFkb25seSBwb3J0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGF0IHRvIGRvIHdoZW4gYSBzZXJ2aWNlIG9uIGEgcG9ydCBpcyBkZXRlY3RlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgR2l0cG9kT25PcGVuLk5PVElGWVxuICAgKi9cbiAgcmVhZG9ubHkgb25PcGVuPzogR2l0cG9kT25PcGVuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBwb3J0IHZpc2liaWxpdHkgc2hvdWxkIGJlIHByaXZhdGUgb3IgcHVibGljLlxuICAgKlxuICAgKiBAZGVmYXVsdCBHaXRwb2RQb3J0VmlzaWJpbGl0eS5QVUJMSUNcbiAgICovXG4gIHJlYWRvbmx5IHZpc2liaWxpdHk/OiBHaXRwb2RQb3J0VmlzaWJpbGl0eTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmUgdGhlIEdpdHBvZCBBcHAgZm9yIHByZWJ1aWxkcy5cbiAqIEN1cnJlbnRseSBvbmx5IEdpdEh1YiBpcyBzdXBwb3J0ZWQuXG4gKiBAc2VlIGh0dHBzOi8vd3d3LmdpdHBvZC5pby9kb2NzL3ByZWJ1aWxkcy9cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRwb2RQcmVidWlsZHMge1xuICAvKipcbiAgICogRW5hYmxlIGZvciB0aGUgbWFzdGVyL2RlZmF1bHQgYnJhbmNoXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IG1hc3Rlcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBmb3IgYWxsIGJyYW5jaGVzIGluIHRoaXMgcmVwb1xuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYnJhbmNoZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgZm9yIHB1bGwgcmVxdWVzdHMgY29taW5nIGZyb20gdGhpcyByZXBvXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHB1bGxSZXF1ZXN0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBmb3IgcHVsbCByZXF1ZXN0cyBjb21pbmcgZnJvbSBmb3Jrc1xuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHVsbFJlcXVlc3RzRnJvbUZvcmtzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQWRkIGEgY2hlY2sgdG8gcHVsbCByZXF1ZXN0c1xuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBhZGRDaGVjaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFkZCBhIFwiUmV2aWV3IGluIEdpdHBvZFwiIGJ1dHRvbiBhcyBhIGNvbW1lbnQgdG8gcHVsbCByZXF1ZXN0c1xuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYWRkQ29tbWVudD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFkZCBhIFwiUmV2aWV3IGluIEdpdHBvZFwiIGJ1dHRvbiB0byB0aGUgcHVsbCByZXF1ZXN0J3MgZGVzY3JpcHRpb25cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFkZEJhZGdlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQWRkIGEgbGFiZWwgb25jZSB0aGUgcHJlYnVpbGQgaXMgcmVhZHkgdG8gcHVsbCByZXF1ZXN0c1xuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYWRkTGFiZWw/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIENvbnN0cnVjdG9yIG9wdGlvbnMgZm9yIHRoZSBHaXRwb2QgY29tcG9uZW50LlxuICpcbiAqIEJ5IGRlZmF1bHQsIEdpdHBvZCB1c2VzIHRoZSAnZ2l0cG9kL3dvcmtzcGFjZS1mdWxsJyBkb2NrZXIgaW1hZ2UuXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9naXRwb2QtaW8vd29ya3NwYWNlLWltYWdlcy9ibG9iL21hc3Rlci9mdWxsL0RvY2tlcmZpbGVcbiAqXG4gKiBCeSBkZWZhdWx0LCBhbGwgdGFza3Mgd2lsbCBiZSBydW4gaW4gcGFyYWxsZWwuIFRvIHJ1biB0aGUgdGFza3MgaW4gc2VxdWVuY2UsXG4gKiBjcmVhdGUgYSBuZXcgdGFzayBhbmQgc3BlY2lmeSB0aGUgb3RoZXIgdGFza3MgYXMgc3VidGFza3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2l0cG9kT3B0aW9ucyBleHRlbmRzIERldkVudmlyb25tZW50T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBHaXRwb2QncyBHaXRodWIgQXBwIGludGVncmF0aW9uIGZvciBwcmVidWlsZHNcbiAgICogSWYgdGhpcyBpcyBub3Qgc2V0IGFuZCBHaXRwb2QncyBHaXRodWIgQXBwIGlzIGluc3RhbGxlZCwgdGhlbiBHaXRwb2Qgd2lsbCBhcHBseVxuICAgKiB0aGVzZSBkZWZhdWx0czogaHR0cHM6Ly93d3cuZ2l0cG9kLmlvL2RvY3MvcHJlYnVpbGRzLyNjb25maWd1cmUtdGhlLWdpdGh1Yi1hcHBcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBwcmVidWlsZHM/OiBHaXRwb2RQcmVidWlsZHM7XG59XG5cbi8qKlxuICogVGhlIEdpdHBvZCBjb21wb25lbnQgd2hpY2ggZW1pdHMgLmdpdHBvZC55bWxcbiAqL1xuZXhwb3J0IGNsYXNzIEdpdHBvZCBleHRlbmRzIENvbXBvbmVudCBpbXBsZW1lbnRzIElEZXZFbnZpcm9ubWVudCB7XG4gIHByaXZhdGUgZG9ja2VySW1hZ2U6IERldkVudmlyb25tZW50RG9ja2VySW1hZ2UgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgcHJlYnVpbGRzOiBHaXRwb2RQcmVidWlsZHMgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGFza3MgPSBuZXcgQXJyYXk8R2l0cG9kVGFzaz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBwb3J0cyA9IG5ldyBBcnJheTxHaXRwb2RQb3J0PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHZzY29kZUV4dGVuc2lvbnMgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBEaXJlY3QgYWNjZXNzIHRvIHRoZSBnaXRwb2QgY29uZmlndXJhdGlvbiAoZXNjYXBlIGhhdGNoKVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNvbmZpZzogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IEdpdHBvZE9wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgdGhpcy5kb2NrZXJJbWFnZSA9IG9wdGlvbnM/LmRvY2tlckltYWdlO1xuXG4gICAgaWYgKG9wdGlvbnM/LnRhc2tzKSB7XG4gICAgICBmb3IgKGNvbnN0IHRhc2sgb2Ygb3B0aW9ucy50YXNrcykge1xuICAgICAgICB0aGlzLmFkZFRhc2tzKHRhc2spO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChvcHRpb25zPy5wcmVidWlsZHMpIHtcbiAgICAgIHRoaXMuYWRkUHJlYnVpbGRzKG9wdGlvbnMucHJlYnVpbGRzKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucz8ucG9ydHMpIHtcbiAgICAgIHRoaXMuYWRkUG9ydHMoLi4ub3B0aW9ucy5wb3J0cyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnM/LnZzY29kZUV4dGVuc2lvbnMpIHtcbiAgICAgIHRoaXMuYWRkVnNjb2RlRXh0ZW5zaW9ucyguLi5vcHRpb25zLnZzY29kZUV4dGVuc2lvbnMpO1xuICAgIH1cblxuICAgIHRoaXMuY29uZmlnID0ge1xuICAgICAgaW1hZ2U6ICgpID0+IHRoaXMucmVuZGVyRG9ja2VySW1hZ2UoKSxcbiAgICAgIHRhc2tzOiB0aGlzLnRhc2tzLFxuICAgICAgZ2l0aHViOiAoKSA9PiB0aGlzLnJlbmRlclByZWJ1aWxkcygpLFxuICAgICAgcG9ydHM6IHRoaXMucG9ydHMsXG4gICAgICB2c2NvZGU6IHtcbiAgICAgICAgZXh0ZW5zaW9uczogdGhpcy52c2NvZGVFeHRlbnNpb25zLFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgbmV3IFlhbWxGaWxlKHRoaXMucHJvamVjdCwgR0lUUE9EX0ZJTEUsIHtcbiAgICAgIG9iajogdGhpcy5jb25maWcsXG4gICAgICBvbWl0RW1wdHk6IHRydWUsXG4gICAgICAvLyBHaXRQb2QgbmVlZHMgdG8gcmVhZCB0aGUgZmlsZSBmcm9tIHRoZSByZXBvc2l0b3J5IGluIG9yZGVyIHRvIHdvcmsuXG4gICAgICBjb21taXR0ZWQ6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgY3VzdG9tIERvY2tlciBpbWFnZSBvciBEb2NrZXJmaWxlIGZvciB0aGUgY29udGFpbmVyLlxuICAgKlxuICAgKiBAcGFyYW0gaW1hZ2UgVGhlIERvY2tlciBpbWFnZVxuICAgKi9cbiAgcHVibGljIGFkZERvY2tlckltYWdlKGltYWdlOiBEZXZFbnZpcm9ubWVudERvY2tlckltYWdlKSB7XG4gICAgaWYgKHRoaXMuZG9ja2VySW1hZ2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcImRvY2tlckltYWdlIGNhbm5vdCBiZSByZWRlZmluZWQuXCIpO1xuICAgIH1cbiAgICB0aGlzLmRvY2tlckltYWdlID0gaW1hZ2U7XG4gIH1cblxuICAvKipcbiAgICogQWRkIHRhc2tzIHRvIHJ1biB3aGVuIGdpdHBvZCBzdGFydHMuXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQsIGFsbCB0YXNrcyB3aWxsIGJlIHJ1biBpbiBwYXJhbGxlbC4gVG8gcnVuIHRhc2tzIGluIHNlcXVlbmNlLFxuICAgKiBjcmVhdGUgYSBuZXcgYFRhc2tgIGFuZCBzcGVjaWZ5IHRoZSBvdGhlciB0YXNrcyBhcyBzdWJ0YXNrcy5cbiAgICpcbiAgICogQHBhcmFtIHRhc2tzIFRoZSBuZXcgdGFza3NcbiAgICovXG4gIHB1YmxpYyBhZGRUYXNrcyguLi50YXNrczogVGFza1tdKSB7XG4gICAgdGhpcy50YXNrcy5wdXNoKFxuICAgICAgLi4udGFza3MubWFwKCh0YXNrKSA9PiAoe1xuICAgICAgICBuYW1lOiB0YXNrLm5hbWUsXG4gICAgICAgIGNvbW1hbmQ6IGAke3RoaXMucHJvamVjdC5wcm9qZW5Db21tYW5kfSAke3Rhc2submFtZX1gLFxuICAgICAgfSkpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgcHJlYnVpbGRzIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBHaXRwb2QgQXBwXG4gICAqIEBwYXJhbSBjb25maWcgVGhlIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBhZGRQcmVidWlsZHMoY29uZmlnOiBHaXRwb2RQcmVidWlsZHMpIHtcbiAgICB0aGlzLnByZWJ1aWxkcyA9IGNvbmZpZztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSB0YXNrIHdpdGggbW9yZSBncmFudWxhciBvcHRpb25zLlxuICAgKlxuICAgKiBCeSBkZWZhdWx0LCBhbGwgdGFza3Mgd2lsbCBiZSBydW4gaW4gcGFyYWxsZWwuIFRvIHJ1biB0YXNrcyBpbiBzZXF1ZW5jZSxcbiAgICogY3JlYXRlIGEgbmV3IGBUYXNrYCBhbmQgc2V0IHRoZSBvdGhlciB0YXNrcyBhcyBzdWJ0YXNrcy5cbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnMgVGhlIHRhc2sgcGFyYW1ldGVyc1xuICAgKi9cbiAgcHVibGljIGFkZEN1c3RvbVRhc2sob3B0aW9uczogR2l0cG9kVGFzaykge1xuICAgIHRoaXMudGFza3MucHVzaCh7XG4gICAgICBuYW1lOiBvcHRpb25zLm5hbWUsXG4gICAgICBjb21tYW5kOiBvcHRpb25zLmNvbW1hbmQsXG4gICAgICBvcGVuTW9kZTogb3B0aW9ucy5vcGVuTW9kZSxcbiAgICAgIG9wZW5Jbjogb3B0aW9ucy5vcGVuSW4sXG4gICAgICBiZWZvcmU6IG9wdGlvbnMuYmVmb3JlLFxuICAgICAgaW5pdDogb3B0aW9ucy5pbml0LFxuICAgICAgcHJlYnVpbGQ6IG9wdGlvbnMucHJlYnVpbGQsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIHBvcnRzIHRoYXQgc2hvdWxkIGJlIGV4cG9zZWQgKGZvcndhcmRlZCkgZnJvbSB0aGUgY29udGFpbmVyLlxuICAgKlxuICAgKiBAcGFyYW0gcG9ydHMgVGhlIG5ldyBwb3J0c1xuICAgKi9cbiAgcHVibGljIGFkZFBvcnRzKC4uLnBvcnRzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMucG9ydHMucHVzaCguLi5wb3J0cy5tYXAoKHBvcnQpID0+ICh7IHBvcnQ6IHBvcnQgfSkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBsaXN0IG9mIFZTQ29kZSBleHRlbnNpb25zIHRoYXQgc2hvdWxkIGJlIGF1dG9tYXRpY2FsbHkgaW5zdGFsbGVkXG4gICAqIGluIHRoZSBjb250YWluZXIuXG4gICAqXG4gICAqIFRoZXNlIG11c3QgYmUgaW4gdGhlIGZvcm1hdCBkZWZpbmVkIGluIHRoZSBPcGVuIFZTWCByZWdpc3RyeS5cbiAgICogQGV4YW1wbGUgJ3NjYWxhLWxhbmcuc2NhbGFAMC4zLjk6TzVYbWp3WTVHeiswb0RaQW1xbmVKdz09J1xuICAgKiBAc2VlIGh0dHBzOi8vd3d3LmdpdHBvZC5pby9kb2NzL3ZzY29kZS1leHRlbnNpb25zL1xuICAgKlxuICAgKiBAcGFyYW0gZXh0ZW5zaW9ucyBUaGUgZXh0ZW5zaW9uIElEc1xuICAgKi9cbiAgcHVibGljIGFkZFZzY29kZUV4dGVuc2lvbnMoLi4uZXh0ZW5zaW9uczogR2l0cG9kQ29kZUV4dGVuc2lvbklkW10pIHtcbiAgICB0aGlzLnZzY29kZUV4dGVuc2lvbnMucHVzaCguLi5leHRlbnNpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyRG9ja2VySW1hZ2UoKSB7XG4gICAgaWYgKHRoaXMuZG9ja2VySW1hZ2U/LmltYWdlKSB7XG4gICAgICByZXR1cm4gdGhpcy5kb2NrZXJJbWFnZS5pbWFnZTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZG9ja2VySW1hZ2U/LmRvY2tlckZpbGUpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZpbGU6IHRoaXMuZG9ja2VySW1hZ2UuZG9ja2VyRmlsZSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJQcmVidWlsZHMoKSB7XG4gICAgaWYgKHRoaXMucHJlYnVpbGRzKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwcmVidWlsZHM6IHRoaXMucHJlYnVpbGRzLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBWUyBDb2RlIGV4dGVuc2lvbnMgYXMgZGVmaW5lZCBpbiB0aGUgT3BlbiBWU1ggcmVnaXN0cnlcbiAqIEV4YW1wbGU6IGBzY2FsYS1sYW5nLnNjYWxhQDAuMy45Ok81WG1qd1k1R3orMG9EWkFtcW5lSnc9PWBcbiAqL1xudHlwZSBHaXRwb2RDb2RlRXh0ZW5zaW9uSWQgPSBzdHJpbmc7XG4iXX0=
249
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0cG9kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2dpdHBvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsMkNBQXdDO0FBUXhDLGlDQUFrQztBQUVsQzs7R0FFRztBQUNILE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQztBQUVsQzs7Ozs7R0FLRztBQUVIOztHQUVHO0FBQ0gsSUFBWSxjQXlCWDtBQXpCRCxXQUFZLGNBQWM7SUFDeEI7O09BRUc7SUFDSCx5Q0FBdUIsQ0FBQTtJQUN2Qjs7T0FFRztJQUNILDJDQUF5QixDQUFBO0lBQ3pCOztPQUVHO0lBQ0gsNkNBQTJCLENBQUE7SUFDM0I7O09BRUc7SUFDSCwyQ0FBeUIsQ0FBQTtJQUN6Qjs7T0FFRztJQUNILHlDQUF1QixDQUFBO0lBQ3ZCOztPQUVHO0lBQ0gsK0NBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQXpCVyxjQUFjLDhCQUFkLGNBQWMsUUF5QnpCO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLFlBaUJYO0FBakJELFdBQVksWUFBWTtJQUN0Qjs7T0FFRztJQUNILGlDQUFpQixDQUFBO0lBQ2pCOztPQUVHO0lBQ0gsNkJBQWEsQ0FBQTtJQUNiOztPQUVHO0lBQ0gsK0JBQWUsQ0FBQTtJQUNmOztPQUVHO0lBQ0gsNkJBQWEsQ0FBQTtBQUNmLENBQUMsRUFqQlcsWUFBWSw0QkFBWixZQUFZLFFBaUJ2QjtBQTJERDs7R0FFRztBQUNILElBQVksWUFvQlg7QUFwQkQsV0FBWSxZQUFZO0lBQ3RCOztPQUVHO0lBQ0gsNkNBQTZCLENBQUE7SUFFN0I7O09BRUc7SUFDSCw2Q0FBNkIsQ0FBQTtJQUU3Qjs7T0FFRztJQUNILGlDQUFpQixDQUFBO0lBRWpCOztPQUVHO0lBQ0gsaUNBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQXBCVyxZQUFZLDRCQUFaLFlBQVksUUFvQnZCO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLG9CQVVYO0FBVkQsV0FBWSxvQkFBb0I7SUFDOUI7O09BRUc7SUFDSCx5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Q3JCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLE9BQU87Z0JBQ0wsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2FBQzFCLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDOztBQXpKSCx3QkEwSkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHtcbiAgSURldkVudmlyb25tZW50LFxuICBEZXZFbnZpcm9ubWVudE9wdGlvbnMsXG4gIERldkVudmlyb25tZW50RG9ja2VySW1hZ2UsXG59IGZyb20gXCIuL2Rldi1lbnZcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCIuL3Byb2plY3RcIjtcbmltcG9ydCB0eXBlIHsgVGFzayB9IGZyb20gXCIuL3Rhc2tcIjtcbmltcG9ydCB7IFlhbWxGaWxlIH0gZnJvbSBcIi4veWFtbFwiO1xuXG4vKipcbiAqIFJlbGF0aXZlIHBhdGggb2YgR2l0cG9kIGZpbGUgdG8gZ2VuZXJhdGVcbiAqL1xuY29uc3QgR0lUUE9EX0ZJTEUgPSBcIi5naXRwb2QueW1sXCI7XG5cbi8qKlxuICogaHR0cHM6Ly93d3cuZ2l0cG9kLmlvL2RvY3MvY29uZmlndXJhdGlvbi9cbiAqIGh0dHBzOi8vd3d3LmdpdHBvZC5pby9kb2NzL2NvbmZpZy1zdGFydC10YXNrcy9cbiAqIGh0dHBzOi8vd3d3LmdpdHBvZC5pby9kb2NzL3ByZWJ1aWxkcy8jY29uZmlndXJlLXRoZS1naXRodWItYXBwXG4gKiBodHRwczovL3d3dy5naXRwb2QuaW8vZG9jcy92c2NvZGUtZXh0ZW5zaW9ucy9cbiAqL1xuXG4vKipcbiAqIENvbmZpZ3VyZSBob3cgdGhlIHRlcm1pbmFsIHNob3VsZCBiZSBvcGVuZWQgcmVsYXRpdmUgdG8gdGhlIHByZXZpb3VzIHRhc2suXG4gKi9cbmV4cG9ydCBlbnVtIEdpdHBvZE9wZW5Nb2RlIHtcbiAgLyoqXG4gICAqIE9wZW5zIGluIHRoZSBzYW1lIHRhYiBncm91cCByaWdodCBhZnRlciB0aGUgcHJldmlvdXMgdGFiXG4gICAqL1xuICBUQUJfQUZURVIgPSBcInRhYi1hZnRlclwiLFxuICAvKipcbiAgICogT3BlbnMgaW4gdGhlIHNhbWUgdGFiIGdyb3VwIGxlZnQgYmVmb3JlIHRoZSBwcmV2aW91cyB0YWJcbiAgICovXG4gIFRBQl9CRUZPUkUgPSBcInRhYi1iZWZvcmVcIixcbiAgLyoqXG4gICAqIFNwbGl0cyBhbmQgYWRkcyB0aGUgdGVybWluYWwgdG8gdGhlIHJpZ2h0XG4gICAqL1xuICBTUExJVF9SSUdIVCA9IFwic3BsaXQtcmlnaHRcIixcbiAgLyoqXG4gICAqIFNwbGl0cyBhbmQgYWRkcyB0aGUgdGVybWluYWwgdG8gdGhlIGxlZnRcbiAgICovXG4gIFNQTElUX0xFRlQgPSBcInNwbGl0LWxlZnRcIixcbiAgLyoqXG4gICAqIFNwbGl0cyBhbmQgYWRkcyB0aGUgdGVybWluYWwgdG8gdGhlIHRvcFxuICAgKi9cbiAgU1BMSVRfVE9QID0gXCJzcGxpdC10b3BcIixcbiAgLyoqXG4gICAqIFNwbGl0cyBhbmQgYWRkcyB0aGUgdGVybWluYWwgdG8gdGhlIGJvdHRvbVxuICAgKi9cbiAgU1BMSVRfQk9UVE9NID0gXCJzcGxpdC1ib3R0b21cIixcbn1cblxuLyoqXG4gKiBDb25maWd1cmUgd2hlcmUgaW4gdGhlIElERSB0aGUgdGVybWluYWwgc2hvdWxkIGJlIG9wZW5lZC5cbiAqL1xuZXhwb3J0IGVudW0gR2l0cG9kT3BlbkluIHtcbiAgLyoqXG4gICAqIHRoZSBib3R0b20gcGFuZWwgKGRlZmF1bHQpXG4gICAqL1xuICBCT1RUT00gPSBcImJvdHRvbVwiLFxuICAvKipcbiAgICogdGhlIGxlZnQgcGFuZWxcbiAgICovXG4gIExFRlQgPSBcImxlZnRcIixcbiAgLyoqXG4gICAqIHRoZSByaWdodCBwYW5lbFxuICAgKi9cbiAgUklHSFQgPSBcInJpZ2h0XCIsXG4gIC8qKlxuICAgKiB0aGUgbWFpbiBlZGl0b3IgYXJlYVxuICAgKi9cbiAgTUFJTiA9IFwibWFpblwiLFxufVxuXG4vKipcbiAqIENvbmZpZ3VyZSBvcHRpb25zIGZvciBhIHRhc2sgdG8gYmUgcnVuIHdoZW4gb3BlbmluZyBhIEdpdHBvZFxuICogd29ya3NwYWNlIChlLmcuIHJ1bm5pbmcgdGVzdHMsIG9yIHN0YXJ0aW5nIGEgZGV2IHNlcnZlcikuXG4gKlxuICogU3RhcnQgTW9kZSAgICAgICAgIHwgRXhlY3V0aW9uXG4gKiBGcmVzaCBXb3Jrc3BhY2UgICAgfCBiZWZvcmUgJiYgaW5pdCAmJiBjb21tYW5kXG4gKiBSZXN0YXJ0IFdvcmtzcGFjZSAgfCBiZWZvcmUgJiYgY29tbWFuZFxuICogU25hcHNob3QgICAgICAgICAgIHwgYmVmb3JlICYmIGNvbW1hbmRcbiAqIFByZWJ1aWxkICAgICAgICAgICB8IGJlZm9yZSAmJiBpbml0ICYmIHByZWJ1aWxkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2l0cG9kVGFzayB7XG4gIC8qKlxuICAgKiBSZXF1aXJlZC4gVGhlIHNoZWxsIGNvbW1hbmQgdG8gcnVuXG4gICAqL1xuICByZWFkb25seSBjb21tYW5kOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgbmFtZSBmb3IgdGhpcyB0YXNrLlxuICAgKiBAZGVmYXVsdCAtIHRhc2sgbmFtZXMgYXJlIG9taXR0ZWQgd2hlbiBibGFua1xuICAgKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogWW91IGNhbiBjb25maWd1cmUgaG93IHRoZSB0ZXJtaW5hbCBzaG91bGQgYmUgb3BlbmVkIHJlbGF0aXZlIHRvIHRoZSBwcmV2aW91cyB0YXNrLlxuICAgKiBAZGVmYXVsdCBHaXRwb2RPcGVuTW9kZS5UQUJfQUZURVJcbiAgICovXG4gIHJlYWRvbmx5IG9wZW5Nb2RlPzogR2l0cG9kT3Blbk1vZGU7XG5cbiAgLyoqXG4gICAqIFlvdSBjYW4gY29uZmlndXJlIHdoZXJlIGluIHRoZSBJREUgdGhlIHRlcm1pbmFsIHNob3VsZCBiZSBvcGVuZWRcbiAgICogQGRlZmF1bHQgR2l0cG9kT3BlbkluLkJPVFRPTVxuICAgKi9cbiAgcmVhZG9ubHkgb3BlbkluPzogR2l0cG9kT3BlbkluO1xuXG4gIC8qKlxuICAgKiBJbiBjYXNlIHlvdSBuZWVkIHRvIHJ1biBzb21ldGhpbmcgZXZlbiBiZWZvcmUgaW5pdCwgdGhhdCBpcyBhIHJlcXVpcmVtZW50IGZvciBib3RoIGluaXQgYW5kIGNvbW1hbmQsXG4gICAqIHlvdSBjYW4gdXNlIHRoZSBiZWZvcmUgcHJvcGVydHkuXG4gICAqIEBkZWZhdWx0XG4gICAqL1xuICByZWFkb25seSBiZWZvcmU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpbml0IHByb3BlcnR5IGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgc2hlbGwgY29tbWFuZHMgdGhhdCBzaG91bGQgb25seSBiZSBleGVjdXRlZCBhZnRlciBhIHdvcmtzcGFjZVxuICAgKiB3YXMgZnJlc2hseSBjbG9uZWQgYW5kIG5lZWRzIHRvIGJlIGluaXRpYWxpemVkIHNvbWVob3cuIFN1Y2ggdGFza3MgYXJlIHVzdWFsbHkgYnVpbGRzIG9yIGRvd25sb2FkaW5nXG4gICAqIGRlcGVuZGVuY2llcy4gQW55dGhpbmcgeW91IG9ubHkgd2FudCB0byBkbyBvbmNlIGJ1dCBub3Qgd2hlbiB5b3UgcmVzdGFydCBhIHdvcmtzcGFjZSBvciBzdGFydCBhIHNuYXBzaG90LlxuICAgKiBAZGVmYXVsdFxuICAgKi9cbiAgcmVhZG9ubHkgaW5pdD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG9wdGlvbmFsIHByZWJ1aWxkIGNvbW1hbmQgd2lsbCBiZSBleGVjdXRlZCBkdXJpbmcgcHJlYnVpbGRzLiBJdCBpcyBtZWFudCB0byBydW4gYWRkaXRpb25hbCBsb25nIHJ1bm5pbmdcbiAgICogcHJvY2Vzc2VzIHRoYXQgY291bGQgYmUgdXNlZnVsLCBlLmcuIHJ1bm5pbmcgdGVzdCBzdWl0ZXMuXG4gICAqIEBkZWZhdWx0XG4gICAqL1xuICByZWFkb25seSBwcmVidWlsZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBXaGF0IHRvIGRvIHdoZW4gYSBzZXJ2aWNlIG9uIGEgcG9ydCBpcyBkZXRlY3RlZC5cbiAqL1xuZXhwb3J0IGVudW0gR2l0cG9kT25PcGVuIHtcbiAgLyoqXG4gICAqIE9wZW4gYSBuZXcgYnJvd3NlciB0YWJcbiAgICovXG4gIE9QRU5fQlJPV1NFUiA9IFwib3Blbi1icm93c2VyXCIsXG5cbiAgLyoqXG4gICAqIE9wZW4gYSBwcmV2aWV3IG9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSBJREVcbiAgICovXG4gIE9QRU5fUFJFVklFVyA9IFwib3Blbi1wcmV2aWV3XCIsXG5cbiAgLyoqXG4gICAqIFNob3cgYSBub3RpZmljYXRpb24gYXNraW5nIHRoZSB1c2VyIHdoYXQgdG8gZG8gKGRlZmF1bHQpXG4gICAqL1xuICBOT1RJRlkgPSBcIm5vdGlmeVwiLFxuXG4gIC8qKlxuICAgKiBEbyBub3RoaW5nLlxuICAgKi9cbiAgSUdOT1JFID0gXCJpZ25vcmVcIixcbn1cblxuLyoqXG4gKiBXaGV0aGVyIHRoZSBwb3J0IHZpc2liaWxpdHkgc2hvdWxkIGJlIHByaXZhdGUgb3IgcHVibGljXG4gKi9cbmV4cG9ydCBlbnVtIEdpdHBvZFBvcnRWaXNpYmlsaXR5IHtcbiAgLyoqXG4gICAqIEFsbG93cyBldmVyeW9uZSB3aXRoIHRoZSBwb3J0IFVSTCB0byBhY2Nlc3MgdGhlIHBvcnQgKGRlZmF1bHQpXG4gICAqL1xuICBQVUJMSUMgPSBcInB1YmxpY1wiLFxuXG4gIC8qKlxuICAgKiBPbmx5IGFsbG93cyB1c2VycyB3aXRoIHdvcmtzcGFjZSBhY2Nlc3MgdG8gYWNjZXNzIHRoZSBwb3J0XG4gICAqL1xuICBQUklWQVRFID0gXCJwcml2YXRlXCIsXG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYW4gZXhwb3NlZCBwb3J0IG9uIEdpdHBvZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdpdHBvZFBvcnQge1xuICAvKipcbiAgICogQSBwb3J0IHRoYXQgc2hvdWxkIGJlIGV4cG9zZWQgKGZvcndhcmRlZCkgZnJvbSB0aGUgY29udGFpbmVyLlxuICAgKlxuICAgKiBAZXhhbXBsZSBcIjgwODBcIlxuICAgKi9cbiAgcmVhZG9ubHkgcG9ydD86IHN0cmluZztcblxuICAvKipcbiAgICogV2hhdCB0byBkbyB3aGVuIGEgc2VydmljZSBvbiBhIHBvcnQgaXMgZGV0ZWN0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IEdpdHBvZE9uT3Blbi5OT1RJRllcbiAgICovXG4gIHJlYWRvbmx5IG9uT3Blbj86IEdpdHBvZE9uT3BlbjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcG9ydCB2aXNpYmlsaXR5IHNob3VsZCBiZSBwcml2YXRlIG9yIHB1YmxpYy5cbiAgICpcbiAgICogQGRlZmF1bHQgR2l0cG9kUG9ydFZpc2liaWxpdHkuUFVCTElDXG4gICAqL1xuICByZWFkb25seSB2aXNpYmlsaXR5PzogR2l0cG9kUG9ydFZpc2liaWxpdHk7XG59XG5cbi8qKlxuICogQ29uZmlndXJlIHRoZSBHaXRwb2QgQXBwIGZvciBwcmVidWlsZHMuXG4gKiBDdXJyZW50bHkgb25seSBHaXRIdWIgaXMgc3VwcG9ydGVkLlxuICogQHNlZSBodHRwczovL3d3dy5naXRwb2QuaW8vZG9jcy9wcmVidWlsZHMvXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2l0cG9kUHJlYnVpbGRzIHtcbiAgLyoqXG4gICAqIEVuYWJsZSBmb3IgdGhlIG1hc3Rlci9kZWZhdWx0IGJyYW5jaFxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBtYXN0ZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgZm9yIGFsbCBicmFuY2hlcyBpbiB0aGlzIHJlcG9cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGJyYW5jaGVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxlIGZvciBwdWxsIHJlcXVlc3RzIGNvbWluZyBmcm9tIHRoaXMgcmVwb1xuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBwdWxsUmVxdWVzdHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgZm9yIHB1bGwgcmVxdWVzdHMgY29taW5nIGZyb20gZm9ya3NcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHB1bGxSZXF1ZXN0c0Zyb21Gb3Jrcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFkZCBhIGNoZWNrIHRvIHB1bGwgcmVxdWVzdHNcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgYWRkQ2hlY2s/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBZGQgYSBcIlJldmlldyBpbiBHaXRwb2RcIiBidXR0b24gYXMgYSBjb21tZW50IHRvIHB1bGwgcmVxdWVzdHNcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFkZENvbW1lbnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBZGQgYSBcIlJldmlldyBpbiBHaXRwb2RcIiBidXR0b24gdG8gdGhlIHB1bGwgcmVxdWVzdCdzIGRlc2NyaXB0aW9uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBhZGRCYWRnZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFkZCBhIGxhYmVsIG9uY2UgdGhlIHByZWJ1aWxkIGlzIHJlYWR5IHRvIHB1bGwgcmVxdWVzdHNcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFkZExhYmVsPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDb25zdHJ1Y3RvciBvcHRpb25zIGZvciB0aGUgR2l0cG9kIGNvbXBvbmVudC5cbiAqXG4gKiBCeSBkZWZhdWx0LCBHaXRwb2QgdXNlcyB0aGUgJ2dpdHBvZC93b3Jrc3BhY2UtZnVsbCcgZG9ja2VyIGltYWdlLlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vZ2l0cG9kLWlvL3dvcmtzcGFjZS1pbWFnZXMvYmxvYi9tYXN0ZXIvZnVsbC9Eb2NrZXJmaWxlXG4gKlxuICogQnkgZGVmYXVsdCwgYWxsIHRhc2tzIHdpbGwgYmUgcnVuIGluIHBhcmFsbGVsLiBUbyBydW4gdGhlIHRhc2tzIGluIHNlcXVlbmNlLFxuICogY3JlYXRlIGEgbmV3IHRhc2sgYW5kIHNwZWNpZnkgdGhlIG90aGVyIHRhc2tzIGFzIHN1YnRhc2tzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdpdHBvZE9wdGlvbnMgZXh0ZW5kcyBEZXZFbnZpcm9ubWVudE9wdGlvbnMge1xuICAvKipcbiAgICogT3B0aW9uYWwgR2l0cG9kJ3MgR2l0aHViIEFwcCBpbnRlZ3JhdGlvbiBmb3IgcHJlYnVpbGRzXG4gICAqIElmIHRoaXMgaXMgbm90IHNldCBhbmQgR2l0cG9kJ3MgR2l0aHViIEFwcCBpcyBpbnN0YWxsZWQsIHRoZW4gR2l0cG9kIHdpbGwgYXBwbHlcbiAgICogdGhlc2UgZGVmYXVsdHM6IGh0dHBzOi8vd3d3LmdpdHBvZC5pby9kb2NzL3ByZWJ1aWxkcy8jY29uZmlndXJlLXRoZS1naXRodWItYXBwXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgcHJlYnVpbGRzPzogR2l0cG9kUHJlYnVpbGRzO1xufVxuXG4vKipcbiAqIFRoZSBHaXRwb2QgY29tcG9uZW50IHdoaWNoIGVtaXRzIC5naXRwb2QueW1sXG4gKi9cbmV4cG9ydCBjbGFzcyBHaXRwb2QgZXh0ZW5kcyBDb21wb25lbnQgaW1wbGVtZW50cyBJRGV2RW52aXJvbm1lbnQge1xuICBwcml2YXRlIGRvY2tlckltYWdlOiBEZXZFbnZpcm9ubWVudERvY2tlckltYWdlIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIHByZWJ1aWxkczogR2l0cG9kUHJlYnVpbGRzIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIHJlYWRvbmx5IHRhc2tzID0gbmV3IEFycmF5PEdpdHBvZFRhc2s+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcG9ydHMgPSBuZXcgQXJyYXk8R2l0cG9kUG9ydD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSB2c2NvZGVFeHRlbnNpb25zID0gbmV3IEFycmF5PHN0cmluZz4oKTtcblxuICAvKipcbiAgICogRGlyZWN0IGFjY2VzcyB0byB0aGUgZ2l0cG9kIGNvbmZpZ3VyYXRpb24gKGVzY2FwZSBoYXRjaClcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjb25maWc6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBHaXRwb2RPcHRpb25zID0ge30pIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIHRoaXMuZG9ja2VySW1hZ2UgPSBvcHRpb25zPy5kb2NrZXJJbWFnZTtcblxuICAgIGlmIChvcHRpb25zPy50YXNrcykge1xuICAgICAgZm9yIChjb25zdCB0YXNrIG9mIG9wdGlvbnMudGFza3MpIHtcbiAgICAgICAgdGhpcy5hZGRUYXNrcyh0YXNrKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucz8ucHJlYnVpbGRzKSB7XG4gICAgICB0aGlzLmFkZFByZWJ1aWxkcyhvcHRpb25zLnByZWJ1aWxkcyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnM/LnBvcnRzKSB7XG4gICAgICB0aGlzLmFkZFBvcnRzKC4uLm9wdGlvbnMucG9ydHMpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zPy52c2NvZGVFeHRlbnNpb25zKSB7XG4gICAgICB0aGlzLmFkZFZzY29kZUV4dGVuc2lvbnMoLi4ub3B0aW9ucy52c2NvZGVFeHRlbnNpb25zKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIGltYWdlOiAoKSA9PiB0aGlzLnJlbmRlckRvY2tlckltYWdlKCksXG4gICAgICB0YXNrczogdGhpcy50YXNrcyxcbiAgICAgIGdpdGh1YjogKCkgPT4gdGhpcy5yZW5kZXJQcmVidWlsZHMoKSxcbiAgICAgIHBvcnRzOiB0aGlzLnBvcnRzLFxuICAgICAgdnNjb2RlOiB7XG4gICAgICAgIGV4dGVuc2lvbnM6IHRoaXMudnNjb2RlRXh0ZW5zaW9ucyxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIG5ldyBZYW1sRmlsZSh0aGlzLnByb2plY3QsIEdJVFBPRF9GSUxFLCB7XG4gICAgICBvYmo6IHRoaXMuY29uZmlnLFxuICAgICAgb21pdEVtcHR5OiB0cnVlLFxuICAgICAgLy8gR2l0UG9kIG5lZWRzIHRvIHJlYWQgdGhlIGZpbGUgZnJvbSB0aGUgcmVwb3NpdG9yeSBpbiBvcmRlciB0byB3b3JrLlxuICAgICAgY29tbWl0dGVkOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGN1c3RvbSBEb2NrZXIgaW1hZ2Ugb3IgRG9ja2VyZmlsZSBmb3IgdGhlIGNvbnRhaW5lci5cbiAgICpcbiAgICogQHBhcmFtIGltYWdlIFRoZSBEb2NrZXIgaW1hZ2VcbiAgICovXG4gIHB1YmxpYyBhZGREb2NrZXJJbWFnZShpbWFnZTogRGV2RW52aXJvbm1lbnREb2NrZXJJbWFnZSkge1xuICAgIGlmICh0aGlzLmRvY2tlckltYWdlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJkb2NrZXJJbWFnZSBjYW5ub3QgYmUgcmVkZWZpbmVkLlwiKTtcbiAgICB9XG4gICAgdGhpcy5kb2NrZXJJbWFnZSA9IGltYWdlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCB0YXNrcyB0byBydW4gd2hlbiBnaXRwb2Qgc3RhcnRzLlxuICAgKlxuICAgKiBCeSBkZWZhdWx0LCBhbGwgdGFza3Mgd2lsbCBiZSBydW4gaW4gcGFyYWxsZWwuIFRvIHJ1biB0YXNrcyBpbiBzZXF1ZW5jZSxcbiAgICogY3JlYXRlIGEgbmV3IGBUYXNrYCBhbmQgc3BlY2lmeSB0aGUgb3RoZXIgdGFza3MgYXMgc3VidGFza3MuXG4gICAqXG4gICAqIEBwYXJhbSB0YXNrcyBUaGUgbmV3IHRhc2tzXG4gICAqL1xuICBwdWJsaWMgYWRkVGFza3MoLi4udGFza3M6IFRhc2tbXSkge1xuICAgIHRoaXMudGFza3MucHVzaChcbiAgICAgIC4uLnRhc2tzLm1hcCgodGFzaykgPT4gKHtcbiAgICAgICAgbmFtZTogdGFzay5uYW1lLFxuICAgICAgICBjb21tYW5kOiBgJHt0aGlzLnByb2plY3QucHJvamVuQ29tbWFuZH0gJHt0YXNrLm5hbWV9YCxcbiAgICAgIH0pKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHByZWJ1aWxkcyBjb25maWd1cmF0aW9uIGZvciB0aGUgR2l0cG9kIEFwcFxuICAgKiBAcGFyYW0gY29uZmlnIFRoZSBjb25maWd1cmF0aW9uXG4gICAqL1xuICBwdWJsaWMgYWRkUHJlYnVpbGRzKGNvbmZpZzogR2l0cG9kUHJlYnVpbGRzKSB7XG4gICAgdGhpcy5wcmVidWlsZHMgPSBjb25maWc7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgdGFzayB3aXRoIG1vcmUgZ3JhbnVsYXIgb3B0aW9ucy5cbiAgICpcbiAgICogQnkgZGVmYXVsdCwgYWxsIHRhc2tzIHdpbGwgYmUgcnVuIGluIHBhcmFsbGVsLiBUbyBydW4gdGFza3MgaW4gc2VxdWVuY2UsXG4gICAqIGNyZWF0ZSBhIG5ldyBgVGFza2AgYW5kIHNldCB0aGUgb3RoZXIgdGFza3MgYXMgc3VidGFza3MuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSB0YXNrIHBhcmFtZXRlcnNcbiAgICovXG4gIHB1YmxpYyBhZGRDdXN0b21UYXNrKG9wdGlvbnM6IEdpdHBvZFRhc2spIHtcbiAgICB0aGlzLnRhc2tzLnB1c2goe1xuICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgY29tbWFuZDogb3B0aW9ucy5jb21tYW5kLFxuICAgICAgb3Blbk1vZGU6IG9wdGlvbnMub3Blbk1vZGUsXG4gICAgICBvcGVuSW46IG9wdGlvbnMub3BlbkluLFxuICAgICAgYmVmb3JlOiBvcHRpb25zLmJlZm9yZSxcbiAgICAgIGluaXQ6IG9wdGlvbnMuaW5pdCxcbiAgICAgIHByZWJ1aWxkOiBvcHRpb25zLnByZWJ1aWxkLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBwb3J0cyB0aGF0IHNob3VsZCBiZSBleHBvc2VkIChmb3J3YXJkZWQpIGZyb20gdGhlIGNvbnRhaW5lci5cbiAgICpcbiAgICogQHBhcmFtIHBvcnRzIFRoZSBuZXcgcG9ydHNcbiAgICovXG4gIHB1YmxpYyBhZGRQb3J0cyguLi5wb3J0czogc3RyaW5nW10pIHtcbiAgICB0aGlzLnBvcnRzLnB1c2goLi4ucG9ydHMubWFwKChwb3J0KSA9PiAoeyBwb3J0OiBwb3J0IH0pKSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgbGlzdCBvZiBWU0NvZGUgZXh0ZW5zaW9ucyB0aGF0IHNob3VsZCBiZSBhdXRvbWF0aWNhbGx5IGluc3RhbGxlZFxuICAgKiBpbiB0aGUgY29udGFpbmVyLlxuICAgKlxuICAgKiBUaGVzZSBtdXN0IGJlIGluIHRoZSBmb3JtYXQgZGVmaW5lZCBpbiB0aGUgT3BlbiBWU1ggcmVnaXN0cnkuXG4gICAqIEBleGFtcGxlICdzY2FsYS1sYW5nLnNjYWxhQDAuMy45Ok81WG1qd1k1R3orMG9EWkFtcW5lSnc9PSdcbiAgICogQHNlZSBodHRwczovL3d3dy5naXRwb2QuaW8vZG9jcy92c2NvZGUtZXh0ZW5zaW9ucy9cbiAgICpcbiAgICogQHBhcmFtIGV4dGVuc2lvbnMgVGhlIGV4dGVuc2lvbiBJRHNcbiAgICovXG4gIHB1YmxpYyBhZGRWc2NvZGVFeHRlbnNpb25zKC4uLmV4dGVuc2lvbnM6IEdpdHBvZENvZGVFeHRlbnNpb25JZFtdKSB7XG4gICAgdGhpcy52c2NvZGVFeHRlbnNpb25zLnB1c2goLi4uZXh0ZW5zaW9ucyk7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlckRvY2tlckltYWdlKCkge1xuICAgIGlmICh0aGlzLmRvY2tlckltYWdlPy5pbWFnZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZG9ja2VySW1hZ2UuaW1hZ2U7XG4gICAgfSBlbHNlIGlmICh0aGlzLmRvY2tlckltYWdlPy5kb2NrZXJGaWxlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmaWxlOiB0aGlzLmRvY2tlckltYWdlLmRvY2tlckZpbGUsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyUHJlYnVpbGRzKCkge1xuICAgIGlmICh0aGlzLnByZWJ1aWxkcykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcHJlYnVpbGRzOiB0aGlzLnByZWJ1aWxkcyxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVlMgQ29kZSBleHRlbnNpb25zIGFzIGRlZmluZWQgaW4gdGhlIE9wZW4gVlNYIHJlZ2lzdHJ5XG4gKiBFeGFtcGxlOiBgc2NhbGEtbGFuZy5zY2FsYUAwLjMuOTpPNVhtandZNUd6KzBvRFpBbXFuZUp3PT1gXG4gKi9cbnR5cGUgR2l0cG9kQ29kZUV4dGVuc2lvbklkID0gc3RyaW5nO1xuIl19
@@ -1,11 +1,14 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.IgnoreFile = void 0;
5
4
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
5
  const file_1 = require("./file");
7
6
  const util_1 = require("./util");
8
7
  class IgnoreFile extends file_1.FileBase {
8
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.IgnoreFile", version: "0.100.1" };
9
+ _patterns;
10
+ filterCommentLines;
11
+ filterEmptyLines;
9
12
  /**
10
13
  *
11
14
  * @param project The project to tie this file to.
@@ -98,8 +101,6 @@ class IgnoreFile extends file_1.FileBase {
98
101
  }
99
102
  }
100
103
  exports.IgnoreFile = IgnoreFile;
101
- _a = JSII_RTTI_SYMBOL_1;
102
- IgnoreFile[_a] = { fqn: "projen.IgnoreFile", version: "0.99.80" };
103
104
  // O(n) hooray!
104
105
  function remove(arr, value) {
105
106
  const idx = arr.indexOf(value);
@@ -107,4 +108,4 @@ function remove(arr, value) {
107
108
  arr.splice(idx, 1);
108
109
  }
109
110
  }
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdub3JlLWZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaWdub3JlLWZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxpQ0FBa0M7QUFFbEMsaUNBQWdEO0FBeUJoRCxNQUFhLFVBQVcsU0FBUSxlQUFRO0lBS3RDOzs7OztPQUtHO0lBQ0gsWUFBWSxPQUFnQixFQUFFLFFBQWdCLEVBQUUsT0FBMkI7UUFDekUsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxhQUFhLEVBQUUsUUFBUSxLQUFLLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE9BQU8sRUFBRSxrQkFBa0IsSUFBSSxJQUFJLENBQUM7UUFDOUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxJQUFJLENBQUM7UUFDMUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLEVBQUUsY0FBYyxJQUFJLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksV0FBVyxDQUFDLEdBQUcsUUFBa0I7UUFDdEMsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUMvQixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3pELElBQUksU0FBUyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUN6QyxTQUFTO1lBQ1gsQ0FBQztZQUNELElBQUksV0FBVyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUN6QyxTQUFTO1lBQ1gsQ0FBQztZQUNELElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFD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O1xuaW1wb3J0IHsgRmlsZUJhc2UgfSBmcm9tIFwiLi9maWxlXCI7XG5pbXBvcnQgdHlwZSB7IFByb2plY3QgfSBmcm9tIFwiLi9wcm9qZWN0XCI7XG5pbXBvcnQgeyBub3JtYWxpemVQZXJzaXN0ZWRQYXRoIH0gZnJvbSBcIi4vdXRpbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElnbm9yZUZpbGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIEZpbHRlciBvdXQgY29tbWVudCBsaW5lcz9cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZmlsdGVyQ29tbWVudExpbmVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRmlsdGVyIG91dCBibGFuay9lbXB0eSBsaW5lcz9cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZmlsdGVyRW1wdHlMaW5lcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBhdHRlcm5zIHRvIGFkZCB0byB0aGUgaWdub3JlIGZpbGVcbiAgICpcbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHJlYWRvbmx5IGlnbm9yZVBhdHRlcm5zPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBjbGFzcyBJZ25vcmVGaWxlIGV4dGVuZHMgRmlsZUJhc2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IF9wYXR0ZXJuczogc3RyaW5nW107XG4gIHB1YmxpYyByZWFkb25seSBmaWx0ZXJDb21tZW50TGluZXM6IGJvb2xlYW47XG4gIHB1YmxpYyByZWFkb25seSBmaWx0ZXJFbXB0eUxpbmVzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gcHJvamVjdCBUaGUgcHJvamVjdCB0byB0aWUgdGhpcyBmaWxlIHRvLlxuICAgKiBAcGFyYW0gZmlsZVBhdGggLSB0aGUgcmVsYXRpdmUgcGF0aCBpbiB0aGUgcHJvamVjdCB0byBwdXQgdGhlIGZpbGVcbiAgICogQHBhcmFtIG1pbmlmeSAtIHdoZXRoZXIgY29tbWVudHMvYmxhbmsgbGluZXMgc2hvdWxkIGJlIGZpbHRlcmVkXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBmaWxlUGF0aDogc3RyaW5nLCBvcHRpb25zPzogSWdub3JlRmlsZU9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCBmaWxlUGF0aCwgeyBlZGl0R2l0aWdub3JlOiBmaWxlUGF0aCAhPT0gXCIuZ2l0aWdub3JlXCIgfSk7XG4gICAgdGhpcy5maWx0ZXJDb21tZW50TGluZXMgPSBvcHRpb25zPy5maWx0ZXJDb21tZW50TGluZXMgPz8gdHJ1ZTtcbiAgICB0aGlzLmZpbHRlckVtcHR5TGluZXMgPSBvcHRpb25zPy5maWx0ZXJFbXB0eUxpbmVzID8/IHRydWU7XG4gICAgdGhpcy5fcGF0dGVybnMgPSBvcHRpb25zPy5pZ25vcmVQYXR0ZXJucyA/PyBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgaWdub3JlIHBhdHRlcm5zLiBGaWxlcyB0aGF0IG1hdGNoIHRoaXMgcGF0dGVybiB3aWxsIGJlIGlnbm9yZWQuIElmIHRoZVxuICAgKiBwYXR0ZXJuIHN0YXJ0cyB3aXRoIGEgbmVnYXRpb24gbWFyayBgIWAsIGZpbGVzIHRoYXQgbWF0Y2ggd2lsbCBfbm90XyBiZVxuICAgKiBpZ25vcmVkLlxuICAgKlxuICAgKiBDb21tZW50IGxpbmVzIChzdGFydCB3aXRoIGAjYCkgYW5kIGJsYW5rIGxpbmVzIChcIlwiKSBhcmUgZmlsdGVyZWQgYnkgZGVmYXVsdFxuICAgKiBidXQgY2FuIGJlIGluY2x1ZGVkIHVzaW5nIG9wdGlvbnMgc3BlY2lmaWVkIHdoZW4gaW5zdGFudGlhdGluZyB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gcGF0dGVybnMgSWdub3JlIHBhdHRlcm5zLlxuICAgKi9cbiAgcHVibGljIGFkZFBhdHRlcm5zKC4uLnBhdHRlcm5zOiBzdHJpbmdbXSkge1xuICAgIGZvciAoY29uc3QgcGF0dGVybiBvZiBwYXR0ZXJucykge1xuICAgICAgY29uc3QgaXNDb21tZW50ID0gcGF0dGVybi5zdGFydHNXaXRoKFwiI1wiKTtcbiAgICAgIGNvbnN0IGlzRW1wdHlMaW5lID0gQm9vbGVhbihwYXR0ZXJuLnRyaW0oKS5sZW5ndGggPT09IDApO1xuICAgICAgaWYgKGlzQ29tbWVudCAmJiB0aGlzLmZpbHRlckNvbW1lbnRMaW5lcykge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmIChpc0VtcHR5TGluZSAmJiB0aGlzLmZpbHRlckVtcHR5TGluZXMpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoIWlzQ29tbWVudCAmJiAhaXNFbXB0eUxpbmUpIHtcbiAgICAgICAgdGhpcy5ub3JtYWxpemVQYXR0ZXJucyhwYXR0ZXJuKTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgbm9ybWFsaXplZFBhdHRlcm4gPSBub3JtYWxpemVQZXJzaXN0ZWRQYXRoKHBhdHRlcm4pO1xuXG4gICAgICB0aGlzLl9wYXR0ZXJucy5wdXNoKG5vcm1hbGl6ZWRQYXR0ZXJuKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZVBhdHRlcm5zKHBhdHRlcm46IHN0cmluZykge1xuICAgIGNvbnN0IG9wcG9zaXRlID0gcGF0dGVybi5zdGFydHNXaXRoKFwiIVwiKSA/IHBhdHRlcm4uc2xpY2UoMSkgOiBcIiFcIiArIHBhdHRlcm47XG4gICAgcmVtb3ZlKHRoaXMuX3BhdHRlcm5zLCBwYXR0ZXJuKTsgLy8gcHJldmVudCBkdXBsaWNhdGVzXG4gICAgcmVtb3ZlKHRoaXMuX3BhdHRlcm5zLCBvcHBvc2l0ZSk7XG5cbiAgICBpZiAocGF0dGVybi5lbmRzV2l0aChcIi9cIikpIHtcbiAgICAgIGNvbnN0IHByZWZpeCA9IG9wcG9zaXRlO1xuICAgICAgZm9yIChjb25zdCBwIG9mIFsuLi50aGlzLl9wYXR0ZXJuc10pIHtcbiAgICAgICAgaWYgKHAuc3RhcnRzV2l0aChwcmVmaXgpKSB7XG4gICAgICAgICAgcmVtb3ZlKHRoaXMuX3BhdHRlcm5zLCBwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIHBhdHRlcm5zIHByZXZpb3VzbHkgYWRkZWQgZnJvbSB0aGUgaWdub3JlIGZpbGUuXG4gICAqXG4gICAqIElmIGBhZGRQYXR0ZXJuKClgIGlzIGNhbGxlZCBhZnRlciB0aGlzLCB0aGUgcGF0dGVybiB3aWxsIGJlIGFkZGVkIGFnYWluLlxuICAgKlxuICAgKiBAcGFyYW0gcGF0dGVybnMgcGF0dGVycyB0byByZW1vdmUuXG4gICAqL1xuICBwdWJsaWMgcmVtb3ZlUGF0dGVybnMoLi4ucGF0dGVybnM6IHN0cmluZ1tdKSB7XG4gICAgZm9yIChjb25zdCBwIG9mIHBhdHRlcm5zKSB7XG4gICAgICByZW1vdmUodGhpcy5fcGF0dGVybnMsIHApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJZ25vcmUgdGhlIGZpbGVzIHRoYXQgbWF0Y2ggdGhlc2UgcGF0dGVybnMuXG4gICAqIEBwYXJhbSBwYXR0ZXJucyBUaGUgcGF0dGVybnMgdG8gbWF0Y2guXG4gICAqL1xuICBwdWJsaWMgZXhjbHVkZSguLi5wYXR0ZXJuczogc3RyaW5nW10pIHtcbiAgICByZXR1cm4gdGhpcy5hZGRQYXR0ZXJucyguLi5wYXR0ZXJucyk7XG4gIH1cblxuICAvKipcbiAgICogQWx3YXlzIGluY2x1ZGUgdGhlIHNwZWNpZmllZCBmaWxlIHBhdHRlcm5zLlxuICAgKiBAcGFyYW0gcGF0dGVybnMgUGF0dGVybnMgdG8gaW5jbHVkZSBpbiBnaXQgY29tbWl0cy5cbiAgICovXG4gIHB1YmxpYyBpbmNsdWRlKC4uLnBhdHRlcm5zOiBzdHJpbmdbXSkge1xuICAgIGZvciAobGV0IHBhdHRlcm4gb2YgcGF0dGVybnMpIHtcbiAgICAgIGlmICghcGF0dGVybi5zdGFydHNXaXRoKFwiIVwiKSkge1xuICAgICAgICBwYXR0ZXJuID0gXCIhXCIgKyBwYXR0ZXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmFkZFBhdHRlcm5zKHBhdHRlcm4pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQ29udGVudChyZXNvbHZlcjogSVJlc29sdmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBsaW5lcyA9IFtcbiAgICAgIC4uLih0aGlzLm1hcmtlciA/IFtgIyAke3RoaXMubWFya2VyfWBdIDogW10pLFxuICAgICAgLi4udGhpcy5fcGF0dGVybnMsXG4gICAgXTtcblxuICAgIHJldHVybiBgJHtyZXNvbHZlci5yZXNvbHZlKGxpbmVzKS5qb2luKFwiXFxuXCIpfVxcbmA7XG4gIH1cbn1cblxuLy8gTyhuKSBob29yYXkhXG5mdW5jdGlvbiByZW1vdmU8VD4oYXJyOiBUW10sIHZhbHVlOiBhbnkpIHtcbiAgY29uc3QgaWR4ID0gYXJyLmluZGV4T2YodmFsdWUpO1xuICBpZiAoaWR4ID49IDApIHtcbiAgICBhcnIuc3BsaWNlKGlkeCwgMSk7XG4gIH1cbn1cbiJdfQ==
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdub3JlLWZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaWdub3JlLWZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLGlDQUFrQztBQUVsQyxpQ0FBZ0Q7QUF5QmhELE1BQWEsVUFBVyxTQUFRLGVBQVE7O0lBQ3JCLFNBQVMsQ0FBVztJQUNyQixrQkFBa0IsQ0FBVTtJQUM1QixnQkFBZ0IsQ0FBVTtJQUUxQzs7Ozs7T0FLRztJQUNILFlBQVksT0FBZ0IsRUFBRSxRQUFnQixFQUFFLE9BQTJCO1FBQ3pFLEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUUsYUFBYSxFQUFFLFFBQVEsS0FBSyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxPQUFPLEVBQUUsa0JBQWtCLElBQUksSUFBSSxDQUFDO1FBQzlELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLEVBQUUsZ0JBQWdCLElBQUksSUFBSSxDQUFDO1FBQzFELElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxFQUFFLGNBQWMsSUFBSSxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLFdBQVcsQ0FBQyxHQUFHLFFBQWtCO1FBQ3RDLEtBQUssTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7WUFDL0IsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMxQyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN6RCxJQUFJLFNBQVMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDekMsU0FBUztZQUNYLENBQUM7WUFDRCxJQUFJLFdBQVcsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDekMsU0FBUztZQUNYLENB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bnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJUmVzb2x2ZXIgfSBmcm9tIFwiLi9maWxlXCI7XG5pbXBvcnQgeyBGaWxlQmFzZSB9IGZyb20gXCIuL2ZpbGVcIjtcbmltcG9ydCB0eXBlIHsgUHJvamVjdCB9IGZyb20gXCIuL3Byb2plY3RcIjtcbmltcG9ydCB7IG5vcm1hbGl6ZVBlcnNpc3RlZFBhdGggfSBmcm9tIFwiLi91dGlsXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWdub3JlRmlsZU9wdGlvbnMge1xuICAvKipcbiAgICogRmlsdGVyIG91dCBjb21tZW50IGxpbmVzP1xuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXJDb21tZW50TGluZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBGaWx0ZXIgb3V0IGJsYW5rL2VtcHR5IGxpbmVzP1xuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXJFbXB0eUxpbmVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUGF0dGVybnMgdG8gYWRkIHRvIHRoZSBpZ25vcmUgZmlsZVxuICAgKlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgcmVhZG9ubHkgaWdub3JlUGF0dGVybnM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGNsYXNzIElnbm9yZUZpbGUgZXh0ZW5kcyBGaWxlQmFzZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3BhdHRlcm5zOiBzdHJpbmdbXTtcbiAgcHVibGljIHJlYWRvbmx5IGZpbHRlckNvbW1lbnRMaW5lczogYm9vbGVhbjtcbiAgcHVibGljIHJlYWRvbmx5IGZpbHRlckVtcHR5TGluZXM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBwcm9qZWN0IFRoZSBwcm9qZWN0IHRvIHRpZSB0aGlzIGZpbGUgdG8uXG4gICAqIEBwYXJhbSBmaWxlUGF0aCAtIHRoZSByZWxhdGl2ZSBwYXRoIGluIHRoZSBwcm9qZWN0IHRvIHB1dCB0aGUgZmlsZVxuICAgKiBAcGFyYW0gbWluaWZ5IC0gd2hldGhlciBjb21tZW50cy9ibGFuayBsaW5lcyBzaG91bGQgYmUgZmlsdGVyZWRcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIGZpbGVQYXRoOiBzdHJpbmcsIG9wdGlvbnM/OiBJZ25vcmVGaWxlT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QsIGZpbGVQYXRoLCB7IGVkaXRHaXRpZ25vcmU6IGZpbGVQYXRoICE9PSBcIi5naXRpZ25vcmVcIiB9KTtcbiAgICB0aGlzLmZpbHRlckNvbW1lbnRMaW5lcyA9IG9wdGlvbnM/LmZpbHRlckNvbW1lbnRMaW5lcyA/PyB0cnVlO1xuICAgIHRoaXMuZmlsdGVyRW1wdHlMaW5lcyA9IG9wdGlvbnM/LmZpbHRlckVtcHR5TGluZXMgPz8gdHJ1ZTtcbiAgICB0aGlzLl9wYXR0ZXJucyA9IG9wdGlvbnM/Lmlnbm9yZVBhdHRlcm5zID8/IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBpZ25vcmUgcGF0dGVybnMuIEZpbGVzIHRoYXQgbWF0Y2ggdGhpcyBwYXR0ZXJuIHdpbGwgYmUgaWdub3JlZC4gSWYgdGhlXG4gICAqIHBhdHRlcm4gc3RhcnRzIHdpdGggYSBuZWdhdGlvbiBtYXJrIGAhYCwgZmlsZXMgdGhhdCBtYXRjaCB3aWxsIF9ub3RfIGJlXG4gICAqIGlnbm9yZWQuXG4gICAqXG4gICAqIENvbW1lbnQgbGluZXMgKHN0YXJ0IHdpdGggYCNgKSBhbmQgYmxhbmsgbGluZXMgKFwiXCIpIGFyZSBmaWx0ZXJlZCBieSBkZWZhdWx0XG4gICAqIGJ1dCBjYW4gYmUgaW5jbHVkZWQgdXNpbmcgb3B0aW9ucyBzcGVjaWZpZWQgd2hlbiBpbnN0YW50aWF0aW5nIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBwYXR0ZXJucyBJZ25vcmUgcGF0dGVybnMuXG4gICAqL1xuICBwdWJsaWMgYWRkUGF0dGVybnMoLi4ucGF0dGVybnM6IHN0cmluZ1tdKSB7XG4gICAgZm9yIChjb25zdCBwYXR0ZXJuIG9mIHBhdHRlcm5zKSB7XG4gICAgICBjb25zdCBpc0NvbW1lbnQgPSBwYXR0ZXJuLnN0YXJ0c1dpdGgoXCIjXCIpO1xuICAgICAgY29uc3QgaXNFbXB0eUxpbmUgPSBCb29sZWFuKHBhdHRlcm4udHJpbSgpLmxlbmd0aCA9PT0gMCk7XG4gICAgICBpZiAoaXNDb21tZW50ICYmIHRoaXMuZmlsdGVyQ29tbWVudExpbmVzKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKGlzRW1wdHlMaW5lICYmIHRoaXMuZmlsdGVyRW1wdHlMaW5lcykge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmICghaXNDb21tZW50ICYmICFpc0VtcHR5TGluZSkge1xuICAgICAgICB0aGlzLm5vcm1hbGl6ZVBhdHRlcm5zKHBhdHRlcm4pO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBub3JtYWxpemVkUGF0dGVybiA9IG5vcm1hbGl6ZVBlcnNpc3RlZFBhdGgocGF0dGVybik7XG5cbiAgICAgIHRoaXMuX3BhdHRlcm5zLnB1c2gobm9ybWFsaXplZFBhdHRlcm4pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplUGF0dGVybnMocGF0dGVybjogc3RyaW5nKSB7XG4gICAgY29uc3Qgb3Bwb3NpdGUgPSBwYXR0ZXJuLnN0YXJ0c1dpdGgoXCIhXCIpID8gcGF0dGVybi5zbGljZSgxKSA6IFwiIVwiICsgcGF0dGVybjtcbiAgICByZW1vdmUodGhpcy5fcGF0dGVybnMsIHBhdHRlcm4pOyAvLyBwcmV2ZW50IGR1cGxpY2F0ZXNcbiAgICByZW1vdmUodGhpcy5fcGF0dGVybnMsIG9wcG9zaXRlKTtcblxuICAgIGlmIChwYXR0ZXJuLmVuZHNXaXRoKFwiL1wiKSkge1xuICAgICAgY29uc3QgcHJlZml4ID0gb3Bwb3NpdGU7XG4gICAgICBmb3IgKGNvbnN0IHAgb2YgWy4uLnRoaXMuX3BhdHRlcm5zXSkge1xuICAgICAgICBpZiAocC5zdGFydHNXaXRoKHByZWZpeCkpIHtcbiAgICAgICAgICByZW1vdmUodGhpcy5fcGF0dGVybnMsIHApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgcGF0dGVybnMgcHJldmlvdXNseSBhZGRlZCBmcm9tIHRoZSBpZ25vcmUgZmlsZS5cbiAgICpcbiAgICogSWYgYGFkZFBhdHRlcm4oKWAgaXMgY2FsbGVkIGFmdGVyIHRoaXMsIHRoZSBwYXR0ZXJuIHdpbGwgYmUgYWRkZWQgYWdhaW4uXG4gICAqXG4gICAqIEBwYXJhbSBwYXR0ZXJucyBwYXR0ZXJzIHRvIHJlbW92ZS5cbiAgICovXG4gIHB1YmxpYyByZW1vdmVQYXR0ZXJucyguLi5wYXR0ZXJuczogc3RyaW5nW10pIHtcbiAgICBmb3IgKGNvbnN0IHAgb2YgcGF0dGVybnMpIHtcbiAgICAgIHJlbW92ZSh0aGlzLl9wYXR0ZXJucywgcCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIElnbm9yZSB0aGUgZmlsZXMgdGhhdCBtYXRjaCB0aGVzZSBwYXR0ZXJucy5cbiAgICogQHBhcmFtIHBhdHRlcm5zIFRoZSBwYXR0ZXJucyB0byBtYXRjaC5cbiAgICovXG4gIHB1YmxpYyBleGNsdWRlKC4uLnBhdHRlcm5zOiBzdHJpbmdbXSkge1xuICAgIHJldHVybiB0aGlzLmFkZFBhdHRlcm5zKC4uLnBhdHRlcm5zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbHdheXMgaW5jbHVkZSB0aGUgc3BlY2lmaWVkIGZpbGUgcGF0dGVybnMuXG4gICAqIEBwYXJhbSBwYXR0ZXJucyBQYXR0ZXJucyB0byBpbmNsdWRlIGluIGdpdCBjb21taXRzLlxuICAgKi9cbiAgcHVibGljIGluY2x1ZGUoLi4ucGF0dGVybnM6IHN0cmluZ1tdKSB7XG4gICAgZm9yIChsZXQgcGF0dGVybiBvZiBwYXR0ZXJucykge1xuICAgICAgaWYgKCFwYXR0ZXJuLnN0YXJ0c1dpdGgoXCIhXCIpKSB7XG4gICAgICAgIHBhdHRlcm4gPSBcIiFcIiArIHBhdHRlcm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYWRkUGF0dGVybnMocGF0dGVybik7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVDb250ZW50KHJlc29sdmVyOiBJUmVzb2x2ZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGxpbmVzID0gW1xuICAgICAgLi4uKHRoaXMubWFya2VyID8gW2AjICR7dGhpcy5tYXJrZXJ9YF0gOiBbXSksXG4gICAgICAuLi50aGlzLl9wYXR0ZXJucyxcbiAgICBdO1xuXG4gICAgcmV0dXJuIGAke3Jlc29sdmVyLnJlc29sdmUobGluZXMpLmpvaW4oXCJcXG5cIil9XFxuYDtcbiAgfVxufVxuXG4vLyBPKG4pIGhvb3JheSFcbmZ1bmN0aW9uIHJlbW92ZTxUPihhcnI6IFRbXSwgdmFsdWU6IGFueSkge1xuICBjb25zdCBpZHggPSBhcnIuaW5kZXhPZih2YWx1ZSk7XG4gIGlmIChpZHggPj0gMCkge1xuICAgIGFyci5zcGxpY2UoaWR4LCAxKTtcbiAgfVxufVxuIl19
package/lib/index.d.ts CHANGED
@@ -26,18 +26,17 @@ export * from "./projenrc-json";
26
26
  export * from "./readme";
27
27
  export * from "./renovatebot";
28
28
  export * from "./sample-file";
29
- export * from "./semver";
30
29
  export * from "./source-code";
31
30
  export * from "./task";
32
31
  export * from "./tasks";
33
32
  export type * from "./task-model";
34
- export * from "./task-runtime";
35
33
  export * from "./testing";
36
34
  export * from "./textfile";
37
35
  export * from "./toml";
38
36
  export * from "./version";
39
37
  export * from "./yaml";
40
38
  export * from "./xmlfile";
39
+ export type { ProjectType, ProjectOption } from "./inventory";
41
40
  export * as web from "./web";
42
41
  export * as github from "./github";
43
42
  export * as gitlab from "./gitlab";
package/lib/index.js CHANGED
@@ -10,9 +10,31 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
10
10
  if (k2 === undefined) k2 = k;
11
11
  o[k2] = m[k];
12
12
  }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
13
18
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
19
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
20
  };
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
16
38
  Object.defineProperty(exports, "__esModule", { value: true });
17
39
  exports.build = exports.cdk = exports.cdktf = exports.cdk8s = exports.awscdk = exports.release = exports.javascript = exports.typescript = exports.python = exports.java = exports.vscode = exports.circleci = exports.gitlab = exports.github = exports.web = void 0;
18
40
  __exportStar(require("./ai-instructions"), exports);
@@ -42,11 +64,9 @@ __exportStar(require("./projenrc-json"), exports);
42
64
  __exportStar(require("./readme"), exports);
43
65
  __exportStar(require("./renovatebot"), exports);
44
66
  __exportStar(require("./sample-file"), exports);
45
- __exportStar(require("./semver"), exports);
46
67
  __exportStar(require("./source-code"), exports);
47
68
  __exportStar(require("./task"), exports);
48
69
  __exportStar(require("./tasks"), exports);
49
- __exportStar(require("./task-runtime"), exports);
50
70
  __exportStar(require("./testing"), exports);
51
71
  __exportStar(require("./textfile"), exports);
52
72
  __exportStar(require("./toml"), exports);
@@ -54,19 +74,19 @@ __exportStar(require("./version"), exports);
54
74
  __exportStar(require("./yaml"), exports);
55
75
  __exportStar(require("./xmlfile"), exports);
56
76
  // export submodules
57
- exports.web = require("./web");
58
- exports.github = require("./github");
59
- exports.gitlab = require("./gitlab");
60
- exports.circleci = require("./circleci");
61
- exports.vscode = require("./vscode");
62
- exports.java = require("./java");
63
- exports.python = require("./python");
64
- exports.typescript = require("./typescript");
65
- exports.javascript = require("./javascript");
66
- exports.release = require("./release");
67
- exports.awscdk = require("./awscdk");
68
- exports.cdk8s = require("./cdk8s");
69
- exports.cdktf = require("./cdktf");
70
- exports.cdk = require("./cdk");
71
- exports.build = require("./build");
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBa0M7QUFFbEMsOENBQTRCO0FBQzVCLDRDQUEwQjtBQUMxQixpREFBK0I7QUFDL0IsbURBQWlDO0FBQ2pDLHlDQUF1QjtBQUN2QixrREFBZ0M7QUFDaEMsMkNBQXlCO0FBQ3pCLG1EQUFpQztBQUNqQyxnREFBOEI7QUFDOUIsd0NBQXNCO0FBQ3RCLHlDQUF1QjtBQUN2QiwrQ0FBNkI7QUFDN0IsMkNBQXlCO0FBQ3pCLDRDQUEwQjtBQUMxQiw2Q0FBMkI7QUFDM0IsZ0RBQThCO0FBQzlCLGlEQUErQjtBQUMvQiw0Q0FBMEI7QUFDMUIsa0RBQWdDO0FBQ2hDLGlEQUErQjtBQUMvQiw2Q0FBMkI7QUFDM0IsNkNBQTJCO0FBQzNCLGtEQUFnQztBQUNoQywyQ0FBeUI7QUFDekIsZ0RBQThCO0FBQzlCLGdEQUE4QjtBQUM5QiwyQ0FBeUI7QUFDekIsZ0RBQThCO0FBQzlCLHlDQUF1QjtBQUN2QiwwQ0FBd0I7QUFFeEIsaURBQStCO0FBQy9CLDRDQUEwQjtBQUMxQiw2Q0FBMkI7QUFDM0IseUNBQXVCO0FBQ3ZCLDRDQUEwQjtBQUMxQix5Q0FBdUI7QUFDdkIsNENBQTBCO0FBRTFCLG9CQUFvQjtBQUNwQiwrQkFBNkI7QUFDN0IscUNBQW1DO0FBQ25DLHFDQUFtQztBQUNuQyx5Q0FBdUM7QUFDdkMscUNBQW1DO0FBQ25DLGlDQUErQjtBQUMvQixxQ0FBbUM7QUFDbkMsNkNBQTJDO0FBQzNDLDZDQUEyQztBQUMzQyx1Q0FBcUM7QUFDckMscUNBQW1DO0FBQ25DLG1DQUFpQztBQUNqQyxtQ0FBaUM7QUFDakMsK0JBQTZCO0FBQzdCLG1DQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2FpLWluc3RydWN0aW9uc1wiO1xuZXhwb3J0IHR5cGUgKiBmcm9tIFwiLi9jb21wYXJlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Rldi1lbnZcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlcGVuZGVuY2llc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZG9ja2VyLWNvbXBvc2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ZpbGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2dpdGF0dHJpYnV0ZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2dpdHBvZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcnVubmVyLW9wdGlvbnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2lnbm9yZS1maWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9pbmlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2pzb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL2pzb24tcGF0Y2hcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xvZ2dlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGljZW5zZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWFrZWZpbGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL29iamVjdC1maWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9vcHRpb24taGludHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb2plY3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb2plY3QtYnVpbGRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb2plY3QtdHJlZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvamVjdHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb2plbnJjXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm9qZW5yYy1qc29uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZWFkbWVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Jlbm92YXRlYm90XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zYW1wbGUtZmlsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2VtdmVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zb3VyY2UtY29kZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFza1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFza3NcIjtcbmV4cG9ydCB0eXBlICogZnJvbSBcIi4vdGFzay1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFzay1ydW50aW1lXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXN0aW5nXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90ZXh0ZmlsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdG9tbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmVyc2lvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4veWFtbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4veG1sZmlsZVwiO1xuXG4vLyBleHBvcnQgc3VibW9kdWxlc1xuZXhwb3J0ICogYXMgd2ViIGZyb20gXCIuL3dlYlwiO1xuZXhwb3J0ICogYXMgZ2l0aHViIGZyb20gXCIuL2dpdGh1YlwiO1xuZXhwb3J0ICogYXMgZ2l0bGFiIGZyb20gXCIuL2dpdGxhYlwiO1xuZXhwb3J0ICogYXMgY2lyY2xlY2kgZnJvbSBcIi4vY2lyY2xlY2lcIjtcbmV4cG9ydCAqIGFzIHZzY29kZSBmcm9tIFwiLi92c2NvZGVcIjtcbmV4cG9ydCAqIGFzIGphdmEgZnJvbSBcIi4vamF2YVwiO1xuZXhwb3J0ICogYXMgcHl0aG9uIGZyb20gXCIuL3B5dGhvblwiO1xuZXhwb3J0ICogYXMgdHlwZXNjcmlwdCBmcm9tIFwiLi90eXBlc2NyaXB0XCI7XG5leHBvcnQgKiBhcyBqYXZhc2NyaXB0IGZyb20gXCIuL2phdmFzY3JpcHRcIjtcbmV4cG9ydCAqIGFzIHJlbGVhc2UgZnJvbSBcIi4vcmVsZWFzZVwiO1xuZXhwb3J0ICogYXMgYXdzY2RrIGZyb20gXCIuL2F3c2Nka1wiO1xuZXhwb3J0ICogYXMgY2RrOHMgZnJvbSBcIi4vY2RrOHNcIjtcbmV4cG9ydCAqIGFzIGNka3RmIGZyb20gXCIuL2Nka3RmXCI7XG5leHBvcnQgKiBhcyBjZGsgZnJvbSBcIi4vY2RrXCI7XG5leHBvcnQgKiBhcyBidWlsZCBmcm9tIFwiLi9idWlsZFwiO1xuIl19
77
+ exports.web = __importStar(require("./web"));
78
+ exports.github = __importStar(require("./github"));
79
+ exports.gitlab = __importStar(require("./gitlab"));
80
+ exports.circleci = __importStar(require("./circleci"));
81
+ exports.vscode = __importStar(require("./vscode"));
82
+ exports.java = __importStar(require("./java"));
83
+ exports.python = __importStar(require("./python"));
84
+ exports.typescript = __importStar(require("./typescript"));
85
+ exports.javascript = __importStar(require("./javascript"));
86
+ exports.release = __importStar(require("./release"));
87
+ exports.awscdk = __importStar(require("./awscdk"));
88
+ exports.cdk8s = __importStar(require("./cdk8s"));
89
+ exports.cdktf = __importStar(require("./cdktf"));
90
+ exports.cdk = __importStar(require("./cdk"));
91
+ exports.build = __importStar(require("./build"));
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsb0RBQWtDO0FBRWxDLDhDQUE0QjtBQUM1Qiw0Q0FBMEI7QUFDMUIsaURBQStCO0FBQy9CLG1EQUFpQztBQUNqQyx5Q0FBdUI7QUFDdkIsa0RBQWdDO0FBQ2hDLDJDQUF5QjtBQUN6QixtREFBaUM7QUFDakMsZ0RBQThCO0FBQzlCLHdDQUFzQjtBQUN0Qix5Q0FBdUI7QUFDdkIsK0NBQTZCO0FBQzdCLDJDQUF5QjtBQUN6Qiw0Q0FBMEI7QUFDMUIsNkNBQTJCO0FBQzNCLGdEQUE4QjtBQUM5QixpREFBK0I7QUFDL0IsNENBQTBCO0FBQzFCLGtEQUFnQztBQUNoQyxpREFBK0I7QUFDL0IsNkNBQTJCO0FBQzNCLDZDQUEyQjtBQUMzQixrREFBZ0M7QUFDaEMsMkNBQXlCO0FBQ3pCLGdEQUE4QjtBQUM5QixnREFBOEI7QUFDOUIsZ0RBQThCO0FBQzlCLHlDQUF1QjtBQUN2QiwwQ0FBd0I7QUFFeEIsNENBQTBCO0FBQzFCLDZDQUEyQjtBQUMzQix5Q0FBdUI7QUFDdkIsNENBQTBCO0FBQzFCLHlDQUF1QjtBQUN2Qiw0Q0FBMEI7QUFLMUIsb0JBQW9CO0FBQ3BCLDZDQUE2QjtBQUM3QixtREFBbUM7QUFDbkMsbURBQW1DO0FBQ25DLHVEQUF1QztBQUN2QyxtREFBbUM7QUFDbkMsK0NBQStCO0FBQy9CLG1EQUFtQztBQUNuQywyREFBMkM7QUFDM0MsMkRBQTJDO0FBQzNDLHFEQUFxQztBQUNyQyxtREFBbUM7QUFDbkMsaURBQWlDO0FBQ2pDLGlEQUFpQztBQUNqQyw2Q0FBNkI7QUFDN0IsaURBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vYWktaW5zdHJ1Y3Rpb25zXCI7XG5leHBvcnQgdHlwZSAqIGZyb20gXCIuL2NvbXBhcmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGV2LWVudlwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVwZW5kZW5jaWVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kb2NrZXItY29tcG9zZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZmlsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ2l0YXR0cmlidXRlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZ2l0cG9kXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ydW5uZXItb3B0aW9uc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vaWdub3JlLWZpbGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2luaVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vanNvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vanNvbi1wYXRjaFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9nZ2VyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWNlbnNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tYWtlZmlsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vb2JqZWN0LWZpbGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL29wdGlvbi1oaW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvamVjdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvamVjdC1idWlsZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvamVjdC10cmVlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm9qZWN0c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvamVucmNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Byb2plbnJjLWpzb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JlYWRtZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVub3ZhdGVib3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NhbXBsZS1maWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zb3VyY2UtY29kZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFza1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFza3NcIjtcbmV4cG9ydCB0eXBlICogZnJvbSBcIi4vdGFzay1tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGVzdGluZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGV4dGZpbGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RvbWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ZlcnNpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3lhbWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3htbGZpbGVcIjtcblxuLy8gb25seSBleHBvcnQgc2VsZWN0ZWQgcHVibGljIHR5cGVzIGZyb20gaW52ZW50b3J5XG5leHBvcnQgdHlwZSB7IFByb2plY3RUeXBlLCBQcm9qZWN0T3B0aW9uIH0gZnJvbSBcIi4vaW52ZW50b3J5XCI7XG5cbi8vIGV4cG9ydCBzdWJtb2R1bGVzXG5leHBvcnQgKiBhcyB3ZWIgZnJvbSBcIi4vd2ViXCI7XG5leHBvcnQgKiBhcyBnaXRodWIgZnJvbSBcIi4vZ2l0aHViXCI7XG5leHBvcnQgKiBhcyBnaXRsYWIgZnJvbSBcIi4vZ2l0bGFiXCI7XG5leHBvcnQgKiBhcyBjaXJjbGVjaSBmcm9tIFwiLi9jaXJjbGVjaVwiO1xuZXhwb3J0ICogYXMgdnNjb2RlIGZyb20gXCIuL3ZzY29kZVwiO1xuZXhwb3J0ICogYXMgamF2YSBmcm9tIFwiLi9qYXZhXCI7XG5leHBvcnQgKiBhcyBweXRob24gZnJvbSBcIi4vcHl0aG9uXCI7XG5leHBvcnQgKiBhcyB0eXBlc2NyaXB0IGZyb20gXCIuL3R5cGVzY3JpcHRcIjtcbmV4cG9ydCAqIGFzIGphdmFzY3JpcHQgZnJvbSBcIi4vamF2YXNjcmlwdFwiO1xuZXhwb3J0ICogYXMgcmVsZWFzZSBmcm9tIFwiLi9yZWxlYXNlXCI7XG5leHBvcnQgKiBhcyBhd3NjZGsgZnJvbSBcIi4vYXdzY2RrXCI7XG5leHBvcnQgKiBhcyBjZGs4cyBmcm9tIFwiLi9jZGs4c1wiO1xuZXhwb3J0ICogYXMgY2RrdGYgZnJvbSBcIi4vY2RrdGZcIjtcbmV4cG9ydCAqIGFzIGNkayBmcm9tIFwiLi9jZGtcIjtcbmV4cG9ydCAqIGFzIGJ1aWxkIGZyb20gXCIuL2J1aWxkXCI7XG4iXX0=
package/lib/ini.js CHANGED
@@ -1,14 +1,47 @@
1
1
  "use strict";
2
- var _a;
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
3
35
  Object.defineProperty(exports, "__esModule", { value: true });
4
36
  exports.IniFile = void 0;
5
37
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
- const INI = require("ini");
38
+ const INI = __importStar(require("ini"));
7
39
  const object_file_1 = require("./object-file");
8
40
  /**
9
41
  * Represents an INI file.
10
42
  */
11
43
  class IniFile extends object_file_1.ObjectFile {
44
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.IniFile", version: "0.100.1" };
12
45
  constructor(project, filePath, options) {
13
46
  super(project, filePath, options);
14
47
  }
@@ -25,6 +58,4 @@ class IniFile extends object_file_1.ObjectFile {
25
58
  }
26
59
  }
27
60
  exports.IniFile = IniFile;
28
- _a = JSII_RTTI_SYMBOL_1;
29
- IniFile[_a] = { fqn: "projen.IniFile", version: "0.99.80" };
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2luaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDJCQUEyQjtBQUczQiwrQ0FBMkM7QUFRM0M7O0dBRUc7QUFDSCxNQUFhLE9BQVEsU0FBUSx3QkFBVTtJQUNyQyxZQUFZLE9BQWdCLEVBQUUsUUFBZ0IsRUFBRSxPQUF1QjtRQUNyRSxLQUFLLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRVMsaUJBQWlCLENBQUMsUUFBbUI7UUFDN0MsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxPQUFPO1lBQ0wsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzVDLEVBQUU7WUFDRixHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDaEMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDZixDQUFDOztBQWhCSCwwQkFpQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBJTkkgZnJvbSBcImluaVwiO1xuaW1wb3J0IHR5cGUgeyBJUmVzb2x2ZXIgfSBmcm9tIFwiLi9maWxlXCI7XG5pbXBvcnQgdHlwZSB7IE9iamVjdEZpbGVPcHRpb25zIH0gZnJvbSBcIi4vb2JqZWN0LWZpbGVcIjtcbmltcG9ydCB7IE9iamVjdEZpbGUgfSBmcm9tIFwiLi9vYmplY3QtZmlsZVwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSBcIi4vcHJvamVjdFwiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBJbmlGaWxlYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbmlGaWxlT3B0aW9ucyBleHRlbmRzIE9iamVjdEZpbGVPcHRpb25zIHt9XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBJTkkgZmlsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEluaUZpbGUgZXh0ZW5kcyBPYmplY3RGaWxlIHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgZmlsZVBhdGg6IHN0cmluZywgb3B0aW9uczogSW5pRmlsZU9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCBmaWxlUGF0aCwgb3B0aW9ucyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUNvbnRlbnQocmVzb2x2ZXI6IElSZXNvbHZlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QganNvbiA9IHN1cGVyLnN5bnRoZXNpemVDb250ZW50KHJlc29sdmVyKTtcbiAgICBpZiAoIWpzb24pIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLih0aGlzLm1hcmtlciA/IFtgIyAke3RoaXMubWFya2VyfWBdIDogW10pLFxuICAgICAgXCJcIixcbiAgICAgIElOSS5zdHJpbmdpZnkoSlNPTi5wYXJzZShqc29uKSksXG4gICAgXS5qb2luKFwiXFxuXCIpO1xuICB9XG59XG4iXX0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2luaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUNBQTJCO0FBRzNCLCtDQUEyQztBQVEzQzs7R0FFRztBQUNILE1BQWEsT0FBUSxTQUFRLHdCQUFVOztJQUNyQyxZQUFZLE9BQWdCLEVBQUUsUUFBZ0IsRUFBRSxPQUF1QjtRQUNyRSxLQUFLLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRVMsaUJBQWlCLENBQUMsUUFBbUI7UUFDN0MsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxPQUFPO1lBQ0wsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzVDLEVBQUU7WUFDRixHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDaEMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDZixDQUFDOztBQWhCSCwwQkFpQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBJTkkgZnJvbSBcImluaVwiO1xuaW1wb3J0IHR5cGUgeyBJUmVzb2x2ZXIgfSBmcm9tIFwiLi9maWxlXCI7XG5pbXBvcnQgdHlwZSB7IE9iamVjdEZpbGVPcHRpb25zIH0gZnJvbSBcIi4vb2JqZWN0LWZpbGVcIjtcbmltcG9ydCB7IE9iamVjdEZpbGUgfSBmcm9tIFwiLi9vYmplY3QtZmlsZVwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSBcIi4vcHJvamVjdFwiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBJbmlGaWxlYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbmlGaWxlT3B0aW9ucyBleHRlbmRzIE9iamVjdEZpbGVPcHRpb25zIHt9XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBJTkkgZmlsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEluaUZpbGUgZXh0ZW5kcyBPYmplY3RGaWxlIHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgZmlsZVBhdGg6IHN0cmluZywgb3B0aW9uczogSW5pRmlsZU9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCBmaWxlUGF0aCwgb3B0aW9ucyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUNvbnRlbnQocmVzb2x2ZXI6IElSZXNvbHZlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QganNvbiA9IHN1cGVyLnN5bnRoZXNpemVDb250ZW50KHJlc29sdmVyKTtcbiAgICBpZiAoIWpzb24pIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLih0aGlzLm1hcmtlciA/IFtgIyAke3RoaXMubWFya2VyfWBdIDogW10pLFxuICAgICAgXCJcIixcbiAgICAgIElOSS5zdHJpbmdpZnkoSlNPTi5wYXJzZShqc29uKSksXG4gICAgXS5qb2luKFwiXFxuXCIpO1xuICB9XG59XG4iXX0=
@@ -2,33 +2,42 @@ type JsiiTypes = {
2
2
  [name: string]: JsiiType;
3
3
  };
4
4
  export interface ProjectOption {
5
- path: string[];
6
- name: string;
7
- fqn?: string;
8
- switch: string;
5
+ readonly name: string;
6
+ readonly fqn?: string;
7
+ readonly docs?: string;
8
+ readonly default?: string;
9
+ readonly optional?: boolean;
10
+ readonly deprecated?: boolean;
11
+ readonly featured?: boolean;
12
+ readonly initialValue?: string;
13
+ readonly type: any;
14
+ }
15
+ export interface ProjectType {
16
+ readonly moduleName: string;
17
+ readonly pjid: string;
18
+ readonly fqn: string;
19
+ readonly typename: string;
20
+ readonly options: ProjectOption[];
21
+ readonly docs?: string;
22
+ readonly docsurl: string;
23
+ }
24
+ export interface InventoryProjectOption extends ProjectOption {
25
+ readonly path: string[];
26
+ readonly parent: string;
27
+ readonly switch: string;
28
+ readonly jsonLike?: boolean;
9
29
  /** Simple type name, e.g. "string", "boolean", "number", "EslintOptions", "MyEnum". Collections are "unknown" */
10
- simpleType: string;
30
+ readonly simpleType: string;
11
31
  /** Full JSII type, e.g. { primitive: "string" } or { collection: { elementtype: { primitive: 'string' }, kind: 'map' } } */
12
- fullType: JsiiPropertyType;
13
- kind?: "class" | "enum" | "interface";
14
- jsonLike?: boolean;
15
- parent: string;
16
- docs?: string;
17
- default?: string;
18
- /**
19
- * The value that will be used at initial project creation
20
- */
21
- initialValue?: string;
22
- optional?: boolean;
23
- deprecated?: boolean;
24
- featured?: boolean;
32
+ readonly type: JsiiPropertyType;
33
+ readonly kind?: "class" | "enum" | "interface";
25
34
  }
26
- export interface ProjectType {
35
+ export interface InventoryProjectType extends ProjectType {
27
36
  moduleName: string;
28
37
  pjid: string;
29
38
  fqn: string;
30
39
  typename: string;
31
- options: ProjectOption[];
40
+ options: InventoryProjectOption[];
32
41
  docs?: string;
33
42
  docsurl: string;
34
43
  }
@@ -86,9 +95,9 @@ export interface JsiiPropertyType {
86
95
  *
87
96
  * @param moduleDirs A list of npm module directories
88
97
  */
89
- export declare function discover(...moduleDirs: string[]): ProjectType[];
98
+ export declare function discover(...moduleDirs: string[]): InventoryProjectType[];
90
99
  export declare function readManifest(dir: string): any;
91
- export declare function resolveProjectType(projectFqn: string): ProjectType;
92
- export declare function toProjectType(jsii: JsiiTypes, fqn: string): ProjectType;
100
+ export declare function resolveProjectType(projectFqn: string): InventoryProjectType;
101
+ export declare function toProjectType(jsii: JsiiTypes, fqn: string): InventoryProjectType;
93
102
  export declare function readJsiiManifest(jsiiFqn: string): any;
94
103
  export {};