projen 0.51.7 → 0.51.8

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 (385) hide show
  1. package/.jsii +42 -6
  2. package/API.md +10 -0
  3. package/changelog.md +1 -6
  4. package/lib/awscdk/auto-discover.js +1 -1
  5. package/lib/awscdk/awscdk-app-java.js +1 -1
  6. package/lib/awscdk/awscdk-app-ts.js +1 -1
  7. package/lib/awscdk/awscdk-construct.js +2 -2
  8. package/lib/awscdk/awscdk-deps-java.js +1 -1
  9. package/lib/awscdk/awscdk-deps-js.js +1 -1
  10. package/lib/awscdk/awscdk-deps.js +1 -1
  11. package/lib/awscdk/cdk-config.js +1 -1
  12. package/lib/awscdk/cdk-tasks.js +1 -1
  13. package/lib/awscdk/integration-test.js +1 -1
  14. package/lib/awscdk/lambda-function.js +2 -2
  15. package/lib/build/build-workflow.js +1 -1
  16. package/lib/cdk/construct-lib.js +1 -1
  17. package/lib/cdk/jsii-docgen.js +1 -1
  18. package/lib/cdk/jsii-project.js +1 -1
  19. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  20. package/lib/cdk8s/cdk8s-construct.js +1 -1
  21. package/lib/cdktf/cdktf-construct.js +1 -1
  22. package/lib/component.js +1 -1
  23. package/lib/dependencies.js +1 -1
  24. package/lib/dev-env.js +1 -1
  25. package/lib/docker-compose.js +2 -2
  26. package/lib/file.js +1 -1
  27. package/lib/gitattributes.js +1 -1
  28. package/lib/github/auto-approve.js +1 -1
  29. package/lib/github/auto-merge.js +1 -1
  30. package/lib/github/dependabot.js +1 -1
  31. package/lib/github/github-project.js +1 -1
  32. package/lib/github/github.js +1 -1
  33. package/lib/github/mergify.js +1 -1
  34. package/lib/github/pr-template.js +1 -1
  35. package/lib/github/pull-request-lint.js +1 -1
  36. package/lib/github/stale.js +1 -1
  37. package/lib/github/task-workflow.js +1 -1
  38. package/lib/github/workflows.js +1 -1
  39. package/lib/gitlab/configuration.js +1 -1
  40. package/lib/gitlab/gitlab-configuration.js +1 -1
  41. package/lib/gitlab/nested-configuration.js +1 -1
  42. package/lib/gitpod.js +1 -1
  43. package/lib/ignore-file.js +1 -1
  44. package/lib/ini.js +1 -1
  45. package/lib/java/java-project.js +1 -1
  46. package/lib/java/junit.js +1 -1
  47. package/lib/java/maven-compile.js +1 -1
  48. package/lib/java/maven-packaging.js +1 -1
  49. package/lib/java/maven-sample.js +1 -1
  50. package/lib/java/pom.js +1 -1
  51. package/lib/java/projenrc.js +1 -1
  52. package/lib/javascript/bundler.js +1 -1
  53. package/lib/javascript/eslint.js +1 -1
  54. package/lib/javascript/jest.js +1 -1
  55. package/lib/javascript/node-package.js +1 -1
  56. package/lib/javascript/node-project.js +1 -1
  57. package/lib/javascript/npm-config.js +1 -1
  58. package/lib/javascript/prettier.js +1 -1
  59. package/lib/javascript/projenrc.js +1 -1
  60. package/lib/javascript/typescript-config.js +1 -1
  61. package/lib/javascript/upgrade-dependencies.js +2 -2
  62. package/lib/json.js +1 -1
  63. package/lib/license.js +1 -1
  64. package/lib/logger.js +1 -1
  65. package/lib/makefile.js +1 -1
  66. package/lib/object-file.js +1 -1
  67. package/lib/project-build.js +1 -1
  68. package/lib/project.js +1 -1
  69. package/lib/projects.js +1 -1
  70. package/lib/projenrc-json.js +1 -1
  71. package/lib/python/pip.js +1 -1
  72. package/lib/python/poetry.js +2 -2
  73. package/lib/python/projenrc.js +1 -1
  74. package/lib/python/pytest.js +1 -1
  75. package/lib/python/python-project.js +1 -1
  76. package/lib/python/python-sample.js +1 -1
  77. package/lib/python/requirements-file.js +1 -1
  78. package/lib/python/setuppy.js +1 -1
  79. package/lib/python/setuptools.js +1 -1
  80. package/lib/python/venv.js +1 -1
  81. package/lib/readme.js +1 -1
  82. package/lib/release/publisher.js +1 -1
  83. package/lib/release/release-trigger.js +1 -1
  84. package/lib/release/release.js +1 -1
  85. package/lib/sample-file.js +2 -2
  86. package/lib/semver.js +1 -1
  87. package/lib/source-code.js +1 -1
  88. package/lib/task-runtime.js +1 -1
  89. package/lib/task.js +1 -1
  90. package/lib/tasks.js +1 -1
  91. package/lib/testing.js +1 -1
  92. package/lib/textfile.js +1 -1
  93. package/lib/toml.js +1 -1
  94. package/lib/typescript/projenrc.js +1 -1
  95. package/lib/typescript/typescript-typedoc.js +1 -1
  96. package/lib/typescript/typescript.js +3 -3
  97. package/lib/version.js +1 -1
  98. package/lib/vscode/devcontainer.js +1 -1
  99. package/lib/vscode/launch-config.js +1 -1
  100. package/lib/vscode/vscode.js +1 -1
  101. package/lib/web/next.js +3 -3
  102. package/lib/web/postcss.js +1 -1
  103. package/lib/web/react.js +4 -4
  104. package/lib/web/tailwind.js +1 -1
  105. package/lib/xmlfile.js +1 -1
  106. package/lib/yaml.d.ts +13 -0
  107. package/lib/yaml.js +8 -3
  108. package/node_modules/yaml/LICENSE +1 -1
  109. package/node_modules/yaml/README.md +57 -41
  110. package/node_modules/yaml/browser/dist/compose/compose-collection.js +59 -0
  111. package/node_modules/yaml/browser/dist/compose/compose-doc.js +40 -0
  112. package/node_modules/yaml/browser/dist/compose/compose-node.js +81 -0
  113. package/node_modules/yaml/browser/dist/compose/compose-scalar.js +81 -0
  114. package/node_modules/yaml/browser/dist/compose/composer.js +219 -0
  115. package/node_modules/yaml/browser/dist/compose/resolve-block-map.js +107 -0
  116. package/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +185 -0
  117. package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +45 -0
  118. package/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
  119. package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +200 -0
  120. package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +223 -0
  121. package/node_modules/yaml/browser/dist/compose/resolve-props.js +128 -0
  122. package/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
  123. package/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +27 -0
  124. package/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
  125. package/node_modules/yaml/browser/dist/compose/util-map-includes.js +17 -0
  126. package/node_modules/yaml/browser/dist/doc/Document.js +321 -0
  127. package/node_modules/yaml/browser/dist/doc/anchors.js +72 -0
  128. package/node_modules/yaml/browser/dist/doc/applyReviver.js +54 -0
  129. package/node_modules/yaml/browser/dist/doc/createNode.js +84 -0
  130. package/node_modules/yaml/browser/dist/doc/directives.js +166 -0
  131. package/node_modules/yaml/browser/dist/errors.js +57 -0
  132. package/node_modules/yaml/browser/dist/index.js +18 -1002
  133. package/node_modules/yaml/browser/dist/log.js +14 -0
  134. package/node_modules/yaml/browser/dist/node_modules/tslib/tslib.es6.js +164 -0
  135. package/node_modules/yaml/browser/dist/nodes/Alias.js +94 -0
  136. package/node_modules/yaml/browser/dist/nodes/Collection.js +146 -0
  137. package/node_modules/yaml/browser/dist/nodes/Node.js +48 -0
  138. package/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
  139. package/node_modules/yaml/browser/dist/nodes/Scalar.js +23 -0
  140. package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +116 -0
  141. package/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +105 -0
  142. package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +104 -0
  143. package/node_modules/yaml/browser/dist/nodes/toJS.js +35 -0
  144. package/node_modules/yaml/browser/dist/options.js +18 -0
  145. package/node_modules/yaml/browser/dist/parse/cst-scalar.js +215 -0
  146. package/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
  147. package/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
  148. package/node_modules/yaml/browser/dist/parse/cst.js +98 -0
  149. package/node_modules/yaml/browser/dist/parse/lexer.js +692 -0
  150. package/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
  151. package/node_modules/yaml/browser/dist/parse/parser.js +882 -0
  152. package/node_modules/yaml/browser/dist/public-api.js +99 -0
  153. package/node_modules/yaml/browser/dist/schema/Schema.js +34 -0
  154. package/node_modules/yaml/browser/dist/schema/common/map.js +42 -0
  155. package/node_modules/yaml/browser/dist/schema/common/null.js +13 -0
  156. package/node_modules/yaml/browser/dist/schema/common/seq.js +33 -0
  157. package/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
  158. package/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
  159. package/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
  160. package/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
  161. package/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
  162. package/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
  163. package/node_modules/yaml/browser/dist/schema/tags.js +83 -0
  164. package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +66 -0
  165. package/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
  166. package/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
  167. package/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
  168. package/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +73 -0
  169. package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +77 -0
  170. package/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +37 -0
  171. package/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +87 -0
  172. package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
  173. package/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +135 -0
  174. package/node_modules/yaml/browser/dist/stringify/stringify.js +124 -0
  175. package/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +152 -0
  176. package/node_modules/yaml/browser/dist/stringify/stringifyComment.js +18 -0
  177. package/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +68 -0
  178. package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +24 -0
  179. package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +122 -0
  180. package/node_modules/yaml/browser/dist/stringify/stringifyString.js +314 -0
  181. package/node_modules/yaml/browser/dist/util.js +9 -2
  182. package/node_modules/yaml/browser/dist/visit.js +146 -0
  183. package/node_modules/yaml/browser/index.js +5 -1
  184. package/node_modules/yaml/browser/package.json +3 -0
  185. package/node_modules/yaml/dist/compose/compose-collection.d.ts +5 -0
  186. package/node_modules/yaml/dist/compose/compose-collection.js +61 -0
  187. package/node_modules/yaml/dist/compose/compose-doc.d.ts +6 -0
  188. package/node_modules/yaml/dist/compose/compose-doc.js +42 -0
  189. package/node_modules/yaml/dist/compose/compose-node.d.ts +26 -0
  190. package/node_modules/yaml/dist/compose/compose-node.js +84 -0
  191. package/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
  192. package/node_modules/yaml/dist/compose/compose-scalar.js +83 -0
  193. package/node_modules/yaml/dist/compose/composer.d.ts +62 -0
  194. package/node_modules/yaml/dist/compose/composer.js +223 -0
  195. package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
  196. package/node_modules/yaml/dist/compose/resolve-block-map.js +109 -0
  197. package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +10 -0
  198. package/node_modules/yaml/dist/compose/resolve-block-scalar.js +187 -0
  199. package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +5 -0
  200. package/node_modules/yaml/dist/compose/resolve-block-seq.js +47 -0
  201. package/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
  202. package/node_modules/yaml/dist/compose/resolve-end.js +39 -0
  203. package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +6 -0
  204. package/node_modules/yaml/dist/compose/resolve-flow-collection.js +202 -0
  205. package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
  206. package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +225 -0
  207. package/node_modules/yaml/dist/compose/resolve-props.d.ts +21 -0
  208. package/node_modules/yaml/dist/compose/resolve-props.js +130 -0
  209. package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
  210. package/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
  211. package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
  212. package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +29 -0
  213. package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
  214. package/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
  215. package/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
  216. package/node_modules/yaml/dist/compose/util-map-includes.js +19 -0
  217. package/node_modules/yaml/dist/doc/Document.d.ts +139 -0
  218. package/node_modules/yaml/dist/doc/Document.js +323 -0
  219. package/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
  220. package/node_modules/yaml/dist/doc/anchors.js +77 -0
  221. package/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
  222. package/node_modules/yaml/dist/doc/applyReviver.js +56 -0
  223. package/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
  224. package/node_modules/yaml/dist/doc/createNode.js +86 -0
  225. package/node_modules/yaml/dist/doc/directives.d.ts +47 -0
  226. package/node_modules/yaml/dist/doc/directives.js +168 -0
  227. package/node_modules/yaml/dist/errors.d.ts +21 -0
  228. package/node_modules/yaml/dist/errors.js +62 -0
  229. package/node_modules/yaml/dist/index.d.ts +19 -0
  230. package/node_modules/yaml/dist/index.js +49 -77
  231. package/node_modules/yaml/dist/log.d.ts +3 -0
  232. package/node_modules/yaml/dist/log.js +17 -0
  233. package/node_modules/yaml/dist/node_modules/tslib/tslib.es6.js +76 -0
  234. package/node_modules/yaml/dist/nodes/Alias.d.ts +28 -0
  235. package/node_modules/yaml/dist/nodes/Alias.js +96 -0
  236. package/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
  237. package/node_modules/yaml/dist/nodes/Collection.js +150 -0
  238. package/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
  239. package/node_modules/yaml/dist/nodes/Node.js +66 -0
  240. package/node_modules/yaml/dist/nodes/Pair.d.ts +21 -0
  241. package/node_modules/yaml/dist/nodes/Pair.js +39 -0
  242. package/node_modules/yaml/dist/nodes/Scalar.d.ts +42 -0
  243. package/node_modules/yaml/dist/nodes/Scalar.js +26 -0
  244. package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +41 -0
  245. package/node_modules/yaml/dist/nodes/YAMLMap.js +119 -0
  246. package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +55 -0
  247. package/node_modules/yaml/dist/nodes/YAMLSeq.js +107 -0
  248. package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +3 -0
  249. package/node_modules/yaml/dist/nodes/addPairToJSMap.js +106 -0
  250. package/node_modules/yaml/dist/nodes/toJS.d.ts +30 -0
  251. package/node_modules/yaml/dist/nodes/toJS.js +37 -0
  252. package/node_modules/yaml/dist/options.d.ts +338 -0
  253. package/node_modules/yaml/dist/options.js +20 -0
  254. package/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
  255. package/node_modules/yaml/dist/parse/cst-scalar.js +219 -0
  256. package/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
  257. package/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
  258. package/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
  259. package/node_modules/yaml/dist/parse/cst-visit.js +99 -0
  260. package/node_modules/yaml/dist/parse/cst.d.ts +106 -0
  261. package/node_modules/yaml/dist/parse/cst.js +112 -0
  262. package/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
  263. package/node_modules/yaml/dist/parse/lexer.js +694 -0
  264. package/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
  265. package/node_modules/yaml/dist/parse/line-counter.js +41 -0
  266. package/node_modules/yaml/dist/parse/parser.d.ts +84 -0
  267. package/node_modules/yaml/dist/parse/parser.js +886 -0
  268. package/node_modules/yaml/dist/public-api.d.ts +43 -0
  269. package/node_modules/yaml/dist/public-api.js +104 -0
  270. package/node_modules/yaml/dist/schema/Schema.d.ts +18 -0
  271. package/node_modules/yaml/dist/schema/Schema.js +36 -0
  272. package/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
  273. package/node_modules/yaml/dist/schema/common/map.js +44 -0
  274. package/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
  275. package/node_modules/yaml/dist/schema/common/null.js +15 -0
  276. package/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
  277. package/node_modules/yaml/dist/schema/common/seq.js +35 -0
  278. package/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
  279. package/node_modules/yaml/dist/schema/common/string.js +16 -0
  280. package/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
  281. package/node_modules/yaml/dist/schema/core/bool.js +21 -0
  282. package/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
  283. package/node_modules/yaml/dist/schema/core/float.js +47 -0
  284. package/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
  285. package/node_modules/yaml/dist/schema/core/int.js +42 -0
  286. package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
  287. package/node_modules/yaml/dist/schema/core/schema.js +25 -0
  288. package/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
  289. package/node_modules/yaml/dist/schema/json/schema.js +64 -0
  290. package/node_modules/yaml/dist/schema/tags.d.ts +40 -0
  291. package/node_modules/yaml/dist/schema/tags.js +86 -0
  292. package/node_modules/yaml/dist/schema/types.d.ts +82 -0
  293. package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
  294. package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +68 -0
  295. package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
  296. package/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
  297. package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
  298. package/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
  299. package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
  300. package/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
  301. package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +21 -0
  302. package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +76 -0
  303. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
  304. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +81 -0
  305. package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
  306. package/node_modules/yaml/dist/schema/yaml-1.1/schema.js +39 -0
  307. package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +22 -0
  308. package/node_modules/yaml/dist/schema/yaml-1.1/set.js +90 -0
  309. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
  310. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
  311. package/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
  312. package/node_modules/yaml/dist/stringify/foldFlowLines.js +140 -0
  313. package/node_modules/yaml/dist/stringify/stringify.d.ts +20 -0
  314. package/node_modules/yaml/dist/stringify/stringify.js +127 -0
  315. package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
  316. package/node_modules/yaml/dist/stringify/stringifyCollection.js +154 -0
  317. package/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
  318. package/node_modules/yaml/dist/stringify/stringifyComment.js +22 -0
  319. package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +3 -0
  320. package/node_modules/yaml/dist/stringify/stringifyDocument.js +70 -0
  321. package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
  322. package/node_modules/yaml/dist/stringify/stringifyNumber.js +26 -0
  323. package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
  324. package/node_modules/yaml/dist/stringify/stringifyPair.js +124 -0
  325. package/node_modules/yaml/dist/stringify/stringifyString.d.ts +3 -0
  326. package/node_modules/yaml/dist/stringify/stringifyString.js +316 -0
  327. package/node_modules/yaml/dist/test-events.d.ts +4 -0
  328. package/node_modules/yaml/dist/test-events.js +126 -152
  329. package/node_modules/yaml/dist/util.d.ts +9 -0
  330. package/node_modules/yaml/dist/util.js +19 -14
  331. package/node_modules/yaml/dist/visit.d.ts +63 -0
  332. package/node_modules/yaml/dist/visit.js +148 -0
  333. package/node_modules/yaml/package.json +43 -55
  334. package/node_modules/yaml/util.d.ts +3 -86
  335. package/node_modules/yaml/util.js +2 -16
  336. package/package.json +2 -2
  337. package/releasetag.txt +1 -1
  338. package/version.txt +1 -1
  339. package/node_modules/yaml/browser/dist/PlainValue-b8036b75.js +0 -1275
  340. package/node_modules/yaml/browser/dist/Schema-e94716c8.js +0 -682
  341. package/node_modules/yaml/browser/dist/legacy-exports.js +0 -3
  342. package/node_modules/yaml/browser/dist/package.json +0 -1
  343. package/node_modules/yaml/browser/dist/parse-cst.js +0 -1904
  344. package/node_modules/yaml/browser/dist/resolveSeq-492ab440.js +0 -2419
  345. package/node_modules/yaml/browser/dist/types.js +0 -4
  346. package/node_modules/yaml/browser/dist/warnings-df54cb69.js +0 -499
  347. package/node_modules/yaml/browser/map.js +0 -2
  348. package/node_modules/yaml/browser/pair.js +0 -2
  349. package/node_modules/yaml/browser/parse-cst.js +0 -1
  350. package/node_modules/yaml/browser/scalar.js +0 -2
  351. package/node_modules/yaml/browser/schema.js +0 -9
  352. package/node_modules/yaml/browser/seq.js +0 -2
  353. package/node_modules/yaml/browser/types/binary.js +0 -8
  354. package/node_modules/yaml/browser/types/omap.js +0 -3
  355. package/node_modules/yaml/browser/types/pairs.js +0 -3
  356. package/node_modules/yaml/browser/types/set.js +0 -3
  357. package/node_modules/yaml/browser/types/timestamp.js +0 -10
  358. package/node_modules/yaml/browser/types.js +0 -1
  359. package/node_modules/yaml/browser/util.js +0 -1
  360. package/node_modules/yaml/dist/Document-9b4560a1.js +0 -757
  361. package/node_modules/yaml/dist/PlainValue-ec8e588e.js +0 -876
  362. package/node_modules/yaml/dist/Schema-88e323a7.js +0 -525
  363. package/node_modules/yaml/dist/legacy-exports.js +0 -16
  364. package/node_modules/yaml/dist/parse-cst.js +0 -1753
  365. package/node_modules/yaml/dist/resolveSeq-d03cb037.js +0 -2161
  366. package/node_modules/yaml/dist/types.js +0 -23
  367. package/node_modules/yaml/dist/warnings-1000a372.js +0 -416
  368. package/node_modules/yaml/index.d.ts +0 -372
  369. package/node_modules/yaml/index.js +0 -1
  370. package/node_modules/yaml/map.js +0 -2
  371. package/node_modules/yaml/pair.js +0 -2
  372. package/node_modules/yaml/parse-cst.d.ts +0 -191
  373. package/node_modules/yaml/parse-cst.js +0 -1
  374. package/node_modules/yaml/scalar.js +0 -2
  375. package/node_modules/yaml/schema.js +0 -9
  376. package/node_modules/yaml/seq.js +0 -2
  377. package/node_modules/yaml/types/binary.js +0 -8
  378. package/node_modules/yaml/types/omap.js +0 -3
  379. package/node_modules/yaml/types/pairs.js +0 -3
  380. package/node_modules/yaml/types/set.js +0 -3
  381. package/node_modules/yaml/types/timestamp.js +0 -10
  382. package/node_modules/yaml/types.d.ts +0 -407
  383. package/node_modules/yaml/types.js +0 -17
  384. package/node_modules/yaml/types.mjs +0 -17
  385. package/node_modules/yaml/util.mjs +0 -18
package/lib/web/next.js CHANGED
@@ -43,7 +43,7 @@ class NextJsProject extends javascript_1.NodeProject {
43
43
  }
44
44
  exports.NextJsProject = NextJsProject;
45
45
  _a = JSII_RTTI_SYMBOL_1;
46
- NextJsProject[_a] = { fqn: "projen.web.NextJsProject", version: "0.51.7" };
46
+ NextJsProject[_a] = { fqn: "projen.web.NextJsProject", version: "0.51.8" };
47
47
  /**
48
48
  * (experimental) Next.js project with TypeScript.
49
49
  *
@@ -109,7 +109,7 @@ class NextJsTypeScriptProject extends typescript_1.TypeScriptAppProject {
109
109
  }
110
110
  exports.NextJsTypeScriptProject = NextJsTypeScriptProject;
111
111
  _b = JSII_RTTI_SYMBOL_1;
112
- NextJsTypeScriptProject[_b] = { fqn: "projen.web.NextJsTypeScriptProject", version: "0.51.7" };
112
+ NextJsTypeScriptProject[_b] = { fqn: "projen.web.NextJsTypeScriptProject", version: "0.51.8" };
113
113
  /**
114
114
  * @experimental
115
115
  */
@@ -153,7 +153,7 @@ class NextComponent extends component_1.Component {
153
153
  }
154
154
  exports.NextComponent = NextComponent;
155
155
  _c = JSII_RTTI_SYMBOL_1;
156
- NextComponent[_c] = { fqn: "projen.web.NextComponent", version: "0.51.7" };
156
+ NextComponent[_c] = { fqn: "projen.web.NextComponent", version: "0.51.8" };
157
157
  class NextSampleCode extends component_1.Component {
158
158
  constructor(project, options) {
159
159
  var _d;
@@ -34,5 +34,5 @@ class PostCss {
34
34
  }
35
35
  exports.PostCss = PostCss;
36
36
  _a = JSII_RTTI_SYMBOL_1;
37
- PostCss[_a] = { fqn: "projen.web.PostCss", version: "0.51.7" };
37
+ PostCss[_a] = { fqn: "projen.web.PostCss", version: "0.51.8" };
38
38
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zdGNzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93ZWIvcG9zdGNzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLGtDQUFtQztBQUNuQyx5Q0FBbUU7Ozs7OztBQWNuRSxNQUFhLE9BQU87Ozs7SUFLbEIsWUFBWSxPQUFvQixFQUFFLE9BQXdCOztRQUN4RCxJQUFJLENBQUMsUUFBUSxTQUFHLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxRQUFRLG1DQUFJLHFCQUFxQixDQUFDO1FBRTNELE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFM0IsTUFBTSxNQUFNLEdBQTJCLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBRXZELFVBQUksT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFFBQVEsbUNBQUksSUFBSSxFQUFFO1lBQzdCLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztZQUNoQyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLHlCQUFjLENBQUMsT0FBTyxFQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxlQUFlLENBQUMsQ0FBQztZQUN0RSxPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUMsQ0FBQztTQUNoRDtRQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxlQUFRLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDL0MsR0FBRyxFQUFFLE1BQU07WUFDWCxNQUFNLEVBQUUsS0FBSztTQUNkLENBQUMsQ0FBQztRQUVILE1BQUEsT0FBTyxDQUFDLFNBQVMsMENBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO0lBQ2xELENBQUM7O0FBekJILDBCQTBCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGVQcm9qZWN0IH0gZnJvbSBcIi4uL2phdmFzY3JpcHRcIjtcbmltcG9ydCB7IEpzb25GaWxlIH0gZnJvbSBcIi4uL2pzb25cIjtcbmltcG9ydCB7IFRhaWx3aW5kQ29uZmlnLCBUYWlsd2luZENvbmZpZ09wdGlvbnMgfSBmcm9tIFwiLi90YWlsd2luZFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBvc3RDc3NPcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGZpbGVOYW1lPzogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHRhaWx3aW5kPzogYm9vbGVhbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdGFpbHdpbmRPcHRpb25zPzogVGFpbHdpbmRDb25maWdPcHRpb25zO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIFBvc3RDc3Mge1xuICBwdWJsaWMgcmVhZG9ubHkgZmlsZU5hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGZpbGU6IEpzb25GaWxlO1xuICBwdWJsaWMgcmVhZG9ubHkgdGFpbHdpbmQ/OiBUYWlsd2luZENvbmZpZztcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBOb2RlUHJvamVjdCwgb3B0aW9ucz86IFBvc3RDc3NPcHRpb25zKSB7XG4gICAgdGhpcy5maWxlTmFtZSA9IG9wdGlvbnM/LmZpbGVOYW1lID8/IFwicG9zdGNzcy5jb25maWcuanNvblwiO1xuXG4gICAgcHJvamVjdC5hZGREZXBzKFwicG9zdGNzc1wiKTtcblxuICAgIGNvbnN0IGNvbmZpZzogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHsgcGx1Z2luczoge30gfTtcblxuICAgIGlmIChvcHRpb25zPy50YWlsd2luZCA/PyB0cnVlKSB7XG4gICAgICBjb25maWcucGx1Z2lucy50YWlsd2luZGNzcyA9IHt9O1xuICAgICAgY29uZmlnLnBsdWdpbnMuYXV0b3ByZWZpeGVyID0ge307XG4gICAgICB0aGlzLnRhaWx3aW5kID0gbmV3IFRhaWx3aW5kQ29uZmlnKHByb2plY3QsIG9wdGlvbnM/LnRhaWx3aW5kT3B0aW9ucyk7XG4gICAgICBwcm9qZWN0LmFkZERlcHMoXCJ0YWlsd2luZGNzc1wiLCBcImF1dG9wcmVmaXhlclwiKTtcbiAgICB9XG5cbiAgICB0aGlzLmZpbGUgPSBuZXcgSnNvbkZpbGUocHJvamVjdCwgdGhpcy5maWxlTmFtZSwge1xuICAgICAgb2JqOiBjb25maWcsXG4gICAgICBtYXJrZXI6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgcHJvamVjdC5ucG1pZ25vcmU/LmV4Y2x1ZGUoYC8ke3RoaXMuZmlsZU5hbWV9YCk7XG4gIH1cbn1cbiJdfQ==
package/lib/web/react.js CHANGED
@@ -43,7 +43,7 @@ class ReactProject extends javascript_1.NodeProject {
43
43
  }
44
44
  exports.ReactProject = ReactProject;
45
45
  _a = JSII_RTTI_SYMBOL_1;
46
- ReactProject[_a] = { fqn: "projen.web.ReactProject", version: "0.51.7" };
46
+ ReactProject[_a] = { fqn: "projen.web.ReactProject", version: "0.51.8" };
47
47
  /**
48
48
  * (experimental) React project with TypeScript.
49
49
  *
@@ -105,7 +105,7 @@ class ReactTypeScriptProject extends typescript_1.TypeScriptAppProject {
105
105
  }
106
106
  exports.ReactTypeScriptProject = ReactTypeScriptProject;
107
107
  _b = JSII_RTTI_SYMBOL_1;
108
- ReactTypeScriptProject[_b] = { fqn: "projen.web.ReactTypeScriptProject", version: "0.51.7" };
108
+ ReactTypeScriptProject[_b] = { fqn: "projen.web.ReactTypeScriptProject", version: "0.51.8" };
109
109
  /**
110
110
  * @experimental
111
111
  */
@@ -175,7 +175,7 @@ class ReactComponent extends component_1.Component {
175
175
  }
176
176
  exports.ReactComponent = ReactComponent;
177
177
  _c = JSII_RTTI_SYMBOL_1;
178
- ReactComponent[_c] = { fqn: "projen.web.ReactComponent", version: "0.51.7" };
178
+ ReactComponent[_c] = { fqn: "projen.web.ReactComponent", version: "0.51.8" };
179
179
  class ReactSampleCode extends component_1.Component {
180
180
  constructor(project, options) {
181
181
  var _e;
@@ -370,5 +370,5 @@ class ReactTypeDef extends file_1.FileBase {
370
370
  }
371
371
  exports.ReactTypeDef = ReactTypeDef;
372
372
  _d = JSII_RTTI_SYMBOL_1;
373
- ReactTypeDef[_d] = { fqn: "projen.web.ReactTypeDef", version: "0.51.7" };
373
+ ReactTypeDef[_d] = { fqn: "projen.web.ReactTypeDef", version: "0.51.8" };
374
374
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2ViL3JlYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkJBQTZCO0FBQzdCLDRDQUF5QztBQUN6QyxrQ0FBK0Q7QUFDL0QsOENBS3VCO0FBQ3ZCLGdEQUEyQztBQUMzQyxnREFBNEM7QUFDNUMsOENBQStFO0FBQy9FLGtDQUFvQzs7Ozs7OztBQXFCcEMsTUFBYSxZQUFhLFNBQVEsd0JBQVc7Ozs7SUFJM0MsWUFBWSxPQUE0Qjs7UUFDdEMsS0FBSyxDQUFDO1lBQ0osSUFBSSxFQUFFLEtBQUs7WUFDWCxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxTQUFHLE9BQU8sQ0FBQyxNQUFNLG1DQUFJLEtBQUssQ0FBQztRQUV0QyxJQUFJLGNBQWMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUV4RSw2RkFBNkY7UUFDN0YsVUFBSSxPQUFPLENBQUMsVUFBVSxtQ0FBSSxJQUFJLEVBQUU7WUFDOUIsSUFBSSxlQUFlLENBQUMsSUFBSSxFQUFFO2dCQUN4QixPQUFPLEVBQUUsS0FBSztnQkFDZCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07YUFDcEIsQ0FBQyxDQUFDO1lBQ0gsSUFBSSx1QkFBUyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7Z0JBQzVCLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDO2FBQ3RFLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7QUF4Qkgsb0NBeUJDOzs7Ozs7Ozs7QUFHRCxNQUFhLHNCQUF1QixTQUFRLGlDQUFvQjs7OztJQU85RCxZQUFZLE9BQXNDOztRQUNoRCxNQUFNLGNBQWMs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QUlELE1BQWEsWUFBYSxTQUFRLGVBQVE7Ozs7SUFDeEMsWUFDRSxPQUErQixFQUMvQixRQUFnQixFQUNoQixVQUErQixFQUFFO1FBRWpDLEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Ozs7OztJQUVTLGlCQUFpQixDQUFDLENBQVk7UUFDdEMsT0FBTyxDQUFDLHlDQUF5QyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hFLENBQUM7O0FBWEgsb0NBWUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50XCI7XG5pbXBvcnQgeyBGaWxlQmFzZSwgRmlsZUJhc2VPcHRpb25zLCBJUmVzb2x2ZXIgfSBmcm9tIFwiLi4vZmlsZVwiO1xuaW1wb3J0IHtcbiAgTm9kZVByb2plY3QsXG4gIE5vZGVQcm9qZWN0T3B0aW9ucyxcbiAgVHlwZVNjcmlwdEpzeE1vZGUsXG4gIFR5cGVTY3JpcHRNb2R1bGVSZXNvbHV0aW9uLFxufSBmcm9tIFwiLi4vamF2YXNjcmlwdFwiO1xuaW1wb3J0IHsgU2FtcGxlRGlyIH0gZnJvbSBcIi4uL3NhbXBsZS1maWxlXCI7XG5pbXBvcnQgeyBTb3VyY2VDb2RlIH0gZnJvbSBcIi4uL3NvdXJjZS1jb2RlXCI7XG5pbXBvcnQgeyBUeXBlU2NyaXB0QXBwUHJvamVjdCwgVHlwZVNjcmlwdFByb2plY3RPcHRpb25zIH0gZnJvbSBcIi4uL3R5cGVzY3JpcHRcIjtcbmltcG9ydCB7IGRlZXBNZXJnZSB9IGZyb20gXCIuLi91dGlsXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVhY3RSZXdpcmVPcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSByZXdpcmU/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlYWN0VHlwZVNjcmlwdFByb2plY3RPcHRpb25zXG4gIGV4dGVuZHMgVHlwZVNjcmlwdFByb2plY3RPcHRpb25zLFxuICAgIFJlYWN0UmV3aXJlT3B0aW9ucyB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlYWN0UHJvamVjdE9wdGlvbnNcbiAgZXh0ZW5kcyBOb2RlUHJvamVjdE9wdGlvbnMsXG4gICAgUmVhY3RSZXdpcmVPcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHNyY2Rpcj86IHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHNhbXBsZUNvZGU/OiBib29sZWFuO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIFJlYWN0UHJvamVjdCBleHRlbmRzIE5vZGVQcm9qZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBzcmNkaXI6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBSZWFjdFByb2plY3RPcHRpb25zKSB7XG4gICAgc3VwZXIoe1xuICAgICAgamVzdDogZmFsc2UsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuXG4gICAgdGhpcy5zcmNkaXIgPSBvcHRpb25zLnNyY2RpciA/PyBcInNyY1wiO1xuXG4gICAgbmV3IFJlYWN0Q29tcG9uZW50KHRoaXMsIHsgdHlwZXNjcmlwdDogZmFsc2UsIHJld2lyZTogb3B0aW9ucy5yZXdpcmUgfSk7XG5cbiAgICAvLyBnZW5lcmF0ZSBzYW1wbGUgY29kZSBpbiBgc3JjYCBhbmQgYHB1YmxpY2AgaWYgdGhlc2UgZGlyZWN0b3JpZXMgYXJlIGVtcHR5IG9yIG5vbi1leGlzdGVudC5cbiAgICBpZiAob3B0aW9ucy5zYW1wbGVDb2RlID8/IHRydWUpIHtcbiAgICAgIG5ldyBSZWFjdFNhbXBsZUNvZGUodGhpcywge1xuICAgICAgICBmaWxlRXh0OiBcImpzeFwiLFxuICAgICAgICBzcmNkaXI6IHRoaXMuc3JjZGlyLFxuICAgICAgfSk7XG4gICAgICBuZXcgU2FtcGxlRGlyKHRoaXMsIFwicHVibGljXCIsIHtcbiAgICAgICAgc291cmNlRGlyOiBwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uXCIsIFwiLi5cIiwgXCJhc3NldHNcIiwgXCJ3ZWJcIiwgXCJyZWFjdFwiKSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIFJlYWN0VHlwZVNjcmlwdFByb2plY3QgZXh0ZW5kcyBUeXBlU2NyaXB0QXBwUHJvamVjdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IHNyY2Rpcjogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IHJlYWN0VHlwZURlZjogUmVhY3RUeXBlRGVmO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFJlYWN0VHlwZVNjcmlwdFByb2plY3RPcHRpb25zKSB7XG4gICAgY29uc3QgZGVmYXVsdE9wdGlvbnMgPSB7XG4gICAgICBzcmNkaXI6IFwic3JjXCIsXG4gICAgICBlc2xpbnQ6IGZhbHNlLFxuICAgICAgamVzdDogZmFsc2UsXG4gICAgICB0c2NvbmZpZzoge1xuICAgICAgICBpbmNsdWRlOiBbXCJzcmNcIl0sXG4gICAgICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICAgIHRhcmdldDogXCJlczVcIixcbiAgICAgICAgICBsaWI6IFtcImRvbVwiLCBcImRvbS5pdGVyYWJsZVwiLCBcImVzbmV4dFwiXSxcbiAgICAgICAgICBhbGxvd0pzOiB0cnVlLFxuICAgICAgICAgIHNraXBMaWJDaGVjazogdHJ1ZSxcbiAgICAgICAgICBlc01vZHVsZUludGVyb3A6IHRydWUsXG4gICAgICAgICAgYWxsb3dTeW50aGV0aWNEZWZhdWx0SW1wb3J0czogdHJ1ZSxcbiAgICAgICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICAgICAgZm9yY2VDb25zaXN0ZW50Q2FzaW5nSW5GaWxlTmFtZXM6IHRydWUsXG4gICAgICAgICAgbm9GYWxsdGhyb3VnaENhc2VzSW5Td2l0Y2g6IHRydWUsXG4gICAgICAgICAgbW9kdWxlOiBcImVzbmV4dFwiLFxuICAgICAgICAgIG1vZHVsZVJlc29sdXRpb246IFR5cGVTY3JpcHRNb2R1bGVSZXNvbHV0aW9uLk5PREUsXG4gICAgICAgICAgcmVzb2x2ZUpzb25Nb2R1bGU6IHRydWUsXG4gICAgICAgICAgaXNvbGF0ZWRNb2R1bGVzOiB0cnVlLFxuICAgICAgICAgIG5vRW1pdDogdHJ1ZSxcbiAgICAgICAgICBqc3g6IFR5cGVTY3JpcHRKc3hNb2RlLlJFQUNUX0pTWCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB0eXBlc2NyaXB0VmVyc2lvbjogb3B0aW9ucy50eXBlc2NyaXB0VmVyc2lvbiA/PyBcIl40LjAuM1wiLFxuICAgIH07XG5cbiAgICAvLyBuZXZlciBnZW5lcmF0ZSBkZWZhdWx0IFR5cGVTY3JpcHQgc2FtcGxlIGNvZGUsIHNpbmNlIHRoaXMgY2xhc3MgcHJvdmlkZXMgaXRzIG93blxuICAgIHN1cGVyKFxuICAgICAgZGVlcE1lcmdlKFtcbiAgICAgICAgZGVmYXVsdE9wdGlvbnMsXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIHsgc2FtcGxlQ29kZTogZmFsc2UgfSxcbiAgICAgIF0pIGFzIFR5cGVTY3JpcHRQcm9qZWN0T3B0aW9uc1xuICAgICk7XG5cbiAgICB0aGlzLnNyY2RpciA9IG9wdGlvbnMuc3JjZGlyID8/IFwic3JjXCI7XG5cbiAgICBuZXcgUmVhY3RDb21wb25lbnQodGhpcywgeyB0eXBlc2NyaXB0OiB0cnVlLCByZXdpcmU6IG9wdGlvbnMucmV3aXJlIH0pO1xuXG4gICAgdGhpcy5yZWFjdFR5cGVEZWYgPSBuZXcgUmVhY3RUeXBlRGVmKHRoaXMsIFwicmVhY3QtYXBwLWVudi5kLnRzXCIpO1xuXG4gICAgLy8gZ2VuZXJhdGUgc2FtcGxlIGNvZGUgaW4gYHNyY2AgYW5kIGBwdWJsaWNgIGlmIHRoZXNlIGRpcmVjdG9yaWVzIGFyZSBlbXB0eSBvciBub24tZXhpc3RlbnQuXG4gICAgaWYgKG9wdGlvbnMuc2FtcGxlQ29kZSA/PyB0cnVlKSB7XG4gICAgICBuZXcgUmVhY3RTYW1wbGVDb2RlKHRoaXMsIHtcbiAgICAgICAgZmlsZUV4dDogXCJ0c3hcIixcbiAgICAgICAgc3JjZGlyOiB0aGlzLnNyY2RpcixcbiAgICAgIH0pO1xuICAgICAgbmV3IFNhbXBsZURpcih0aGlzLCBcInB1YmxpY1wiLCB7XG4gICAgICAgIHNvdXJjZURpcjogcGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLlwiLCBcIi4uXCIsIFwiYXNzZXRzXCIsIFwid2ViXCIsIFwicmVhY3RcIiksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWFjdENvbXBvbmVudE9wdGlvbnMgZXh0ZW5kcyBSZWFjdFJld2lyZU9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB0eXBlc2NyaXB0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFJlYWN0Q29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSB0eXBlc2NyaXB0OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IE5vZGVQcm9qZWN0LCBvcHRpb25zOiBSZWFjdENvbXBvbmVudE9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIHRoaXMudHlwZXNjcmlwdCA9IG9wdGlvbnMudHlwZXNjcmlwdCA/PyBmYWxzZTtcblxuICAgIC8vIE5vIGNvbXBpbGUgZm9yIHJlYWN0IGFwcFxuICAgIHByb2plY3QuY29tcGlsZVRhc2sucmVzZXQoKTtcblxuICAgIHByb2plY3QuYWRkRGVwcyhcInJlYWN0XCIsIFwicmVhY3QtZG9tXCIsIFwicmVhY3Qtc2NyaXB0c0BeNVwiLCBcIndlYi12aXRhbHNcIik7XG4gICAgcHJvamVjdC5hZGREZXZEZXBzKFxuICAgICAgXCJAdGVzdGluZy1saWJyYXJ5L2plc3QtZG9tXCIsXG4gICAgICBcIkB0ZXN0aW5nLWxpYnJhcnkvcmVhY3RcIixcbiAgICAgIFwiQHRlc3RpbmctbGlicmFyeS91c2VyLWV2ZW50XCJcbiAgICApO1xuICAgIGlmICh0aGlzLnR5cGVzY3JpcHQpIHtcbiAgICAgIHByb2plY3QuYWRkRGV2RGVwcyhcIkB0eXBlcy9qZXN0XCIsIFwiQHR5cGVzL3JlYWN0XCIsIFwiQHR5cGVzL3JlYWN0LWRvbVwiKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXdpcmUgPSBvcHRpb25zLnJld2lyZSA/PyBmYWxzZTtcblxuICAgIGlmIChyZXdpcmUpIHtcbiAgICAgIGNvbnN0IG92ZXJyaWRlc1BhdGggPSBcIi5wcm9qZW4vcmVhY3QtY29uZmlnLW92ZXJyaWRlcy5qc1wiO1xuICAgICAgcHJvamVjdC5hZGREZXZEZXBzKFwicmVhY3QtYXBwLXJld2lyZWRcIik7XG4gICAgICBwcm9qZWN0LmFkZEZpZWxkcyh7IFwiY29uZmlnLW92ZXJyaWRlcy1wYXRoXCI6IG92ZXJyaWRlc1BhdGggfSk7XG5cbiAgICAgIGNvbnN0IGNvbmZpZ092ZXJyaWRlcyA9IG5ldyBTb3VyY2VDb2RlKHRoaXMucHJvamVjdCwgb3ZlcnJpZGVzUGF0aCk7XG4gICAgICBjb25maWdPdmVycmlkZXMubGluZShgLy8gJHtGaWxlQmFzZS5QUk9KRU5fTUFSS0VSfWApO1xuICAgICAgY29uZmlnT3ZlcnJpZGVzLmxpbmUoXCIvKipcIik7XG4gICAgICBjb25maWdPdmVycmlkZXMubGluZShcbiAgICAgICAgXCIgKiBPdmVycmlkZSBDUkEgY29uZmlndXJhdGlvbiB3aXRob3V0IG5lZWRpbmcgdG8gZWplY3QuXCJcbiAgICAgICk7XG4gICAgICBjb25maWdPdmVycmlkZXMubGluZShcIiAqXCIpO1xuICAgICAgY29uZmlnT3ZlcnJpZGVzLmxpbmUoXG4gICAgICAgIFwiICogQHNlZSBodHRwczovL3d3dy5ucG1qcy5jb20vcGFja2FnZS9yZWFjdC1hcHAtcmV3aXJlZFwiXG4gICAgICApO1xuICAgICAgY29uZmlnT3ZlcnJpZGVzLmxpbmUoXCIgKi9cIik7XG4gICAgICBjb25maWdPdmVycmlkZXMub3BlbihcIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gb3ZlcnJpZGUoY29uZmlnLCBlbnYpIHtcIik7XG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhyZXdpcmUpKSB7XG4gICAgICAgIGNvbmZpZ092ZXJyaWRlcy5saW5lKGBjb25maWcuJHtrZXl9ID0gJHtKU09OLnN0cmluZ2lmeSh2YWx1ZSl9O2ApO1xuICAgICAgfVxuICAgICAgY29uZmlnT3ZlcnJpZGVzLmxpbmUoXCJyZXR1cm4gY29uZmlnO1wiKTtcbiAgICAgIGNvbmZpZ092ZXJyaWRlcy5jbG9zZShcIn07XCIpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlYWN0U2NyaXB0cyA9IHJld2lyZSA/IFwicmVhY3QtYXBwLXJld2lyZWRcIiA6IFwicmVhY3Qtc2NyaXB0c1wiO1xuXG4gICAgLy8gQ3JlYXRlIFJlYWN0IEFwcCBDTEkgY29tbWFuZHMsIHNlZTogaHR0cHM6Ly9jcmVhdGUtcmVhY3QtYXBwLmRldi9kb2NzL2F2YWlsYWJsZS1zY3JpcHRzL1xuICAgIHByb2plY3QuYWRkVGFzayhcImRldlwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJTdGFydHMgdGhlIHJlYWN0IGFwcGxpY2F0aW9uXCIsXG4gICAgICBleGVjOiBgJHtyZWFjdFNjcmlwdHN9IHN0YXJ0YCxcbiAgICB9KTtcblxuICAgIHByb2plY3QuY29tcGlsZVRhc2suZXhlYyhgJHtyZWFjdFNjcmlwdHN9IGJ1aWxkYCk7XG5cbiAgICBwcm9qZWN0LmFkZFRhc2soXCJlamVjdFwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjogXCJFamVjdHMgeW91ciBSZWFjdCBhcHBsaWNhdGlvbiBmcm9tIHJlYWN0LXNjcmlwdHNcIixcbiAgICAgIC8vIGVqZWN0IGlzIG5vdCBuZWNlc3NhcnkgdG8gcmV3aXJlXG4gICAgICBleGVjOiBcInJlYWN0LXNjcmlwdHMgZWplY3RcIixcbiAgICB9KTtcblxuICAgIHByb2plY3QudGVzdFRhc2suZXhlYyhgJHtyZWFjdFNjcmlwdHN9IHRlc3QgLS13YXRjaEFsbD1mYWxzZWApO1xuXG4gICAgY29uc3QgdGVzdFdhdGNoID0gcHJvamVjdC50YXNrcy50cnlGaW5kKFwidGVzdDp3YXRjaFwiKTtcbiAgICB0ZXN0V2F0Y2g/LnJlc2V0KGAke3JlYWN0U2NyaXB0c30gdGVzdGApO1xuXG4gICAgcHJvamVjdC5ucG1pZ25vcmU/LmV4Y2x1ZGUoXCIjIEJ1aWxkXCIsIFwiL2J1aWxkL1wiKTtcbiAgICBwcm9qZWN0LmdpdGlnbm9yZS5leGNsdWRlKFwiIyBCdWlsZFwiLCBcIi9idWlsZC9cIik7XG5cbiAgICBwcm9qZWN0LnBhY2thZ2UuYWRkRmllbGQoXCJlc2xpbnRDb25maWdcIiwge1xuICAgICAgZXh0ZW5kczogW1wicmVhY3QtYXBwXCIsIFwicmVhY3QtYXBwL2plc3RcIl0sXG4gICAgfSk7XG5cbiAgICBwcm9qZWN0LnBhY2thZ2UuYWRkRmllbGQoXCJicm93c2Vyc2xpc3RcIiwge1xuICAgICAgcHJvZHVjdGlvbjogW1wiPjAuMiVcIiwgXCJub3QgZGVhZFwiLCBcIm5vdCBvcF9taW5pIGFsbFwiXSxcbiAgICAgIGRldmVsb3BtZW50OiBbXG4gICAgICAgIFwibGFzdCAxIGNocm9tZSB2ZXJzaW9uXCIsXG4gICAgICAgIFwibGFzdCAxIGZpcmVmb3ggdmVyc2lvblwiLFxuICAgICAgICBcImxhc3QgMSBzYWZhcmkgdmVyc2lvblwiLFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxufVxuXG5pbnRlcmZhY2UgUmVhY3RTYW1wbGVDb2RlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBGaWxlIGV4dGVuc2lvbiBmb3Igc2FtcGxlIGphdmFzY3JpcHQgY29kZSB0byBiZSBzYXZlZCBhcy5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJqc3hcIlxuICAgKi9cbiAgcmVhZG9ubHkgZmlsZUV4dD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRpcmVjdG9yeSBpbiB3aGljaCBSZWFjdCBqc3ggZmlsZXMgYXJlIGRlY2xhcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgc3JjZGlyOiBzdHJpbmc7XG59XG5cbmNsYXNzIFJlYWN0U2FtcGxlQ29kZSBleHRlbmRzIENvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmlsZUV4dDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHNyY2Rpcjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IE5vZGVQcm9qZWN0LCBvcHRpb25zOiBSZWFjdFNhbXBsZUNvZGVPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICB0aGlzLmZpbGVFeHQgPSBvcHRpb25zLmZpbGVFeHQgPz8gXCJqc3hcIjtcbiAgICB0aGlzLnNyY2RpciA9IG9wdGlvbnMuc3JjZGlyO1xuXG4gICAgY29uc3QgbG9nb1N2ZyA9IFtcbiAgICAgICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDg0MS45IDU5NS4zXCI+JyxcbiAgICAgICcgICAgPGcgZmlsbD1cIiM2MURBRkJcIj4nLFxuICAgICAgJyAgICAgICAgPHBhdGggZD1cIk02NjYuMyAyOTYuNWMwLTMyLjUtNDAuNy02My4zLTEwMy4xLTgyLjQgMTQuNC02My42IDgtMTE0LjItMjAuMi0xMzAuNC02LjUtMy44LTE0LjEtNS42LTIyLjQtNS42djIyLjNjNC42IDAgOC4zLjkgMTEuNCAyLjYgMTMuNiA3LjggMTkuNSAzNy41IDE0LjkgNzUuNy0xLjEgOS40LTIuOSAxOS4zLTUuMSAyOS40LTE5LjYtNC44LTQxLTguNS02My41LTEwLjktMTMuNS0xOC41LTI3LjUtMzUuMy00MS42LTUwIDMyLjYtMzAuMyA2My4yLTQ2LjkgODQtNDYuOVY3OGMtMjcuNSAwLTYzLjUgMTkuNi05OS45IDUzLjYtMzYuNC0zMy44LTcyLjQtNTMuMi05OS45LTUzLjJ2MjIuM2MyMC43IDAgNTEuNCAxNi41IDg0IDQ2LjYtMTQgMTQuNy0yOCAzMS40LTQxLjMgNDkuOS0yMi42IDIuNC00NCA2LjEtNjMuNiAxMS0yLjMtMTAtNC0xOS43LTUuMi0yOS00LjctMzguMiAxLjEtNjcuOSAxNC42LTc1LjggMy0xLjggNi45LTIuNiAxMS41LTIuNlY3OC41Yy04LjQgMC0xNiAxLjgtMjIuNiA1LjYtMjguMSAxNi4yLTM0LjQgNjYuNy0xOS45IDEzMC4xLTYyLjIgMTkuMi0xMDIuNyA0OS45LTEwMi43IDgyLjMgMCAzMi41IDQwLjcgNjMuMyAxMDMuMSA4Mi40LTE0LjQgNjMuNi04IDExNC4yIDIwLjIgMTMwLjQgNi41IDMuOCAxNC4xIDUuNiAyMi41IDUuNiAyNy41IDAgNjMuNS0xOS42IDk5LjktNTMuNiAzNi40IDMzLjggNzIuNCA1My4yIDk5LjkgNTMuMiA4LjQgMCAxNi0xLjggMjIuNi01LjYgMjguMS0xNi4yIDM0LjQtNjYuNyAxOS45LTEzMC4xIDYyLTE5LjEgMTAyLjUtNDkuOSAxMDIuNS04Mi4zem0tMTMwLjItNjYuN2MtMy43IDEyLjktOC4zIDI2LjItMTMuNSAzOS41LTQuMS04LTguNC0xNi0xMy4xLTI0LTQuNi04LTkuNS0xNS44LTE0LjQtMjMuNCAxNC4yIDIuMSAyNy45IDQuNyA0MSA3Ljl6bS00NS44IDEwNi41Yy03LjggMTMuNS0xNS44IDI2LjMtMjQuMSAzOC4yLTE0LjkgMS4zLTMwIDItNDUuMiAyLTE1LjEgMC0zMC4yLS43LTQ1LTEuOS04LjMtMTEuOS0xNi40LTI0LjYtMjQuMi0zOC03LjYtMTMuMS0xNC41LTI2LjQtMjAuOC0zOS44IDYuMi0xMy40IDEzLjItMjYuOCAyMC43LTM5LjkgNy44LTEzLjUgMTUuOC0yNi4zIDI0LjEtMzguMiAxNC45LTEuMyAzMC0yIDQ1LjItMiAxNS4xIDAgMzAuMi43IDQ1IDEuOSA4LjMgMTEuOSAxNi40IDI0LjYgMjQuMiAzOCA3LjYgMTMuMSAxNC41IDI2LjQgMjAuOCAzOS44LTYuMyAxMy40LTEzLjIgMjYuOC0yMC43IDM5Ljl6bTMyLjMtMTNjNS40IDEzLjQgMTAgMjYuOCAxMy44IDM5LjgtMTMuMSAzLjItMjYuOSA1LjktNDEuMiA4IDQuOS03LjcgOS44LTE1LjYgMTQuNC0yMy43IDQuNi04IDguOS0xNi4xIDEzLTI0LjF6TTQyMS4yIDQzMGMtOS4zLTkuNi0xOC42LTIwLjMtMjcuOC0zMiA5IC40IDE4LjIuNyAyNy41LjcgOS40IDAgMTguNy0uMiAyNy44LS43LTkgMTEuNy0xOC4zIDIyLjQtMjcuNSAzMnptLTc0LjQtNTguOWMtMTQuMi0yLjEtMjcuOS00LjctNDEtNy45IDMuNy0xMi45IDguMy0yNi4yIDEzLjUtMzkuNSA0LjEgOCA4LjQgMTYgMTMuMSAyNCA0LjcgOCA5LjUgMTUuOCAxNC40IDIzLjR6TTQyMC43IDE2M2M5LjMgOS42IDE4LjYgMjAuMyAyNy44IDMyLTktLjQtMTguMi0uNy0yNy41LS43LTkuNCAwLTE4LjcuMi0yNy44LjcgOS0xMS43IDE4LjMtMjIuNCAyNy41LTMyem0tNzQgNTguOWMtNC45IDcuNy05LjggMTUuNi0xNC40IDIzLjctNC42IDgtOC45IDE2LTEzIDI0LTUuNC0xMy40LTEwLTI2LjgtMTMuOC0zOS44IDEzLjEtMy4xIDI2LjktNS44IDQxLjItNy45em0tOTAuNSAxMjUuMmMtMzUuNC0xNS4xLTU4LjMtMzQuOS01OC4zLTUwLjYgMC0xNS43IDIyLjktMzUuNiA1OC4zLTUwLjYgOC42LTMuNyAxOC03IDI3LjctMTAuMSA1LjcgMTkuNiAxMy4yIDQwIDIyLjUgNjAuOS05LjIgMjAuOC0xNi42IDQxLjEtMjIuMiA2MC42LTkuOS0zLjEtMTkuMy02LjUtMjgtMTAuMnpNMzEwIDQ5MGMtMTMuNi03LjgtMTkuNS0zNy41LTE0LjktNzUuNyAxLjEtOS40IDIuOS0xOS4zIDUuMS0yOS40IDE5LjYgNC44IDQxIDguNSA2My41IDEwLjkgMTMuNSAxOC41IDI3LjUgMzUuMyA0MS42IDUwLTMyLjYgMzAuMy02My4yIDQ2LjktODQgNDYuOS00LjUtLjEtOC4zLTEtMTEuMy0yLjd6bTIzNy4yLTc2LjJjNC43IDM4LjItMS4xIDY3LjktMTQuNiA3NS44LTMgMS44LTYuOSAyLjYtMTEuNSAyLjYtMjAuNyAwLTUxLjQtMTYuNS04NC00Ni42IDE0LTE0LjcgMjgtMzEuNCA0MS4zLTQ5LjkgMjIuNi0yLjQgNDQtNi4xIDYzLjYtMTEgMi4zIDEwLjEgNC4xIDE5LjggNS4yIDI5LjF6bTM4LjUtNjYuN2MtOC42IDMuNy0xOCA3LTI3LjcgMTAuMS01LjctMTkuNi0xMy4yLTQwLTIyLjUtNjAuOSA5LjItMjAuOCAxNi42LTQxLjEgMjIuMi02MC42IDkuOSAzLjEgMTkuMyA2LjUgMjguMSAxMC4yIDM1LjQgMTUuMSA1OC4zIDM0LjkgNTguMyA1MC42LS4xIDE1LjctMjMgMzUuNi01OC40IDUwLjZ6TTMyMC44IDc4LjR6XCIvPicsXG4gICAgICAnICAgICAgICA8Y2lyY2xlIGN4PVwiNDIwLjlcIiBjeT1cIjI5Ni41XCIgcj1cIjQ1LjdcIi8+JyxcbiAgICAgICcgICAgICAgIDxwYXRoIGQ9XCJNNTIwLjUgNzguMXpcIi8+JyxcbiAgICAgIFwiICAgIDwvZz5cIixcbiAgICAgIFwiPC9zdmc+XCIsXG4gICAgICBcIlwiLFxuICAgIF07XG5cbiAgICBjb25zdCBhcHBKc3ggPSBbXG4gICAgICBcImltcG9ydCBsb2dvIGZyb20gJy4vbG9nby5zdmcnO1wiLFxuICAgICAgXCJpbXBvcnQgJy4vQXBwLmNzcydcIixcbiAgICAgIFwiXCIsXG4gICAgICBcImZ1bmN0aW9uIEFwcCgpIHtcIixcbiAgICAgIFwiICByZXR1cm4gKFwiLFxuICAgICAgJyAgIDxkaXYgY2xhc3NOYW1lPVwiQXBwXCI+JyxcbiAgICAgICcgICAgICA8aGVhZGVyIGNsYXNzTmFtZT1cIkFwcC1oZWFkZXJcIj4nLFxuICAgICAgJyAgICAgICAgPGltZyBzcmM9e2xvZ299IGNsYXNzTmFtZT1cIkFwcC1sb2dvXCIgYWx0PVwibG9nb1wiIC8+JyxcbiAgICAgIFwiICAgICAgICA8cD5cIixcbiAgICAgIGAgICAgICAgICAgRWRpdCA8Y29kZT5zcmMvQXBwLiR7dGhpcy5maWxlRXh0fTwvY29kZT4gYW5kIHNhdmUgdG8gcmVsb2FkLmAsXG4gICAgICBcIiAgICAgICAgPC9wPlwiLFxuICAgICAgJyAgICAgICAgPGEgY2xhc3NOYW1lPVwiQXBwLWxpbmtcIicsXG4gICAgICAnICAgICAgICAgIGhyZWY9XCJodHRwczovL3JlYWN0anMub3JnXCInLFxuICAgICAgJyAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIicsXG4gICAgICAnICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIicsXG4gICAgICBcIiAgICAgICAgPlwiLFxuICAgICAgXCIgICAgICAgICAgTGVhcm4gUmVhY3RcIixcbiAgICAgIFwiICAgICAgICA8L2E+XCIsXG4gICAgICBcIiAgICAgIDwvaGVhZGVyPlwiLFxuICAgICAgXCIgICAgPC9kaXY+XCIsXG4gICAgICBcIiAgKTtcIixcbiAgICAgIFwifVwiLFxuICAgICAgXCJcIixcbiAgICAgIFwiZXhwb3J0IGRlZmF1bHQgQXBwO1wiLFxuICAgICAgXCJcIixcbiAgICBdO1xuXG4gICAgY29uc3QgYXBwQ3NzID0gW1xuICAgICAgXCIuQXBwIHtcIixcbiAgICAgIFwiICB0ZXh0LWFsaWduOiBjZW50ZXI7XCIsXG4gICAgICBcIn1cIixcbiAgICAgIFwiXCIsXG4gICAgICBcIi5BcHAtbG9nbyB7XCIsXG4gICAgICBcIiAgaGVpZ2h0OiA0MHZtaW47XCIsXG4gICAgICBcIiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XCIsXG4gICAgICBcIn1cIixcbiAgICAgIFwiXCIsXG4gICAgICBcIkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1wiLFxuICAgICAgXCIgIC5BcHAtbG9nbyB7XCIsXG4gICAgICBcIiAgICBhbmltYXRpb246IEFwcC1sb2dvLXNwaW4gaW5maW5pdGUgMjBzIGxpbmVhcjtcIixcbiAgICAgIFwiICB9XCIsXG4gICAgICBcIn1cIixcbiAgICAgIFwiXCIsXG4gICAgICBcIi5BcHAtaGVhZGVyIHtcIixcbiAgICAgIFwiICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjgyYzM0O1wiLFxuICAgICAgXCIgIG1pbi1oZWlnaHQ6IDEwMHZoO1wiLFxuICAgICAgXCIgIGRpc3BsYXk6IGZsZXg7XCIsXG4gICAgICBcIiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcIixcbiAgICAgIFwiICBhbGlnbi1pdGVtczogY2VudGVyO1wiLFxuICAgICAgXCIgIGp1c3RpZnktY29udGVudDogY2VudGVyO1wiLFxuICAgICAgXCIgIGZvbnQtc2l6ZTogY2FsYygxMHB4ICsgMnZtaW4pO1wiLFxuICAgICAgXCIgIGNvbG9yOiB3aGl0ZTtcIixcbiAgICAgIFwifVwiLFxuICAgICAgXCJcIixcbiAgICAgIFwiLkFwcC1saW5rIHtcIixcbiAgICAgIFwiICBjb2xvcjogIzYxZGFmYjtcIixcbiAgICAgIFwifVwiLFxuICAgICAgXCJcIixcbiAgICAgIFwiQGtleWZyYW1lcyBBcHAtbG9nby1zcGluIHtcIixcbiAgICAgIFwiICBmcm9tIHtcIixcbiAgICAgIFwiICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1wiLFxuICAgICAgXCIgIH1cIixcbiAgICAgIFwiICB0byB7XCIsXG4gICAgICBcIiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1wiLFxuICAgICAgXCIgIH1cIixcbiAgICAgIFwifVwiLFxuICAgICAgXCJcIixcbiAgICBdO1xuXG4gICAgY29uc3QgYXBwVGVzdEpzeCA9IFtcbiAgICAgIFwiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcIixcbiAgICAgIFwiaW1wb3J0IHsgcmVuZGVyLCBzY3JlZW4gfSBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3JlYWN0JztcIixcbiAgICAgIFwiaW1wb3J0IEFwcCBmcm9tICcuL0FwcCc7XCIsXG4gICAgICBcIlwiLFxuICAgICAgXCJ0ZXN0KCdyZW5kZXJzIGxlYXJuIHJlYWN0IGxpbmsnLCAoKSA9PiB7XCIsXG4gICAgICBcIiAgcmVuZGVyKDxBcHAgLz4pO1wiLFxuICAgICAgXCIgIGNvbnN0IGxpbmtFbGVtZW50ID0gc2NyZWVuLmdldEJ5VGV4dCgvbGVhcm4gcmVhY3QvaSk7XCIsXG4gICAgICBcIiAgZXhwZWN0KGxpbmtFbGVtZW50KS50b0JlSW5UaGVEb2N1bWVudCgpO1wiLFxuICAgICAgXCJ9KTtcIixcbiAgICAgIFwiXCIsXG4gICAgXTtcblxuICAgIGNvbnN0IGluZGV4SnN4ID0gW1xuICAgICAgXCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1wiLFxuICAgICAgXCJpbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcIixcbiAgICAgIFwiaW1wb3J0ICcuL2luZGV4LmNzcyc7XCIsXG4gICAgICBcImltcG9ydCBBcHAgZnJvbSAnLi9BcHAnO1wiLFxuICAgICAgXCJpbXBvcnQgcmVwb3J0V2ViVml0YWxzIGZyb20gJy4vcmVwb3J0V2ViVml0YWxzJztcIixcbiAgICAgIFwiXCIsXG4gICAgICBcIlJlYWN0RE9NLnJlbmRlcihcIixcbiAgICAgIFwiICA8UmVhY3QuU3RyaWN0TW9kZT5cIixcbiAgICAgIFwiICAgIDxBcHAgLz5cIixcbiAgICAgIFwiICA8L1JlYWN0LlN0cmljdE1vZGU+LFwiLFxuICAgICAgXCIgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyb290JylcIixcbiAgICAgIFwiKTtcIixcbiAgICAgIFwiXCIsXG4gICAgICBcIi8vIElmIHlvdSB3YW50IHRvIHN0YXJ0IG1lYXN1cmluZyBwZXJmb3JtYW5jZSBpbiB5b3VyIGFwcCwgcGFzcyBhIGZ1bmN0aW9uXCIsXG4gICAgICBcIi8vIHRvIGxvZyByZXN1bHRzIChmb3IgZXhhbXBsZTogcmVwb3J0V2ViVml0YWxzKGNvbnNvbGUubG9nKSlcIixcbiAgICAgIFwiLy8gb3Igc2VuZCB0byBhbiBhbmFseXRpY3MgZW5kcG9pbnQuIExlYXJuIG1vcmU6IGh0dHBzOi8vYml0Lmx5L0NSQS12aXRhbHNcIixcbiAgICAgIFwicmVwb3J0V2ViVml0YWxzKCk7XCIsXG4gICAgICBcIlwiLFxuICAgIF07XG5cbiAgICBjb25zdCBpbmRleENzcyA9IFtcbiAgICAgIFwiYm9keSB7XCIsXG4gICAgICBcIiAgbWFyZ2luOiAwO1wiLFxuICAgICAgXCIgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsICdSb2JvdG8nLCAnT3h5Z2VuJyxcIixcbiAgICAgIFwiICAgICdVYnVudHUnLCAnQ2FudGFyZWxsJywgJ0ZpcmEgU2FucycsICdEcm9pZCBTYW5zJywgJ0hlbHZldGljYSBOZXVlJyxcIixcbiAgICAgIFwiICAgIHNhbnMtc2VyaWY7XCIsXG4gICAgICBcIiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XCIsXG4gICAgICBcIiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcIixcbiAgICAgIFwifVwiLFxuICAgICAgXCJcIixcbiAgICAgIFwiY29kZSB7XCIsXG4gICAgICBcIiAgZm9udC1mYW1pbHk6IHNvdXJjZS1jb2RlLXBybywgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsICdDb3VyaWVyIE5ldycsXCIsXG4gICAgICBcIiAgICBtb25vc3BhY2U7XCIsXG4gICAgICBcIn1cIixcbiAgICAgIFwiXCIsXG4gICAgXTtcblxuICAgIGNvbnN0IHJlcG9ydFdlYlZpdGFsc0pzID0gW1xuICAgICAgXCJpbXBvcnQgeyBSZXBvcnRIYW5kbGVyIH0gZnJvbSAnd2ViLXZpdGFscyc7XCIsXG4gICAgICBcIlwiLFxuICAgICAgXCJjb25zdCByZXBvcnRXZWJWaXRhbHMgPSAob25QZXJmRW50cnk/OiBSZXBvcnRIYW5kbGVyKSA9PiB7XCIsXG4gICAgICBcIiAgaWYgKG9uUGVyZkVudHJ5ICYmIG9uUGVyZkVudHJ5IGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcIixcbiAgICAgIFwiICAgIGltcG9ydCgnd2ViLXZpdGFscycpLnRoZW4oKHsgZ2V0Q0xTLCBnZXRGSUQsIGdldEZDUCwgZ2V0TENQLCBnZXRUVEZCIH0pID0+IHtcIixcbiAgICAgIFwiICAgICAgZ2V0Q0xTKG9uUGVyZkVudHJ5KTtcIixcbiAgICAgIFwiICAgICAgZ2V0RklEKG9uUGVyZkVudHJ5KTtcIixcbiAgICAgIFwiICAgICAgZ2V0RkNQKG9uUGVyZkVudHJ5KTtcIixcbiAgICAgIFwiICAgICAgZ2V0TENQKG9uUGVyZkVudHJ5KTtcIixcbiAgICAgIFwiICAgICAgZ2V0VFRGQihvblBlcmZFbnRyeSk7XCIsXG4gICAgICBcIiAgICB9KTtcIixcbiAgICAgIFwiICB9XCIsXG4gICAgICBcIn1cIixcbiAgICAgIFwiXCIsXG4gICAgICBcImV4cG9ydCBkZWZhdWx0IHJlcG9ydFdlYlZpdGFscztcIixcbiAgICBdO1xuXG4gICAgY29uc3Qgc2V0dXBUZXN0c0pzID0gW1xuICAgICAgXCIvLyBqZXN0LWRvbSBhZGRzIGN1c3RvbSBqZXN0IG1hdGNoZXJzIGZvciBhc3NlcnRpbmcgb24gRE9NIG5vZGVzLlwiLFxuICAgICAgXCIvLyBhbGxvd3MgeW91IHRvIGRvIHRoaW5ncyBsaWtlOlwiLFxuICAgICAgXCIvLyBleHBlY3QoZWxlbWVudCkudG9IYXZlVGV4dENvbnRlbnQoL3JlYWN0L2kpXCIsXG4gICAgICBcIi8vIGxlYXJuIG1vcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS90ZXN0aW5nLWxpYnJhcnkvamVzdC1kb21cIixcbiAgICAgIFwiaW1wb3J0ICdAdGVzdGluZy1saWJyYXJ5L2plc3QtZG9tJztcIixcbiAgICAgIFwiXCIsXG4gICAgXTtcblxuICAgIC8vIGpzL3RzIG5vdCBqc3gvdHN4XG4gICAgY29uc3QgZmlsZUV4dFdpdGhvdXRYID0gdGhpcy5maWxlRXh0LnJlcGxhY2UoXCJ4XCIsIFwiXCIpO1xuXG4gICAgbmV3IFNhbXBsZURpcihwcm9qZWN0LCB0aGlzLnNyY2Rpciwge1xuICAgICAgZmlsZXM6IHtcbiAgICAgICAgXCJsb2dvLnN2Z1wiOiBsb2dvU3ZnLmpvaW4oXCJcXG5cIiksXG4gICAgICAgIFtcIkFwcC5cIiArIHRoaXMuZmlsZUV4dF06IGFwcEpzeC5qb2luKFwiXFxuXCIpLFxuICAgICAgICBbXCJBcHAudGVzdC5cIiArIHRoaXMuZmlsZUV4dF06IGFwcFRlc3RKc3guam9pbihcIlxcblwiKSxcbiAgICAgICAgXCJBcHAuY3NzXCI6IGFwcENzcy5qb2luKFwiXFxuXCIpLFxuICAgICAgICBbXCJpbmRleC5cIiArIHRoaXMuZmlsZUV4dF06IGluZGV4SnN4LmpvaW4oXCJcXG5cIiksXG4gICAgICAgIFwiaW5kZXguY3NzXCI6IGluZGV4Q3NzLmpvaW4oXCJcXG5cIiksXG4gICAgICAgIFtcInJlcG9ydFdlYlZpdGFscy5cIiArIGZpbGVFeHRXaXRob3V0WF06IHJlcG9ydFdlYlZpdGFsc0pzLmpvaW4oXCJcXG5cIiksXG4gICAgICAgIFtcInNldHVwVGVzdHMuXCIgKyBmaWxlRXh0V2l0aG91dFhdOiBzZXR1cFRlc3RzSnMuam9pbihcIlxcblwiKSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWFjdFR5cGVEZWZPcHRpb25zIGV4dGVuZHMgRmlsZUJhc2VPcHRpb25zIHt9XG5cbmV4cG9ydCBjbGFzcyBSZWFjdFR5cGVEZWYgZXh0ZW5kcyBGaWxlQmFzZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb2plY3Q6IFJlYWN0VHlwZVNjcmlwdFByb2plY3QsXG4gICAgZmlsZVBhdGg6IHN0cmluZyxcbiAgICBvcHRpb25zOiBSZWFjdFR5cGVEZWZPcHRpb25zID0ge31cbiAgKSB7XG4gICAgc3VwZXIocHJvamVjdCwgZmlsZVBhdGgsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVDb250ZW50KF86IElSZXNvbHZlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIFsnLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJyZWFjdC1zY3JpcHRzXCIgLz4nXS5qb2luKFwiXFxuXCIpO1xuICB9XG59XG4iXX0=
@@ -38,5 +38,5 @@ class TailwindConfig {
38
38
  }
39
39
  exports.TailwindConfig = TailwindConfig;
40
40
  _a = JSII_RTTI_SYMBOL_1;
41
- TailwindConfig[_a] = { fqn: "projen.web.TailwindConfig", version: "0.51.7" };
41
+ TailwindConfig[_a] = { fqn: "projen.web.TailwindConfig", version: "0.51.8" };
42
42
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpbHdpbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2ViL3RhaWx3aW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0Esa0NBQW1DOzs7Ozs7Ozs7O0FBUW5DLE1BQWEsY0FBYzs7OztJQUl6QixZQUFZLE9BQW9CLEVBQUUsT0FBK0I7O1FBQy9ELElBQUksQ0FBQyxRQUFRLFNBQUcsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFFBQVEsbUNBQUksc0JBQXNCLENBQUM7UUFFNUQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGVBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUMvQyxHQUFHLEVBQUU7Z0JBQ0gsS0FBSyxFQUFFLEVBQUU7Z0JBQ1QsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsS0FBSyxFQUFFO29CQUNMLE1BQU0sRUFBRSxFQUFFO2lCQUNYO2dCQUNELFFBQVEsRUFBRTtvQkFDUixNQUFNLEVBQUUsRUFBRTtpQkFDWDtnQkFDRCxPQUFPLEVBQUUsRUFBRTthQUNaO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsTUFBQSxPQUFPLENBQUMsU0FBUywwQ0FBRSxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUU7SUFDbEQsQ0FBQzs7QUF0Qkgsd0NBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm9kZVByb2plY3QgfSBmcm9tIFwiLi4vamF2YXNjcmlwdFwiO1xuaW1wb3J0IHsgSnNvbkZpbGUgfSBmcm9tIFwiLi4vanNvblwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhaWx3aW5kQ29uZmlnT3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZmlsZU5hbWU/OiBzdHJpbmc7XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBUYWlsd2luZENvbmZpZyB7XG4gIHB1YmxpYyByZWFkb25seSBmaWxlTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgZmlsZTogSnNvbkZpbGU7XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogTm9kZVByb2plY3QsIG9wdGlvbnM/OiBUYWlsd2luZENvbmZpZ09wdGlvbnMpIHtcbiAgICB0aGlzLmZpbGVOYW1lID0gb3B0aW9ucz8uZmlsZU5hbWUgPz8gXCJ0YWlsd2luZC5jb25maWcuanNvblwiO1xuXG4gICAgdGhpcy5maWxlID0gbmV3IEpzb25GaWxlKHByb2plY3QsIHRoaXMuZmlsZU5hbWUsIHtcbiAgICAgIG9iajoge1xuICAgICAgICBwdXJnZTogW10sXG4gICAgICAgIGRhcmtNb2RlOiBmYWxzZSxcbiAgICAgICAgdGhlbWU6IHtcbiAgICAgICAgICBleHRlbmQ6IHt9LFxuICAgICAgICB9LFxuICAgICAgICB2YXJpYW50czoge1xuICAgICAgICAgIGV4dGVuZDoge30sXG4gICAgICAgIH0sXG4gICAgICAgIHBsdWdpbnM6IFtdLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHByb2plY3QubnBtaWdub3JlPy5leGNsdWRlKGAvJHt0aGlzLmZpbGVOYW1lfWApO1xuICB9XG59XG4iXX0=
package/lib/xmlfile.js CHANGED
@@ -42,5 +42,5 @@ class XmlFile extends object_file_1.ObjectFile {
42
42
  }
43
43
  exports.XmlFile = XmlFile;
44
44
  _a = JSII_RTTI_SYMBOL_1;
45
- XmlFile[_a] = { fqn: "projen.XmlFile", version: "0.51.7" };
45
+ XmlFile[_a] = { fqn: "projen.XmlFile", version: "0.51.8" };
46
46
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1sZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy94bWxmaWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQWtEO0FBRWxELCtDQUE4RDs7Ozs7Ozs7O0FBTzlELE1BQWEsT0FBUSxTQUFRLHdCQUFVOzs7O0lBQ3JDLFlBQ0UsT0FBZ0IsRUFDaEIsUUFBZ0IsRUFDaEIsVUFBMEIsRUFBRTtRQUU1QixLQUFLLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDOzs7Ozs7SUFFUyxpQkFBaUIsQ0FBQyxRQUFtQjtRQUM3QyxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNSLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsTUFBTSxTQUFTLEdBQUcsb0JBQVMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDMUQsV0FBVyxFQUFFLElBQUk7WUFDakIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1NBQ3RCLENBQUMsQ0FBQztRQUVILE9BQU87WUFDTCxTQUFTO1lBQ1QsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxPQUFPLENBQUMsYUFBYSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQzlELENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2YsQ0FBQzs7QUF4QkgsMEJBeUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlIGFzIGNyZWF0ZXhtbCB9IGZyb20gXCJ4bWxidWlsZGVyMlwiO1xuaW1wb3J0IHsgSVJlc29sdmVyIH0gZnJvbSBcIi4vZmlsZVwiO1xuaW1wb3J0IHsgT2JqZWN0RmlsZSwgT2JqZWN0RmlsZU9wdGlvbnMgfSBmcm9tIFwiLi9vYmplY3QtZmlsZVwiO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gXCIuL3Byb2plY3RcIjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIFhtbEZpbGVPcHRpb25zIGV4dGVuZHMgT2JqZWN0RmlsZU9wdGlvbnMge31cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBYbWxGaWxlIGV4dGVuZHMgT2JqZWN0RmlsZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb2plY3Q6IFByb2plY3QsXG4gICAgZmlsZVBhdGg6IHN0cmluZyxcbiAgICBvcHRpb25zOiBYbWxGaWxlT3B0aW9ucyA9IHt9XG4gICkge1xuICAgIHN1cGVyKHByb2plY3QsIGZpbGVQYXRoLCBvcHRpb25zKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQ29udGVudChyZXNvbHZlcjogSVJlc29sdmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBvYmogPSBzdXBlci5zeW50aGVzaXplQ29udGVudChyZXNvbHZlcik7XG4gICAgaWYgKCFvYmopIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgeG1sU3RyaW5nID0gY3JlYXRleG1sKHsgZW5jb2Rpbmc6IFwiVVRGLThcIiB9LCBvYmopLmVuZCh7XG4gICAgICBwcmV0dHlQcmludDogdHJ1ZSxcbiAgICAgIGluZGVudDogXCIgXCIucmVwZWF0KDQpLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIFtcbiAgICAgIHhtbFN0cmluZyxcbiAgICAgIC4uLih0aGlzLm1hcmtlciA/IFtgPCEtLSAke1htbEZpbGUuUFJPSkVOX01BUktFUn0gLS0+YF0gOiBbXSksXG4gICAgXS5qb2luKFwiXFxuXCIpO1xuICB9XG59XG4iXX0=
package/lib/yaml.d.ts CHANGED
@@ -7,6 +7,13 @@ import { Project } from "./project";
7
7
  * @experimental
8
8
  */
9
9
  export interface YamlFileOptions extends ObjectFileOptions {
10
+ /**
11
+ * (experimental) Maximum line width (set to 0 to disable folding).
12
+ *
13
+ * @default - 0
14
+ * @experimental
15
+ */
16
+ readonly lineWidth?: number;
10
17
  }
11
18
  /**
12
19
  * (experimental) Represents a YAML file.
@@ -14,6 +21,12 @@ export interface YamlFileOptions extends ObjectFileOptions {
14
21
  * @experimental
15
22
  */
16
23
  export declare class YamlFile extends ObjectFile {
24
+ /**
25
+ * (experimental) Maximum line width (set to 0 to disable folding).
26
+ *
27
+ * @experimental
28
+ */
29
+ lineWidth: number;
17
30
  /**
18
31
  * @experimental
19
32
  */
package/lib/yaml.js CHANGED
@@ -15,7 +15,9 @@ class YamlFile extends object_file_1.ObjectFile {
15
15
  * @experimental
16
16
  */
17
17
  constructor(project, filePath, options) {
18
+ var _b;
18
19
  super(project, filePath, options);
20
+ this.lineWidth = (_b = options.lineWidth) !== null && _b !== void 0 ? _b : 0;
19
21
  }
20
22
  /**
21
23
  * (experimental) Implemented by derived classes and returns the contents of the file to emit.
@@ -30,11 +32,14 @@ class YamlFile extends object_file_1.ObjectFile {
30
32
  return [
31
33
  ...(this.marker ? [`# ${YamlFile.PROJEN_MARKER}`] : []),
32
34
  "",
33
- YAML.stringify(JSON.parse(json), { indent: 2 }),
35
+ YAML.stringify(JSON.parse(json), {
36
+ indent: 2,
37
+ lineWidth: this.lineWidth,
38
+ }),
34
39
  ].join("\n");
35
40
  }
36
41
  }
37
42
  exports.YamlFile = YamlFile;
38
43
  _a = JSII_RTTI_SYMBOL_1;
39
- YamlFile[_a] = { fqn: "projen.YamlFile", version: "0.51.7" };
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFtbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy95YW1sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkJBQTZCO0FBRTdCLCtDQUE4RDs7Ozs7O0FBTzlELE1BQWEsUUFBUyxTQUFRLHdCQUFVOzs7O0lBQ3RDLFlBQVksT0FBZ0IsRUFBRSxRQUFnQixFQUFFLE9BQXdCO1FBQ3RFLEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Ozs7OztJQUVTLGlCQUFpQixDQUFDLFFBQW1CO1FBQzdDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxPQUFPO1lBQ0wsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3ZELEVBQUU7WUFDRixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7U0FDaEQsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDZixDQUFDOztBQWhCSCw0QkFpQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBZQU1MIGZyb20gXCJ5YW1sXCI7XG5pbXBvcnQgeyBJUmVzb2x2ZXIgfSBmcm9tIFwiLi9maWxlXCI7XG5pbXBvcnQgeyBPYmplY3RGaWxlLCBPYmplY3RGaWxlT3B0aW9ucyB9IGZyb20gXCIuL29iamVjdC1maWxlXCI7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSBcIi4vcHJvamVjdFwiO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIFlhbWxGaWxlT3B0aW9ucyBleHRlbmRzIE9iamVjdEZpbGVPcHRpb25zIHt9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBZYW1sRmlsZSBleHRlbmRzIE9iamVjdEZpbGUge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBmaWxlUGF0aDogc3RyaW5nLCBvcHRpb25zOiBZYW1sRmlsZU9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCBmaWxlUGF0aCwgb3B0aW9ucyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUNvbnRlbnQocmVzb2x2ZXI6IElSZXNvbHZlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QganNvbiA9IHN1cGVyLnN5bnRoZXNpemVDb250ZW50KHJlc29sdmVyKTtcbiAgICBpZiAoIWpzb24pIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLih0aGlzLm1hcmtlciA/IFtgIyAke1lhbWxGaWxlLlBST0pFTl9NQVJLRVJ9YF0gOiBbXSksXG4gICAgICBcIlwiLFxuICAgICAgWUFNTC5zdHJpbmdpZnkoSlNPTi5wYXJzZShqc29uKSwgeyBpbmRlbnQ6IDIgfSksXG4gICAgXS5qb2luKFwiXFxuXCIpO1xuICB9XG59XG4iXX0=
44
+ YamlFile[_a] = { fqn: "projen.YamlFile", version: "0.51.8" };
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFtbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy95YW1sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkJBQTZCO0FBRTdCLCtDQUE4RDs7Ozs7O0FBVTlELE1BQWEsUUFBUyxTQUFRLHdCQUFVOzs7O0lBSXRDLFlBQVksT0FBZ0IsRUFBRSxRQUFnQixFQUFFLE9BQXdCOztRQUN0RSxLQUFLLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsU0FBUyxTQUFHLE9BQU8sQ0FBQyxTQUFTLG1DQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDOzs7Ozs7SUFFUyxpQkFBaUIsQ0FBQyxRQUFtQjtRQUM3QyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsT0FBTztZQUNMLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN2RCxFQUFFO1lBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUMvQixNQUFNLEVBQUUsQ0FBQztnQkFDVCxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7YUFDMUIsQ0FBQztTQUNILENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2YsQ0FBQzs7QUF2QkgsNEJBd0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgWUFNTCBmcm9tIFwieWFtbFwiO1xuaW1wb3J0IHsgSVJlc29sdmVyIH0gZnJvbSBcIi4vZmlsZVwiO1xuaW1wb3J0IHsgT2JqZWN0RmlsZSwgT2JqZWN0RmlsZU9wdGlvbnMgfSBmcm9tIFwiLi9vYmplY3QtZmlsZVwiO1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gXCIuL3Byb2plY3RcIjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBZYW1sRmlsZU9wdGlvbnMgZXh0ZW5kcyBPYmplY3RGaWxlT3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsaW5lV2lkdGg/OiBudW1iZXI7XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBZYW1sRmlsZSBleHRlbmRzIE9iamVjdEZpbGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBsaW5lV2lkdGg6IG51bWJlcjtcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBmaWxlUGF0aDogc3RyaW5nLCBvcHRpb25zOiBZYW1sRmlsZU9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCBmaWxlUGF0aCwgb3B0aW9ucyk7XG4gICAgdGhpcy5saW5lV2lkdGggPSBvcHRpb25zLmxpbmVXaWR0aCA/PyAwO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVDb250ZW50KHJlc29sdmVyOiBJUmVzb2x2ZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGpzb24gPSBzdXBlci5zeW50aGVzaXplQ29udGVudChyZXNvbHZlcik7XG4gICAgaWYgKCFqc29uKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiBbXG4gICAgICAuLi4odGhpcy5tYXJrZXIgPyBbYCMgJHtZYW1sRmlsZS5QUk9KRU5fTUFSS0VSfWBdIDogW10pLFxuICAgICAgXCJcIixcbiAgICAgIFlBTUwuc3RyaW5naWZ5KEpTT04ucGFyc2UoanNvbiksIHtcbiAgICAgICAgaW5kZW50OiAyLFxuICAgICAgICBsaW5lV2lkdGg6IHRoaXMubGluZVdpZHRoLFxuICAgICAgfSksXG4gICAgXS5qb2luKFwiXFxuXCIpO1xuICB9XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- Copyright 2018 Eemeli Aro <eemeli@gmail.com>
1
+ Copyright Eemeli Aro <eemeli@gmail.com>
2
2
 
3
3
  Permission to use, copy, modify, and/or distribute this software for any purpose
4
4
  with or without fee is hereby granted, provided that the above copyright notice
@@ -1,26 +1,37 @@
1
1
  # YAML <a href="https://www.npmjs.com/package/yaml"><img align="right" src="https://badge.fury.io/js/yaml.svg" title="npm package" /></a>
2
2
 
3
- `yaml` is a JavaScript parser and stringifier for [YAML](http://yaml.org/), a human friendly data serialization standard. It supports both parsing and stringifying data using all versions of YAML, along with all common data schemas. As a particularly distinguishing feature, `yaml` fully supports reading and writing comments and blank lines in YAML documents.
3
+ `yaml` is a definitive library for [YAML](http://yaml.org/), the human friendly data serialization standard.
4
+ This library:
4
5
 
5
- The library is released under the ISC open source license, and the code is [available on GitHub](https://github.com/eemeli/yaml/). It has no external dependencies and runs on Node.js 6 and later, and in browsers from IE 11 upwards.
6
+ - Supports both YAML 1.1 and YAML 1.2 and all common data schemas,
7
+ - Passes all of the [yaml-test-suite](https://github.com/yaml/yaml-test-suite) tests,
8
+ - Can accept any string as input without throwing, parsing as much YAML out of it as it can, and
9
+ - Supports parsing, modifying, and writing YAML comments and blank lines.
6
10
 
7
- For the purposes of versioning, any changes that break any of the endpoints or APIs documented here will be considered semver-major breaking changes. Undocumented library internals may change between minor versions, and previous APIs may be deprecated (but not removed).
11
+ The library is released under the ISC open source license, and the code is [available on GitHub](https://github.com/eemeli/yaml/).
12
+ It has no external dependencies and runs on Node.js as well as modern browsers.
8
13
 
9
- For more information, see the project's documentation site: [**eemeli.org/yaml/v1**](https://eemeli.org/yaml/v1/)
14
+ For the purposes of versioning, any changes that break any of the documented endpoints or APIs will be considered semver-major breaking changes.
15
+ Undocumented library internals may change between minor versions, and previous APIs may be deprecated (but not removed).
16
+
17
+ For more information, see the project's documentation site: [**eemeli.org/yaml**](https://eemeli.org/yaml/)
10
18
 
11
19
  To install:
12
20
 
13
21
  ```sh
14
- npm install yaml
22
+ npm install --save-exact yaml@next
15
23
  ```
16
24
 
17
- **Note:** This is `yaml@1`. You may also be interested in the next version, currently available as [`yaml@next`](https://www.npmjs.com/package/yaml/v/next).
25
+ **Note:** These docs are for `yaml@2`. For v1, see the [v1.10.0 tag](https://github.com/eemeli/yaml/tree/v1.10.0) for the source and [eemeli.org/yaml/v1](https://eemeli.org/yaml/v1/) for the documentation.
18
26
 
19
27
  ## API Overview
20
28
 
21
- The API provided by `yaml` has three layers, depending on how deep you need to go: [Parse & Stringify](https://eemeli.org/yaml/v1/#parse-amp-stringify), [Documents](https://eemeli.org/yaml/#documents), and the [CST Parser](https://eemeli.org/yaml/#cst-parser). The first has the simplest API and "just works", the second gets you all the bells and whistles supported by the library along with a decent [AST](https://eemeli.org/yaml/#content-nodes), and the third is the closest to YAML source, making it fast, raw, and crude.
29
+ The API provided by `yaml` has three layers, depending on how deep you need to go: [Parse & Stringify](https://eemeli.org/yaml/#parse-amp-stringify), [Documents](https://eemeli.org/yaml/#documents), and the underlying [Lexer/Parser/Composer](https://eemeli.org/yaml/#parsing-yaml).
30
+ The first has the simplest API and "just works", the second gets you all the bells and whistles supported by the library along with a decent [AST](https://eemeli.org/yaml/#content-nodes), and the third lets you get progressively closer to YAML source, if that's your thing.
22
31
 
23
32
  ```js
33
+ import { parse, stringify } from 'yaml'
34
+ // or
24
35
  import YAML from 'yaml'
25
36
  // or
26
37
  const YAML = require('yaml')
@@ -28,38 +39,44 @@ const YAML = require('yaml')
28
39
 
29
40
  ### Parse & Stringify
30
41
 
31
- - [`YAML.parse(str, options): value`](https://eemeli.org/yaml/v1/#yaml-parse)
32
- - [`YAML.stringify(value, options): string`](https://eemeli.org/yaml/v1/#yaml-stringify)
33
-
34
- ### YAML Documents
35
-
36
- - [`YAML.createNode(value, wrapScalars, tag): Node`](https://eemeli.org/yaml/v1/#creating-nodes)
37
- - [`YAML.defaultOptions`](https://eemeli.org/yaml/v1/#options)
38
- - [`YAML.Document`](https://eemeli.org/yaml/v1/#yaml-documents)
39
- - [`constructor(options)`](https://eemeli.org/yaml/v1/#creating-documents)
40
- - [`defaults`](https://eemeli.org/yaml/v1/#options)
41
- - [`#anchors`](https://eemeli.org/yaml/v1/#working-with-anchors)
42
- - [`#contents`](https://eemeli.org/yaml/v1/#content-nodes)
43
- - [`#errors`](https://eemeli.org/yaml/v1/#errors)
44
- - [`YAML.parseAllDocuments(str, options): YAML.Document[]`](https://eemeli.org/yaml/v1/#parsing-documents)
45
- - [`YAML.parseDocument(str, options): YAML.Document`](https://eemeli.org/yaml/v1/#parsing-documents)
46
-
47
- ```js
48
- import { Pair, YAMLMap, YAMLSeq } from 'yaml/types'
49
- ```
50
-
51
- - [`new Pair(key, value)`](https://eemeli.org/yaml/v1/#creating-nodes)
52
- - [`new YAMLMap()`](https://eemeli.org/yaml/v1/#creating-nodes)
53
- - [`new YAMLSeq()`](https://eemeli.org/yaml/v1/#creating-nodes)
54
-
55
- ### CST Parser
56
-
57
- ```js
58
- import parseCST from 'yaml/parse-cst'
59
- ```
60
-
61
- - [`parseCST(str): CSTDocument[]`](https://eemeli.org/yaml/v1/#parsecst)
62
- - [`YAML.parseCST(str): CSTDocument[]`](https://eemeli.org/yaml/v1/#parsecst)
42
+ - [`parse(str, reviver?, options?): value`](https://eemeli.org/yaml/#yaml-parse)
43
+ - [`stringify(value, replacer?, options?): string`](https://eemeli.org/yaml/#yaml-stringify)
44
+
45
+ ### Documents
46
+
47
+ - [`Document`](https://eemeli.org/yaml/#documents)
48
+ - [`constructor(value, replacer?, options?)`](https://eemeli.org/yaml/#creating-documents)
49
+ - [`#anchors`](https://eemeli.org/yaml/#working-with-anchors)
50
+ - [`#contents`](https://eemeli.org/yaml/#content-nodes)
51
+ - [`#directives`](https://eemeli.org/yaml/#stream-directives)
52
+ - [`#errors`](https://eemeli.org/yaml/#errors)
53
+ - [`#warnings`](https://eemeli.org/yaml/#errors)
54
+ - [`isDocument(foo): boolean`](https://eemeli.org/yaml/#identifying-nodes)
55
+ - [`parseAllDocuments(str, options?): Document[]`](https://eemeli.org/yaml/#parsing-documents)
56
+ - [`parseDocument(str, options?): Document`](https://eemeli.org/yaml/#parsing-documents)
57
+
58
+ ### Content Nodes
59
+
60
+ - [`isAlias(foo): boolean`](https://eemeli.org/yaml/#identifying-nodes)
61
+ - [`isCollection(foo): boolean`](https://eemeli.org/yaml/#identifying-nodes)
62
+ - [`isMap(foo): boolean`](https://eemeli.org/yaml/#identifying-nodes)
63
+ - [`isNode(foo): boolean`](https://eemeli.org/yaml/#identifying-nodes)
64
+ - [`isPair(foo): boolean`](https://eemeli.org/yaml/#identifying-nodes)
65
+ - [`isScalar(foo): boolean`](https://eemeli.org/yaml/#identifying-nodes)
66
+ - [`isSeq(foo): boolean`](https://eemeli.org/yaml/#identifying-nodes)
67
+ - [`new Scalar(value)`](https://eemeli.org/yaml/#scalar-values)
68
+ - [`new YAMLMap()`](https://eemeli.org/yaml/#collections)
69
+ - [`new YAMLSeq()`](https://eemeli.org/yaml/#collections)
70
+ - [`doc.createAlias(node, name?): Alias`](https://eemeli.org/yaml/#working-with-anchors)
71
+ - [`doc.createNode(value, options?): Node`](https://eemeli.org/yaml/#creating-nodes)
72
+ - [`doc.createPair(key, value): Pair`](https://eemeli.org/yaml/#creating-nodes)
73
+ - [`visit(node, visitor)`](https://eemeli.org/yaml/#modifying-nodes)
74
+
75
+ ### Parsing YAML
76
+
77
+ - [`new Lexer().lex(src)`](https://eemeli.org/yaml/#lexer)
78
+ - [`new Parser(onNewLine?).parse(src)`](https://eemeli.org/yaml/#parser)
79
+ - [`new Composer(options?).compose(tokens)`](https://eemeli.org/yaml/#composer)
63
80
 
64
81
  ## YAML.parse
65
82
 
@@ -111,9 +128,8 @@ YAML.stringify([true, false, 'maybe', null])
111
128
  YAML.stringify({ number: 3, plain: 'string', block: 'two\nlines\n' })
112
129
  // `number: 3
113
130
  // plain: string
114
- // block: >
131
+ // block: |
115
132
  // two
116
- //
117
133
  // lines
118
134
  // `
119
135
  ```
@@ -0,0 +1,59 @@
1
+ import { isNode, isMap } from '../nodes/Node.js';
2
+ import { Scalar } from '../nodes/Scalar.js';
3
+ import { resolveBlockMap } from './resolve-block-map.js';
4
+ import { resolveBlockSeq } from './resolve-block-seq.js';
5
+ import { resolveFlowCollection } from './resolve-flow-collection.js';
6
+
7
+ function composeCollection(CN, ctx, token, tagToken, onError) {
8
+ let coll;
9
+ switch (token.type) {
10
+ case 'block-map': {
11
+ coll = resolveBlockMap(CN, ctx, token, onError);
12
+ break;
13
+ }
14
+ case 'block-seq': {
15
+ coll = resolveBlockSeq(CN, ctx, token, onError);
16
+ break;
17
+ }
18
+ case 'flow-collection': {
19
+ coll = resolveFlowCollection(CN, ctx, token, onError);
20
+ break;
21
+ }
22
+ }
23
+ if (!tagToken)
24
+ return coll;
25
+ const tagName = ctx.directives.tagName(tagToken.source, msg => onError(tagToken, 'TAG_RESOLVE_FAILED', msg));
26
+ if (!tagName)
27
+ return coll;
28
+ // Cast needed due to: https://github.com/Microsoft/TypeScript/issues/3841
29
+ const Coll = coll.constructor;
30
+ if (tagName === '!' || tagName === Coll.tagName) {
31
+ coll.tag = Coll.tagName;
32
+ return coll;
33
+ }
34
+ const expType = isMap(coll) ? 'map' : 'seq';
35
+ let tag = ctx.schema.tags.find(t => t.collection === expType && t.tag === tagName);
36
+ if (!tag) {
37
+ const kt = ctx.schema.knownTags[tagName];
38
+ if (kt && kt.collection === expType) {
39
+ ctx.schema.tags.push(Object.assign({}, kt, { default: false }));
40
+ tag = kt;
41
+ }
42
+ else {
43
+ onError(tagToken, 'TAG_RESOLVE_FAILED', `Unresolved tag: ${tagName}`, true);
44
+ coll.tag = tagName;
45
+ return coll;
46
+ }
47
+ }
48
+ const res = tag.resolve(coll, msg => onError(tagToken, 'TAG_RESOLVE_FAILED', msg), ctx.options);
49
+ const node = isNode(res)
50
+ ? res
51
+ : new Scalar(res);
52
+ node.range = coll.range;
53
+ node.tag = tagName;
54
+ if (tag === null || tag === void 0 ? void 0 : tag.format)
55
+ node.format = tag.format;
56
+ return node;
57
+ }
58
+
59
+ export { composeCollection };
@@ -0,0 +1,40 @@
1
+ import { Document } from '../doc/Document.js';
2
+ import { composeNode, composeEmptyNode } from './compose-node.js';
3
+ import { resolveEnd } from './resolve-end.js';
4
+ import { resolveProps } from './resolve-props.js';
5
+
6
+ function composeDoc(options, directives, { offset, start, value, end }, onError) {
7
+ const opts = Object.assign({ directives }, options);
8
+ const doc = new Document(undefined, opts);
9
+ const ctx = {
10
+ atRoot: true,
11
+ directives: doc.directives,
12
+ options: doc.options,
13
+ schema: doc.schema
14
+ };
15
+ const props = resolveProps(start, {
16
+ indicator: 'doc-start',
17
+ next: value || (end === null || end === void 0 ? void 0 : end[0]),
18
+ offset,
19
+ onError,
20
+ startOnNewline: true
21
+ });
22
+ if (props.found) {
23
+ doc.directives.marker = true;
24
+ if (value &&
25
+ (value.type === 'block-map' || value.type === 'block-seq') &&
26
+ !props.hasNewline)
27
+ onError(props.end, 'MISSING_CHAR', 'Block collection cannot start on same line with directives-end marker');
28
+ }
29
+ doc.contents = value
30
+ ? composeNode(ctx, value, props, onError)
31
+ : composeEmptyNode(ctx, props.end, start, null, props, onError);
32
+ const contentEnd = doc.contents.range[2];
33
+ const re = resolveEnd(end, contentEnd, false, onError);
34
+ if (re.comment)
35
+ doc.comment = re.comment;
36
+ doc.range = [offset, contentEnd, re.offset];
37
+ return doc;
38
+ }
39
+
40
+ export { composeDoc };
@@ -0,0 +1,81 @@
1
+ import { Alias } from '../nodes/Alias.js';
2
+ import { composeCollection } from './compose-collection.js';
3
+ import { composeScalar } from './compose-scalar.js';
4
+ import { resolveEnd } from './resolve-end.js';
5
+ import { emptyScalarPosition } from './util-empty-scalar-position.js';
6
+
7
+ const CN = { composeNode, composeEmptyNode };
8
+ function composeNode(ctx, token, props, onError) {
9
+ const { spaceBefore, comment, anchor, tag } = props;
10
+ let node;
11
+ switch (token.type) {
12
+ case 'alias':
13
+ node = composeAlias(ctx, token, onError);
14
+ if (anchor || tag)
15
+ onError(token, 'ALIAS_PROPS', 'An alias node must not specify any properties');
16
+ break;
17
+ case 'scalar':
18
+ case 'single-quoted-scalar':
19
+ case 'double-quoted-scalar':
20
+ case 'block-scalar':
21
+ node = composeScalar(ctx, token, tag, onError);
22
+ if (anchor)
23
+ node.anchor = anchor.source.substring(1);
24
+ break;
25
+ case 'block-map':
26
+ case 'block-seq':
27
+ case 'flow-collection':
28
+ node = composeCollection(CN, ctx, token, tag, onError);
29
+ if (anchor)
30
+ node.anchor = anchor.source.substring(1);
31
+ break;
32
+ default:
33
+ console.log(token);
34
+ throw new Error(`Unsupporten token type: ${token.type}`);
35
+ }
36
+ if (anchor && node.anchor === '')
37
+ onError(anchor, 'BAD_ALIAS', 'Anchor cannot be an empty string');
38
+ if (spaceBefore)
39
+ node.spaceBefore = true;
40
+ if (comment) {
41
+ if (token.type === 'scalar' && token.source === '')
42
+ node.comment = comment;
43
+ else
44
+ node.commentBefore = comment;
45
+ }
46
+ if (ctx.options.keepSourceTokens)
47
+ node.srcToken = token;
48
+ return node;
49
+ }
50
+ function composeEmptyNode(ctx, offset, before, pos, { spaceBefore, comment, anchor, tag }, onError) {
51
+ const token = {
52
+ type: 'scalar',
53
+ offset: emptyScalarPosition(offset, before, pos),
54
+ indent: -1,
55
+ source: ''
56
+ };
57
+ const node = composeScalar(ctx, token, tag, onError);
58
+ if (anchor) {
59
+ node.anchor = anchor.source.substring(1);
60
+ if (node.anchor === '')
61
+ onError(anchor, 'BAD_ALIAS', 'Anchor cannot be an empty string');
62
+ }
63
+ if (spaceBefore)
64
+ node.spaceBefore = true;
65
+ if (comment)
66
+ node.comment = comment;
67
+ return node;
68
+ }
69
+ function composeAlias({ options }, { offset, source, end }, onError) {
70
+ const alias = new Alias(source.substring(1));
71
+ if (alias.source === '')
72
+ onError(offset, 'BAD_ALIAS', 'Alias cannot be an empty string');
73
+ const valueEnd = offset + source.length;
74
+ const re = resolveEnd(end, valueEnd, options.strict, onError);
75
+ alias.range = [offset, valueEnd, re.offset];
76
+ if (re.comment)
77
+ alias.comment = re.comment;
78
+ return alias;
79
+ }
80
+
81
+ export { composeEmptyNode, composeNode };