projen 0.0.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 (1575) hide show
  1. package/.jsii +36365 -0
  2. package/API.md +14952 -0
  3. package/LICENSE +202 -0
  4. package/README.md +373 -0
  5. package/assets/web/react/favicon.ico +0 -0
  6. package/assets/web/react/index.html +43 -0
  7. package/assets/web/react/logo192.png +0 -0
  8. package/assets/web/react/logo512.png +0 -0
  9. package/assets/web/react/manifest.json +25 -0
  10. package/assets/web/react/robots.txt +3 -0
  11. package/bin/projen +3 -0
  12. package/docs/awscdk-apps.md +15 -0
  13. package/docs/awscdk-construct.md +195 -0
  14. package/docs/awscdk.md +200 -0
  15. package/docs/build.md +55 -0
  16. package/docs/bundling.md +30 -0
  17. package/docs/deps.md +59 -0
  18. package/docs/escape-hatches.md +27 -0
  19. package/docs/java.md +213 -0
  20. package/docs/mutable-builds.md +0 -0
  21. package/docs/node.md +20 -0
  22. package/docs/programmatic-api.md +56 -0
  23. package/docs/publisher.md +148 -0
  24. package/docs/python.md +167 -0
  25. package/docs/releases.md +71 -0
  26. package/docs/subproject.md +37 -0
  27. package/docs/tasks.md +178 -0
  28. package/docs/typescript.md +108 -0
  29. package/lib/_resolve.d.ts +2 -0
  30. package/lib/_resolve.js +53 -0
  31. package/lib/awscdk/auto-discover.d.ts +54 -0
  32. package/lib/awscdk/auto-discover.js +54 -0
  33. package/lib/awscdk/awscdk-app-ts.d.ts +78 -0
  34. package/lib/awscdk/awscdk-app-ts.js +185 -0
  35. package/lib/awscdk/awscdk-construct.d.ts +80 -0
  36. package/lib/awscdk/awscdk-construct.js +116 -0
  37. package/lib/awscdk/awscdk-deps.d.ts +158 -0
  38. package/lib/awscdk/awscdk-deps.js +169 -0
  39. package/lib/awscdk/cdk-config.d.ts +128 -0
  40. package/lib/awscdk/cdk-config.js +61 -0
  41. package/lib/awscdk/cdk-tasks.d.ts +50 -0
  42. package/lib/awscdk/cdk-tasks.js +54 -0
  43. package/lib/awscdk/index.d.ts +9 -0
  44. package/lib/awscdk/index.js +22 -0
  45. package/lib/awscdk/integration-test.d.ts +90 -0
  46. package/lib/awscdk/integration-test.js +106 -0
  47. package/lib/awscdk/internal.d.ts +12 -0
  48. package/lib/awscdk/internal.js +30 -0
  49. package/lib/awscdk/java-app.d.ts +92 -0
  50. package/lib/awscdk/java-app.js +90 -0
  51. package/lib/awscdk/lambda-function.d.ts +143 -0
  52. package/lib/awscdk/lambda-function.js +176 -0
  53. package/lib/build/build-workflow.d.ts +125 -0
  54. package/lib/build/build-workflow.js +223 -0
  55. package/lib/build/index.d.ts +1 -0
  56. package/lib/build/index.js +14 -0
  57. package/lib/builtin-example.task.d.ts +0 -0
  58. package/lib/builtin-example.task.js +4 -0
  59. package/lib/cdk/construct-lib.d.ts +52 -0
  60. package/lib/cdk/construct-lib.js +30 -0
  61. package/lib/cdk/consts.d.ts +14 -0
  62. package/lib/cdk/consts.js +37 -0
  63. package/lib/cdk/index.d.ts +3 -0
  64. package/lib/cdk/index.js +16 -0
  65. package/lib/cdk/jsii-docgen.d.ts +12 -0
  66. package/lib/cdk/jsii-docgen.js +29 -0
  67. package/lib/cdk/jsii-project.d.ts +205 -0
  68. package/lib/cdk/jsii-project.js +250 -0
  69. package/lib/cdk8s/cdk8s-app-ts.d.ts +111 -0
  70. package/lib/cdk8s/cdk8s-app-ts.js +134 -0
  71. package/lib/cdk8s/cdk8s-construct.d.ts +79 -0
  72. package/lib/cdk8s/cdk8s-construct.js +39 -0
  73. package/lib/cdk8s/index.d.ts +2 -0
  74. package/lib/cdk8s/index.js +15 -0
  75. package/lib/cdktf/cdktf-construct.d.ts +30 -0
  76. package/lib/cdktf/cdktf-construct.js +33 -0
  77. package/lib/cdktf/index.d.ts +1 -0
  78. package/lib/cdktf/index.js +14 -0
  79. package/lib/cleanup.d.ts +2 -0
  80. package/lib/cleanup.js +73 -0
  81. package/lib/cli/cmds/new.d.ts +1 -0
  82. package/lib/cli/cmds/new.js +232 -0
  83. package/lib/cli/index.d.ts +1 -0
  84. package/lib/cli/index.js +50 -0
  85. package/lib/cli/macros.d.ts +1 -0
  86. package/lib/cli/macros.js +40 -0
  87. package/lib/cli/synth.d.ts +19 -0
  88. package/lib/cli/synth.js +104 -0
  89. package/lib/cli/tasks.d.ts +7 -0
  90. package/lib/cli/tasks.js +62 -0
  91. package/lib/cli/util.d.ts +19 -0
  92. package/lib/cli/util.js +52 -0
  93. package/lib/clobber.d.ts +5 -0
  94. package/lib/clobber.js +24 -0
  95. package/lib/common.d.ts +5 -0
  96. package/lib/common.js +14 -0
  97. package/lib/component.d.ts +33 -0
  98. package/lib/component.js +43 -0
  99. package/lib/dependencies.d.ts +187 -0
  100. package/lib/dependencies.js +219 -0
  101. package/lib/dev-env.d.ts +107 -0
  102. package/lib/dev-env.js +41 -0
  103. package/lib/docker-compose.d.ts +434 -0
  104. package/lib/docker-compose.js +308 -0
  105. package/lib/file.d.ts +141 -0
  106. package/lib/file.js +75 -0
  107. package/lib/gitattributes.d.ts +29 -0
  108. package/lib/gitattributes.js +61 -0
  109. package/lib/github/auto-approve.d.ts +59 -0
  110. package/lib/github/auto-approve.js +63 -0
  111. package/lib/github/auto-merge.d.ts +44 -0
  112. package/lib/github/auto-merge.js +67 -0
  113. package/lib/github/constants.d.ts +17 -0
  114. package/lib/github/constants.js +33 -0
  115. package/lib/github/dependabot.d.ts +340 -0
  116. package/lib/github/dependabot.js +119 -0
  117. package/lib/github/github-project.d.ts +193 -0
  118. package/lib/github/github-project.js +70 -0
  119. package/lib/github/github.d.ts +110 -0
  120. package/lib/github/github.js +86 -0
  121. package/lib/github/index.d.ts +13 -0
  122. package/lib/github/index.js +26 -0
  123. package/lib/github/mergify.d.ts +75 -0
  124. package/lib/github/mergify.js +40 -0
  125. package/lib/github/pr-template.d.ts +29 -0
  126. package/lib/github/pr-template.js +28 -0
  127. package/lib/github/pull-request-lint.d.ts +68 -0
  128. package/lib/github/pull-request-lint.js +62 -0
  129. package/lib/github/stale-util.d.ts +8 -0
  130. package/lib/github/stale-util.js +20 -0
  131. package/lib/github/stale.d.ts +106 -0
  132. package/lib/github/stale.js +71 -0
  133. package/lib/github/task-workflow.d.ts +155 -0
  134. package/lib/github/task-workflow.js +84 -0
  135. package/lib/github/workflows-model.d.ts +1280 -0
  136. package/lib/github/workflows-model.js +17 -0
  137. package/lib/github/workflows.d.ts +99 -0
  138. package/lib/github/workflows.js +208 -0
  139. package/lib/gitpod.d.ts +397 -0
  140. package/lib/gitpod.js +208 -0
  141. package/lib/ignore-file.d.ts +55 -0
  142. package/lib/ignore-file.js +112 -0
  143. package/lib/index.d.ts +46 -0
  144. package/lib/index.js +60 -0
  145. package/lib/ini.d.ts +27 -0
  146. package/lib/ini.js +40 -0
  147. package/lib/inventory.d.ts +45 -0
  148. package/lib/inventory.js +273 -0
  149. package/lib/java/index.d.ts +7 -0
  150. package/lib/java/index.js +20 -0
  151. package/lib/java/java-project.d.ts +181 -0
  152. package/lib/java/java-project.js +98 -0
  153. package/lib/java/junit.d.ts +41 -0
  154. package/lib/java/junit.js +50 -0
  155. package/lib/java/maven-compile.d.ts +35 -0
  156. package/lib/java/maven-compile.js +32 -0
  157. package/lib/java/maven-packaging.d.ts +49 -0
  158. package/lib/java/maven-packaging.js +71 -0
  159. package/lib/java/maven-sample.d.ts +24 -0
  160. package/lib/java/maven-sample.js +39 -0
  161. package/lib/java/pom.d.ts +243 -0
  162. package/lib/java/pom.js +176 -0
  163. package/lib/java/projenrc.d.ts +65 -0
  164. package/lib/java/projenrc.js +147 -0
  165. package/lib/javascript/bundler.d.ts +182 -0
  166. package/lib/javascript/bundler.js +123 -0
  167. package/lib/javascript/eslint.d.ts +177 -0
  168. package/lib/javascript/eslint.js +261 -0
  169. package/lib/javascript/index.d.ts +9 -0
  170. package/lib/javascript/index.js +22 -0
  171. package/lib/javascript/jest.d.ts +766 -0
  172. package/lib/javascript/jest.js +185 -0
  173. package/lib/javascript/node-package.d.ts +649 -0
  174. package/lib/javascript/node-package.js +687 -0
  175. package/lib/javascript/node-project.d.ts +572 -0
  176. package/lib/javascript/node-project.js +473 -0
  177. package/lib/javascript/npm-config.d.ts +50 -0
  178. package/lib/javascript/npm-config.js +53 -0
  179. package/lib/javascript/projenrc.d.ts +27 -0
  180. package/lib/javascript/projenrc.js +59 -0
  181. package/lib/javascript/render-options.d.ts +57 -0
  182. package/lib/javascript/render-options.js +169 -0
  183. package/lib/javascript/typescript-config.d.ts +424 -0
  184. package/lib/javascript/typescript-config.js +71 -0
  185. package/lib/javascript/upgrade-dependencies.d.ts +252 -0
  186. package/lib/javascript/upgrade-dependencies.js +341 -0
  187. package/lib/javascript/util.d.ts +1 -0
  188. package/lib/javascript/util.js +16 -0
  189. package/lib/json.d.ts +27 -0
  190. package/lib/json.js +42 -0
  191. package/lib/license.d.ts +48 -0
  192. package/lib/license.js +48 -0
  193. package/lib/logger.d.ts +117 -0
  194. package/lib/logger.js +127 -0
  195. package/lib/logging.d.ts +8 -0
  196. package/lib/logging.js +46 -0
  197. package/lib/makefile.d.ts +108 -0
  198. package/lib/makefile.js +99 -0
  199. package/lib/object-file.d.ts +112 -0
  200. package/lib/object-file.js +125 -0
  201. package/lib/option-hints.d.ts +27 -0
  202. package/lib/option-hints.js +17 -0
  203. package/lib/project-build.d.ts +60 -0
  204. package/lib/project-build.js +61 -0
  205. package/lib/project.d.ts +427 -0
  206. package/lib/project.js +391 -0
  207. package/lib/projects.d.ts +80 -0
  208. package/lib/projects.js +81 -0
  209. package/lib/projenrc-json.d.ts +27 -0
  210. package/lib/projenrc-json.js +47 -0
  211. package/lib/python/index.d.ts +13 -0
  212. package/lib/python/index.js +26 -0
  213. package/lib/python/pip.d.ts +48 -0
  214. package/lib/python/pip.js +78 -0
  215. package/lib/python/poetry.d.ts +262 -0
  216. package/lib/python/poetry.js +169 -0
  217. package/lib/python/projenrc.d.ts +42 -0
  218. package/lib/python/projenrc.js +135 -0
  219. package/lib/python/pytest.d.ts +36 -0
  220. package/lib/python/pytest.js +52 -0
  221. package/lib/python/python-deps.d.ts +44 -0
  222. package/lib/python/python-deps.js +3 -0
  223. package/lib/python/python-env.d.ts +11 -0
  224. package/lib/python/python-env.js +3 -0
  225. package/lib/python/python-packaging.d.ts +80 -0
  226. package/lib/python/python-packaging.js +3 -0
  227. package/lib/python/python-project.d.ts +202 -0
  228. package/lib/python/python-project.js +155 -0
  229. package/lib/python/python-sample.d.ts +20 -0
  230. package/lib/python/python-sample.js +48 -0
  231. package/lib/python/requirements-file.d.ts +44 -0
  232. package/lib/python/requirements-file.js +75 -0
  233. package/lib/python/setuppy.d.ts +88 -0
  234. package/lib/python/setuppy.js +78 -0
  235. package/lib/python/setuptools.d.ts +27 -0
  236. package/lib/python/setuptools.js +47 -0
  237. package/lib/python/venv.d.ts +38 -0
  238. package/lib/python/venv.js +44 -0
  239. package/lib/readme.d.ts +37 -0
  240. package/lib/readme.js +24 -0
  241. package/lib/release/bump-version.d.ts +59 -0
  242. package/lib/release/bump-version.js +151 -0
  243. package/lib/release/bump-version.task.d.ts +1 -0
  244. package/lib/release/bump-version.task.js +60 -0
  245. package/lib/release/index.d.ts +3 -0
  246. package/lib/release/index.js +16 -0
  247. package/lib/release/publisher.d.ts +554 -0
  248. package/lib/release/publisher.js +407 -0
  249. package/lib/release/release-trigger.d.ts +129 -0
  250. package/lib/release/release-trigger.js +88 -0
  251. package/lib/release/release.d.ts +361 -0
  252. package/lib/release/release.js +287 -0
  253. package/lib/release/reset-version.task.d.ts +1 -0
  254. package/lib/release/reset-version.task.js +17 -0
  255. package/lib/release/tag-version.d.ts +31 -0
  256. package/lib/release/tag-version.js +36 -0
  257. package/lib/release/tag-version.task.d.ts +1 -0
  258. package/lib/release/tag-version.task.js +34 -0
  259. package/lib/release/update-changelog.d.ts +36 -0
  260. package/lib/release/update-changelog.js +41 -0
  261. package/lib/release/update-changelog.task.d.ts +1 -0
  262. package/lib/release/update-changelog.task.js +39 -0
  263. package/lib/run-projenrc-json.task.d.ts +1 -0
  264. package/lib/run-projenrc-json.task.js +31 -0
  265. package/lib/sample-file.d.ts +121 -0
  266. package/lib/sample-file.js +129 -0
  267. package/lib/semver.d.ts +51 -0
  268. package/lib/semver.js +61 -0
  269. package/lib/source-code.d.ts +51 -0
  270. package/lib/source-code.js +66 -0
  271. package/lib/task-model.d.ts +156 -0
  272. package/lib/task-model.js +3 -0
  273. package/lib/task-runtime.d.ts +43 -0
  274. package/lib/task-runtime.js +272 -0
  275. package/lib/task.d.ts +161 -0
  276. package/lib/task.js +215 -0
  277. package/lib/tasks.d.ts +73 -0
  278. package/lib/tasks.js +129 -0
  279. package/lib/testing.d.ts +20 -0
  280. package/lib/testing.js +31 -0
  281. package/lib/textfile.d.ts +48 -0
  282. package/lib/textfile.js +47 -0
  283. package/lib/toml.d.ts +27 -0
  284. package/lib/toml.js +40 -0
  285. package/lib/typescript/index.d.ts +3 -0
  286. package/lib/typescript/index.js +16 -0
  287. package/lib/typescript/projenrc.d.ts +34 -0
  288. package/lib/typescript/projenrc.js +72 -0
  289. package/lib/typescript/typescript-typedoc.d.ts +12 -0
  290. package/lib/typescript/typescript-typedoc.js +28 -0
  291. package/lib/typescript/typescript.d.ts +215 -0
  292. package/lib/typescript/typescript.js +287 -0
  293. package/lib/util/semver.d.ts +43 -0
  294. package/lib/util/semver.js +210 -0
  295. package/lib/util/synth.d.ts +24 -0
  296. package/lib/util/synth.js +69 -0
  297. package/lib/util.d.ts +99 -0
  298. package/lib/util.js +254 -0
  299. package/lib/version.d.ts +70 -0
  300. package/lib/version.js +60 -0
  301. package/lib/vscode/devcontainer.d.ts +68 -0
  302. package/lib/vscode/devcontainer.js +104 -0
  303. package/lib/vscode/index.d.ts +3 -0
  304. package/lib/vscode/index.js +16 -0
  305. package/lib/vscode/launch-config.d.ts +149 -0
  306. package/lib/vscode/launch-config.js +51 -0
  307. package/lib/vscode/vscode.d.ts +17 -0
  308. package/lib/vscode/vscode.js +31 -0
  309. package/lib/web/index.d.ts +4 -0
  310. package/lib/web/index.js +17 -0
  311. package/lib/web/next.d.ts +141 -0
  312. package/lib/web/next.js +403 -0
  313. package/lib/web/postcss.d.ts +49 -0
  314. package/lib/web/postcss.js +35 -0
  315. package/lib/web/react.d.ts +152 -0
  316. package/lib/web/react.js +379 -0
  317. package/lib/web/tailwind.d.ts +35 -0
  318. package/lib/web/tailwind.js +42 -0
  319. package/lib/xmlfile.d.ts +30 -0
  320. package/lib/xmlfile.js +46 -0
  321. package/lib/yaml.d.ts +27 -0
  322. package/lib/yaml.js +40 -0
  323. package/license-text/Apache-2.0.txt +202 -0
  324. package/license-text/Artistic-1.0.txt +122 -0
  325. package/license-text/Artistic-2.0.txt +181 -0
  326. package/license-text/GPL-2.0-or-later.txt +339 -0
  327. package/license-text/GPL-3.0-WITH-GCC-exception-3.1.txt +73 -0
  328. package/license-text/GPL-3.0-or-later.txt +674 -0
  329. package/license-text/LGPL-2.1-or-later.txt +502 -0
  330. package/license-text/LGPL-3.0-or-later.txt +165 -0
  331. package/license-text/MIT-0.txt +15 -0
  332. package/license-text/MIT.txt +19 -0
  333. package/license-text/MPL-2.0.txt +353 -0
  334. package/license-text/OFL-1.1.txt +91 -0
  335. package/license-text/PHP-3.01.txt +68 -0
  336. package/license-text/Ruby.txt +52 -0
  337. package/license-text/Unlicense.txt +24 -0
  338. package/license-text/WTFPL.txt +14 -0
  339. package/license-text/ZPL-2.1.txt +44 -0
  340. package/logo/projen.svg +211 -0
  341. package/node_modules/@iarna/toml/CHANGELOG.md +278 -0
  342. package/node_modules/@iarna/toml/LICENSE +14 -0
  343. package/node_modules/@iarna/toml/README.md +301 -0
  344. package/node_modules/@iarna/toml/index.d.ts +57 -0
  345. package/node_modules/@iarna/toml/lib/create-date.js +23 -0
  346. package/node_modules/@iarna/toml/lib/create-datetime-float.js +24 -0
  347. package/node_modules/@iarna/toml/lib/create-datetime.js +10 -0
  348. package/node_modules/@iarna/toml/lib/create-time.js +22 -0
  349. package/node_modules/@iarna/toml/lib/format-num.js +6 -0
  350. package/node_modules/@iarna/toml/lib/parser-debug.js +60 -0
  351. package/node_modules/@iarna/toml/lib/parser.js +127 -0
  352. package/node_modules/@iarna/toml/lib/toml-parser.js +1379 -0
  353. package/node_modules/@iarna/toml/package.json +82 -0
  354. package/node_modules/@iarna/toml/parse-async.js +30 -0
  355. package/node_modules/@iarna/toml/parse-pretty-error.js +33 -0
  356. package/node_modules/@iarna/toml/parse-stream.js +80 -0
  357. package/node_modules/@iarna/toml/parse-string.js +18 -0
  358. package/node_modules/@iarna/toml/parse.js +5 -0
  359. package/node_modules/@iarna/toml/stringify.js +296 -0
  360. package/node_modules/@iarna/toml/toml.js +3 -0
  361. package/node_modules/@oozcitak/dom/LICENSE +21 -0
  362. package/node_modules/@oozcitak/dom/README.md +32 -0
  363. package/node_modules/@oozcitak/dom/lib/algorithm/AbortAlgorithm.d.ts +21 -0
  364. package/node_modules/@oozcitak/dom/lib/algorithm/AbortAlgorithm.js +79 -0
  365. package/node_modules/@oozcitak/dom/lib/algorithm/AbortAlgorithm.js.map +1 -0
  366. package/node_modules/@oozcitak/dom/lib/algorithm/AttrAlgorithm.d.ts +8 -0
  367. package/node_modules/@oozcitak/dom/lib/algorithm/AttrAlgorithm.js +23 -0
  368. package/node_modules/@oozcitak/dom/lib/algorithm/AttrAlgorithm.js.map +1 -0
  369. package/node_modules/@oozcitak/dom/lib/algorithm/BoundaryPointAlgorithm.d.ts +8 -0
  370. package/node_modules/@oozcitak/dom/lib/algorithm/BoundaryPointAlgorithm.js +76 -0
  371. package/node_modules/@oozcitak/dom/lib/algorithm/BoundaryPointAlgorithm.js.map +1 -0
  372. package/node_modules/@oozcitak/dom/lib/algorithm/CharacterDataAlgorithm.d.ts +19 -0
  373. package/node_modules/@oozcitak/dom/lib/algorithm/CharacterDataAlgorithm.js +140 -0
  374. package/node_modules/@oozcitak/dom/lib/algorithm/CharacterDataAlgorithm.js.map +1 -0
  375. package/node_modules/@oozcitak/dom/lib/algorithm/CreateAlgorithm.d.ts +192 -0
  376. package/node_modules/@oozcitak/dom/lib/algorithm/CreateAlgorithm.js +303 -0
  377. package/node_modules/@oozcitak/dom/lib/algorithm/CreateAlgorithm.js.map +1 -0
  378. package/node_modules/@oozcitak/dom/lib/algorithm/CustomElementAlgorithm.d.ts +61 -0
  379. package/node_modules/@oozcitak/dom/lib/algorithm/CustomElementAlgorithm.js +108 -0
  380. package/node_modules/@oozcitak/dom/lib/algorithm/CustomElementAlgorithm.js.map +1 -0
  381. package/node_modules/@oozcitak/dom/lib/algorithm/DOMAlgorithm.d.ts +72 -0
  382. package/node_modules/@oozcitak/dom/lib/algorithm/DOMAlgorithm.js +288 -0
  383. package/node_modules/@oozcitak/dom/lib/algorithm/DOMAlgorithm.js.map +1 -0
  384. package/node_modules/@oozcitak/dom/lib/algorithm/DOMTokenListAlgorithm.d.ts +21 -0
  385. package/node_modules/@oozcitak/dom/lib/algorithm/DOMTokenListAlgorithm.js +61 -0
  386. package/node_modules/@oozcitak/dom/lib/algorithm/DOMTokenListAlgorithm.js.map +1 -0
  387. package/node_modules/@oozcitak/dom/lib/algorithm/DocumentAlgorithm.d.ts +29 -0
  388. package/node_modules/@oozcitak/dom/lib/algorithm/DocumentAlgorithm.js +161 -0
  389. package/node_modules/@oozcitak/dom/lib/algorithm/DocumentAlgorithm.js.map +1 -0
  390. package/node_modules/@oozcitak/dom/lib/algorithm/ElementAlgorithm.d.ts +121 -0
  391. package/node_modules/@oozcitak/dom/lib/algorithm/ElementAlgorithm.js +608 -0
  392. package/node_modules/@oozcitak/dom/lib/algorithm/ElementAlgorithm.js.map +1 -0
  393. package/node_modules/@oozcitak/dom/lib/algorithm/EventAlgorithm.d.ts +146 -0
  394. package/node_modules/@oozcitak/dom/lib/algorithm/EventAlgorithm.js +995 -0
  395. package/node_modules/@oozcitak/dom/lib/algorithm/EventAlgorithm.js.map +1 -0
  396. package/node_modules/@oozcitak/dom/lib/algorithm/EventTargetAlgorithm.d.ts +33 -0
  397. package/node_modules/@oozcitak/dom/lib/algorithm/EventTargetAlgorithm.js +142 -0
  398. package/node_modules/@oozcitak/dom/lib/algorithm/EventTargetAlgorithm.js.map +1 -0
  399. package/node_modules/@oozcitak/dom/lib/algorithm/MutationAlgorithm.d.ts +66 -0
  400. package/node_modules/@oozcitak/dom/lib/algorithm/MutationAlgorithm.js +1173 -0
  401. package/node_modules/@oozcitak/dom/lib/algorithm/MutationAlgorithm.js.map +1 -0
  402. package/node_modules/@oozcitak/dom/lib/algorithm/MutationObserverAlgorithm.d.ts +43 -0
  403. package/node_modules/@oozcitak/dom/lib/algorithm/MutationObserverAlgorithm.js +276 -0
  404. package/node_modules/@oozcitak/dom/lib/algorithm/MutationObserverAlgorithm.js.map +1 -0
  405. package/node_modules/@oozcitak/dom/lib/algorithm/NamespaceAlgorithm.d.ts +25 -0
  406. package/node_modules/@oozcitak/dom/lib/algorithm/NamespaceAlgorithm.js +85 -0
  407. package/node_modules/@oozcitak/dom/lib/algorithm/NamespaceAlgorithm.js.map +1 -0
  408. package/node_modules/@oozcitak/dom/lib/algorithm/NodeAlgorithm.d.ts +68 -0
  409. package/node_modules/@oozcitak/dom/lib/algorithm/NodeAlgorithm.js +543 -0
  410. package/node_modules/@oozcitak/dom/lib/algorithm/NodeAlgorithm.js.map +1 -0
  411. package/node_modules/@oozcitak/dom/lib/algorithm/NodeIteratorAlgorithm.d.ts +15 -0
  412. package/node_modules/@oozcitak/dom/lib/algorithm/NodeIteratorAlgorithm.js +105 -0
  413. package/node_modules/@oozcitak/dom/lib/algorithm/NodeIteratorAlgorithm.js.map +1 -0
  414. package/node_modules/@oozcitak/dom/lib/algorithm/OrderedSetAlgorithm.d.ts +27 -0
  415. package/node_modules/@oozcitak/dom/lib/algorithm/OrderedSetAlgorithm.js +125 -0
  416. package/node_modules/@oozcitak/dom/lib/algorithm/OrderedSetAlgorithm.js.map +1 -0
  417. package/node_modules/@oozcitak/dom/lib/algorithm/ParentNodeAlgorithm.d.ts +9 -0
  418. package/node_modules/@oozcitak/dom/lib/algorithm/ParentNodeAlgorithm.js +69 -0
  419. package/node_modules/@oozcitak/dom/lib/algorithm/ParentNodeAlgorithm.js.map +1 -0
  420. package/node_modules/@oozcitak/dom/lib/algorithm/RangeAlgorithm.d.ts +82 -0
  421. package/node_modules/@oozcitak/dom/lib/algorithm/RangeAlgorithm.js +829 -0
  422. package/node_modules/@oozcitak/dom/lib/algorithm/RangeAlgorithm.js.map +1 -0
  423. package/node_modules/@oozcitak/dom/lib/algorithm/SelectorsAlgorithm.d.ts +8 -0
  424. package/node_modules/@oozcitak/dom/lib/algorithm/SelectorsAlgorithm.js +21 -0
  425. package/node_modules/@oozcitak/dom/lib/algorithm/SelectorsAlgorithm.js.map +1 -0
  426. package/node_modules/@oozcitak/dom/lib/algorithm/ShadowTreeAlgorithm.d.ts +57 -0
  427. package/node_modules/@oozcitak/dom/lib/algorithm/ShadowTreeAlgorithm.js +316 -0
  428. package/node_modules/@oozcitak/dom/lib/algorithm/ShadowTreeAlgorithm.js.map +1 -0
  429. package/node_modules/@oozcitak/dom/lib/algorithm/TextAlgorithm.d.ts +30 -0
  430. package/node_modules/@oozcitak/dom/lib/algorithm/TextAlgorithm.js +226 -0
  431. package/node_modules/@oozcitak/dom/lib/algorithm/TextAlgorithm.js.map +1 -0
  432. package/node_modules/@oozcitak/dom/lib/algorithm/TraversalAlgorithm.d.ts +8 -0
  433. package/node_modules/@oozcitak/dom/lib/algorithm/TraversalAlgorithm.js +62 -0
  434. package/node_modules/@oozcitak/dom/lib/algorithm/TraversalAlgorithm.js.map +1 -0
  435. package/node_modules/@oozcitak/dom/lib/algorithm/TreeAlgorithm.d.ts +268 -0
  436. package/node_modules/@oozcitak/dom/lib/algorithm/TreeAlgorithm.js +853 -0
  437. package/node_modules/@oozcitak/dom/lib/algorithm/TreeAlgorithm.js.map +1 -0
  438. package/node_modules/@oozcitak/dom/lib/algorithm/TreeWalkerAlgorithm.d.ts +17 -0
  439. package/node_modules/@oozcitak/dom/lib/algorithm/TreeWalkerAlgorithm.js +147 -0
  440. package/node_modules/@oozcitak/dom/lib/algorithm/TreeWalkerAlgorithm.js.map +1 -0
  441. package/node_modules/@oozcitak/dom/lib/algorithm/WebIDLAlgorithm.d.ts +8 -0
  442. package/node_modules/@oozcitak/dom/lib/algorithm/WebIDLAlgorithm.js +14 -0
  443. package/node_modules/@oozcitak/dom/lib/algorithm/WebIDLAlgorithm.js.map +1 -0
  444. package/node_modules/@oozcitak/dom/lib/algorithm/XMLAlgorithm.d.ts +25 -0
  445. package/node_modules/@oozcitak/dom/lib/algorithm/XMLAlgorithm.js +164 -0
  446. package/node_modules/@oozcitak/dom/lib/algorithm/XMLAlgorithm.js.map +1 -0
  447. package/node_modules/@oozcitak/dom/lib/algorithm/index.d.ts +28 -0
  448. package/node_modules/@oozcitak/dom/lib/algorithm/index.js +34 -0
  449. package/node_modules/@oozcitak/dom/lib/algorithm/index.js.map +1 -0
  450. package/node_modules/@oozcitak/dom/lib/dom/AbortControllerImpl.d.ts +15 -0
  451. package/node_modules/@oozcitak/dom/lib/dom/AbortControllerImpl.js +32 -0
  452. package/node_modules/@oozcitak/dom/lib/dom/AbortControllerImpl.js.map +1 -0
  453. package/node_modules/@oozcitak/dom/lib/dom/AbortSignalImpl.d.ts +23 -0
  454. package/node_modules/@oozcitak/dom/lib/dom/AbortSignalImpl.js +59 -0
  455. package/node_modules/@oozcitak/dom/lib/dom/AbortSignalImpl.js.map +1 -0
  456. package/node_modules/@oozcitak/dom/lib/dom/AbstractRangeImpl.d.ts +23 -0
  457. package/node_modules/@oozcitak/dom/lib/dom/AbstractRangeImpl.js +70 -0
  458. package/node_modules/@oozcitak/dom/lib/dom/AbstractRangeImpl.js.map +1 -0
  459. package/node_modules/@oozcitak/dom/lib/dom/AttrImpl.d.ts +45 -0
  460. package/node_modules/@oozcitak/dom/lib/dom/AttrImpl.js +118 -0
  461. package/node_modules/@oozcitak/dom/lib/dom/AttrImpl.js.map +1 -0
  462. package/node_modules/@oozcitak/dom/lib/dom/CDATASectionImpl.d.ts +21 -0
  463. package/node_modules/@oozcitak/dom/lib/dom/CDATASectionImpl.js +51 -0
  464. package/node_modules/@oozcitak/dom/lib/dom/CDATASectionImpl.js.map +1 -0
  465. package/node_modules/@oozcitak/dom/lib/dom/CharacterDataImpl.d.ts +35 -0
  466. package/node_modules/@oozcitak/dom/lib/dom/CharacterDataImpl.js +132 -0
  467. package/node_modules/@oozcitak/dom/lib/dom/CharacterDataImpl.js.map +1 -0
  468. package/node_modules/@oozcitak/dom/lib/dom/ChildNodeImpl.d.ts +16 -0
  469. package/node_modules/@oozcitak/dom/lib/dom/ChildNodeImpl.js +165 -0
  470. package/node_modules/@oozcitak/dom/lib/dom/ChildNodeImpl.js.map +1 -0
  471. package/node_modules/@oozcitak/dom/lib/dom/CommentImpl.d.ts +21 -0
  472. package/node_modules/@oozcitak/dom/lib/dom/CommentImpl.js +52 -0
  473. package/node_modules/@oozcitak/dom/lib/dom/CommentImpl.js.map +1 -0
  474. package/node_modules/@oozcitak/dom/lib/dom/CustomEventImpl.d.ts +16 -0
  475. package/node_modules/@oozcitak/dom/lib/dom/CustomEventImpl.js +60 -0
  476. package/node_modules/@oozcitak/dom/lib/dom/CustomEventImpl.js.map +1 -0
  477. package/node_modules/@oozcitak/dom/lib/dom/DOMException.d.ts +171 -0
  478. package/node_modules/@oozcitak/dom/lib/dom/DOMException.js +347 -0
  479. package/node_modules/@oozcitak/dom/lib/dom/DOMException.js.map +1 -0
  480. package/node_modules/@oozcitak/dom/lib/dom/DOMImpl.d.ts +48 -0
  481. package/node_modules/@oozcitak/dom/lib/dom/DOMImpl.js +100 -0
  482. package/node_modules/@oozcitak/dom/lib/dom/DOMImpl.js.map +1 -0
  483. package/node_modules/@oozcitak/dom/lib/dom/DOMImplementationImpl.d.ts +29 -0
  484. package/node_modules/@oozcitak/dom/lib/dom/DOMImplementationImpl.js +149 -0
  485. package/node_modules/@oozcitak/dom/lib/dom/DOMImplementationImpl.js.map +1 -0
  486. package/node_modules/@oozcitak/dom/lib/dom/DOMTokenListImpl.d.ts +46 -0
  487. package/node_modules/@oozcitak/dom/lib/dom/DOMTokenListImpl.js +312 -0
  488. package/node_modules/@oozcitak/dom/lib/dom/DOMTokenListImpl.js.map +1 -0
  489. package/node_modules/@oozcitak/dom/lib/dom/DocumentFragmentImpl.d.ts +32 -0
  490. package/node_modules/@oozcitak/dom/lib/dom/DocumentFragmentImpl.js +103 -0
  491. package/node_modules/@oozcitak/dom/lib/dom/DocumentFragmentImpl.js.map +1 -0
  492. package/node_modules/@oozcitak/dom/lib/dom/DocumentImpl.d.ts +116 -0
  493. package/node_modules/@oozcitak/dom/lib/dom/DocumentImpl.js +545 -0
  494. package/node_modules/@oozcitak/dom/lib/dom/DocumentImpl.js.map +1 -0
  495. package/node_modules/@oozcitak/dom/lib/dom/DocumentOrShadowRootImpl.d.ts +11 -0
  496. package/node_modules/@oozcitak/dom/lib/dom/DocumentOrShadowRootImpl.js +17 -0
  497. package/node_modules/@oozcitak/dom/lib/dom/DocumentOrShadowRootImpl.js.map +1 -0
  498. package/node_modules/@oozcitak/dom/lib/dom/DocumentTypeImpl.d.ts +39 -0
  499. package/node_modules/@oozcitak/dom/lib/dom/DocumentTypeImpl.js +109 -0
  500. package/node_modules/@oozcitak/dom/lib/dom/DocumentTypeImpl.js.map +1 -0
  501. package/node_modules/@oozcitak/dom/lib/dom/ElementImpl.d.ts +132 -0
  502. package/node_modules/@oozcitak/dom/lib/dom/ElementImpl.js +714 -0
  503. package/node_modules/@oozcitak/dom/lib/dom/ElementImpl.js.map +1 -0
  504. package/node_modules/@oozcitak/dom/lib/dom/EventImpl.d.ts +74 -0
  505. package/node_modules/@oozcitak/dom/lib/dom/EventImpl.js +313 -0
  506. package/node_modules/@oozcitak/dom/lib/dom/EventImpl.js.map +1 -0
  507. package/node_modules/@oozcitak/dom/lib/dom/EventTargetImpl.d.ts +30 -0
  508. package/node_modules/@oozcitak/dom/lib/dom/EventTargetImpl.js +133 -0
  509. package/node_modules/@oozcitak/dom/lib/dom/EventTargetImpl.js.map +1 -0
  510. package/node_modules/@oozcitak/dom/lib/dom/HTMLCollectionImpl.d.ts +44 -0
  511. package/node_modules/@oozcitak/dom/lib/dom/HTMLCollectionImpl.js +157 -0
  512. package/node_modules/@oozcitak/dom/lib/dom/HTMLCollectionImpl.js.map +1 -0
  513. package/node_modules/@oozcitak/dom/lib/dom/MutationObserverImpl.d.ts +22 -0
  514. package/node_modules/@oozcitak/dom/lib/dom/MutationObserverImpl.js +184 -0
  515. package/node_modules/@oozcitak/dom/lib/dom/MutationObserverImpl.js.map +1 -0
  516. package/node_modules/@oozcitak/dom/lib/dom/MutationRecordImpl.d.ts +73 -0
  517. package/node_modules/@oozcitak/dom/lib/dom/MutationRecordImpl.js +116 -0
  518. package/node_modules/@oozcitak/dom/lib/dom/MutationRecordImpl.js.map +1 -0
  519. package/node_modules/@oozcitak/dom/lib/dom/NamedNodeMapImpl.d.ts +34 -0
  520. package/node_modules/@oozcitak/dom/lib/dom/NamedNodeMapImpl.js +112 -0
  521. package/node_modules/@oozcitak/dom/lib/dom/NamedNodeMapImpl.js.map +1 -0
  522. package/node_modules/@oozcitak/dom/lib/dom/NodeFilterImpl.d.ts +50 -0
  523. package/node_modules/@oozcitak/dom/lib/dom/NodeFilterImpl.js +64 -0
  524. package/node_modules/@oozcitak/dom/lib/dom/NodeFilterImpl.js.map +1 -0
  525. package/node_modules/@oozcitak/dom/lib/dom/NodeImpl.d.ts +252 -0
  526. package/node_modules/@oozcitak/dom/lib/dom/NodeImpl.js +891 -0
  527. package/node_modules/@oozcitak/dom/lib/dom/NodeImpl.js.map +1 -0
  528. package/node_modules/@oozcitak/dom/lib/dom/NodeIteratorImpl.d.ts +34 -0
  529. package/node_modules/@oozcitak/dom/lib/dom/NodeIteratorImpl.js +86 -0
  530. package/node_modules/@oozcitak/dom/lib/dom/NodeIteratorImpl.js.map +1 -0
  531. package/node_modules/@oozcitak/dom/lib/dom/NodeListImpl.d.ts +46 -0
  532. package/node_modules/@oozcitak/dom/lib/dom/NodeListImpl.js +198 -0
  533. package/node_modules/@oozcitak/dom/lib/dom/NodeListImpl.js.map +1 -0
  534. package/node_modules/@oozcitak/dom/lib/dom/NodeListStaticImpl.d.ts +49 -0
  535. package/node_modules/@oozcitak/dom/lib/dom/NodeListStaticImpl.js +188 -0
  536. package/node_modules/@oozcitak/dom/lib/dom/NodeListStaticImpl.js.map +1 -0
  537. package/node_modules/@oozcitak/dom/lib/dom/NonDocumentTypeChildNodeImpl.d.ts +12 -0
  538. package/node_modules/@oozcitak/dom/lib/dom/NonDocumentTypeChildNodeImpl.js +53 -0
  539. package/node_modules/@oozcitak/dom/lib/dom/NonDocumentTypeChildNodeImpl.js.map +1 -0
  540. package/node_modules/@oozcitak/dom/lib/dom/NonElementParentNodeImpl.d.ts +9 -0
  541. package/node_modules/@oozcitak/dom/lib/dom/NonElementParentNodeImpl.js +31 -0
  542. package/node_modules/@oozcitak/dom/lib/dom/NonElementParentNodeImpl.js.map +1 -0
  543. package/node_modules/@oozcitak/dom/lib/dom/ParentNodeImpl.d.ts +24 -0
  544. package/node_modules/@oozcitak/dom/lib/dom/ParentNodeImpl.js +158 -0
  545. package/node_modules/@oozcitak/dom/lib/dom/ParentNodeImpl.js.map +1 -0
  546. package/node_modules/@oozcitak/dom/lib/dom/ProcessingInstructionImpl.d.ts +25 -0
  547. package/node_modules/@oozcitak/dom/lib/dom/ProcessingInstructionImpl.js +59 -0
  548. package/node_modules/@oozcitak/dom/lib/dom/ProcessingInstructionImpl.js.map +1 -0
  549. package/node_modules/@oozcitak/dom/lib/dom/RangeImpl.d.ts +71 -0
  550. package/node_modules/@oozcitak/dom/lib/dom/RangeImpl.js +649 -0
  551. package/node_modules/@oozcitak/dom/lib/dom/RangeImpl.js.map +1 -0
  552. package/node_modules/@oozcitak/dom/lib/dom/ShadowRootImpl.d.ts +33 -0
  553. package/node_modules/@oozcitak/dom/lib/dom/ShadowRootImpl.js +82 -0
  554. package/node_modules/@oozcitak/dom/lib/dom/ShadowRootImpl.js.map +1 -0
  555. package/node_modules/@oozcitak/dom/lib/dom/SlotableImpl.d.ts +16 -0
  556. package/node_modules/@oozcitak/dom/lib/dom/SlotableImpl.js +35 -0
  557. package/node_modules/@oozcitak/dom/lib/dom/SlotableImpl.js.map +1 -0
  558. package/node_modules/@oozcitak/dom/lib/dom/StaticRangeImpl.d.ts +13 -0
  559. package/node_modules/@oozcitak/dom/lib/dom/StaticRangeImpl.js +48 -0
  560. package/node_modules/@oozcitak/dom/lib/dom/StaticRangeImpl.js.map +1 -0
  561. package/node_modules/@oozcitak/dom/lib/dom/TextImpl.d.ts +28 -0
  562. package/node_modules/@oozcitak/dom/lib/dom/TextImpl.js +109 -0
  563. package/node_modules/@oozcitak/dom/lib/dom/TextImpl.js.map +1 -0
  564. package/node_modules/@oozcitak/dom/lib/dom/TraverserImpl.d.ts +23 -0
  565. package/node_modules/@oozcitak/dom/lib/dom/TraverserImpl.js +41 -0
  566. package/node_modules/@oozcitak/dom/lib/dom/TraverserImpl.js.map +1 -0
  567. package/node_modules/@oozcitak/dom/lib/dom/TreeWalkerImpl.d.ts +36 -0
  568. package/node_modules/@oozcitak/dom/lib/dom/TreeWalkerImpl.js +249 -0
  569. package/node_modules/@oozcitak/dom/lib/dom/TreeWalkerImpl.js.map +1 -0
  570. package/node_modules/@oozcitak/dom/lib/dom/WindowImpl.d.ts +26 -0
  571. package/node_modules/@oozcitak/dom/lib/dom/WindowImpl.js +57 -0
  572. package/node_modules/@oozcitak/dom/lib/dom/WindowImpl.js.map +1 -0
  573. package/node_modules/@oozcitak/dom/lib/dom/XMLDocumentImpl.d.ts +11 -0
  574. package/node_modules/@oozcitak/dom/lib/dom/XMLDocumentImpl.js +31 -0
  575. package/node_modules/@oozcitak/dom/lib/dom/XMLDocumentImpl.js.map +1 -0
  576. package/node_modules/@oozcitak/dom/lib/dom/index.d.ts +36 -0
  577. package/node_modules/@oozcitak/dom/lib/dom/index.js +102 -0
  578. package/node_modules/@oozcitak/dom/lib/dom/index.js.map +1 -0
  579. package/node_modules/@oozcitak/dom/lib/dom/interfaces.d.ts +2218 -0
  580. package/node_modules/@oozcitak/dom/lib/dom/interfaces.js +91 -0
  581. package/node_modules/@oozcitak/dom/lib/dom/interfaces.js.map +1 -0
  582. package/node_modules/@oozcitak/dom/lib/index.d.ts +3 -0
  583. package/node_modules/@oozcitak/dom/lib/index.js +11 -0
  584. package/node_modules/@oozcitak/dom/lib/index.js.map +1 -0
  585. package/node_modules/@oozcitak/dom/lib/parser/DOMParserImpl.d.ts +11 -0
  586. package/node_modules/@oozcitak/dom/lib/parser/DOMParserImpl.js +37 -0
  587. package/node_modules/@oozcitak/dom/lib/parser/DOMParserImpl.js.map +1 -0
  588. package/node_modules/@oozcitak/dom/lib/parser/XMLParserImpl.d.ts +14 -0
  589. package/node_modules/@oozcitak/dom/lib/parser/XMLParserImpl.js +220 -0
  590. package/node_modules/@oozcitak/dom/lib/parser/XMLParserImpl.js.map +1 -0
  591. package/node_modules/@oozcitak/dom/lib/parser/XMLStringLexer.d.ts +159 -0
  592. package/node_modules/@oozcitak/dom/lib/parser/XMLStringLexer.js +512 -0
  593. package/node_modules/@oozcitak/dom/lib/parser/XMLStringLexer.js.map +1 -0
  594. package/node_modules/@oozcitak/dom/lib/parser/index.d.ts +1 -0
  595. package/node_modules/@oozcitak/dom/lib/parser/index.js +6 -0
  596. package/node_modules/@oozcitak/dom/lib/parser/index.js.map +1 -0
  597. package/node_modules/@oozcitak/dom/lib/parser/interfaces.d.ts +131 -0
  598. package/node_modules/@oozcitak/dom/lib/parser/interfaces.js +18 -0
  599. package/node_modules/@oozcitak/dom/lib/parser/interfaces.js.map +1 -0
  600. package/node_modules/@oozcitak/dom/lib/serializer/LocalNameSet.d.ts +27 -0
  601. package/node_modules/@oozcitak/dom/lib/serializer/LocalNameSet.js +56 -0
  602. package/node_modules/@oozcitak/dom/lib/serializer/LocalNameSet.js.map +1 -0
  603. package/node_modules/@oozcitak/dom/lib/serializer/NamespacePrefixMap.d.ts +52 -0
  604. package/node_modules/@oozcitak/dom/lib/serializer/NamespacePrefixMap.js +151 -0
  605. package/node_modules/@oozcitak/dom/lib/serializer/NamespacePrefixMap.js.map +1 -0
  606. package/node_modules/@oozcitak/dom/lib/serializer/XMLSerializerImpl.d.ts +166 -0
  607. package/node_modules/@oozcitak/dom/lib/serializer/XMLSerializerImpl.js +1479 -0
  608. package/node_modules/@oozcitak/dom/lib/serializer/XMLSerializerImpl.js.map +1 -0
  609. package/node_modules/@oozcitak/dom/lib/serializer/XMLSerializerImpl2.d.ts +2 -0
  610. package/node_modules/@oozcitak/dom/lib/serializer/XMLSerializerImpl2.js +962 -0
  611. package/node_modules/@oozcitak/dom/lib/serializer/XMLSerializerImpl2.js.map +1 -0
  612. package/node_modules/@oozcitak/dom/lib/serializer/index.d.ts +1 -0
  613. package/node_modules/@oozcitak/dom/lib/serializer/index.js +6 -0
  614. package/node_modules/@oozcitak/dom/lib/serializer/index.js.map +1 -0
  615. package/node_modules/@oozcitak/dom/lib/serializer/interfaces.d.ts +15 -0
  616. package/node_modules/@oozcitak/dom/lib/serializer/interfaces.js +3 -0
  617. package/node_modules/@oozcitak/dom/lib/serializer/interfaces.js.map +1 -0
  618. package/node_modules/@oozcitak/dom/lib/util/Cast.d.ts +12 -0
  619. package/node_modules/@oozcitak/dom/lib/util/Cast.js +26 -0
  620. package/node_modules/@oozcitak/dom/lib/util/Cast.js.map +1 -0
  621. package/node_modules/@oozcitak/dom/lib/util/EmptySet.d.ts +13 -0
  622. package/node_modules/@oozcitak/dom/lib/util/EmptySet.js +61 -0
  623. package/node_modules/@oozcitak/dom/lib/util/EmptySet.js.map +1 -0
  624. package/node_modules/@oozcitak/dom/lib/util/Guard.d.ts +135 -0
  625. package/node_modules/@oozcitak/dom/lib/util/Guard.js +192 -0
  626. package/node_modules/@oozcitak/dom/lib/util/Guard.js.map +1 -0
  627. package/node_modules/@oozcitak/dom/lib/util/index.d.ts +3 -0
  628. package/node_modules/@oozcitak/dom/lib/util/index.js +9 -0
  629. package/node_modules/@oozcitak/dom/lib/util/index.js.map +1 -0
  630. package/node_modules/@oozcitak/dom/package.json +72 -0
  631. package/node_modules/@oozcitak/infra/LICENSE +21 -0
  632. package/node_modules/@oozcitak/infra/README.md +13 -0
  633. package/node_modules/@oozcitak/infra/lib/Base64.d.ts +12 -0
  634. package/node_modules/@oozcitak/infra/lib/Base64.js +82 -0
  635. package/node_modules/@oozcitak/infra/lib/Base64.js.map +1 -0
  636. package/node_modules/@oozcitak/infra/lib/Byte.d.ts +6 -0
  637. package/node_modules/@oozcitak/infra/lib/Byte.js +15 -0
  638. package/node_modules/@oozcitak/infra/lib/Byte.js.map +1 -0
  639. package/node_modules/@oozcitak/infra/lib/ByteSequence.d.ts +45 -0
  640. package/node_modules/@oozcitak/infra/lib/ByteSequence.js +171 -0
  641. package/node_modules/@oozcitak/infra/lib/ByteSequence.js.map +1 -0
  642. package/node_modules/@oozcitak/infra/lib/CodePoints.d.ts +82 -0
  643. package/node_modules/@oozcitak/infra/lib/CodePoints.js +85 -0
  644. package/node_modules/@oozcitak/infra/lib/CodePoints.js.map +1 -0
  645. package/node_modules/@oozcitak/infra/lib/JSON.d.ts +24 -0
  646. package/node_modules/@oozcitak/infra/lib/JSON.js +123 -0
  647. package/node_modules/@oozcitak/infra/lib/JSON.js.map +1 -0
  648. package/node_modules/@oozcitak/infra/lib/List.d.ts +101 -0
  649. package/node_modules/@oozcitak/infra/lib/List.js +325 -0
  650. package/node_modules/@oozcitak/infra/lib/List.js.map +1 -0
  651. package/node_modules/@oozcitak/infra/lib/Map.d.ts +87 -0
  652. package/node_modules/@oozcitak/infra/lib/Map.js +308 -0
  653. package/node_modules/@oozcitak/infra/lib/Map.js.map +1 -0
  654. package/node_modules/@oozcitak/infra/lib/Namespace.d.ts +6 -0
  655. package/node_modules/@oozcitak/infra/lib/Namespace.js +9 -0
  656. package/node_modules/@oozcitak/infra/lib/Namespace.js.map +1 -0
  657. package/node_modules/@oozcitak/infra/lib/Queue.d.ts +13 -0
  658. package/node_modules/@oozcitak/infra/lib/Queue.js +22 -0
  659. package/node_modules/@oozcitak/infra/lib/Queue.js.map +1 -0
  660. package/node_modules/@oozcitak/infra/lib/Set.d.ts +136 -0
  661. package/node_modules/@oozcitak/infra/lib/Set.js +467 -0
  662. package/node_modules/@oozcitak/infra/lib/Set.js.map +1 -0
  663. package/node_modules/@oozcitak/infra/lib/Stack.d.ts +13 -0
  664. package/node_modules/@oozcitak/infra/lib/Stack.js +22 -0
  665. package/node_modules/@oozcitak/infra/lib/Stack.js.map +1 -0
  666. package/node_modules/@oozcitak/infra/lib/String.d.ts +129 -0
  667. package/node_modules/@oozcitak/infra/lib/String.js +472 -0
  668. package/node_modules/@oozcitak/infra/lib/String.js.map +1 -0
  669. package/node_modules/@oozcitak/infra/lib/index.d.ts +13 -0
  670. package/node_modules/@oozcitak/infra/lib/index.js +34 -0
  671. package/node_modules/@oozcitak/infra/lib/index.js.map +1 -0
  672. package/node_modules/@oozcitak/infra/package.json +54 -0
  673. package/node_modules/@oozcitak/url/LICENSE +21 -0
  674. package/node_modules/@oozcitak/url/README.md +27 -0
  675. package/node_modules/@oozcitak/url/lib/URLAlgorithm.d.ts +267 -0
  676. package/node_modules/@oozcitak/url/lib/URLAlgorithm.js +2758 -0
  677. package/node_modules/@oozcitak/url/lib/URLAlgorithm.js.map +1 -0
  678. package/node_modules/@oozcitak/url/lib/URLImpl.d.ts +53 -0
  679. package/node_modules/@oozcitak/url/lib/URLImpl.js +377 -0
  680. package/node_modules/@oozcitak/url/lib/URLImpl.js.map +1 -0
  681. package/node_modules/@oozcitak/url/lib/URLSearchParamsImpl.d.ts +38 -0
  682. package/node_modules/@oozcitak/url/lib/URLSearchParamsImpl.js +303 -0
  683. package/node_modules/@oozcitak/url/lib/URLSearchParamsImpl.js.map +1 -0
  684. package/node_modules/@oozcitak/url/lib/index.d.ts +2 -0
  685. package/node_modules/@oozcitak/url/lib/index.js +7 -0
  686. package/node_modules/@oozcitak/url/lib/index.js.map +1 -0
  687. package/node_modules/@oozcitak/url/lib/interfaces.d.ts +195 -0
  688. package/node_modules/@oozcitak/url/lib/interfaces.js +31 -0
  689. package/node_modules/@oozcitak/url/lib/interfaces.js.map +1 -0
  690. package/node_modules/@oozcitak/url/package.json +55 -0
  691. package/node_modules/@oozcitak/util/LICENSE +21 -0
  692. package/node_modules/@oozcitak/util/README.md +10 -0
  693. package/node_modules/@oozcitak/util/lib/CompareCache.d.ts +32 -0
  694. package/node_modules/@oozcitak/util/lib/CompareCache.js +59 -0
  695. package/node_modules/@oozcitak/util/lib/CompareCache.js.map +1 -0
  696. package/node_modules/@oozcitak/util/lib/FixedSizeSet.d.ts +64 -0
  697. package/node_modules/@oozcitak/util/lib/FixedSizeSet.js +174 -0
  698. package/node_modules/@oozcitak/util/lib/FixedSizeSet.js.map +1 -0
  699. package/node_modules/@oozcitak/util/lib/Lazy.d.ts +18 -0
  700. package/node_modules/@oozcitak/util/lib/Lazy.js +34 -0
  701. package/node_modules/@oozcitak/util/lib/Lazy.js.map +1 -0
  702. package/node_modules/@oozcitak/util/lib/ObjectCache.d.ts +71 -0
  703. package/node_modules/@oozcitak/util/lib/ObjectCache.js +181 -0
  704. package/node_modules/@oozcitak/util/lib/ObjectCache.js.map +1 -0
  705. package/node_modules/@oozcitak/util/lib/StringWalker.d.ts +49 -0
  706. package/node_modules/@oozcitak/util/lib/StringWalker.js +105 -0
  707. package/node_modules/@oozcitak/util/lib/StringWalker.js.map +1 -0
  708. package/node_modules/@oozcitak/util/lib/index.d.ts +178 -0
  709. package/node_modules/@oozcitak/util/lib/index.js +439 -0
  710. package/node_modules/@oozcitak/util/lib/index.js.map +1 -0
  711. package/node_modules/@oozcitak/util/package.json +50 -0
  712. package/node_modules/ansi-regex/index.d.ts +37 -0
  713. package/node_modules/ansi-regex/index.js +10 -0
  714. package/node_modules/ansi-regex/license +9 -0
  715. package/node_modules/ansi-regex/package.json +55 -0
  716. package/node_modules/ansi-regex/readme.md +78 -0
  717. package/node_modules/ansi-styles/index.d.ts +345 -0
  718. package/node_modules/ansi-styles/index.js +163 -0
  719. package/node_modules/ansi-styles/license +9 -0
  720. package/node_modules/ansi-styles/package.json +56 -0
  721. package/node_modules/ansi-styles/readme.md +152 -0
  722. package/node_modules/argparse/CHANGELOG.md +185 -0
  723. package/node_modules/argparse/LICENSE +21 -0
  724. package/node_modules/argparse/README.md +257 -0
  725. package/node_modules/argparse/index.js +3 -0
  726. package/node_modules/argparse/lib/action/append/constant.js +47 -0
  727. package/node_modules/argparse/lib/action/append.js +53 -0
  728. package/node_modules/argparse/lib/action/count.js +40 -0
  729. package/node_modules/argparse/lib/action/help.js +47 -0
  730. package/node_modules/argparse/lib/action/store/constant.js +43 -0
  731. package/node_modules/argparse/lib/action/store/false.js +27 -0
  732. package/node_modules/argparse/lib/action/store/true.js +26 -0
  733. package/node_modules/argparse/lib/action/store.js +50 -0
  734. package/node_modules/argparse/lib/action/subparsers.js +149 -0
  735. package/node_modules/argparse/lib/action/version.js +47 -0
  736. package/node_modules/argparse/lib/action.js +146 -0
  737. package/node_modules/argparse/lib/action_container.js +482 -0
  738. package/node_modules/argparse/lib/argparse.js +14 -0
  739. package/node_modules/argparse/lib/argument/error.js +50 -0
  740. package/node_modules/argparse/lib/argument/exclusive.js +54 -0
  741. package/node_modules/argparse/lib/argument/group.js +75 -0
  742. package/node_modules/argparse/lib/argument_parser.js +1161 -0
  743. package/node_modules/argparse/lib/const.js +21 -0
  744. package/node_modules/argparse/lib/help/added_formatters.js +87 -0
  745. package/node_modules/argparse/lib/help/formatter.js +795 -0
  746. package/node_modules/argparse/lib/namespace.js +76 -0
  747. package/node_modules/argparse/lib/utils.js +57 -0
  748. package/node_modules/argparse/package.json +34 -0
  749. package/node_modules/at-least-node/LICENSE +6 -0
  750. package/node_modules/at-least-node/README.md +25 -0
  751. package/node_modules/at-least-node/index.js +5 -0
  752. package/node_modules/at-least-node/package.json +32 -0
  753. package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  754. package/node_modules/balanced-match/LICENSE.md +21 -0
  755. package/node_modules/balanced-match/README.md +97 -0
  756. package/node_modules/balanced-match/index.js +62 -0
  757. package/node_modules/balanced-match/package.json +48 -0
  758. package/node_modules/brace-expansion/LICENSE +21 -0
  759. package/node_modules/brace-expansion/README.md +129 -0
  760. package/node_modules/brace-expansion/index.js +201 -0
  761. package/node_modules/brace-expansion/package.json +47 -0
  762. package/node_modules/case/LICENSE +22 -0
  763. package/node_modules/case/README.md +139 -0
  764. package/node_modules/case/case.d.ts +43 -0
  765. package/node_modules/case/dist/Case.js +171 -0
  766. package/node_modules/case/dist/Case.min.js +5 -0
  767. package/node_modules/case/dist/Case.min.js.map +1 -0
  768. package/node_modules/case/dist/Case.plus.js +189 -0
  769. package/node_modules/case/dist/Case.plus.min.js +5 -0
  770. package/node_modules/case/dist/Case.plus.min.js.map +1 -0
  771. package/node_modules/case/package.json +58 -0
  772. package/node_modules/chalk/index.d.ts +415 -0
  773. package/node_modules/chalk/license +9 -0
  774. package/node_modules/chalk/package.json +68 -0
  775. package/node_modules/chalk/readme.md +341 -0
  776. package/node_modules/chalk/source/index.js +229 -0
  777. package/node_modules/chalk/source/templates.js +134 -0
  778. package/node_modules/chalk/source/util.js +39 -0
  779. package/node_modules/cliui/CHANGELOG.md +121 -0
  780. package/node_modules/cliui/LICENSE.txt +14 -0
  781. package/node_modules/cliui/README.md +141 -0
  782. package/node_modules/cliui/build/index.cjs +302 -0
  783. package/node_modules/cliui/build/lib/index.js +287 -0
  784. package/node_modules/cliui/build/lib/string-utils.js +27 -0
  785. package/node_modules/cliui/index.mjs +13 -0
  786. package/node_modules/cliui/package.json +83 -0
  787. package/node_modules/color-convert/CHANGELOG.md +54 -0
  788. package/node_modules/color-convert/LICENSE +21 -0
  789. package/node_modules/color-convert/README.md +68 -0
  790. package/node_modules/color-convert/conversions.js +839 -0
  791. package/node_modules/color-convert/index.js +81 -0
  792. package/node_modules/color-convert/package.json +48 -0
  793. package/node_modules/color-convert/route.js +97 -0
  794. package/node_modules/color-name/LICENSE +8 -0
  795. package/node_modules/color-name/README.md +11 -0
  796. package/node_modules/color-name/index.js +152 -0
  797. package/node_modules/color-name/package.json +28 -0
  798. package/node_modules/concat-map/.travis.yml +4 -0
  799. package/node_modules/concat-map/LICENSE +18 -0
  800. package/node_modules/concat-map/README.markdown +62 -0
  801. package/node_modules/concat-map/example/map.js +6 -0
  802. package/node_modules/concat-map/index.js +13 -0
  803. package/node_modules/concat-map/package.json +43 -0
  804. package/node_modules/concat-map/test/map.js +39 -0
  805. package/node_modules/conventional-changelog-config-spec/CHANGELOG.md +15 -0
  806. package/node_modules/conventional-changelog-config-spec/README.md +7 -0
  807. package/node_modules/conventional-changelog-config-spec/index.js +1 -0
  808. package/node_modules/conventional-changelog-config-spec/package.json +32 -0
  809. package/node_modules/conventional-changelog-config-spec/renovate.json +5 -0
  810. package/node_modules/conventional-changelog-config-spec/tests/shared.js +38 -0
  811. package/node_modules/conventional-changelog-config-spec/tests/v1.test.js +7 -0
  812. package/node_modules/conventional-changelog-config-spec/tests/v2.test.js +26 -0
  813. package/node_modules/conventional-changelog-config-spec/versions/1.0.0/README.md +143 -0
  814. package/node_modules/conventional-changelog-config-spec/versions/1.0.0/schema.json +81 -0
  815. package/node_modules/conventional-changelog-config-spec/versions/2.0.0/README.md +155 -0
  816. package/node_modules/conventional-changelog-config-spec/versions/2.0.0/schema.json +89 -0
  817. package/node_modules/conventional-changelog-config-spec/versions/2.1.0/README.md +166 -0
  818. package/node_modules/conventional-changelog-config-spec/versions/2.1.0/schema.json +97 -0
  819. package/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  820. package/node_modules/emoji-regex/README.md +73 -0
  821. package/node_modules/emoji-regex/es2015/index.js +6 -0
  822. package/node_modules/emoji-regex/es2015/text.js +6 -0
  823. package/node_modules/emoji-regex/index.d.ts +23 -0
  824. package/node_modules/emoji-regex/index.js +6 -0
  825. package/node_modules/emoji-regex/package.json +50 -0
  826. package/node_modules/emoji-regex/text.js +6 -0
  827. package/node_modules/escalade/dist/index.js +22 -0
  828. package/node_modules/escalade/dist/index.mjs +22 -0
  829. package/node_modules/escalade/index.d.ts +3 -0
  830. package/node_modules/escalade/license +9 -0
  831. package/node_modules/escalade/package.json +61 -0
  832. package/node_modules/escalade/readme.md +211 -0
  833. package/node_modules/escalade/sync/index.d.ts +2 -0
  834. package/node_modules/escalade/sync/index.js +18 -0
  835. package/node_modules/escalade/sync/index.mjs +18 -0
  836. package/node_modules/esprima/ChangeLog +235 -0
  837. package/node_modules/esprima/LICENSE.BSD +21 -0
  838. package/node_modules/esprima/README.md +46 -0
  839. package/node_modules/esprima/bin/esparse.js +139 -0
  840. package/node_modules/esprima/bin/esvalidate.js +236 -0
  841. package/node_modules/esprima/dist/esprima.js +6709 -0
  842. package/node_modules/esprima/package.json +112 -0
  843. package/node_modules/fs-extra/CHANGELOG.md +902 -0
  844. package/node_modules/fs-extra/LICENSE +15 -0
  845. package/node_modules/fs-extra/README.md +264 -0
  846. package/node_modules/fs-extra/lib/copy/copy.js +232 -0
  847. package/node_modules/fs-extra/lib/copy/index.js +6 -0
  848. package/node_modules/fs-extra/lib/copy-sync/copy-sync.js +166 -0
  849. package/node_modules/fs-extra/lib/copy-sync/index.js +5 -0
  850. package/node_modules/fs-extra/lib/empty/index.js +48 -0
  851. package/node_modules/fs-extra/lib/ensure/file.js +69 -0
  852. package/node_modules/fs-extra/lib/ensure/index.js +23 -0
  853. package/node_modules/fs-extra/lib/ensure/link.js +61 -0
  854. package/node_modules/fs-extra/lib/ensure/symlink-paths.js +99 -0
  855. package/node_modules/fs-extra/lib/ensure/symlink-type.js +31 -0
  856. package/node_modules/fs-extra/lib/ensure/symlink.js +63 -0
  857. package/node_modules/fs-extra/lib/fs/index.js +130 -0
  858. package/node_modules/fs-extra/lib/index.js +27 -0
  859. package/node_modules/fs-extra/lib/json/index.js +16 -0
  860. package/node_modules/fs-extra/lib/json/jsonfile.js +11 -0
  861. package/node_modules/fs-extra/lib/json/output-json-sync.js +12 -0
  862. package/node_modules/fs-extra/lib/json/output-json.js +12 -0
  863. package/node_modules/fs-extra/lib/mkdirs/index.js +14 -0
  864. package/node_modules/fs-extra/lib/mkdirs/make-dir.js +141 -0
  865. package/node_modules/fs-extra/lib/move/index.js +6 -0
  866. package/node_modules/fs-extra/lib/move/move.js +65 -0
  867. package/node_modules/fs-extra/lib/move-sync/index.js +5 -0
  868. package/node_modules/fs-extra/lib/move-sync/move-sync.js +47 -0
  869. package/node_modules/fs-extra/lib/output/index.js +40 -0
  870. package/node_modules/fs-extra/lib/path-exists/index.js +12 -0
  871. package/node_modules/fs-extra/lib/remove/index.js +9 -0
  872. package/node_modules/fs-extra/lib/remove/rimraf.js +302 -0
  873. package/node_modules/fs-extra/lib/util/stat.js +139 -0
  874. package/node_modules/fs-extra/lib/util/utimes.js +26 -0
  875. package/node_modules/fs-extra/node_modules/universalify/LICENSE +20 -0
  876. package/node_modules/fs-extra/node_modules/universalify/README.md +76 -0
  877. package/node_modules/fs-extra/node_modules/universalify/index.js +24 -0
  878. package/node_modules/fs-extra/node_modules/universalify/package.json +34 -0
  879. package/node_modules/fs-extra/package.json +70 -0
  880. package/node_modules/fs.realpath/LICENSE +43 -0
  881. package/node_modules/fs.realpath/README.md +33 -0
  882. package/node_modules/fs.realpath/index.js +66 -0
  883. package/node_modules/fs.realpath/old.js +303 -0
  884. package/node_modules/fs.realpath/package.json +26 -0
  885. package/node_modules/function-bind/.editorconfig +20 -0
  886. package/node_modules/function-bind/.eslintrc +15 -0
  887. package/node_modules/function-bind/.jscs.json +176 -0
  888. package/node_modules/function-bind/.npmignore +22 -0
  889. package/node_modules/function-bind/.travis.yml +168 -0
  890. package/node_modules/function-bind/LICENSE +20 -0
  891. package/node_modules/function-bind/README.md +48 -0
  892. package/node_modules/function-bind/implementation.js +52 -0
  893. package/node_modules/function-bind/index.js +5 -0
  894. package/node_modules/function-bind/package.json +63 -0
  895. package/node_modules/function-bind/test/.eslintrc +9 -0
  896. package/node_modules/function-bind/test/index.js +252 -0
  897. package/node_modules/get-caller-file/LICENSE.md +6 -0
  898. package/node_modules/get-caller-file/README.md +41 -0
  899. package/node_modules/get-caller-file/index.d.ts +2 -0
  900. package/node_modules/get-caller-file/index.js +22 -0
  901. package/node_modules/get-caller-file/index.js.map +1 -0
  902. package/node_modules/get-caller-file/package.json +42 -0
  903. package/node_modules/glob/LICENSE +21 -0
  904. package/node_modules/glob/README.md +378 -0
  905. package/node_modules/glob/common.js +236 -0
  906. package/node_modules/glob/glob.js +787 -0
  907. package/node_modules/glob/package.json +52 -0
  908. package/node_modules/glob/sync.js +483 -0
  909. package/node_modules/graceful-fs/LICENSE +15 -0
  910. package/node_modules/graceful-fs/README.md +143 -0
  911. package/node_modules/graceful-fs/clone.js +23 -0
  912. package/node_modules/graceful-fs/graceful-fs.js +429 -0
  913. package/node_modules/graceful-fs/legacy-streams.js +118 -0
  914. package/node_modules/graceful-fs/package.json +50 -0
  915. package/node_modules/graceful-fs/polyfills.js +346 -0
  916. package/node_modules/has/LICENSE-MIT +22 -0
  917. package/node_modules/has/README.md +18 -0
  918. package/node_modules/has/package.json +48 -0
  919. package/node_modules/has/src/index.js +5 -0
  920. package/node_modules/has/test/index.js +10 -0
  921. package/node_modules/has-flag/index.d.ts +39 -0
  922. package/node_modules/has-flag/index.js +8 -0
  923. package/node_modules/has-flag/license +9 -0
  924. package/node_modules/has-flag/package.json +46 -0
  925. package/node_modules/has-flag/readme.md +89 -0
  926. package/node_modules/inflight/LICENSE +15 -0
  927. package/node_modules/inflight/README.md +37 -0
  928. package/node_modules/inflight/inflight.js +54 -0
  929. package/node_modules/inflight/package.json +29 -0
  930. package/node_modules/inherits/LICENSE +16 -0
  931. package/node_modules/inherits/README.md +42 -0
  932. package/node_modules/inherits/inherits.js +9 -0
  933. package/node_modules/inherits/inherits_browser.js +27 -0
  934. package/node_modules/inherits/package.json +29 -0
  935. package/node_modules/ini/LICENSE +15 -0
  936. package/node_modules/ini/README.md +102 -0
  937. package/node_modules/ini/ini.js +206 -0
  938. package/node_modules/ini/package.json +36 -0
  939. package/node_modules/interpret/CHANGELOG +115 -0
  940. package/node_modules/interpret/LICENSE +22 -0
  941. package/node_modules/interpret/README.md +187 -0
  942. package/node_modules/interpret/index.js +168 -0
  943. package/node_modules/interpret/mjs-stub.js +1 -0
  944. package/node_modules/interpret/package.json +75 -0
  945. package/node_modules/is-core-module/.eslintignore +1 -0
  946. package/node_modules/is-core-module/.eslintrc +18 -0
  947. package/node_modules/is-core-module/.nycrc +9 -0
  948. package/node_modules/is-core-module/CHANGELOG.md +117 -0
  949. package/node_modules/is-core-module/LICENSE +20 -0
  950. package/node_modules/is-core-module/README.md +40 -0
  951. package/node_modules/is-core-module/core.json +152 -0
  952. package/node_modules/is-core-module/index.js +69 -0
  953. package/node_modules/is-core-module/package.json +69 -0
  954. package/node_modules/is-core-module/test/index.js +130 -0
  955. package/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
  956. package/node_modules/is-fullwidth-code-point/index.js +50 -0
  957. package/node_modules/is-fullwidth-code-point/license +9 -0
  958. package/node_modules/is-fullwidth-code-point/package.json +42 -0
  959. package/node_modules/is-fullwidth-code-point/readme.md +39 -0
  960. package/node_modules/jsonfile/CHANGELOG.md +171 -0
  961. package/node_modules/jsonfile/LICENSE +15 -0
  962. package/node_modules/jsonfile/README.md +230 -0
  963. package/node_modules/jsonfile/index.js +88 -0
  964. package/node_modules/jsonfile/node_modules/universalify/LICENSE +20 -0
  965. package/node_modules/jsonfile/node_modules/universalify/README.md +76 -0
  966. package/node_modules/jsonfile/node_modules/universalify/index.js +24 -0
  967. package/node_modules/jsonfile/node_modules/universalify/package.json +34 -0
  968. package/node_modules/jsonfile/package.json +40 -0
  969. package/node_modules/jsonfile/utils.js +14 -0
  970. package/node_modules/lru-cache/LICENSE +15 -0
  971. package/node_modules/lru-cache/README.md +166 -0
  972. package/node_modules/lru-cache/index.js +334 -0
  973. package/node_modules/lru-cache/package.json +34 -0
  974. package/node_modules/minimatch/LICENSE +15 -0
  975. package/node_modules/minimatch/README.md +209 -0
  976. package/node_modules/minimatch/minimatch.js +923 -0
  977. package/node_modules/minimatch/package.json +30 -0
  978. package/node_modules/minimist/.travis.yml +8 -0
  979. package/node_modules/minimist/LICENSE +18 -0
  980. package/node_modules/minimist/example/parse.js +2 -0
  981. package/node_modules/minimist/index.js +245 -0
  982. package/node_modules/minimist/package.json +45 -0
  983. package/node_modules/minimist/readme.markdown +95 -0
  984. package/node_modules/minimist/test/all_bool.js +32 -0
  985. package/node_modules/minimist/test/bool.js +178 -0
  986. package/node_modules/minimist/test/dash.js +31 -0
  987. package/node_modules/minimist/test/default_bool.js +35 -0
  988. package/node_modules/minimist/test/dotted.js +22 -0
  989. package/node_modules/minimist/test/kv_short.js +16 -0
  990. package/node_modules/minimist/test/long.js +31 -0
  991. package/node_modules/minimist/test/num.js +36 -0
  992. package/node_modules/minimist/test/parse.js +197 -0
  993. package/node_modules/minimist/test/parse_modified.js +9 -0
  994. package/node_modules/minimist/test/proto.js +44 -0
  995. package/node_modules/minimist/test/short.js +67 -0
  996. package/node_modules/minimist/test/stop_early.js +15 -0
  997. package/node_modules/minimist/test/unknown.js +102 -0
  998. package/node_modules/minimist/test/whitespace.js +8 -0
  999. package/node_modules/once/LICENSE +15 -0
  1000. package/node_modules/once/README.md +79 -0
  1001. package/node_modules/once/once.js +42 -0
  1002. package/node_modules/once/package.json +33 -0
  1003. package/node_modules/path-is-absolute/index.js +20 -0
  1004. package/node_modules/path-is-absolute/license +21 -0
  1005. package/node_modules/path-is-absolute/package.json +43 -0
  1006. package/node_modules/path-is-absolute/readme.md +59 -0
  1007. package/node_modules/path-parse/LICENSE +21 -0
  1008. package/node_modules/path-parse/README.md +42 -0
  1009. package/node_modules/path-parse/index.js +75 -0
  1010. package/node_modules/path-parse/package.json +33 -0
  1011. package/node_modules/rechoir/.npmignore +1 -0
  1012. package/node_modules/rechoir/.travis.yml +24 -0
  1013. package/node_modules/rechoir/CHANGELOG +38 -0
  1014. package/node_modules/rechoir/LICENSE +22 -0
  1015. package/node_modules/rechoir/README.md +42 -0
  1016. package/node_modules/rechoir/index.js +59 -0
  1017. package/node_modules/rechoir/lib/extension.js +11 -0
  1018. package/node_modules/rechoir/lib/normalize.js +15 -0
  1019. package/node_modules/rechoir/lib/register.js +15 -0
  1020. package/node_modules/rechoir/package.json +88 -0
  1021. package/node_modules/require-directory/.jshintrc +67 -0
  1022. package/node_modules/require-directory/.npmignore +1 -0
  1023. package/node_modules/require-directory/.travis.yml +3 -0
  1024. package/node_modules/require-directory/LICENSE +22 -0
  1025. package/node_modules/require-directory/README.markdown +184 -0
  1026. package/node_modules/require-directory/index.js +86 -0
  1027. package/node_modules/require-directory/package.json +40 -0
  1028. package/node_modules/resolve/.editorconfig +37 -0
  1029. package/node_modules/resolve/.eslintignore +1 -0
  1030. package/node_modules/resolve/.eslintrc +39 -0
  1031. package/node_modules/resolve/LICENSE +21 -0
  1032. package/node_modules/resolve/SECURITY.md +3 -0
  1033. package/node_modules/resolve/appveyor.yml +74 -0
  1034. package/node_modules/resolve/example/async.js +5 -0
  1035. package/node_modules/resolve/example/sync.js +3 -0
  1036. package/node_modules/resolve/index.js +6 -0
  1037. package/node_modules/resolve/lib/async.js +320 -0
  1038. package/node_modules/resolve/lib/caller.js +8 -0
  1039. package/node_modules/resolve/lib/core.js +53 -0
  1040. package/node_modules/resolve/lib/core.json +83 -0
  1041. package/node_modules/resolve/lib/is-core.js +5 -0
  1042. package/node_modules/resolve/lib/node-modules-paths.js +42 -0
  1043. package/node_modules/resolve/lib/normalize-options.js +10 -0
  1044. package/node_modules/resolve/lib/sync.js +199 -0
  1045. package/node_modules/resolve/package.json +51 -0
  1046. package/node_modules/resolve/readme.markdown +279 -0
  1047. package/node_modules/resolve/test/.eslintrc +5 -0
  1048. package/node_modules/resolve/test/core.js +81 -0
  1049. package/node_modules/resolve/test/dotdot/abc/index.js +2 -0
  1050. package/node_modules/resolve/test/dotdot/index.js +1 -0
  1051. package/node_modules/resolve/test/dotdot.js +29 -0
  1052. package/node_modules/resolve/test/faulty_basedir.js +29 -0
  1053. package/node_modules/resolve/test/filter.js +34 -0
  1054. package/node_modules/resolve/test/filter_sync.js +33 -0
  1055. package/node_modules/resolve/test/mock.js +315 -0
  1056. package/node_modules/resolve/test/mock_sync.js +216 -0
  1057. package/node_modules/resolve/test/module_dir/xmodules/aaa/index.js +1 -0
  1058. package/node_modules/resolve/test/module_dir/ymodules/aaa/index.js +1 -0
  1059. package/node_modules/resolve/test/module_dir/zmodules/bbb/main.js +1 -0
  1060. package/node_modules/resolve/test/module_dir/zmodules/bbb/package.json +3 -0
  1061. package/node_modules/resolve/test/module_dir.js +56 -0
  1062. package/node_modules/resolve/test/node-modules-paths.js +143 -0
  1063. package/node_modules/resolve/test/node_path/x/aaa/index.js +1 -0
  1064. package/node_modules/resolve/test/node_path/x/ccc/index.js +1 -0
  1065. package/node_modules/resolve/test/node_path/y/bbb/index.js +1 -0
  1066. package/node_modules/resolve/test/node_path/y/ccc/index.js +1 -0
  1067. package/node_modules/resolve/test/node_path.js +70 -0
  1068. package/node_modules/resolve/test/nonstring.js +9 -0
  1069. package/node_modules/resolve/test/pathfilter/deep_ref/main.js +0 -0
  1070. package/node_modules/resolve/test/pathfilter.js +75 -0
  1071. package/node_modules/resolve/test/precedence/aaa/index.js +1 -0
  1072. package/node_modules/resolve/test/precedence/aaa/main.js +1 -0
  1073. package/node_modules/resolve/test/precedence/aaa.js +1 -0
  1074. package/node_modules/resolve/test/precedence/bbb/main.js +1 -0
  1075. package/node_modules/resolve/test/precedence/bbb.js +1 -0
  1076. package/node_modules/resolve/test/precedence.js +23 -0
  1077. package/node_modules/resolve/test/resolver/baz/doom.js +0 -0
  1078. package/node_modules/resolve/test/resolver/baz/package.json +4 -0
  1079. package/node_modules/resolve/test/resolver/baz/quux.js +1 -0
  1080. package/node_modules/resolve/test/resolver/browser_field/a.js +0 -0
  1081. package/node_modules/resolve/test/resolver/browser_field/b.js +0 -0
  1082. package/node_modules/resolve/test/resolver/browser_field/package.json +5 -0
  1083. package/node_modules/resolve/test/resolver/cup.coffee +1 -0
  1084. package/node_modules/resolve/test/resolver/dot_main/index.js +1 -0
  1085. package/node_modules/resolve/test/resolver/dot_main/package.json +3 -0
  1086. package/node_modules/resolve/test/resolver/dot_slash_main/index.js +1 -0
  1087. package/node_modules/resolve/test/resolver/dot_slash_main/package.json +3 -0
  1088. package/node_modules/resolve/test/resolver/foo.js +1 -0
  1089. package/node_modules/resolve/test/resolver/incorrect_main/index.js +2 -0
  1090. package/node_modules/resolve/test/resolver/incorrect_main/package.json +3 -0
  1091. package/node_modules/resolve/test/resolver/invalid_main/package.json +7 -0
  1092. package/node_modules/resolve/test/resolver/mug.coffee +0 -0
  1093. package/node_modules/resolve/test/resolver/mug.js +0 -0
  1094. package/node_modules/resolve/test/resolver/multirepo/lerna.json +6 -0
  1095. package/node_modules/resolve/test/resolver/multirepo/package.json +20 -0
  1096. package/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js +35 -0
  1097. package/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json +14 -0
  1098. package/node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js +0 -0
  1099. package/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json +14 -0
  1100. package/node_modules/resolve/test/resolver/nested_symlinks/mylib/async.js +26 -0
  1101. package/node_modules/resolve/test/resolver/nested_symlinks/mylib/package.json +15 -0
  1102. package/node_modules/resolve/test/resolver/nested_symlinks/mylib/sync.js +12 -0
  1103. package/node_modules/resolve/test/resolver/other_path/lib/other-lib.js +0 -0
  1104. package/node_modules/resolve/test/resolver/other_path/root.js +0 -0
  1105. package/node_modules/resolve/test/resolver/quux/foo/index.js +1 -0
  1106. package/node_modules/resolve/test/resolver/same_names/foo/index.js +1 -0
  1107. package/node_modules/resolve/test/resolver/same_names/foo.js +1 -0
  1108. package/node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js +0 -0
  1109. package/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep +0 -0
  1110. package/node_modules/resolve/test/resolver/symlinked/package/bar.js +1 -0
  1111. package/node_modules/resolve/test/resolver/symlinked/package/package.json +3 -0
  1112. package/node_modules/resolve/test/resolver/without_basedir/main.js +5 -0
  1113. package/node_modules/resolve/test/resolver.js +450 -0
  1114. package/node_modules/resolve/test/resolver_sync.js +358 -0
  1115. package/node_modules/resolve/test/shadowed_core/node_modules/util/index.js +0 -0
  1116. package/node_modules/resolve/test/shadowed_core.js +54 -0
  1117. package/node_modules/resolve/test/subdirs.js +13 -0
  1118. package/node_modules/resolve/test/symlinks.js +176 -0
  1119. package/node_modules/semver/CHANGELOG.md +111 -0
  1120. package/node_modules/semver/LICENSE +15 -0
  1121. package/node_modules/semver/README.md +566 -0
  1122. package/node_modules/semver/bin/semver.js +173 -0
  1123. package/node_modules/semver/classes/comparator.js +135 -0
  1124. package/node_modules/semver/classes/index.js +5 -0
  1125. package/node_modules/semver/classes/range.js +510 -0
  1126. package/node_modules/semver/classes/semver.js +287 -0
  1127. package/node_modules/semver/functions/clean.js +6 -0
  1128. package/node_modules/semver/functions/cmp.js +48 -0
  1129. package/node_modules/semver/functions/coerce.js +51 -0
  1130. package/node_modules/semver/functions/compare-build.js +7 -0
  1131. package/node_modules/semver/functions/compare-loose.js +3 -0
  1132. package/node_modules/semver/functions/compare.js +5 -0
  1133. package/node_modules/semver/functions/diff.js +23 -0
  1134. package/node_modules/semver/functions/eq.js +3 -0
  1135. package/node_modules/semver/functions/gt.js +3 -0
  1136. package/node_modules/semver/functions/gte.js +3 -0
  1137. package/node_modules/semver/functions/inc.js +15 -0
  1138. package/node_modules/semver/functions/lt.js +3 -0
  1139. package/node_modules/semver/functions/lte.js +3 -0
  1140. package/node_modules/semver/functions/major.js +3 -0
  1141. package/node_modules/semver/functions/minor.js +3 -0
  1142. package/node_modules/semver/functions/neq.js +3 -0
  1143. package/node_modules/semver/functions/parse.js +33 -0
  1144. package/node_modules/semver/functions/patch.js +3 -0
  1145. package/node_modules/semver/functions/prerelease.js +6 -0
  1146. package/node_modules/semver/functions/rcompare.js +3 -0
  1147. package/node_modules/semver/functions/rsort.js +3 -0
  1148. package/node_modules/semver/functions/satisfies.js +10 -0
  1149. package/node_modules/semver/functions/sort.js +3 -0
  1150. package/node_modules/semver/functions/valid.js +6 -0
  1151. package/node_modules/semver/index.js +48 -0
  1152. package/node_modules/semver/internal/constants.js +17 -0
  1153. package/node_modules/semver/internal/debug.js +9 -0
  1154. package/node_modules/semver/internal/identifiers.js +23 -0
  1155. package/node_modules/semver/internal/parse-options.js +11 -0
  1156. package/node_modules/semver/internal/re.js +182 -0
  1157. package/node_modules/semver/package.json +41 -0
  1158. package/node_modules/semver/preload.js +2 -0
  1159. package/node_modules/semver/range.bnf +16 -0
  1160. package/node_modules/semver/ranges/gtr.js +4 -0
  1161. package/node_modules/semver/ranges/intersects.js +7 -0
  1162. package/node_modules/semver/ranges/ltr.js +4 -0
  1163. package/node_modules/semver/ranges/max-satisfying.js +25 -0
  1164. package/node_modules/semver/ranges/min-satisfying.js +24 -0
  1165. package/node_modules/semver/ranges/min-version.js +60 -0
  1166. package/node_modules/semver/ranges/outside.js +80 -0
  1167. package/node_modules/semver/ranges/simplify.js +44 -0
  1168. package/node_modules/semver/ranges/subset.js +222 -0
  1169. package/node_modules/semver/ranges/to-comparators.js +8 -0
  1170. package/node_modules/semver/ranges/valid.js +11 -0
  1171. package/node_modules/shelljs/CHANGELOG.md +942 -0
  1172. package/node_modules/shelljs/LICENSE +26 -0
  1173. package/node_modules/shelljs/README.md +835 -0
  1174. package/node_modules/shelljs/bin/shjs +48 -0
  1175. package/node_modules/shelljs/commands.js +29 -0
  1176. package/node_modules/shelljs/global.js +12 -0
  1177. package/node_modules/shelljs/make.js +57 -0
  1178. package/node_modules/shelljs/package.json +79 -0
  1179. package/node_modules/shelljs/plugin.js +16 -0
  1180. package/node_modules/shelljs/shell.js +156 -0
  1181. package/node_modules/shelljs/src/cat.js +76 -0
  1182. package/node_modules/shelljs/src/cd.js +39 -0
  1183. package/node_modules/shelljs/src/chmod.js +216 -0
  1184. package/node_modules/shelljs/src/common.js +468 -0
  1185. package/node_modules/shelljs/src/cp.js +304 -0
  1186. package/node_modules/shelljs/src/dirs.js +212 -0
  1187. package/node_modules/shelljs/src/echo.js +63 -0
  1188. package/node_modules/shelljs/src/error.js +15 -0
  1189. package/node_modules/shelljs/src/exec-child.js +39 -0
  1190. package/node_modules/shelljs/src/exec.js +208 -0
  1191. package/node_modules/shelljs/src/find.js +61 -0
  1192. package/node_modules/shelljs/src/grep.js +73 -0
  1193. package/node_modules/shelljs/src/head.js +107 -0
  1194. package/node_modules/shelljs/src/ln.js +73 -0
  1195. package/node_modules/shelljs/src/ls.js +141 -0
  1196. package/node_modules/shelljs/src/mkdir.js +100 -0
  1197. package/node_modules/shelljs/src/mv.js +118 -0
  1198. package/node_modules/shelljs/src/popd.js +1 -0
  1199. package/node_modules/shelljs/src/pushd.js +1 -0
  1200. package/node_modules/shelljs/src/pwd.js +16 -0
  1201. package/node_modules/shelljs/src/rm.js +201 -0
  1202. package/node_modules/shelljs/src/sed.js +87 -0
  1203. package/node_modules/shelljs/src/set.js +56 -0
  1204. package/node_modules/shelljs/src/sort.js +97 -0
  1205. package/node_modules/shelljs/src/tail.js +80 -0
  1206. package/node_modules/shelljs/src/tempdir.js +75 -0
  1207. package/node_modules/shelljs/src/test.js +85 -0
  1208. package/node_modules/shelljs/src/to.js +37 -0
  1209. package/node_modules/shelljs/src/toEnd.js +36 -0
  1210. package/node_modules/shelljs/src/touch.js +111 -0
  1211. package/node_modules/shelljs/src/uniq.js +92 -0
  1212. package/node_modules/shelljs/src/which.js +118 -0
  1213. package/node_modules/shx/CHANGELOG.md +224 -0
  1214. package/node_modules/shx/LICENSE +21 -0
  1215. package/node_modules/shx/README.md +149 -0
  1216. package/node_modules/shx/lib/cli.js +40 -0
  1217. package/node_modules/shx/lib/config.js +58 -0
  1218. package/node_modules/shx/lib/help.js +37 -0
  1219. package/node_modules/shx/lib/plugin-true-false.js +25 -0
  1220. package/node_modules/shx/lib/printCmdRet.js +17 -0
  1221. package/node_modules/shx/lib/shx.js +157 -0
  1222. package/node_modules/shx/package.json +80 -0
  1223. package/node_modules/sprintf-js/.npmignore +1 -0
  1224. package/node_modules/sprintf-js/LICENSE +24 -0
  1225. package/node_modules/sprintf-js/README.md +88 -0
  1226. package/node_modules/sprintf-js/bower.json +14 -0
  1227. package/node_modules/sprintf-js/demo/angular.html +20 -0
  1228. package/node_modules/sprintf-js/dist/angular-sprintf.min.js +4 -0
  1229. package/node_modules/sprintf-js/dist/angular-sprintf.min.js.map +1 -0
  1230. package/node_modules/sprintf-js/dist/angular-sprintf.min.map +1 -0
  1231. package/node_modules/sprintf-js/dist/sprintf.min.js +4 -0
  1232. package/node_modules/sprintf-js/dist/sprintf.min.js.map +1 -0
  1233. package/node_modules/sprintf-js/dist/sprintf.min.map +1 -0
  1234. package/node_modules/sprintf-js/gruntfile.js +36 -0
  1235. package/node_modules/sprintf-js/package.json +22 -0
  1236. package/node_modules/sprintf-js/src/angular-sprintf.js +18 -0
  1237. package/node_modules/sprintf-js/src/sprintf.js +208 -0
  1238. package/node_modules/sprintf-js/test/test.js +82 -0
  1239. package/node_modules/string-width/index.d.ts +29 -0
  1240. package/node_modules/string-width/index.js +47 -0
  1241. package/node_modules/string-width/license +9 -0
  1242. package/node_modules/string-width/package.json +56 -0
  1243. package/node_modules/string-width/readme.md +50 -0
  1244. package/node_modules/strip-ansi/index.d.ts +17 -0
  1245. package/node_modules/strip-ansi/index.js +4 -0
  1246. package/node_modules/strip-ansi/license +9 -0
  1247. package/node_modules/strip-ansi/package.json +54 -0
  1248. package/node_modules/strip-ansi/readme.md +46 -0
  1249. package/node_modules/supports-color/browser.js +5 -0
  1250. package/node_modules/supports-color/index.js +135 -0
  1251. package/node_modules/supports-color/license +9 -0
  1252. package/node_modules/supports-color/package.json +53 -0
  1253. package/node_modules/supports-color/readme.md +76 -0
  1254. package/node_modules/wrap-ansi/index.js +216 -0
  1255. package/node_modules/wrap-ansi/license +9 -0
  1256. package/node_modules/wrap-ansi/package.json +62 -0
  1257. package/node_modules/wrap-ansi/readme.md +91 -0
  1258. package/node_modules/wrappy/LICENSE +15 -0
  1259. package/node_modules/wrappy/README.md +36 -0
  1260. package/node_modules/wrappy/package.json +29 -0
  1261. package/node_modules/wrappy/wrappy.js +33 -0
  1262. package/node_modules/xmlbuilder2/CHANGELOG.md +215 -0
  1263. package/node_modules/xmlbuilder2/LICENSE +21 -0
  1264. package/node_modules/xmlbuilder2/README.md +182 -0
  1265. package/node_modules/xmlbuilder2/lib/builder/BuilderFunctions.d.ts +236 -0
  1266. package/node_modules/xmlbuilder2/lib/builder/BuilderFunctions.js +108 -0
  1267. package/node_modules/xmlbuilder2/lib/builder/BuilderFunctions.js.map +1 -0
  1268. package/node_modules/xmlbuilder2/lib/builder/BuilderFunctionsCB.d.ts +17 -0
  1269. package/node_modules/xmlbuilder2/lib/builder/BuilderFunctionsCB.js +26 -0
  1270. package/node_modules/xmlbuilder2/lib/builder/BuilderFunctionsCB.js.map +1 -0
  1271. package/node_modules/xmlbuilder2/lib/builder/XMLBuilderCBImpl.d.ts +122 -0
  1272. package/node_modules/xmlbuilder2/lib/builder/XMLBuilderCBImpl.js +791 -0
  1273. package/node_modules/xmlbuilder2/lib/builder/XMLBuilderCBImpl.js.map +1 -0
  1274. package/node_modules/xmlbuilder2/lib/builder/XMLBuilderImpl.d.ts +143 -0
  1275. package/node_modules/xmlbuilder2/lib/builder/XMLBuilderImpl.js +841 -0
  1276. package/node_modules/xmlbuilder2/lib/builder/XMLBuilderImpl.js.map +1 -0
  1277. package/node_modules/xmlbuilder2/lib/builder/dom.d.ts +8 -0
  1278. package/node_modules/xmlbuilder2/lib/builder/dom.js +67 -0
  1279. package/node_modules/xmlbuilder2/lib/builder/dom.js.map +1 -0
  1280. package/node_modules/xmlbuilder2/lib/builder/index.d.ts +4 -0
  1281. package/node_modules/xmlbuilder2/lib/builder/index.js +15 -0
  1282. package/node_modules/xmlbuilder2/lib/builder/index.js.map +1 -0
  1283. package/node_modules/xmlbuilder2/lib/index.d.ts +1 -0
  1284. package/node_modules/xmlbuilder2/lib/index.js +10 -0
  1285. package/node_modules/xmlbuilder2/lib/index.js.map +1 -0
  1286. package/node_modules/xmlbuilder2/lib/interfaces.d.ts +1343 -0
  1287. package/node_modules/xmlbuilder2/lib/interfaces.js +75 -0
  1288. package/node_modules/xmlbuilder2/lib/interfaces.js.map +1 -0
  1289. package/node_modules/xmlbuilder2/lib/readers/BaseReader.d.ts +96 -0
  1290. package/node_modules/xmlbuilder2/lib/readers/BaseReader.js +138 -0
  1291. package/node_modules/xmlbuilder2/lib/readers/BaseReader.js.map +1 -0
  1292. package/node_modules/xmlbuilder2/lib/readers/JSONReader.d.ts +14 -0
  1293. package/node_modules/xmlbuilder2/lib/readers/JSONReader.js +38 -0
  1294. package/node_modules/xmlbuilder2/lib/readers/JSONReader.js.map +1 -0
  1295. package/node_modules/xmlbuilder2/lib/readers/ObjectReader.d.ts +15 -0
  1296. package/node_modules/xmlbuilder2/lib/readers/ObjectReader.js +161 -0
  1297. package/node_modules/xmlbuilder2/lib/readers/ObjectReader.js.map +1 -0
  1298. package/node_modules/xmlbuilder2/lib/readers/XMLReader.d.ts +14 -0
  1299. package/node_modules/xmlbuilder2/lib/readers/XMLReader.js +200 -0
  1300. package/node_modules/xmlbuilder2/lib/readers/XMLReader.js.map +1 -0
  1301. package/node_modules/xmlbuilder2/lib/readers/YAMLReader.d.ts +14 -0
  1302. package/node_modules/xmlbuilder2/lib/readers/YAMLReader.js +44 -0
  1303. package/node_modules/xmlbuilder2/lib/readers/YAMLReader.js.map +1 -0
  1304. package/node_modules/xmlbuilder2/lib/readers/index.d.ts +4 -0
  1305. package/node_modules/xmlbuilder2/lib/readers/index.js +11 -0
  1306. package/node_modules/xmlbuilder2/lib/readers/index.js.map +1 -0
  1307. package/node_modules/xmlbuilder2/lib/writers/BaseCBWriter.d.ts +110 -0
  1308. package/node_modules/xmlbuilder2/lib/writers/BaseCBWriter.js +23 -0
  1309. package/node_modules/xmlbuilder2/lib/writers/BaseCBWriter.js.map +1 -0
  1310. package/node_modules/xmlbuilder2/lib/writers/BaseWriter.d.ts +276 -0
  1311. package/node_modules/xmlbuilder2/lib/writers/BaseWriter.js +1637 -0
  1312. package/node_modules/xmlbuilder2/lib/writers/BaseWriter.js.map +1 -0
  1313. package/node_modules/xmlbuilder2/lib/writers/JSONCBWriter.d.ts +68 -0
  1314. package/node_modules/xmlbuilder2/lib/writers/JSONCBWriter.js +172 -0
  1315. package/node_modules/xmlbuilder2/lib/writers/JSONCBWriter.js.map +1 -0
  1316. package/node_modules/xmlbuilder2/lib/writers/JSONWriter.d.ts +67 -0
  1317. package/node_modules/xmlbuilder2/lib/writers/JSONWriter.js +224 -0
  1318. package/node_modules/xmlbuilder2/lib/writers/JSONWriter.js.map +1 -0
  1319. package/node_modules/xmlbuilder2/lib/writers/MapWriter.d.ts +27 -0
  1320. package/node_modules/xmlbuilder2/lib/writers/MapWriter.js +86 -0
  1321. package/node_modules/xmlbuilder2/lib/writers/MapWriter.js.map +1 -0
  1322. package/node_modules/xmlbuilder2/lib/writers/ObjectWriter.d.ts +56 -0
  1323. package/node_modules/xmlbuilder2/lib/writers/ObjectWriter.js +484 -0
  1324. package/node_modules/xmlbuilder2/lib/writers/ObjectWriter.js.map +1 -0
  1325. package/node_modules/xmlbuilder2/lib/writers/XMLCBWriter.d.ts +51 -0
  1326. package/node_modules/xmlbuilder2/lib/writers/XMLCBWriter.js +165 -0
  1327. package/node_modules/xmlbuilder2/lib/writers/XMLCBWriter.js.map +1 -0
  1328. package/node_modules/xmlbuilder2/lib/writers/XMLWriter.d.ts +60 -0
  1329. package/node_modules/xmlbuilder2/lib/writers/XMLWriter.js +237 -0
  1330. package/node_modules/xmlbuilder2/lib/writers/XMLWriter.js.map +1 -0
  1331. package/node_modules/xmlbuilder2/lib/writers/YAMLCBWriter.d.ts +61 -0
  1332. package/node_modules/xmlbuilder2/lib/writers/YAMLCBWriter.js +161 -0
  1333. package/node_modules/xmlbuilder2/lib/writers/YAMLCBWriter.js.map +1 -0
  1334. package/node_modules/xmlbuilder2/lib/writers/YAMLWriter.d.ts +55 -0
  1335. package/node_modules/xmlbuilder2/lib/writers/YAMLWriter.js +188 -0
  1336. package/node_modules/xmlbuilder2/lib/writers/YAMLWriter.js.map +1 -0
  1337. package/node_modules/xmlbuilder2/lib/writers/index.d.ts +5 -0
  1338. package/node_modules/xmlbuilder2/lib/writers/index.js +13 -0
  1339. package/node_modules/xmlbuilder2/lib/writers/index.js.map +1 -0
  1340. package/node_modules/xmlbuilder2/lib/xmlbuilder2.min.js +8 -0
  1341. package/node_modules/xmlbuilder2/node_modules/@types/node/LICENSE +21 -0
  1342. package/node_modules/xmlbuilder2/node_modules/@types/node/README.md +16 -0
  1343. package/node_modules/xmlbuilder2/node_modules/@types/node/assert/strict.d.ts +8 -0
  1344. package/node_modules/xmlbuilder2/node_modules/@types/node/assert.d.ts +912 -0
  1345. package/node_modules/xmlbuilder2/node_modules/@types/node/async_hooks.d.ts +501 -0
  1346. package/node_modules/xmlbuilder2/node_modules/@types/node/buffer.d.ts +2142 -0
  1347. package/node_modules/xmlbuilder2/node_modules/@types/node/child_process.d.ts +1366 -0
  1348. package/node_modules/xmlbuilder2/node_modules/@types/node/cluster.d.ts +414 -0
  1349. package/node_modules/xmlbuilder2/node_modules/@types/node/console.d.ts +412 -0
  1350. package/node_modules/xmlbuilder2/node_modules/@types/node/constants.d.ts +18 -0
  1351. package/node_modules/xmlbuilder2/node_modules/@types/node/crypto.d.ts +3307 -0
  1352. package/node_modules/xmlbuilder2/node_modules/@types/node/dgram.d.ts +545 -0
  1353. package/node_modules/xmlbuilder2/node_modules/@types/node/diagnostics_channel.d.ts +134 -0
  1354. package/node_modules/xmlbuilder2/node_modules/@types/node/dns/promises.d.ts +370 -0
  1355. package/node_modules/xmlbuilder2/node_modules/@types/node/dns.d.ts +659 -0
  1356. package/node_modules/xmlbuilder2/node_modules/@types/node/domain.d.ts +169 -0
  1357. package/node_modules/xmlbuilder2/node_modules/@types/node/events.d.ts +623 -0
  1358. package/node_modules/xmlbuilder2/node_modules/@types/node/fs/promises.d.ts +1091 -0
  1359. package/node_modules/xmlbuilder2/node_modules/@types/node/fs.d.ts +3835 -0
  1360. package/node_modules/xmlbuilder2/node_modules/@types/node/globals.d.ts +284 -0
  1361. package/node_modules/xmlbuilder2/node_modules/@types/node/globals.global.d.ts +1 -0
  1362. package/node_modules/xmlbuilder2/node_modules/@types/node/http.d.ts +1386 -0
  1363. package/node_modules/xmlbuilder2/node_modules/@types/node/http2.d.ts +2100 -0
  1364. package/node_modules/xmlbuilder2/node_modules/@types/node/https.d.ts +391 -0
  1365. package/node_modules/xmlbuilder2/node_modules/@types/node/index.d.ts +131 -0
  1366. package/node_modules/xmlbuilder2/node_modules/@types/node/inspector.d.ts +2744 -0
  1367. package/node_modules/xmlbuilder2/node_modules/@types/node/module.d.ts +114 -0
  1368. package/node_modules/xmlbuilder2/node_modules/@types/node/net.d.ts +783 -0
  1369. package/node_modules/xmlbuilder2/node_modules/@types/node/os.d.ts +455 -0
  1370. package/node_modules/xmlbuilder2/node_modules/@types/node/package.json +230 -0
  1371. package/node_modules/xmlbuilder2/node_modules/@types/node/path.d.ts +180 -0
  1372. package/node_modules/xmlbuilder2/node_modules/@types/node/perf_hooks.d.ts +557 -0
  1373. package/node_modules/xmlbuilder2/node_modules/@types/node/process.d.ts +1481 -0
  1374. package/node_modules/xmlbuilder2/node_modules/@types/node/punycode.d.ts +117 -0
  1375. package/node_modules/xmlbuilder2/node_modules/@types/node/querystring.d.ts +131 -0
  1376. package/node_modules/xmlbuilder2/node_modules/@types/node/readline.d.ts +650 -0
  1377. package/node_modules/xmlbuilder2/node_modules/@types/node/repl.d.ts +424 -0
  1378. package/node_modules/xmlbuilder2/node_modules/@types/node/stream/consumers.d.ts +24 -0
  1379. package/node_modules/xmlbuilder2/node_modules/@types/node/stream/promises.d.ts +42 -0
  1380. package/node_modules/xmlbuilder2/node_modules/@types/node/stream/web.d.ts +329 -0
  1381. package/node_modules/xmlbuilder2/node_modules/@types/node/stream.d.ts +1249 -0
  1382. package/node_modules/xmlbuilder2/node_modules/@types/node/string_decoder.d.ts +67 -0
  1383. package/node_modules/xmlbuilder2/node_modules/@types/node/timers/promises.d.ts +68 -0
  1384. package/node_modules/xmlbuilder2/node_modules/@types/node/timers.d.ts +94 -0
  1385. package/node_modules/xmlbuilder2/node_modules/@types/node/tls.d.ts +1020 -0
  1386. package/node_modules/xmlbuilder2/node_modules/@types/node/trace_events.d.ts +161 -0
  1387. package/node_modules/xmlbuilder2/node_modules/@types/node/tty.d.ts +204 -0
  1388. package/node_modules/xmlbuilder2/node_modules/@types/node/url.d.ts +861 -0
  1389. package/node_modules/xmlbuilder2/node_modules/@types/node/util.d.ts +1594 -0
  1390. package/node_modules/xmlbuilder2/node_modules/@types/node/v8.d.ts +378 -0
  1391. package/node_modules/xmlbuilder2/node_modules/@types/node/vm.d.ts +507 -0
  1392. package/node_modules/xmlbuilder2/node_modules/@types/node/wasi.d.ts +158 -0
  1393. package/node_modules/xmlbuilder2/node_modules/@types/node/worker_threads.d.ts +649 -0
  1394. package/node_modules/xmlbuilder2/node_modules/@types/node/zlib.d.ts +517 -0
  1395. package/node_modules/xmlbuilder2/node_modules/js-yaml/CHANGELOG.md +551 -0
  1396. package/node_modules/xmlbuilder2/node_modules/js-yaml/LICENSE +21 -0
  1397. package/node_modules/xmlbuilder2/node_modules/js-yaml/README.md +299 -0
  1398. package/node_modules/xmlbuilder2/node_modules/js-yaml/bin/js-yaml.js +132 -0
  1399. package/node_modules/xmlbuilder2/node_modules/js-yaml/dist/js-yaml.js +3989 -0
  1400. package/node_modules/xmlbuilder2/node_modules/js-yaml/dist/js-yaml.min.js +1 -0
  1401. package/node_modules/xmlbuilder2/node_modules/js-yaml/index.js +7 -0
  1402. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/common.js +59 -0
  1403. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/dumper.js +850 -0
  1404. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/exception.js +43 -0
  1405. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/loader.js +1644 -0
  1406. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/mark.js +76 -0
  1407. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/schema/core.js +18 -0
  1408. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/schema/default_full.js +25 -0
  1409. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js +28 -0
  1410. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js +17 -0
  1411. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/schema/json.js +25 -0
  1412. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/schema.js +108 -0
  1413. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/binary.js +138 -0
  1414. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/bool.js +35 -0
  1415. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/float.js +116 -0
  1416. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/int.js +173 -0
  1417. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/js/function.js +93 -0
  1418. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +60 -0
  1419. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +28 -0
  1420. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/map.js +8 -0
  1421. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/merge.js +12 -0
  1422. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/null.js +34 -0
  1423. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/omap.js +44 -0
  1424. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/pairs.js +53 -0
  1425. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/seq.js +8 -0
  1426. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/set.js +29 -0
  1427. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/str.js +8 -0
  1428. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +88 -0
  1429. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml/type.js +61 -0
  1430. package/node_modules/xmlbuilder2/node_modules/js-yaml/lib/js-yaml.js +39 -0
  1431. package/node_modules/xmlbuilder2/node_modules/js-yaml/package.json +49 -0
  1432. package/node_modules/xmlbuilder2/package.json +82 -0
  1433. package/node_modules/y18n/CHANGELOG.md +100 -0
  1434. package/node_modules/y18n/LICENSE +13 -0
  1435. package/node_modules/y18n/README.md +127 -0
  1436. package/node_modules/y18n/build/index.cjs +203 -0
  1437. package/node_modules/y18n/build/lib/cjs.js +6 -0
  1438. package/node_modules/y18n/build/lib/index.js +174 -0
  1439. package/node_modules/y18n/build/lib/platform-shims/node.js +19 -0
  1440. package/node_modules/y18n/index.mjs +8 -0
  1441. package/node_modules/y18n/package.json +70 -0
  1442. package/node_modules/yallist/LICENSE +15 -0
  1443. package/node_modules/yallist/README.md +204 -0
  1444. package/node_modules/yallist/iterator.js +8 -0
  1445. package/node_modules/yallist/package.json +29 -0
  1446. package/node_modules/yallist/yallist.js +426 -0
  1447. package/node_modules/yaml/LICENSE +13 -0
  1448. package/node_modules/yaml/README.md +127 -0
  1449. package/node_modules/yaml/browser/dist/PlainValue-b8036b75.js +1275 -0
  1450. package/node_modules/yaml/browser/dist/Schema-e94716c8.js +682 -0
  1451. package/node_modules/yaml/browser/dist/index.js +1002 -0
  1452. package/node_modules/yaml/browser/dist/legacy-exports.js +3 -0
  1453. package/node_modules/yaml/browser/dist/package.json +1 -0
  1454. package/node_modules/yaml/browser/dist/parse-cst.js +1904 -0
  1455. package/node_modules/yaml/browser/dist/resolveSeq-492ab440.js +2419 -0
  1456. package/node_modules/yaml/browser/dist/types.js +4 -0
  1457. package/node_modules/yaml/browser/dist/util.js +2 -0
  1458. package/node_modules/yaml/browser/dist/warnings-df54cb69.js +499 -0
  1459. package/node_modules/yaml/browser/index.js +1 -0
  1460. package/node_modules/yaml/browser/map.js +2 -0
  1461. package/node_modules/yaml/browser/pair.js +2 -0
  1462. package/node_modules/yaml/browser/parse-cst.js +1 -0
  1463. package/node_modules/yaml/browser/scalar.js +2 -0
  1464. package/node_modules/yaml/browser/schema.js +9 -0
  1465. package/node_modules/yaml/browser/seq.js +2 -0
  1466. package/node_modules/yaml/browser/types/binary.js +8 -0
  1467. package/node_modules/yaml/browser/types/omap.js +3 -0
  1468. package/node_modules/yaml/browser/types/pairs.js +3 -0
  1469. package/node_modules/yaml/browser/types/set.js +3 -0
  1470. package/node_modules/yaml/browser/types/timestamp.js +10 -0
  1471. package/node_modules/yaml/browser/types.js +1 -0
  1472. package/node_modules/yaml/browser/util.js +1 -0
  1473. package/node_modules/yaml/dist/Document-9b4560a1.js +757 -0
  1474. package/node_modules/yaml/dist/PlainValue-ec8e588e.js +876 -0
  1475. package/node_modules/yaml/dist/Schema-88e323a7.js +525 -0
  1476. package/node_modules/yaml/dist/index.js +79 -0
  1477. package/node_modules/yaml/dist/legacy-exports.js +16 -0
  1478. package/node_modules/yaml/dist/parse-cst.js +1753 -0
  1479. package/node_modules/yaml/dist/resolveSeq-d03cb037.js +2161 -0
  1480. package/node_modules/yaml/dist/test-events.js +162 -0
  1481. package/node_modules/yaml/dist/types.js +23 -0
  1482. package/node_modules/yaml/dist/util.js +19 -0
  1483. package/node_modules/yaml/dist/warnings-1000a372.js +416 -0
  1484. package/node_modules/yaml/index.d.ts +372 -0
  1485. package/node_modules/yaml/index.js +1 -0
  1486. package/node_modules/yaml/map.js +2 -0
  1487. package/node_modules/yaml/package.json +106 -0
  1488. package/node_modules/yaml/pair.js +2 -0
  1489. package/node_modules/yaml/parse-cst.d.ts +191 -0
  1490. package/node_modules/yaml/parse-cst.js +1 -0
  1491. package/node_modules/yaml/scalar.js +2 -0
  1492. package/node_modules/yaml/schema.js +9 -0
  1493. package/node_modules/yaml/seq.js +2 -0
  1494. package/node_modules/yaml/types/binary.js +8 -0
  1495. package/node_modules/yaml/types/omap.js +3 -0
  1496. package/node_modules/yaml/types/pairs.js +3 -0
  1497. package/node_modules/yaml/types/set.js +3 -0
  1498. package/node_modules/yaml/types/timestamp.js +10 -0
  1499. package/node_modules/yaml/types.d.ts +407 -0
  1500. package/node_modules/yaml/types.js +17 -0
  1501. package/node_modules/yaml/types.mjs +17 -0
  1502. package/node_modules/yaml/util.d.ts +86 -0
  1503. package/node_modules/yaml/util.js +16 -0
  1504. package/node_modules/yaml/util.mjs +18 -0
  1505. package/node_modules/yargs/CHANGELOG.md +88 -0
  1506. package/node_modules/yargs/LICENSE +21 -0
  1507. package/node_modules/yargs/README.md +202 -0
  1508. package/node_modules/yargs/browser.mjs +7 -0
  1509. package/node_modules/yargs/build/index.cjs +2920 -0
  1510. package/node_modules/yargs/build/lib/argsert.js +62 -0
  1511. package/node_modules/yargs/build/lib/command.js +382 -0
  1512. package/node_modules/yargs/build/lib/completion-templates.js +47 -0
  1513. package/node_modules/yargs/build/lib/completion.js +128 -0
  1514. package/node_modules/yargs/build/lib/middleware.js +53 -0
  1515. package/node_modules/yargs/build/lib/parse-command.js +32 -0
  1516. package/node_modules/yargs/build/lib/typings/common-types.js +9 -0
  1517. package/node_modules/yargs/build/lib/typings/yargs-parser-types.js +1 -0
  1518. package/node_modules/yargs/build/lib/usage.js +548 -0
  1519. package/node_modules/yargs/build/lib/utils/apply-extends.js +59 -0
  1520. package/node_modules/yargs/build/lib/utils/is-promise.js +5 -0
  1521. package/node_modules/yargs/build/lib/utils/levenshtein.js +26 -0
  1522. package/node_modules/yargs/build/lib/utils/obj-filter.js +10 -0
  1523. package/node_modules/yargs/build/lib/utils/process-argv.js +17 -0
  1524. package/node_modules/yargs/build/lib/utils/set-blocking.js +12 -0
  1525. package/node_modules/yargs/build/lib/utils/which-module.js +10 -0
  1526. package/node_modules/yargs/build/lib/validation.js +308 -0
  1527. package/node_modules/yargs/build/lib/yargs-factory.js +1143 -0
  1528. package/node_modules/yargs/build/lib/yerror.js +7 -0
  1529. package/node_modules/yargs/helpers/helpers.mjs +10 -0
  1530. package/node_modules/yargs/helpers/index.js +14 -0
  1531. package/node_modules/yargs/helpers/package.json +3 -0
  1532. package/node_modules/yargs/index.cjs +39 -0
  1533. package/node_modules/yargs/index.mjs +8 -0
  1534. package/node_modules/yargs/lib/platform-shims/browser.mjs +92 -0
  1535. package/node_modules/yargs/lib/platform-shims/esm.mjs +67 -0
  1536. package/node_modules/yargs/locales/be.json +46 -0
  1537. package/node_modules/yargs/locales/de.json +46 -0
  1538. package/node_modules/yargs/locales/en.json +51 -0
  1539. package/node_modules/yargs/locales/es.json +46 -0
  1540. package/node_modules/yargs/locales/fi.json +49 -0
  1541. package/node_modules/yargs/locales/fr.json +53 -0
  1542. package/node_modules/yargs/locales/hi.json +49 -0
  1543. package/node_modules/yargs/locales/hu.json +46 -0
  1544. package/node_modules/yargs/locales/id.json +50 -0
  1545. package/node_modules/yargs/locales/it.json +46 -0
  1546. package/node_modules/yargs/locales/ja.json +51 -0
  1547. package/node_modules/yargs/locales/ko.json +49 -0
  1548. package/node_modules/yargs/locales/nb.json +44 -0
  1549. package/node_modules/yargs/locales/nl.json +49 -0
  1550. package/node_modules/yargs/locales/nn.json +44 -0
  1551. package/node_modules/yargs/locales/pirate.json +13 -0
  1552. package/node_modules/yargs/locales/pl.json +49 -0
  1553. package/node_modules/yargs/locales/pt.json +45 -0
  1554. package/node_modules/yargs/locales/pt_BR.json +48 -0
  1555. package/node_modules/yargs/locales/ru.json +46 -0
  1556. package/node_modules/yargs/locales/th.json +46 -0
  1557. package/node_modules/yargs/locales/tr.json +48 -0
  1558. package/node_modules/yargs/locales/zh_CN.json +48 -0
  1559. package/node_modules/yargs/locales/zh_TW.json +47 -0
  1560. package/node_modules/yargs/package.json +122 -0
  1561. package/node_modules/yargs/yargs +9 -0
  1562. package/node_modules/yargs-parser/CHANGELOG.md +263 -0
  1563. package/node_modules/yargs-parser/LICENSE.txt +14 -0
  1564. package/node_modules/yargs-parser/README.md +518 -0
  1565. package/node_modules/yargs-parser/browser.js +29 -0
  1566. package/node_modules/yargs-parser/build/index.cjs +1042 -0
  1567. package/node_modules/yargs-parser/build/lib/index.js +59 -0
  1568. package/node_modules/yargs-parser/build/lib/string-utils.js +65 -0
  1569. package/node_modules/yargs-parser/build/lib/tokenize-arg-string.js +40 -0
  1570. package/node_modules/yargs-parser/build/lib/yargs-parser-types.js +12 -0
  1571. package/node_modules/yargs-parser/build/lib/yargs-parser.js +1037 -0
  1572. package/node_modules/yargs-parser/package.json +87 -0
  1573. package/package.json +181 -0
  1574. package/rfcs/github-project-settings.md +95 -0
  1575. package/version.json +3 -0
@@ -0,0 +1,308 @@
1
+ "use strict";
2
+ var _a, _b;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.DockerComposeProtocol = exports.DockerComposeService = exports.DockerCompose = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const component_1 = require("./component");
7
+ const util_1 = require("./util");
8
+ const yaml_1 = require("./yaml");
9
+ /**
10
+ * (experimental) Create a docker-compose YAML file.
11
+ *
12
+ * @experimental
13
+ */
14
+ class DockerCompose extends component_1.Component {
15
+ /**
16
+ * @experimental
17
+ */
18
+ constructor(project, props) {
19
+ var _c;
20
+ super(project);
21
+ const nameSuffix = (props === null || props === void 0 ? void 0 : props.nameSuffix) ? `${props.nameSuffix}.yml` : 'yml';
22
+ new yaml_1.YamlFile(project, `docker-compose.${nameSuffix}`, {
23
+ committed: true,
24
+ readonly: true,
25
+ obj: () => this._synthesizeDockerCompose(),
26
+ });
27
+ if ((props === null || props === void 0 ? void 0 : props.schemaVersion) && !parseFloat(props.schemaVersion)) {
28
+ throw Error('Version tag needs to be a number');
29
+ }
30
+ this.version = (props === null || props === void 0 ? void 0 : props.schemaVersion) ? props.schemaVersion : '3.3';
31
+ this.services = {};
32
+ // Add the services provided via the constructor argument.
33
+ const initialServices = (_c = props === null || props === void 0 ? void 0 : props.services) !== null && _c !== void 0 ? _c : {};
34
+ for (const [name, serviceDescription] of Object.entries(initialServices)) {
35
+ this.addService(name, serviceDescription);
36
+ }
37
+ }
38
+ /**
39
+ * (experimental) Depends on a service name.
40
+ *
41
+ * @experimental
42
+ */
43
+ static serviceName(serviceName) {
44
+ return {
45
+ serviceName,
46
+ };
47
+ }
48
+ /**
49
+ * (experimental) Create a port mapping.
50
+ *
51
+ * @param publishedPort Published port number.
52
+ * @param targetPort Container's port number.
53
+ * @param options Port mapping options.
54
+ * @experimental
55
+ */
56
+ static portMapping(publishedPort, targetPort, options) {
57
+ var _c;
58
+ const protocol = (_c = options === null || options === void 0 ? void 0 : options.protocol) !== null && _c !== void 0 ? _c : DockerComposeProtocol.TCP;
59
+ return {
60
+ target: targetPort,
61
+ published: publishedPort,
62
+ protocol: protocol,
63
+ mode: 'host',
64
+ };
65
+ }
66
+ /**
67
+ * (experimental) Create a bind volume that binds a host path to the target path in the container.
68
+ *
69
+ * @param sourcePath Host path name.
70
+ * @param targetPath Target path name.
71
+ * @experimental
72
+ */
73
+ static bindVolume(sourcePath, targetPath) {
74
+ return {
75
+ bind(_volumeInfo) {
76
+ return {
77
+ type: 'bind',
78
+ source: sourcePath,
79
+ target: targetPath,
80
+ };
81
+ },
82
+ };
83
+ }
84
+ /**
85
+ * (experimental) Create a named volume and mount it to the target path.
86
+ *
87
+ * If you use this
88
+ * named volume in several services, the volume will be shared. In this
89
+ * case, the volume configuration of the first-provided options are used.
90
+ *
91
+ * @param volumeName Name of the volume.
92
+ * @param targetPath Target path.
93
+ * @param options volume configuration (default: docker compose defaults).
94
+ * @experimental
95
+ */
96
+ static namedVolume(volumeName, targetPath, options = {}) {
97
+ return {
98
+ bind(volumeInfo) {
99
+ volumeInfo.addVolumeConfiguration(volumeName, options);
100
+ return {
101
+ type: 'volume',
102
+ source: volumeName,
103
+ target: targetPath,
104
+ };
105
+ },
106
+ };
107
+ }
108
+ /**
109
+ * (experimental) Add a service to the docker-compose file.
110
+ *
111
+ * @param serviceName name of the service.
112
+ * @param description a service description.
113
+ * @experimental
114
+ */
115
+ addService(serviceName, description) {
116
+ const service = new DockerComposeService(serviceName, description);
117
+ this.services[serviceName] = service;
118
+ return service;
119
+ }
120
+ /**
121
+ * @internal
122
+ */
123
+ _synthesizeDockerCompose() {
124
+ if (Object.keys(this.services).length === 0) {
125
+ throw new Error('DockerCompose requires at least one service');
126
+ }
127
+ return renderDockerComposeFile(this.services, this.version);
128
+ }
129
+ }
130
+ exports.DockerCompose = DockerCompose;
131
+ _a = JSII_RTTI_SYMBOL_1;
132
+ DockerCompose[_a] = { fqn: "projen.DockerCompose", version: "0.46.8" };
133
+ /**
134
+ * (experimental) A docker-compose service.
135
+ *
136
+ * @experimental
137
+ */
138
+ class DockerComposeService {
139
+ /**
140
+ * @experimental
141
+ */
142
+ constructor(serviceName, serviceDescription) {
143
+ var _c, _d, _e, _f;
144
+ if ((!serviceDescription.imageBuild && !serviceDescription.image)
145
+ || (serviceDescription.imageBuild && serviceDescription.image)) {
146
+ throw new Error(`A service ${serviceName} requires exactly one of a \`imageBuild\` or \`image\` key`);
147
+ }
148
+ this.serviceName = serviceName;
149
+ this.command = serviceDescription.command;
150
+ this.image = serviceDescription.image;
151
+ this.imageBuild = serviceDescription.imageBuild;
152
+ this.dependsOn = (_c = serviceDescription.dependsOn) !== null && _c !== void 0 ? _c : [];
153
+ this.volumes = (_d = serviceDescription.volumes) !== null && _d !== void 0 ? _d : [];
154
+ this.ports = (_e = serviceDescription.ports) !== null && _e !== void 0 ? _e : [];
155
+ this.environment = (_f = serviceDescription.environment) !== null && _f !== void 0 ? _f : {};
156
+ }
157
+ /**
158
+ * (experimental) Add a port mapping.
159
+ *
160
+ * @param publishedPort Published port number.
161
+ * @param targetPort Container's port number.
162
+ * @param options Port mapping options.
163
+ * @experimental
164
+ */
165
+ addPort(publishedPort, targetPort, options) {
166
+ var _c;
167
+ (_c = this.ports) === null || _c === void 0 ? void 0 : _c.push(DockerCompose.portMapping(publishedPort, targetPort, options));
168
+ }
169
+ /**
170
+ * (experimental) Add an environment variable.
171
+ *
172
+ * @param name environment variable name.
173
+ * @param value value of the environment variable.
174
+ * @experimental
175
+ */
176
+ addEnvironment(name, value) {
177
+ this.environment[name] = value;
178
+ }
179
+ /**
180
+ * (experimental) Make the service depend on another service.
181
+ *
182
+ * @experimental
183
+ */
184
+ addDependsOn(serviceName) {
185
+ this.dependsOn.push(serviceName);
186
+ }
187
+ /**
188
+ * (experimental) Add a volume to the service.
189
+ *
190
+ * @experimental
191
+ */
192
+ addVolume(volume) {
193
+ this.volumes.push(volume);
194
+ }
195
+ }
196
+ exports.DockerComposeService = DockerComposeService;
197
+ _b = JSII_RTTI_SYMBOL_1;
198
+ DockerComposeService[_b] = { fqn: "projen.DockerComposeService", version: "0.46.8" };
199
+ /**
200
+ * (experimental) Network protocol for port mapping.
201
+ *
202
+ * @experimental
203
+ */
204
+ var DockerComposeProtocol;
205
+ (function (DockerComposeProtocol) {
206
+ DockerComposeProtocol["TCP"] = "tcp";
207
+ DockerComposeProtocol["UDP"] = "udp";
208
+ })(DockerComposeProtocol = exports.DockerComposeProtocol || (exports.DockerComposeProtocol = {}));
209
+ function renderDockerComposeFile(serviceDescriptions, version) {
210
+ var _c, _d;
211
+ // Record volume configuration
212
+ const volumeConfig = {};
213
+ const volumeInfo = {
214
+ addVolumeConfiguration(volumeName, configuration) {
215
+ if (!volumeConfig[volumeName]) {
216
+ // First volume configuration takes precedence.
217
+ volumeConfig[volumeName] = configuration;
218
+ }
219
+ },
220
+ };
221
+ // Render service configuration
222
+ const services = {};
223
+ for (const [serviceName, serviceDescription] of Object.entries(serviceDescriptions !== null && serviceDescriptions !== void 0 ? serviceDescriptions : {})) {
224
+ // Resolve the names of each dependency and check that they exist.
225
+ // Note: They may not exist if the user made a mistake when referencing a
226
+ // service by name via `DockerCompose.serviceName()`.
227
+ // @see DockerCompose.serviceName
228
+ const dependsOn = Array();
229
+ for (const dependsOnServiceName of (_c = serviceDescription.dependsOn) !== null && _c !== void 0 ? _c : []) {
230
+ const resolvedServiceName = dependsOnServiceName.serviceName;
231
+ if (resolvedServiceName === serviceName) {
232
+ throw new Error(`Service ${serviceName} cannot depend on itself`);
233
+ }
234
+ if (!serviceDescriptions[resolvedServiceName]) {
235
+ throw new Error(`Unable to resolve service named ${resolvedServiceName} for ${serviceName}`);
236
+ }
237
+ dependsOn.push(resolvedServiceName);
238
+ }
239
+ // Give each volume binding a chance to bind any necessary volume
240
+ // configuration and provide volume mount information for the service.
241
+ const volumes = [];
242
+ for (const volumeBinding of (_d = serviceDescription.volumes) !== null && _d !== void 0 ? _d : []) {
243
+ volumes.push(volumeBinding.bind(volumeInfo));
244
+ }
245
+ // Create and store the service configuration, taking care not to create
246
+ // object members with undefined values.
247
+ services[serviceName] = {
248
+ ...getObjectWithKeyAndValueIfValueIsDefined('image', serviceDescription.image),
249
+ ...getObjectWithKeyAndValueIfValueIsDefined('build', serviceDescription.imageBuild),
250
+ ...getObjectWithKeyAndValueIfValueIsDefined('command', serviceDescription.command),
251
+ ...(Object.keys(serviceDescription.environment).length > 0 ? { environment: serviceDescription.environment } : {}),
252
+ ...(serviceDescription.ports.length > 0 ? { ports: serviceDescription.ports } : {}),
253
+ ...(dependsOn.length > 0 ? { dependsOn } : {}),
254
+ ...(volumes.length > 0 ? { volumes } : {}),
255
+ };
256
+ }
257
+ // Explicit with the type here because the decamelize step after this wipes
258
+ // out types.
259
+ const input = {
260
+ version,
261
+ services,
262
+ ...(Object.keys(volumeConfig).length > 0 ? { volumes: volumeConfig } : {}),
263
+ };
264
+ // Change most keys to snake case.
265
+ return util_1.decamelizeKeysRecursively(input, {
266
+ shouldDecamelize: shouldDecamelizeDockerComposeKey,
267
+ separator: '_',
268
+ });
269
+ }
270
+ /**
271
+ * Returns `{ [key]: value }` if `value` is defined, otherwise returns `{}` so
272
+ * that object spreading can be used to generate a peculiar interface.
273
+ * @param key
274
+ * @param value
275
+ */
276
+ function getObjectWithKeyAndValueIfValueIsDefined(key, value) {
277
+ return value !== undefined ? { [key]: value } : {};
278
+ }
279
+ /**
280
+ * Determines whether the key at the given path should be decamelized.
281
+ * Largely, all keys should be snake cased. But, there are some
282
+ * exceptions for user-provided names for services, volumes, and
283
+ * environment variables.
284
+ *
285
+ * @param path
286
+ */
287
+ function shouldDecamelizeDockerComposeKey(path) {
288
+ const poundPath = path.join('#');
289
+ // Does not decamelize user's names.
290
+ // services.namehere:
291
+ // volumes.namehere:
292
+ if (/^(services|volumes)#[^#]+$/.test(poundPath)) {
293
+ return false;
294
+ }
295
+ // Does not decamelize environment variables
296
+ // services.namehere.environment.*
297
+ if (/^services#[^#]+#environment#/.test(poundPath)) {
298
+ return false;
299
+ }
300
+ // Does not decamelize build arguments
301
+ // services.namehere.build.args.*
302
+ if (/^services#[^#]+#build#args#/.test(poundPath)) {
303
+ return false;
304
+ }
305
+ // Otherwise, let it all decamelize.
306
+ return true;
307
+ }
308
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9ja2VyLWNvbXBvc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZG9ja2VyLWNvbXBvc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyQ0FBd0M7QUFFeEMsaUNBQW1EO0FBQ25ELGlDQUFrQzs7Ozs7O0FBcUJsQyxNQUFhLGFBQWMsU0FBUSxxQkFBUzs7OztJQW1EMUMsWUFBWSxPQUFnQixFQUFFLEtBQTBCOztRQUN0RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixNQUFNLFVBQVUsR0FBRyxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBTSxDQUFDLFVBQVUsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDMUUsSUFBSSxlQUFRLENBQUMsT0FBTyxFQUFFLGtCQUFrQixVQUFVLEVBQUUsRUFBRTtZQUNwRCxTQUFTLEVBQUUsSUFBSTtZQUNmLFFBQVEsRUFBRSxJQUFJO1lBQ2QsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtTQUMzQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGFBQWEsS0FBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDNUQsTUFBTSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztTQUNqRDtRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsYUFBYSxFQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDbEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFFbkIsMERBQTBEO1FBQzFELE1BQU0sZUFBZSxTQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtB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ZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50JztcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tICcuL3Byb2plY3QnO1xuaW1wb3J0IHsgZGVjYW1lbGl6ZUtleXNSZWN1cnNpdmVseSB9IGZyb20gJy4vdXRpbCc7XG5pbXBvcnQgeyBZYW1sRmlsZSB9IGZyb20gJy4veWFtbCc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIERvY2tlckNvbXBvc2VQcm9wcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IG5hbWVTdWZmaXg/OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBzY2hlbWFWZXJzaW9uPzogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBzZXJ2aWNlcz86IFJlY29yZDxzdHJpbmcsIERvY2tlckNvbXBvc2VTZXJ2aWNlRGVzY3JpcHRpb24+O1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIERvY2tlckNvbXBvc2VQb3J0TWFwcGluZ09wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBwcm90b2NvbD86IERvY2tlckNvbXBvc2VQcm90b2NvbDtcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgRG9ja2VyQ29tcG9zZSBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHN0YXRpYyBzZXJ2aWNlTmFtZShzZXJ2aWNlTmFtZTogc3RyaW5nKTogSURvY2tlckNvbXBvc2VTZXJ2aWNlTmFtZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNlcnZpY2VOYW1lLFxuICAgIH07XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBzdGF0aWMgcG9ydE1hcHBpbmcocHVibGlzaGVkUG9ydDogbnVtYmVyLCB0YXJnZXRQb3J0OiBudW1iZXIsIG9wdGlvbnM/OiBEb2NrZXJDb21wb3NlUG9ydE1hcHBpbmdPcHRpb25zKTogRG9ja2VyQ29tcG9zZVNlcnZpY2VQb3J0IHtcbiAgICBjb25zdCBwcm90b2NvbCA9IG9wdGlvbnM/LnByb3RvY29sID8/IERvY2tlckNvbXBvc2VQcm90b2NvbC5UQ1A7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdGFyZ2V0OiB0YXJnZXRQb3J0LFxuICAgICAgcHVibGlzaGVkOiBwdWJsaXNoZWRQb3J0LFxuICAgICAgcHJvdG9jb2w6IHByb3RvY29sLFxuICAgICAgbW9kZTogJ2hvc3QnLFxuICAgIH07XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBzdGF0aWMgYmluZFZvbHVtZShzb3VyY2VQYXRoOiBzdHJpbmcsIHRhcmdldFBhdGg6IHN0cmluZyk6IElEb2NrZXJDb21wb3NlVm9sdW1lQmluZGluZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJpbmQoX3ZvbHVtZUluZm86IElEb2NrZXJDb21wb3NlVm9sdW1lQ29uZmlnKTogRG9ja2VyQ29tcG9zZVZvbHVtZU1vdW50IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0eXBlOiAnYmluZCcsXG4gICAgICAgICAgc291cmNlOiBzb3VyY2VQYXRoLFxuICAgICAgICAgIHRhcmdldDogdGFyZ2V0UGF0aCxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBzdGF0aWMgbmFtZWRWb2x1bWUodm9sdW1lTmFtZTogc3RyaW5nLCB0YXJnZXRQYXRoOiBzdHJpbmcsIG9wdGlvbnM6IERvY2tlckNvbXBvc2VWb2x1bWVDb25maWcgPSB7fSk6IElEb2NrZXJDb21wb3NlVm9sdW1lQmluZGluZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJpbmQodm9sdW1lSW5mbzogSURvY2tlckNvbXBvc2VWb2x1bWVDb25maWcpOiBEb2NrZXJDb21wb3NlVm9sdW1lTW91bnQge1xuICAgICAgICB2b2x1bWVJbmZvLmFkZFZvbHVtZUNvbmZpZ3VyYXRpb24odm9sdW1lTmFtZSwgb3B0aW9ucyk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0eXBlOiAndm9sdW1lJyxcbiAgICAgICAgICBzb3VyY2U6IHZvbHVtZU5hbWUsXG4gICAgICAgICAgdGFyZ2V0OiB0YXJnZXRQYXRoLFxuICAgICAgICB9O1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlczogUmVjb3JkPHN0cmluZywgRG9ja2VyQ29tcG9zZVNlcnZpY2U+O1xuICBwcml2YXRlIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBwcm9wcz86IERvY2tlckNvbXBvc2VQcm9wcykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgY29uc3QgbmFtZVN1ZmZpeCA9IHByb3BzPy5uYW1lU3VmZml4ID8gYCR7cHJvcHMhLm5hbWVTdWZmaXh9LnltbGAgOiAneW1sJztcbiAgICBuZXcgWWFtbEZpbGUocHJvamVjdCwgYGRvY2tlci1jb21wb3NlLiR7bmFtZVN1ZmZpeH1gLCB7XG4gICAgICBjb21taXR0ZWQ6IHRydWUsXG4gICAgICByZWFkb25seTogdHJ1ZSxcbiAgICAgIG9iajogKCkgPT4gdGhpcy5fc3ludGhlc2l6ZURvY2tlckNvbXBvc2UoKSxcbiAgICB9KTtcblxuICAgIGlmIChwcm9wcz8uc2NoZW1hVmVyc2lvbiAmJiAhcGFyc2VGbG9hdChwcm9wcy5zY2hlbWFWZXJzaW9uKSkge1xuICAgICAgdGhyb3cgRXJyb3IoJ1ZlcnNpb24gdGFnIG5lZWRzIHRvIGJlIGEgbnVtYmVyJyk7XG4gICAgfVxuICAgIHRoaXMudmVyc2lvbiA9IHByb3BzPy5zY2hlbWFWZXJzaW9uID8gcHJvcHMuc2NoZW1hVmVyc2lvbiA6ICczLjMnO1xuICAgIHRoaXMuc2VydmljZXMgPSB7fTtcblxuICAgIC8vIEFkZCB0aGUgc2VydmljZXMgcHJvdmlkZWQgdmlhIHRoZSBjb25zdHJ1Y3RvciBhcmd1bWVudC5cbiAgICBjb25zdCBpbml0aWFsU2VydmljZXMgPSBwcm9wcz8uc2VydmljZXMgPz8ge307XG4gICAgZm9yIChjb25zdCBbbmFtZSwgc2VydmljZURlc2NyaXB0aW9uXSBvZiBPYmplY3QuZW50cmllcyhpbml0aWFsU2VydmljZXMpKSB7XG4gICAgICB0aGlzLmFkZFNlcnZpY2UobmFtZSwgc2VydmljZURlc2NyaXB0aW9uKTtcbiAgICB9XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgYWRkU2VydmljZShzZXJ2aWNlTmFtZTogc3RyaW5nLCBkZXNjcmlwdGlvbjogRG9ja2VyQ29tcG9zZVNlcnZpY2VEZXNjcmlwdGlvbik6IERvY2tlckNvbXBvc2VTZXJ2aWNlIHtcbiAgICBjb25zdCBzZXJ2aWNlID0gbmV3IERvY2tlckNvbXBvc2VTZXJ2aWNlKHNlcnZpY2VOYW1lLCBkZXNjcmlwdGlvbik7XG4gICAgdGhpcy5zZXJ2aWNlc1tzZXJ2aWNlTmFtZV0gPSBzZXJ2aWNlO1xuICAgIHJldHVybiBzZXJ2aWNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgX3N5bnRoZXNpemVEb2NrZXJDb21wb3NlKCk6IG9iamVjdCB7XG4gICAgaWYgKE9iamVjdC5rZXlzKHRoaXMuc2VydmljZXMpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdEb2NrZXJDb21wb3NlIHJlcXVpcmVzIGF0IGxlYXN0IG9uZSBzZXJ2aWNlJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlbmRlckRvY2tlckNvbXBvc2VGaWxlKHRoaXMuc2VydmljZXMsIHRoaXMudmVyc2lvbik7XG4gIH1cbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgSURvY2tlckNvbXBvc2VTZXJ2aWNlTmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIERvY2tlckNvbXBvc2VTZXJ2aWNlRGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgaW1hZ2U/OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgaW1hZ2VCdWlsZD86IERvY2tlckNvbXBvc2VCdWlsZDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNvbW1hbmQ/OiBzdHJpbmdbXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBkZXBlbmRzT24/OiBJRG9ja2VyQ29tcG9zZVNlcnZpY2VOYW1lW107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB2b2x1bWVzPzogSURvY2tlckNvbXBvc2VWb2x1bWVCaW5kaW5nW107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHBvcnRzPzogRG9ja2VyQ29tcG9zZVNlcnZpY2VQb3J0W107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBEb2NrZXJDb21wb3NlU2VydmljZSBpbXBsZW1lbnRzIElEb2NrZXJDb21wb3NlU2VydmljZU5hbWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBpbWFnZT86IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgaW1hZ2VCdWlsZD86IERvY2tlckNvbXBvc2VCdWlsZDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgY29tbWFuZD86IHN0cmluZ1tdO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBkZXBlbmRzT246IElEb2NrZXJDb21wb3NlU2VydmljZU5hbWVbXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IHZvbHVtZXM6IElEb2NrZXJDb21wb3NlVm9sdW1lQmluZGluZ1tdO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IHBvcnRzOiBEb2NrZXJDb21wb3NlU2VydmljZVBvcnRbXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBlbnZpcm9ubWVudDogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICBjb25zdHJ1Y3RvcihzZXJ2aWNlTmFtZTogc3RyaW5nLCBzZXJ2aWNlRGVzY3JpcHRpb246IERvY2tlckNvbXBvc2VTZXJ2aWNlRGVzY3JpcHRpb24pIHtcbiAgICBpZiAoKCFzZXJ2aWNlRGVzY3JpcHRpb24uaW1hZ2VCdWlsZCAmJiAhc2VydmljZURlc2NyaXB0aW9uLmltYWdlKVxuICAgICAgfHwgKHNlcnZpY2VEZXNjcmlwdGlvbi5pbWFnZUJ1aWxkICYmIHNlcnZpY2VEZXNjcmlwdGlvbi5pbWFnZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQSBzZXJ2aWNlICR7c2VydmljZU5hbWV9IHJlcXVpcmVzIGV4YWN0bHkgb25lIG9mIGEgXFxgaW1hZ2VCdWlsZFxcYCBvciBcXGBpbWFnZVxcYCBrZXlgKTtcbiAgICB9XG5cbiAgICB0aGlzLnNlcnZpY2VOYW1lID0gc2VydmljZU5hbWU7XG4gICAgdGhpcy5jb21tYW5kID0gc2VydmljZURlc2NyaXB0aW9uLmNvbW1hbmQ7XG4gICAgdGhpcy5pbWFnZSA9IHNlcnZpY2VEZXNjcmlwdGlvbi5pbWFnZTtcbiAgICB0aGlzLmltYWdlQnVpbGQgPSBzZXJ2aWNlRGVzY3JpcHRpb24uaW1hZ2VCdWlsZDtcbiAgICB0aGlzLmRlcGVuZHNPbiA9IHNlcnZpY2VEZXNjcmlwdGlvbi5kZXBlbmRzT24gPz8gW107XG4gICAgdGhpcy52b2x1bWVzID0gc2VydmljZURlc2NyaXB0aW9uLnZvbHVtZXMgPz8gW107XG4gICAgdGhpcy5wb3J0cyA9IHNlcnZpY2VEZXNjcmlwdGlvbi5wb3J0cyA/PyBbXTtcbiAgICB0aGlzLmVudmlyb25tZW50ID0gc2VydmljZURlc2NyaXB0aW9uLmVudmlyb25tZW50ID8/IHt9O1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgYWRkUG9ydChwdWJsaXNoZWRQb3J0OiBudW1iZXIsIHRhcmdldFBvcnQ6IG51bWJlciwgb3B0aW9ucz86IERvY2tlckNvbXBvc2VQb3J0TWFwcGluZ09wdGlvbnMpIHtcbiAgICB0aGlzLnBvcnRzPy5wdXNoKERvY2tlckNvbXBvc2UucG9ydE1hcHBpbmcocHVibGlzaGVkUG9ydCwgdGFyZ2V0UG9ydCwgb3B0aW9ucykpO1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGFkZEVudmlyb25tZW50KG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuZW52aXJvbm1lbnRbbmFtZV0gPSB2YWx1ZTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGFkZERlcGVuZHNPbihzZXJ2aWNlTmFtZTogSURvY2tlckNvbXBvc2VTZXJ2aWNlTmFtZSkge1xuICAgIHRoaXMuZGVwZW5kc09uLnB1c2goc2VydmljZU5hbWUpO1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGFkZFZvbHVtZSh2b2x1bWU6IElEb2NrZXJDb21wb3NlVm9sdW1lQmluZGluZykge1xuICAgIHRoaXMudm9sdW1lcy5wdXNoKHZvbHVtZSk7XG4gIH1cbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIERvY2tlckNvbXBvc2VTZXJ2aWNlUG9ydCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBwdWJsaXNoZWQ6IG51bWJlcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdGFyZ2V0OiBudW1iZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBwcm90b2NvbDogRG9ja2VyQ29tcG9zZVByb3RvY29sO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBtb2RlOiBzdHJpbmc7XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgZW51bSBEb2NrZXJDb21wb3NlUHJvdG9jb2wge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgVENQID0gJ3RjcCcsXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIFVEUCA9ICd1ZHAnLFxufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIERvY2tlckNvbXBvc2VCdWlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY29udGV4dDogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBkb2NrZXJmaWxlPzogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBhcmdzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBEb2NrZXJDb21wb3NlVm9sdW1lQ29uZmlnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGRyaXZlcj86IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZHJpdmVyT3B0cz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGV4dGVybmFsPzogYm9vbGVhbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIElEb2NrZXJDb21wb3NlVm9sdW1lQmluZGluZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgYmluZCh2b2x1bWVDb25maWc6IElEb2NrZXJDb21wb3NlVm9sdW1lQ29uZmlnKTogRG9ja2VyQ29tcG9zZVZvbHVtZU1vdW50O1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBJRG9ja2VyQ29tcG9zZVZvbHVtZUNvbmZpZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIGFkZFZvbHVtZUNvbmZpZ3VyYXRpb24odm9sdW1lTmFtZTogc3RyaW5nLCBjb25maWd1cmF0aW9uOiBEb2NrZXJDb21wb3NlVm9sdW1lQ29uZmlnKTogdm9pZDtcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgRG9ja2VyQ29tcG9zZVZvbHVtZU1vdW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHNvdXJjZTogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdGFyZ2V0OiBzdHJpbmc7XG59XG5cbi8qKlxuICogU3RydWN0dXJlIG9mIGEgZG9ja2VyIGNvbXBvc2UgZmlsZSBiZWZvcmUgd2UgZGVjYW1lbGl6ZS5cbiAqIEBpbnRlcm5hbFxuICovXG5pbnRlcmZhY2UgRG9ja2VyQ29tcG9zZUZpbGVTY2hlbWEge1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIHNlcnZpY2VzOiBSZWNvcmQ8c3RyaW5nLCBEb2NrZXJDb21wb3NlRmlsZVNlcnZpY2VTY2hlbWE+O1xuICB2b2x1bWVzPzogUmVjb3JkPHN0cmluZywgRG9ja2VyQ29tcG9zZVZvbHVtZUNvbmZpZz47XG59XG5cbi8qKlxuICogU3RydWN0dXJlIG9mIGEgZG9ja2VyIGNvbXBvc2UgZmlsZSdzIHNlcnZpY2UgYmVmb3JlIHdlIGRlY2FtZWxpemUuXG4gKiBAaW50ZXJuYWxcbiAqL1xuaW50ZXJmYWNlIERvY2tlckNvbXBvc2VGaWxlU2VydmljZVNjaGVtYSB7XG4gIHJlYWRvbmx5IGRlcGVuZHNPbj86IHN0cmluZ1tdO1xuICByZWFkb25seSBidWlsZD86IERvY2tlckNvbXBvc2VCdWlsZDtcbiAgcmVhZG9ubHkgaW1hZ2U/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNvbW1hbmQ/OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgdm9sdW1lcz86IERvY2tlckNvbXBvc2VWb2x1bWVNb3VudFtdO1xuICByZWFkb25seSBwb3J0cz86IERvY2tlckNvbXBvc2VTZXJ2aWNlUG9ydFtdO1xuICByZWFkb25seSBlbnZpcm9ubWVudD86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG5cbmZ1bmN0aW9uIHJlbmRlckRvY2tlckNvbXBvc2VGaWxlKHNlcnZpY2VEZXNjcmlwdGlvbnM6IFJlY29yZDxzdHJpbmcsIERvY2tlckNvbXBvc2VTZXJ2aWNlPiwgdmVyc2lvbjogc3RyaW5nKTogb2JqZWN0IHtcbiAgLy8gUmVjb3JkIHZvbHVtZSBjb25maWd1cmF0aW9uXG4gIGNvbnN0IHZvbHVtZUNvbmZpZzogUmVjb3JkPHN0cmluZywgRG9ja2VyQ29tcG9zZVZvbHVtZUNvbmZpZz4gPSB7fTtcbiAgY29uc3Qgdm9sdW1lSW5mbzogSURvY2tlckNvbXBvc2VWb2x1bWVDb25maWcgPSB7XG4gICAgYWRkVm9sdW1lQ29uZmlndXJhdGlvbih2b2x1bWVOYW1lOiBzdHJpbmcsIGNvbmZpZ3VyYXRpb246IERvY2tlckNvbXBvc2VWb2x1bWVDb25maWcpIHtcbiAgICAgIGlmICghdm9sdW1lQ29uZmlnW3ZvbHVtZU5hbWVdKSB7XG4gICAgICAgIC8vIEZpcnN0IHZvbHVtZSBjb25maWd1cmF0aW9uIHRha2VzIHByZWNlZGVuY2UuXG4gICAgICAgIHZvbHVtZUNvbmZpZ1t2b2x1bWVOYW1lXSA9IGNvbmZpZ3VyYXRpb247XG4gICAgICB9XG4gICAgfSxcbiAgfTtcblxuICAvLyBSZW5kZXIgc2VydmljZSBjb25maWd1cmF0aW9uXG4gIGNvbnN0IHNlcnZpY2VzOiBSZWNvcmQ8c3RyaW5nLCBEb2NrZXJDb21wb3NlRmlsZVNlcnZpY2VTY2hlbWE+ID0ge307XG4gIGZvciAoY29uc3QgW3NlcnZpY2VOYW1lLCBzZXJ2aWNlRGVzY3JpcHRpb25dIG9mIE9iamVjdC5lbnRyaWVzKHNlcnZpY2VEZXNjcmlwdGlvbnMgPz8ge30pKSB7XG4gICAgLy8gUmVzb2x2ZSB0aGUgbmFtZXMgb2YgZWFjaCBkZXBlbmRlbmN5IGFuZCBjaGVjayB0aGF0IHRoZXkgZXhpc3QuXG4gICAgLy8gTm90ZTogVGhleSBtYXkgbm90IGV4aXN0IGlmIHRoZSB1c2VyIG1hZGUgYSBtaXN0YWtlIHdoZW4gcmVmZXJlbmNpbmcgYVxuICAgIC8vIHNlcnZpY2UgYnkgbmFtZSB2aWEgYERvY2tlckNvbXBvc2Uuc2VydmljZU5hbWUoKWAuXG4gICAgLy8gQHNlZSBEb2NrZXJDb21wb3NlLnNlcnZpY2VOYW1lXG4gICAgY29uc3QgZGVwZW5kc09uID0gQXJyYXk8c3RyaW5nPigpO1xuICAgIGZvciAoY29uc3QgZGVwZW5kc09uU2VydmljZU5hbWUgb2Ygc2VydmljZURlc2NyaXB0aW9uLmRlcGVuZHNPbiA/PyBbXSkge1xuICAgICAgY29uc3QgcmVzb2x2ZWRTZXJ2aWNlTmFtZSA9IGRlcGVuZHNPblNlcnZpY2VOYW1lLnNlcnZpY2VOYW1lO1xuICAgICAgaWYgKHJlc29sdmVkU2VydmljZU5hbWUgPT09IHNlcnZpY2VOYW1lKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgU2VydmljZSAke3NlcnZpY2VOYW1lfSBjYW5ub3QgZGVwZW5kIG9uIGl0c2VsZmApO1xuICAgICAgfVxuICAgICAgaWYgKCFzZXJ2aWNlRGVzY3JpcHRpb25zW3Jlc29sdmVkU2VydmljZU5hbWVdKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIHJlc29sdmUgc2VydmljZSBuYW1lZCAke3Jlc29sdmVkU2VydmljZU5hbWV9IGZvciAke3NlcnZpY2VOYW1lfWApO1xuICAgICAgfVxuXG4gICAgICBkZXBlbmRzT24ucHVzaChyZXNvbHZlZFNlcnZpY2VOYW1lKTtcbiAgICB9XG5cbiAgICAvLyBHaXZlIGVhY2ggdm9sdW1lIGJpbmRpbmcgYSBjaGFuY2UgdG8gYmluZCBhbnkgbmVjZXNzYXJ5IHZvbHVtZVxuICAgIC8vIGNvbmZpZ3VyYXRpb24gYW5kIHByb3ZpZGUgdm9sdW1lIG1vdW50IGluZm9ybWF0aW9uIGZvciB0aGUgc2VydmljZS5cbiAgICBjb25zdCB2b2x1bWVzOiBEb2NrZXJDb21wb3NlVm9sdW1lTW91bnRbXSA9IFtdO1xuICAgIGZvciAoY29uc3Qgdm9sdW1lQmluZGluZyBvZiBzZXJ2aWNlRGVzY3JpcHRpb24udm9sdW1lcyA/PyBbXSkge1xuICAgICAgdm9sdW1lcy5wdXNoKHZvbHVtZUJpbmRpbmcuYmluZCh2b2x1bWVJbmZvKSk7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIGFuZCBzdG9yZSB0aGUgc2VydmljZSBjb25maWd1cmF0aW9uLCB0YWtpbmcgY2FyZSBub3QgdG8gY3JlYXRlXG4gICAgLy8gb2JqZWN0IG1lbWJlcnMgd2l0aCB1bmRlZmluZWQgdmFsdWVzLlxuICAgIHNlcnZpY2VzW3NlcnZpY2VOYW1lXSA9IHtcbiAgICAgIC4uLmdldE9iamVjdFdpdGhLZXlBbmRWYWx1ZUlmVmFsdWVJc0RlZmluZWQoJ2ltYWdlJywgc2VydmljZURlc2NyaXB0aW9uLmltYWdlKSxcbiAgICAgIC4uLmdldE9iamVjdFdpdGhLZXlBbmRWYWx1ZUlmVmFsdWVJc0RlZmluZWQoJ2J1aWxkJywgc2VydmljZURlc2NyaXB0aW9uLmltYWdlQnVpbGQpLFxuICAgICAgLi4uZ2V0T2JqZWN0V2l0aEtleUFuZFZhbHVlSWZWYWx1ZUlzRGVmaW5lZCgnY29tbWFuZCcsIHNlcnZpY2VEZXNjcmlwdGlvbi5jb21tYW5kKSxcbiAgICAgIC4uLihPYmplY3Qua2V5cyhzZXJ2aWNlRGVzY3JpcHRpb24uZW52aXJvbm1lbnQpLmxlbmd0aCA+IDAgPyB7IGVudmlyb25tZW50OiBzZXJ2aWNlRGVzY3JpcHRpb24uZW52aXJvbm1lbnQgfSA6IHt9KSxcbiAgICAgIC4uLihzZXJ2aWNlRGVzY3JpcHRpb24ucG9ydHMubGVuZ3RoID4gMCA/IHsgcG9ydHM6IHNlcnZpY2VEZXNjcmlwdGlvbi5wb3J0cyB9IDoge30pLFxuICAgICAgLi4uKGRlcGVuZHNPbi5sZW5ndGggPiAwID8geyBkZXBlbmRzT24gfSA6IHt9KSxcbiAgICAgIC4uLih2b2x1bWVzLmxlbmd0aCA+IDAgPyB7IHZvbHVtZXMgfSA6IHt9KSxcbiAgICB9O1xuICB9XG5cbiAgLy8gRXhwbGljaXQgd2l0aCB0aGUgdHlwZSBoZXJlIGJlY2F1c2UgdGhlIGRlY2FtZWxpemUgc3RlcCBhZnRlciB0aGlzIHdpcGVzXG4gIC8vIG91dCB0eXBlcy5cbiAgY29uc3QgaW5wdXQ6IERvY2tlckNvbXBvc2VGaWxlU2NoZW1hID0ge1xuICAgIHZlcnNpb24sXG4gICAgc2VydmljZXMsXG4gICAgLi4uKE9iamVjdC5rZXlzKHZvbHVtZUNvbmZpZykubGVuZ3RoID4gMCA/IHsgdm9sdW1lczogdm9sdW1lQ29uZmlnIH0gOiB7fSksXG4gIH07XG5cbiAgLy8gQ2hhbmdlIG1vc3Qga2V5cyB0byBzbmFrZSBjYXNlLlxuICByZXR1cm4gZGVjYW1lbGl6ZUtleXNSZWN1cnNpdmVseShpbnB1dCwge1xuICAgIHNob3VsZERlY2FtZWxpemU6IHNob3VsZERlY2FtZWxpemVEb2NrZXJDb21wb3NlS2V5LFxuICAgIHNlcGFyYXRvcjogJ18nLFxuICB9KTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGB7IFtrZXldOiB2YWx1ZSB9YCBpZiBgdmFsdWVgIGlzIGRlZmluZWQsIG90aGVyd2lzZSByZXR1cm5zIGB7fWAgc29cbiAqIHRoYXQgb2JqZWN0IHNwcmVhZGluZyBjYW4gYmUgdXNlZCB0byBnZW5lcmF0ZSBhIHBlY3VsaWFyIGludGVyZmFjZS5cbiAqIEBwYXJhbSBrZXlcbiAqIEBwYXJhbSB2YWx1ZVxuICovXG5mdW5jdGlvbiBnZXRPYmplY3RXaXRoS2V5QW5kVmFsdWVJZlZhbHVlSXNEZWZpbmVkPEsgZXh0ZW5kcyBzdHJpbmcsIFQ+KGtleTogSywgdmFsdWU6IFQpOiB7IEs6IFQgfSB8IHt9IHtcbiAgcmV0dXJuIHZhbHVlICE9PSB1bmRlZmluZWQgPyB7IFtrZXldOiB2YWx1ZSB9IDoge307XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBrZXkgYXQgdGhlIGdpdmVuIHBhdGggc2hvdWxkIGJlIGRlY2FtZWxpemVkLlxuICogTGFyZ2VseSwgYWxsIGtleXMgc2hvdWxkIGJlIHNuYWtlIGNhc2VkLiBCdXQsIHRoZXJlIGFyZSBzb21lXG4gKiBleGNlcHRpb25zIGZvciB1c2VyLXByb3ZpZGVkIG5hbWVzIGZvciBzZXJ2aWNlcywgdm9sdW1lcywgYW5kXG4gKiBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gKlxuICogQHBhcmFtIHBhdGhcbiAqL1xuZnVuY3Rpb24gc2hvdWxkRGVjYW1lbGl6ZURvY2tlckNvbXBvc2VLZXkocGF0aDogc3RyaW5nW10pIHtcbiAgY29uc3QgcG91bmRQYXRoID0gcGF0aC5qb2luKCcjJyk7XG5cbiAgLy8gRG9lcyBub3QgZGVjYW1lbGl6ZSB1c2VyJ3MgbmFtZXMuXG4gIC8vIHNlcnZpY2VzLm5hbWVoZXJlOlxuICAvLyB2b2x1bWVzLm5hbWVoZXJlOlxuICBpZiAoL14oc2VydmljZXN8dm9sdW1lcykjW14jXSskLy50ZXN0KHBvdW5kUGF0aCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBEb2VzIG5vdCBkZWNhbWVsaXplIGVudmlyb25tZW50IHZhcmlhYmxlc1xuICAvLyBzZXJ2aWNlcy5uYW1laGVyZS5lbnZpcm9ubWVudC4qXG4gIGlmICgvXnNlcnZpY2VzI1teI10rI2Vudmlyb25tZW50Iy8udGVzdChwb3VuZFBhdGgpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gRG9lcyBub3QgZGVjYW1lbGl6ZSBidWlsZCBhcmd1bWVudHNcbiAgLy8gc2VydmljZXMubmFtZWhlcmUuYnVpbGQuYXJncy4qXG4gIGlmICgvXnNlcnZpY2VzI1teI10rI2J1aWxkI2FyZ3MjLy50ZXN0KHBvdW5kUGF0aCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIGxldCBpdCBhbGwgZGVjYW1lbGl6ZS5cbiAgcmV0dXJuIHRydWU7XG59XG4iXX0=
package/lib/file.d.ts ADDED
@@ -0,0 +1,141 @@
1
+ import { Component } from './component';
2
+ import { Project } from './project';
3
+ /**
4
+ * @experimental
5
+ */
6
+ export interface FileBaseOptions {
7
+ /**
8
+ * (experimental) Indicates whether this file should be committed to git or ignored.
9
+ *
10
+ * By
11
+ * default, all generated files are committed and anti-tamper is used to
12
+ * protect against manual modifications.
13
+ *
14
+ * @default true
15
+ * @experimental
16
+ */
17
+ readonly committed?: boolean;
18
+ /**
19
+ * (experimental) Update the project's .gitignore file.
20
+ *
21
+ * @default true
22
+ * @experimental
23
+ */
24
+ readonly editGitignore?: boolean;
25
+ /**
26
+ * (experimental) Whether the generated file should be readonly.
27
+ *
28
+ * @default true
29
+ * @experimental
30
+ */
31
+ readonly readonly?: boolean;
32
+ /**
33
+ * (experimental) Whether the generated file should be marked as executable.
34
+ *
35
+ * @default false
36
+ * @experimental
37
+ */
38
+ readonly executable?: boolean;
39
+ }
40
+ /**
41
+ * @experimental
42
+ */
43
+ export declare abstract class FileBase extends Component {
44
+ /**
45
+ * (experimental) The marker to embed in files in order to identify them as projen files.
46
+ *
47
+ * This marker is used to prune these files before synthesis.
48
+ *
49
+ * @experimental
50
+ */
51
+ static readonly PROJEN_MARKER: string;
52
+ /**
53
+ * (experimental) The file path, relative to the project root.
54
+ *
55
+ * @experimental
56
+ */
57
+ readonly path: string;
58
+ /**
59
+ * (experimental) Indicates if the file should be read-only or read-write.
60
+ *
61
+ * @experimental
62
+ */
63
+ readonly: boolean;
64
+ /**
65
+ * (experimental) Indicates if the file should be marked as executable.
66
+ *
67
+ * @experimental
68
+ */
69
+ executable: boolean;
70
+ /**
71
+ * (experimental) The absolute path of this file.
72
+ *
73
+ * @experimental
74
+ */
75
+ readonly absolutePath: string;
76
+ /**
77
+ * @experimental
78
+ */
79
+ constructor(project: Project, filePath: string, options?: FileBaseOptions);
80
+ /**
81
+ * (experimental) Implemented by derived classes and returns the contents of the file to emit.
82
+ *
83
+ * @param resolver Call `resolver.resolve(obj)` on any objects in order to resolve token functions.
84
+ * @returns the content to synthesize or undefined to skip the file
85
+ * @experimental
86
+ */
87
+ protected abstract synthesizeContent(resolver: IResolver): string | undefined;
88
+ /**
89
+ * (experimental) Writes the file to the project's output directory.
90
+ *
91
+ * @experimental
92
+ */
93
+ synthesize(): void;
94
+ }
95
+ /**
96
+ * (experimental) API for resolving tokens when synthesizing file content.
97
+ *
98
+ * @experimental
99
+ */
100
+ export interface IResolver {
101
+ /**
102
+ * (experimental) Given a value (object/string/array/whatever, looks up any functions inside the object and returns an object where all functions are called.
103
+ *
104
+ * @param value The value to resolve.
105
+ * @experimental
106
+ * @package options Resolve options
107
+ */
108
+ resolve(value: any, options?: ResolveOptions): any;
109
+ }
110
+ /**
111
+ * (experimental) Resolve options.
112
+ *
113
+ * @experimental
114
+ */
115
+ export interface ResolveOptions {
116
+ /**
117
+ * (experimental) Omits empty arrays and objects.
118
+ *
119
+ * @default false
120
+ * @experimental
121
+ */
122
+ readonly omitEmpty?: boolean;
123
+ /**
124
+ * (experimental) Context arguments.
125
+ *
126
+ * @default []
127
+ * @experimental
128
+ */
129
+ readonly args?: any[];
130
+ }
131
+ /**
132
+ * @experimental
133
+ */
134
+ export interface IResolvable {
135
+ /**
136
+ * (experimental) Resolves and returns content.
137
+ *
138
+ * @experimental
139
+ */
140
+ toJSON(): any;
141
+ }
package/lib/file.js ADDED
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.FileBase = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const path = require("path");
7
+ const _resolve_1 = require("./_resolve");
8
+ const common_1 = require("./common");
9
+ const component_1 = require("./component");
10
+ const util_1 = require("./util");
11
+ /**
12
+ * @experimental
13
+ */
14
+ class FileBase extends component_1.Component {
15
+ /**
16
+ * @experimental
17
+ */
18
+ constructor(project, filePath, options = {}) {
19
+ var _b, _c, _d, _e;
20
+ super(project);
21
+ this.readonly = (_b = options.readonly) !== null && _b !== void 0 ? _b : true;
22
+ this.executable = (_c = options.executable) !== null && _c !== void 0 ? _c : false;
23
+ this.path = filePath;
24
+ const globPattern = `/${this.path}`;
25
+ const committed = (_d = options.committed) !== null && _d !== void 0 ? _d : true;
26
+ if (committed && filePath !== '.gitattributes') {
27
+ project.root.annotateGenerated(`/${filePath}`);
28
+ }
29
+ this.absolutePath = path.resolve(project.outdir, filePath);
30
+ // verify file path is unique within project tree
31
+ const existing = project.root.tryFindFile(this.absolutePath);
32
+ if (existing && existing !== this) {
33
+ throw new Error(`there is already a file under ${path.relative(project.root.outdir, this.absolutePath)}`);
34
+ }
35
+ const editGitignore = (_e = options.editGitignore) !== null && _e !== void 0 ? _e : true;
36
+ if (editGitignore) {
37
+ this.project.addGitIgnore(`${committed ? '!' : ''}${globPattern}`);
38
+ }
39
+ else {
40
+ if (options.committed != null) {
41
+ throw new Error('"gitignore" is disabled, so it does not make sense to specify "committed"');
42
+ }
43
+ }
44
+ }
45
+ /**
46
+ * (experimental) Writes the file to the project's output directory.
47
+ *
48
+ * @experimental
49
+ */
50
+ synthesize() {
51
+ const outdir = this.project.outdir;
52
+ const filePath = path.join(outdir, this.path);
53
+ const resolver = { resolve: (obj, options) => _resolve_1.resolve(obj, options) };
54
+ const content = this.synthesizeContent(resolver);
55
+ if (content === undefined) {
56
+ return; // skip
57
+ }
58
+ util_1.writeFile(filePath, content, {
59
+ readonly: this.readonly,
60
+ executable: this.executable,
61
+ });
62
+ }
63
+ }
64
+ exports.FileBase = FileBase;
65
+ _a = JSII_RTTI_SYMBOL_1;
66
+ FileBase[_a] = { fqn: "projen.FileBase", version: "0.46.8" };
67
+ /**
68
+ * (experimental) The marker to embed in files in order to identify them as projen files.
69
+ *
70
+ * This marker is used to prune these files before synthesis.
71
+ *
72
+ * @experimental
73
+ */
74
+ FileBase.PROJEN_MARKER = `${common_1.PROJEN_MARKER}. To modify, edit ${common_1.PROJEN_RC} and run "npx projen".`;
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkJBQTZCO0FBQzdCLHlDQUFxQztBQUNyQyxxQ0FBb0Q7QUFDcEQsMkNBQXdDO0FBRXhDLGlDQUFtQzs7OztBQWdCbkMsTUFBc0IsUUFBUyxTQUFRLHFCQUFTOzs7O0lBZ0I5QyxZQUFZLE9BQWdCLEVBQUUsUUFBZ0IsRUFBRSxVQUEyQixFQUFHOztRQUM1RSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFHZixJQUFJLENBQUMsUUFBUSxTQUFHLE9BQU8sQ0FBQyxRQUFRLG1DQUFJLElBQUksQ0FBQztRQUN6QyxJQUFJLENBQUMsVUFBVSxTQUFHLE9BQU8sQ0FBQyxVQUFVLG1DQUFJLEtBQUssQ0FBQztRQUM5QyxJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUVyQixNQUFNLFdBQVcsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwQyxNQUFNLFNBQVMsU0FBRyxPQUFPLENBQUMsU0FBUyxtQ0FBSSxJQUFJLENBQUM7UUFDNUMsSUFBSSxTQUFTLElBQUksUUFBUSxLQUFLLGdCQUFnQixFQUFFO1lBQzlDLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ2hEO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFM0QsaURBQWlEO1FBQ2pELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3RCxJQUFJLFFBQVEsSUFBSSxRQUFRLEtBQUssSUFBSSxFQUFFO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMzRztRQUVELE1BQU0sYUFBYSxTQUFHLE9BQU8sQ0FBQyxhQUFhLG1DQUFJLElBQUksQ0FBQztRQUNwRCxJQUFJLGFBQWEsRUFBRTtZQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsV0FBVyxFQUFFLENBQUMsQ0FBQztTQUNwRTthQUFNO1lBQ0wsSUFBSSxPQUFPLENBQUMsU0FBUyxJQUFJLElBQUksRUFBRTtnQkFDN0IsTUFBTSxJQUFJLEtBQUssQ0FBQywyRUFBMkUsQ0FBQyxDQUFDO2FBQzlGO1NBQ0Y7SUFDSCxDQUFDOzs7Ozs7SUFNTSxVQUFVO1FBQ2YsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLE1BQU0sUUFBUSxHQUFjLEVBQUUsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsa0JBQU8sQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNqRixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakQsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxPQUFPO1NBQ2hCO1FBQ0QsZ0JBQVMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFO1lBQzNCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FDNUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFoRUgsNEJBaUVDOzs7Ozs7Ozs7O0FBL0R3QixzQkFBYSxHQUFHLEdBQUcsc0JBQWEscUJBQXFCLGtCQUFTLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IHJlc29sdmUgfSBmcm9tICcuL19yZXNvbHZlJztcbmltcG9ydCB7IFBST0pFTl9NQVJLRVIsIFBST0pFTl9SQyB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50JztcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tICcuL3Byb2plY3QnO1xuaW1wb3J0IHsgd3JpdGVGaWxlIH0gZnJvbSAnLi91dGlsJztcblxuZXhwb3J0IGludGVyZmFjZSBGaWxlQmFzZU9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNvbW1pdHRlZD86IGJvb2xlYW47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBlZGl0R2l0aWdub3JlPzogYm9vbGVhbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHJlYWRvbmx5PzogYm9vbGVhbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBleGVjdXRhYmxlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZpbGVCYXNlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPSkVOX01BUktFUiA9IGAke1BST0pFTl9NQVJLRVJ9LiBUbyBtb2RpZnksIGVkaXQgJHtQUk9KRU5fUkN9IGFuZCBydW4gXCJucHggcHJvamVuXCIuYDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seTogYm9vbGVhbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBleGVjdXRhYmxlOiBib29sZWFuO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IGFic29sdXRlUGF0aDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIGZpbGVQYXRoOiBzdHJpbmcsIG9wdGlvbnM6IEZpbGVCYXNlT3B0aW9ucyA9IHsgfSkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG5cbiAgICB0aGlzLnJlYWRvbmx5ID0gb3B0aW9ucy5yZWFkb25seSA/PyB0cnVlO1xuICAgIHRoaXMuZXhlY3V0YWJsZSA9IG9wdGlvbnMuZXhlY3V0YWJsZSA/PyBmYWxzZTtcbiAgICB0aGlzLnBhdGggPSBmaWxlUGF0aDtcblxuICAgIGNvbnN0IGdsb2JQYXR0ZXJuID0gYC8ke3RoaXMucGF0aH1gO1xuICAgIGNvbnN0IGNvbW1pdHRlZCA9IG9wdGlvbnMuY29tbWl0dGVkID8/IHRydWU7XG4gICAgaWYgKGNvbW1pdHRlZCAmJiBmaWxlUGF0aCAhPT0gJy5naXRhdHRyaWJ1dGVzJykge1xuICAgICAgcHJvamVjdC5yb290LmFubm90YXRlR2VuZXJhdGVkKGAvJHtmaWxlUGF0aH1gKTtcbiAgICB9XG5cbiAgICB0aGlzLmFic29sdXRlUGF0aCA9IHBhdGgucmVzb2x2ZShwcm9qZWN0Lm91dGRpciwgZmlsZVBhdGgpO1xuXG4gICAgLy8gdmVyaWZ5IGZpbGUgcGF0aCBpcyB1bmlxdWUgd2l0aGluIHByb2plY3QgdHJlZVxuICAgIGNvbnN0IGV4aXN0aW5nID0gcHJvamVjdC5yb290LnRyeUZpbmRGaWxlKHRoaXMuYWJzb2x1dGVQYXRoKTtcbiAgICBpZiAoZXhpc3RpbmcgJiYgZXhpc3RpbmcgIT09IHRoaXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdGhlcmUgaXMgYWxyZWFkeSBhIGZpbGUgdW5kZXIgJHtwYXRoLnJlbGF0aXZlKHByb2plY3Qucm9vdC5vdXRkaXIsIHRoaXMuYWJzb2x1dGVQYXRoKX1gKTtcbiAgICB9XG5cbiAgICBjb25zdCBlZGl0R2l0aWdub3JlID0gb3B0aW9ucy5lZGl0R2l0aWdub3JlID8/IHRydWU7XG4gICAgaWYgKGVkaXRHaXRpZ25vcmUpIHtcbiAgICAgIHRoaXMucHJvamVjdC5hZGRHaXRJZ25vcmUoYCR7Y29tbWl0dGVkID8gJyEnIDogJyd9JHtnbG9iUGF0dGVybn1gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKG9wdGlvbnMuY29tbWl0dGVkICE9IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdcImdpdGlnbm9yZVwiIGlzIGRpc2FibGVkLCBzbyBpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIHNwZWNpZnkgXCJjb21taXR0ZWRcIicpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc3ludGhlc2l6ZUNvbnRlbnQocmVzb2x2ZXI6IElSZXNvbHZlcik6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzeW50aGVzaXplKCkge1xuICAgIGNvbnN0IG91dGRpciA9IHRoaXMucHJvamVjdC5vdXRkaXI7XG4gICAgY29uc3QgZmlsZVBhdGggPSBwYXRoLmpvaW4ob3V0ZGlyLCB0aGlzLnBhdGgpO1xuICAgIGNvbnN0IHJlc29sdmVyOiBJUmVzb2x2ZXIgPSB7IHJlc29sdmU6IChvYmosIG9wdGlvbnMpID0+IHJlc29sdmUob2JqLCBvcHRpb25zKSB9O1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLnN5bnRoZXNpemVDb250ZW50KHJlc29sdmVyKTtcbiAgICBpZiAoY29udGVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm47IC8vIHNraXBcbiAgICB9XG4gICAgd3JpdGVGaWxlKGZpbGVQYXRoLCBjb250ZW50LCB7XG4gICAgICByZWFkb25seTogdGhpcy5yZWFkb25seSxcbiAgICAgIGV4ZWN1dGFibGU6IHRoaXMuZXhlY3V0YWJsZSxcbiAgICB9KTtcbiAgfVxufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIElSZXNvbHZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlc29sdmUodmFsdWU6IGFueSwgb3B0aW9ucz86IFJlc29sdmVPcHRpb25zKTogYW55O1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZU9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgb21pdEVtcHR5PzogYm9vbGVhbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBhcmdzPzogYW55W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJlc29sdmFibGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICB0b0pTT04oKTogYW55O1xufVxuIl19
@@ -0,0 +1,29 @@
1
+ import { IResolver, FileBase } from './file';
2
+ import { Project } from './project';
3
+ /**
4
+ * (experimental) Assign attributes to file names in a git repository.
5
+ *
6
+ * @see https://git-scm.com/docs/gitattributes
7
+ * @experimental
8
+ */
9
+ export declare class GitAttributesFile extends FileBase {
10
+ private readonly attributes;
11
+ /**
12
+ * @experimental
13
+ */
14
+ constructor(project: Project);
15
+ /**
16
+ * (experimental) Maps a set of attributes to a set of files.
17
+ *
18
+ * @param glob Glob pattern to match files in the repo.
19
+ * @param attributes Attributes to assign to these files.
20
+ * @experimental
21
+ */
22
+ addAttributes(glob: string, ...attributes: string[]): void;
23
+ /**
24
+ * (experimental) Implemented by derived classes and returns the contents of the file to emit.
25
+ *
26
+ * @experimental
27
+ */
28
+ protected synthesizeContent(_: IResolver): string | undefined;
29
+ }