projen 0.51.4 → 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 (395) hide show
  1. package/.jsii +69 -9
  2. package/API.md +12 -1
  3. package/changelog.md +1 -1
  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 +9 -2
  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-util.js +12 -7
  37. package/lib/github/stale.d.ts +10 -1
  38. package/lib/github/stale.js +10 -2
  39. package/lib/github/task-workflow.js +1 -1
  40. package/lib/github/workflows.js +1 -1
  41. package/lib/gitlab/configuration.js +1 -1
  42. package/lib/gitlab/gitlab-configuration.js +1 -1
  43. package/lib/gitlab/nested-configuration.js +1 -1
  44. package/lib/gitpod.js +1 -1
  45. package/lib/ignore-file.js +1 -1
  46. package/lib/ini.js +1 -1
  47. package/lib/java/java-project.js +1 -1
  48. package/lib/java/junit.js +1 -1
  49. package/lib/java/maven-compile.js +1 -1
  50. package/lib/java/maven-packaging.js +1 -1
  51. package/lib/java/maven-sample.js +1 -1
  52. package/lib/java/pom.js +1 -1
  53. package/lib/java/projenrc.js +1 -1
  54. package/lib/javascript/bundler.js +1 -1
  55. package/lib/javascript/eslint.js +1 -1
  56. package/lib/javascript/jest.js +1 -1
  57. package/lib/javascript/node-package.js +1 -1
  58. package/lib/javascript/node-project.js +1 -1
  59. package/lib/javascript/npm-config.js +1 -1
  60. package/lib/javascript/prettier.js +1 -1
  61. package/lib/javascript/projenrc.js +1 -1
  62. package/lib/javascript/typescript-config.js +1 -1
  63. package/lib/javascript/upgrade-dependencies.js +2 -2
  64. package/lib/json.js +1 -1
  65. package/lib/license.js +1 -1
  66. package/lib/logger.js +1 -1
  67. package/lib/makefile.js +1 -1
  68. package/lib/object-file.js +1 -1
  69. package/lib/project-build.js +1 -1
  70. package/lib/project.js +1 -1
  71. package/lib/projects.js +1 -1
  72. package/lib/projenrc-json.js +1 -1
  73. package/lib/python/pip.js +1 -1
  74. package/lib/python/poetry.js +2 -2
  75. package/lib/python/projenrc.js +1 -1
  76. package/lib/python/pytest.js +1 -1
  77. package/lib/python/python-project.js +1 -1
  78. package/lib/python/python-sample.js +1 -1
  79. package/lib/python/requirements-file.js +1 -1
  80. package/lib/python/setuppy.js +1 -1
  81. package/lib/python/setuptools.js +1 -1
  82. package/lib/python/venv.js +1 -1
  83. package/lib/readme.js +1 -1
  84. package/lib/release/publisher.js +1 -1
  85. package/lib/release/release-trigger.js +1 -1
  86. package/lib/release/release.js +1 -1
  87. package/lib/sample-file.js +2 -2
  88. package/lib/semver.js +1 -1
  89. package/lib/source-code.js +1 -1
  90. package/lib/task-runtime.js +1 -1
  91. package/lib/task.js +1 -1
  92. package/lib/tasks.js +1 -1
  93. package/lib/testing.js +1 -1
  94. package/lib/textfile.js +1 -1
  95. package/lib/toml.js +1 -1
  96. package/lib/typescript/projenrc.js +1 -1
  97. package/lib/typescript/typescript-typedoc.js +1 -1
  98. package/lib/typescript/typescript.js +3 -3
  99. package/lib/version.js +1 -1
  100. package/lib/vscode/devcontainer.js +1 -1
  101. package/lib/vscode/launch-config.js +1 -1
  102. package/lib/vscode/vscode.js +1 -1
  103. package/lib/web/next.js +3 -3
  104. package/lib/web/postcss.js +1 -1
  105. package/lib/web/react.js +4 -4
  106. package/lib/web/tailwind.js +1 -1
  107. package/lib/xmlfile.js +1 -1
  108. package/lib/yaml.d.ts +13 -0
  109. package/lib/yaml.js +8 -3
  110. package/node_modules/{fs-extra/node_modules/universalify → universalify}/LICENSE +0 -0
  111. package/node_modules/{fs-extra/node_modules/universalify → universalify}/README.md +0 -0
  112. package/node_modules/{fs-extra/node_modules/universalify → universalify}/index.js +0 -0
  113. package/node_modules/{fs-extra/node_modules/universalify → universalify}/package.json +0 -0
  114. package/node_modules/yaml/LICENSE +1 -1
  115. package/node_modules/yaml/README.md +57 -41
  116. package/node_modules/yaml/browser/dist/compose/compose-collection.js +59 -0
  117. package/node_modules/yaml/browser/dist/compose/compose-doc.js +40 -0
  118. package/node_modules/yaml/browser/dist/compose/compose-node.js +81 -0
  119. package/node_modules/yaml/browser/dist/compose/compose-scalar.js +81 -0
  120. package/node_modules/yaml/browser/dist/compose/composer.js +219 -0
  121. package/node_modules/yaml/browser/dist/compose/resolve-block-map.js +107 -0
  122. package/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +185 -0
  123. package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +45 -0
  124. package/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
  125. package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +200 -0
  126. package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +223 -0
  127. package/node_modules/yaml/browser/dist/compose/resolve-props.js +128 -0
  128. package/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
  129. package/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +27 -0
  130. package/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
  131. package/node_modules/yaml/browser/dist/compose/util-map-includes.js +17 -0
  132. package/node_modules/yaml/browser/dist/doc/Document.js +321 -0
  133. package/node_modules/yaml/browser/dist/doc/anchors.js +72 -0
  134. package/node_modules/yaml/browser/dist/doc/applyReviver.js +54 -0
  135. package/node_modules/yaml/browser/dist/doc/createNode.js +84 -0
  136. package/node_modules/yaml/browser/dist/doc/directives.js +166 -0
  137. package/node_modules/yaml/browser/dist/errors.js +57 -0
  138. package/node_modules/yaml/browser/dist/index.js +18 -1002
  139. package/node_modules/yaml/browser/dist/log.js +14 -0
  140. package/node_modules/yaml/browser/dist/node_modules/tslib/tslib.es6.js +164 -0
  141. package/node_modules/yaml/browser/dist/nodes/Alias.js +94 -0
  142. package/node_modules/yaml/browser/dist/nodes/Collection.js +146 -0
  143. package/node_modules/yaml/browser/dist/nodes/Node.js +48 -0
  144. package/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
  145. package/node_modules/yaml/browser/dist/nodes/Scalar.js +23 -0
  146. package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +116 -0
  147. package/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +105 -0
  148. package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +104 -0
  149. package/node_modules/yaml/browser/dist/nodes/toJS.js +35 -0
  150. package/node_modules/yaml/browser/dist/options.js +18 -0
  151. package/node_modules/yaml/browser/dist/parse/cst-scalar.js +215 -0
  152. package/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
  153. package/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
  154. package/node_modules/yaml/browser/dist/parse/cst.js +98 -0
  155. package/node_modules/yaml/browser/dist/parse/lexer.js +692 -0
  156. package/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
  157. package/node_modules/yaml/browser/dist/parse/parser.js +882 -0
  158. package/node_modules/yaml/browser/dist/public-api.js +99 -0
  159. package/node_modules/yaml/browser/dist/schema/Schema.js +34 -0
  160. package/node_modules/yaml/browser/dist/schema/common/map.js +42 -0
  161. package/node_modules/yaml/browser/dist/schema/common/null.js +13 -0
  162. package/node_modules/yaml/browser/dist/schema/common/seq.js +33 -0
  163. package/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
  164. package/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
  165. package/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
  166. package/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
  167. package/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
  168. package/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
  169. package/node_modules/yaml/browser/dist/schema/tags.js +83 -0
  170. package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +66 -0
  171. package/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
  172. package/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
  173. package/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
  174. package/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +73 -0
  175. package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +77 -0
  176. package/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +37 -0
  177. package/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +87 -0
  178. package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
  179. package/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +135 -0
  180. package/node_modules/yaml/browser/dist/stringify/stringify.js +124 -0
  181. package/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +152 -0
  182. package/node_modules/yaml/browser/dist/stringify/stringifyComment.js +18 -0
  183. package/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +68 -0
  184. package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +24 -0
  185. package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +122 -0
  186. package/node_modules/yaml/browser/dist/stringify/stringifyString.js +314 -0
  187. package/node_modules/yaml/browser/dist/util.js +9 -2
  188. package/node_modules/yaml/browser/dist/visit.js +146 -0
  189. package/node_modules/yaml/browser/index.js +5 -1
  190. package/node_modules/yaml/browser/package.json +3 -0
  191. package/node_modules/yaml/dist/compose/compose-collection.d.ts +5 -0
  192. package/node_modules/yaml/dist/compose/compose-collection.js +61 -0
  193. package/node_modules/yaml/dist/compose/compose-doc.d.ts +6 -0
  194. package/node_modules/yaml/dist/compose/compose-doc.js +42 -0
  195. package/node_modules/yaml/dist/compose/compose-node.d.ts +26 -0
  196. package/node_modules/yaml/dist/compose/compose-node.js +84 -0
  197. package/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
  198. package/node_modules/yaml/dist/compose/compose-scalar.js +83 -0
  199. package/node_modules/yaml/dist/compose/composer.d.ts +62 -0
  200. package/node_modules/yaml/dist/compose/composer.js +223 -0
  201. package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
  202. package/node_modules/yaml/dist/compose/resolve-block-map.js +109 -0
  203. package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +10 -0
  204. package/node_modules/yaml/dist/compose/resolve-block-scalar.js +187 -0
  205. package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +5 -0
  206. package/node_modules/yaml/dist/compose/resolve-block-seq.js +47 -0
  207. package/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
  208. package/node_modules/yaml/dist/compose/resolve-end.js +39 -0
  209. package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +6 -0
  210. package/node_modules/yaml/dist/compose/resolve-flow-collection.js +202 -0
  211. package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
  212. package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +225 -0
  213. package/node_modules/yaml/dist/compose/resolve-props.d.ts +21 -0
  214. package/node_modules/yaml/dist/compose/resolve-props.js +130 -0
  215. package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
  216. package/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
  217. package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
  218. package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +29 -0
  219. package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
  220. package/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
  221. package/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
  222. package/node_modules/yaml/dist/compose/util-map-includes.js +19 -0
  223. package/node_modules/yaml/dist/doc/Document.d.ts +139 -0
  224. package/node_modules/yaml/dist/doc/Document.js +323 -0
  225. package/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
  226. package/node_modules/yaml/dist/doc/anchors.js +77 -0
  227. package/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
  228. package/node_modules/yaml/dist/doc/applyReviver.js +56 -0
  229. package/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
  230. package/node_modules/yaml/dist/doc/createNode.js +86 -0
  231. package/node_modules/yaml/dist/doc/directives.d.ts +47 -0
  232. package/node_modules/yaml/dist/doc/directives.js +168 -0
  233. package/node_modules/yaml/dist/errors.d.ts +21 -0
  234. package/node_modules/yaml/dist/errors.js +62 -0
  235. package/node_modules/yaml/dist/index.d.ts +19 -0
  236. package/node_modules/yaml/dist/index.js +49 -77
  237. package/node_modules/yaml/dist/log.d.ts +3 -0
  238. package/node_modules/yaml/dist/log.js +17 -0
  239. package/node_modules/yaml/dist/node_modules/tslib/tslib.es6.js +76 -0
  240. package/node_modules/yaml/dist/nodes/Alias.d.ts +28 -0
  241. package/node_modules/yaml/dist/nodes/Alias.js +96 -0
  242. package/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
  243. package/node_modules/yaml/dist/nodes/Collection.js +150 -0
  244. package/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
  245. package/node_modules/yaml/dist/nodes/Node.js +66 -0
  246. package/node_modules/yaml/dist/nodes/Pair.d.ts +21 -0
  247. package/node_modules/yaml/dist/nodes/Pair.js +39 -0
  248. package/node_modules/yaml/dist/nodes/Scalar.d.ts +42 -0
  249. package/node_modules/yaml/dist/nodes/Scalar.js +26 -0
  250. package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +41 -0
  251. package/node_modules/yaml/dist/nodes/YAMLMap.js +119 -0
  252. package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +55 -0
  253. package/node_modules/yaml/dist/nodes/YAMLSeq.js +107 -0
  254. package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +3 -0
  255. package/node_modules/yaml/dist/nodes/addPairToJSMap.js +106 -0
  256. package/node_modules/yaml/dist/nodes/toJS.d.ts +30 -0
  257. package/node_modules/yaml/dist/nodes/toJS.js +37 -0
  258. package/node_modules/yaml/dist/options.d.ts +338 -0
  259. package/node_modules/yaml/dist/options.js +20 -0
  260. package/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
  261. package/node_modules/yaml/dist/parse/cst-scalar.js +219 -0
  262. package/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
  263. package/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
  264. package/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
  265. package/node_modules/yaml/dist/parse/cst-visit.js +99 -0
  266. package/node_modules/yaml/dist/parse/cst.d.ts +106 -0
  267. package/node_modules/yaml/dist/parse/cst.js +112 -0
  268. package/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
  269. package/node_modules/yaml/dist/parse/lexer.js +694 -0
  270. package/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
  271. package/node_modules/yaml/dist/parse/line-counter.js +41 -0
  272. package/node_modules/yaml/dist/parse/parser.d.ts +84 -0
  273. package/node_modules/yaml/dist/parse/parser.js +886 -0
  274. package/node_modules/yaml/dist/public-api.d.ts +43 -0
  275. package/node_modules/yaml/dist/public-api.js +104 -0
  276. package/node_modules/yaml/dist/schema/Schema.d.ts +18 -0
  277. package/node_modules/yaml/dist/schema/Schema.js +36 -0
  278. package/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
  279. package/node_modules/yaml/dist/schema/common/map.js +44 -0
  280. package/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
  281. package/node_modules/yaml/dist/schema/common/null.js +15 -0
  282. package/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
  283. package/node_modules/yaml/dist/schema/common/seq.js +35 -0
  284. package/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
  285. package/node_modules/yaml/dist/schema/common/string.js +16 -0
  286. package/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
  287. package/node_modules/yaml/dist/schema/core/bool.js +21 -0
  288. package/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
  289. package/node_modules/yaml/dist/schema/core/float.js +47 -0
  290. package/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
  291. package/node_modules/yaml/dist/schema/core/int.js +42 -0
  292. package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
  293. package/node_modules/yaml/dist/schema/core/schema.js +25 -0
  294. package/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
  295. package/node_modules/yaml/dist/schema/json/schema.js +64 -0
  296. package/node_modules/yaml/dist/schema/tags.d.ts +40 -0
  297. package/node_modules/yaml/dist/schema/tags.js +86 -0
  298. package/node_modules/yaml/dist/schema/types.d.ts +82 -0
  299. package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
  300. package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +68 -0
  301. package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
  302. package/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
  303. package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
  304. package/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
  305. package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
  306. package/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
  307. package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +21 -0
  308. package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +76 -0
  309. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
  310. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +81 -0
  311. package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
  312. package/node_modules/yaml/dist/schema/yaml-1.1/schema.js +39 -0
  313. package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +22 -0
  314. package/node_modules/yaml/dist/schema/yaml-1.1/set.js +90 -0
  315. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
  316. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
  317. package/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
  318. package/node_modules/yaml/dist/stringify/foldFlowLines.js +140 -0
  319. package/node_modules/yaml/dist/stringify/stringify.d.ts +20 -0
  320. package/node_modules/yaml/dist/stringify/stringify.js +127 -0
  321. package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
  322. package/node_modules/yaml/dist/stringify/stringifyCollection.js +154 -0
  323. package/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
  324. package/node_modules/yaml/dist/stringify/stringifyComment.js +22 -0
  325. package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +3 -0
  326. package/node_modules/yaml/dist/stringify/stringifyDocument.js +70 -0
  327. package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
  328. package/node_modules/yaml/dist/stringify/stringifyNumber.js +26 -0
  329. package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
  330. package/node_modules/yaml/dist/stringify/stringifyPair.js +124 -0
  331. package/node_modules/yaml/dist/stringify/stringifyString.d.ts +3 -0
  332. package/node_modules/yaml/dist/stringify/stringifyString.js +316 -0
  333. package/node_modules/yaml/dist/test-events.d.ts +4 -0
  334. package/node_modules/yaml/dist/test-events.js +126 -152
  335. package/node_modules/yaml/dist/util.d.ts +9 -0
  336. package/node_modules/yaml/dist/util.js +19 -14
  337. package/node_modules/yaml/dist/visit.d.ts +63 -0
  338. package/node_modules/yaml/dist/visit.js +148 -0
  339. package/node_modules/yaml/package.json +43 -55
  340. package/node_modules/yaml/util.d.ts +3 -86
  341. package/node_modules/yaml/util.js +2 -16
  342. package/package.json +3 -3
  343. package/releasetag.txt +1 -1
  344. package/version.txt +1 -1
  345. package/node_modules/jsonfile/node_modules/universalify/LICENSE +0 -20
  346. package/node_modules/jsonfile/node_modules/universalify/README.md +0 -76
  347. package/node_modules/jsonfile/node_modules/universalify/index.js +0 -24
  348. package/node_modules/jsonfile/node_modules/universalify/package.json +0 -34
  349. package/node_modules/yaml/browser/dist/PlainValue-b8036b75.js +0 -1275
  350. package/node_modules/yaml/browser/dist/Schema-e94716c8.js +0 -682
  351. package/node_modules/yaml/browser/dist/legacy-exports.js +0 -3
  352. package/node_modules/yaml/browser/dist/package.json +0 -1
  353. package/node_modules/yaml/browser/dist/parse-cst.js +0 -1904
  354. package/node_modules/yaml/browser/dist/resolveSeq-492ab440.js +0 -2419
  355. package/node_modules/yaml/browser/dist/types.js +0 -4
  356. package/node_modules/yaml/browser/dist/warnings-df54cb69.js +0 -499
  357. package/node_modules/yaml/browser/map.js +0 -2
  358. package/node_modules/yaml/browser/pair.js +0 -2
  359. package/node_modules/yaml/browser/parse-cst.js +0 -1
  360. package/node_modules/yaml/browser/scalar.js +0 -2
  361. package/node_modules/yaml/browser/schema.js +0 -9
  362. package/node_modules/yaml/browser/seq.js +0 -2
  363. package/node_modules/yaml/browser/types/binary.js +0 -8
  364. package/node_modules/yaml/browser/types/omap.js +0 -3
  365. package/node_modules/yaml/browser/types/pairs.js +0 -3
  366. package/node_modules/yaml/browser/types/set.js +0 -3
  367. package/node_modules/yaml/browser/types/timestamp.js +0 -10
  368. package/node_modules/yaml/browser/types.js +0 -1
  369. package/node_modules/yaml/browser/util.js +0 -1
  370. package/node_modules/yaml/dist/Document-9b4560a1.js +0 -757
  371. package/node_modules/yaml/dist/PlainValue-ec8e588e.js +0 -876
  372. package/node_modules/yaml/dist/Schema-88e323a7.js +0 -525
  373. package/node_modules/yaml/dist/legacy-exports.js +0 -16
  374. package/node_modules/yaml/dist/parse-cst.js +0 -1753
  375. package/node_modules/yaml/dist/resolveSeq-d03cb037.js +0 -2161
  376. package/node_modules/yaml/dist/types.js +0 -23
  377. package/node_modules/yaml/dist/warnings-1000a372.js +0 -416
  378. package/node_modules/yaml/index.d.ts +0 -372
  379. package/node_modules/yaml/index.js +0 -1
  380. package/node_modules/yaml/map.js +0 -2
  381. package/node_modules/yaml/pair.js +0 -2
  382. package/node_modules/yaml/parse-cst.d.ts +0 -191
  383. package/node_modules/yaml/parse-cst.js +0 -1
  384. package/node_modules/yaml/scalar.js +0 -2
  385. package/node_modules/yaml/schema.js +0 -9
  386. package/node_modules/yaml/seq.js +0 -2
  387. package/node_modules/yaml/types/binary.js +0 -8
  388. package/node_modules/yaml/types/omap.js +0 -3
  389. package/node_modules/yaml/types/pairs.js +0 -3
  390. package/node_modules/yaml/types/set.js +0 -3
  391. package/node_modules/yaml/types/timestamp.js +0 -10
  392. package/node_modules/yaml/types.d.ts +0 -407
  393. package/node_modules/yaml/types.js +0 -17
  394. package/node_modules/yaml/types.mjs +0 -17
  395. package/node_modules/yaml/util.mjs +0 -18
@@ -0,0 +1,84 @@
1
+ 'use strict';
2
+
3
+ var Alias = require('../nodes/Alias.js');
4
+ var composeCollection = require('./compose-collection.js');
5
+ var composeScalar = require('./compose-scalar.js');
6
+ var resolveEnd = require('./resolve-end.js');
7
+ var utilEmptyScalarPosition = require('./util-empty-scalar-position.js');
8
+
9
+ const CN = { composeNode, composeEmptyNode };
10
+ function composeNode(ctx, token, props, onError) {
11
+ const { spaceBefore, comment, anchor, tag } = props;
12
+ let node;
13
+ switch (token.type) {
14
+ case 'alias':
15
+ node = composeAlias(ctx, token, onError);
16
+ if (anchor || tag)
17
+ onError(token, 'ALIAS_PROPS', 'An alias node must not specify any properties');
18
+ break;
19
+ case 'scalar':
20
+ case 'single-quoted-scalar':
21
+ case 'double-quoted-scalar':
22
+ case 'block-scalar':
23
+ node = composeScalar.composeScalar(ctx, token, tag, onError);
24
+ if (anchor)
25
+ node.anchor = anchor.source.substring(1);
26
+ break;
27
+ case 'block-map':
28
+ case 'block-seq':
29
+ case 'flow-collection':
30
+ node = composeCollection.composeCollection(CN, ctx, token, tag, onError);
31
+ if (anchor)
32
+ node.anchor = anchor.source.substring(1);
33
+ break;
34
+ default:
35
+ console.log(token);
36
+ throw new Error(`Unsupporten token type: ${token.type}`);
37
+ }
38
+ if (anchor && node.anchor === '')
39
+ onError(anchor, 'BAD_ALIAS', 'Anchor cannot be an empty string');
40
+ if (spaceBefore)
41
+ node.spaceBefore = true;
42
+ if (comment) {
43
+ if (token.type === 'scalar' && token.source === '')
44
+ node.comment = comment;
45
+ else
46
+ node.commentBefore = comment;
47
+ }
48
+ if (ctx.options.keepSourceTokens)
49
+ node.srcToken = token;
50
+ return node;
51
+ }
52
+ function composeEmptyNode(ctx, offset, before, pos, { spaceBefore, comment, anchor, tag }, onError) {
53
+ const token = {
54
+ type: 'scalar',
55
+ offset: utilEmptyScalarPosition.emptyScalarPosition(offset, before, pos),
56
+ indent: -1,
57
+ source: ''
58
+ };
59
+ const node = composeScalar.composeScalar(ctx, token, tag, onError);
60
+ if (anchor) {
61
+ node.anchor = anchor.source.substring(1);
62
+ if (node.anchor === '')
63
+ onError(anchor, 'BAD_ALIAS', 'Anchor cannot be an empty string');
64
+ }
65
+ if (spaceBefore)
66
+ node.spaceBefore = true;
67
+ if (comment)
68
+ node.comment = comment;
69
+ return node;
70
+ }
71
+ function composeAlias({ options }, { offset, source, end }, onError) {
72
+ const alias = new Alias.Alias(source.substring(1));
73
+ if (alias.source === '')
74
+ onError(offset, 'BAD_ALIAS', 'Alias cannot be an empty string');
75
+ const valueEnd = offset + source.length;
76
+ const re = resolveEnd.resolveEnd(end, valueEnd, options.strict, onError);
77
+ alias.range = [offset, valueEnd, re.offset];
78
+ if (re.comment)
79
+ alias.comment = re.comment;
80
+ return alias;
81
+ }
82
+
83
+ exports.composeEmptyNode = composeEmptyNode;
84
+ exports.composeNode = composeNode;
@@ -0,0 +1,5 @@
1
+ import { Scalar } from '../nodes/Scalar.js';
2
+ import type { BlockScalar, FlowScalar, SourceToken } from '../parse/cst.js';
3
+ import type { ComposeContext } from './compose-node.js';
4
+ import type { ComposeErrorHandler } from './composer.js';
5
+ export declare function composeScalar(ctx: ComposeContext, token: FlowScalar | BlockScalar, tagToken: SourceToken | null, onError: ComposeErrorHandler): Scalar.Parsed;
@@ -0,0 +1,83 @@
1
+ 'use strict';
2
+
3
+ var Node = require('../nodes/Node.js');
4
+ var Scalar = require('../nodes/Scalar.js');
5
+ var resolveBlockScalar = require('./resolve-block-scalar.js');
6
+ var resolveFlowScalar = require('./resolve-flow-scalar.js');
7
+
8
+ function composeScalar(ctx, token, tagToken, onError) {
9
+ const { value, type, comment, range } = token.type === 'block-scalar'
10
+ ? resolveBlockScalar.resolveBlockScalar(token, ctx.options.strict, onError)
11
+ : resolveFlowScalar.resolveFlowScalar(token, ctx.options.strict, onError);
12
+ const tagName = tagToken
13
+ ? ctx.directives.tagName(tagToken.source, msg => onError(tagToken, 'TAG_RESOLVE_FAILED', msg))
14
+ : null;
15
+ const tag = tagToken && tagName
16
+ ? findScalarTagByName(ctx.schema, value, tagName, tagToken, onError)
17
+ : token.type === 'scalar'
18
+ ? findScalarTagByTest(ctx, value, token, onError)
19
+ : ctx.schema[Node.SCALAR];
20
+ let scalar;
21
+ try {
22
+ const res = tag.resolve(value, msg => onError(tagToken || token, 'TAG_RESOLVE_FAILED', msg), ctx.options);
23
+ scalar = Node.isScalar(res) ? res : new Scalar.Scalar(res);
24
+ }
25
+ catch (error) {
26
+ const msg = error instanceof Error ? error.message : String(error);
27
+ onError(tagToken || token, 'TAG_RESOLVE_FAILED', msg);
28
+ scalar = new Scalar.Scalar(value);
29
+ }
30
+ scalar.range = range;
31
+ scalar.source = value;
32
+ if (type)
33
+ scalar.type = type;
34
+ if (tagName)
35
+ scalar.tag = tagName;
36
+ if (tag.format)
37
+ scalar.format = tag.format;
38
+ if (comment)
39
+ scalar.comment = comment;
40
+ return scalar;
41
+ }
42
+ function findScalarTagByName(schema, value, tagName, tagToken, onError) {
43
+ var _a;
44
+ if (tagName === '!')
45
+ return schema[Node.SCALAR]; // non-specific tag
46
+ const matchWithTest = [];
47
+ for (const tag of schema.tags) {
48
+ if (!tag.collection && tag.tag === tagName) {
49
+ if (tag.default && tag.test)
50
+ matchWithTest.push(tag);
51
+ else
52
+ return tag;
53
+ }
54
+ }
55
+ for (const tag of matchWithTest)
56
+ if ((_a = tag.test) === null || _a === void 0 ? void 0 : _a.test(value))
57
+ return tag;
58
+ const kt = schema.knownTags[tagName];
59
+ if (kt && !kt.collection) {
60
+ // Ensure that the known tag is available for stringifying,
61
+ // but does not get used by default.
62
+ schema.tags.push(Object.assign({}, kt, { default: false, test: undefined }));
63
+ return kt;
64
+ }
65
+ onError(tagToken, 'TAG_RESOLVE_FAILED', `Unresolved tag: ${tagName}`, tagName !== 'tag:yaml.org,2002:str');
66
+ return schema[Node.SCALAR];
67
+ }
68
+ function findScalarTagByTest({ directives, schema }, value, token, onError) {
69
+ const tag = schema.tags.find(tag => { var _a; return tag.default && ((_a = tag.test) === null || _a === void 0 ? void 0 : _a.test(value)); }) || schema[Node.SCALAR];
70
+ if (schema.compat) {
71
+ const compat = schema.compat.find(tag => { var _a; return tag.default && ((_a = tag.test) === null || _a === void 0 ? void 0 : _a.test(value)); }) ||
72
+ schema[Node.SCALAR];
73
+ if (tag.tag !== compat.tag) {
74
+ const ts = directives.tagString(tag.tag);
75
+ const cs = directives.tagString(compat.tag);
76
+ const msg = `Value may be parsed as either ${ts} or ${cs}`;
77
+ onError(token, 'TAG_RESOLVE_FAILED', msg, true);
78
+ }
79
+ }
80
+ return tag;
81
+ }
82
+
83
+ exports.composeScalar = composeScalar;
@@ -0,0 +1,62 @@
1
+ import { Directives } from '../doc/directives.js';
2
+ import { Document } from '../doc/Document.js';
3
+ import { ErrorCode, YAMLParseError, YAMLWarning } from '../errors.js';
4
+ import { Range } from '../nodes/Node.js';
5
+ import { DocumentOptions, ParseOptions, SchemaOptions } from '../options.js';
6
+ import type { Token } from '../parse/cst.js';
7
+ declare type ErrorSource = number | [number, number] | Range | {
8
+ offset: number;
9
+ source?: string;
10
+ };
11
+ export declare type ComposeErrorHandler = (source: ErrorSource, code: ErrorCode, message: string, warning?: boolean) => void;
12
+ /**
13
+ * Compose a stream of CST nodes into a stream of YAML Documents.
14
+ *
15
+ * ```ts
16
+ * import { Composer, Parser } from 'yaml'
17
+ *
18
+ * const src: string = ...
19
+ * const tokens = new Parser().parse(src)
20
+ * const docs = new Composer().compose(tokens)
21
+ * ```
22
+ */
23
+ export declare class Composer {
24
+ private directives;
25
+ private doc;
26
+ private options;
27
+ private atDirectives;
28
+ private prelude;
29
+ private errors;
30
+ private warnings;
31
+ constructor(options?: ParseOptions & DocumentOptions & SchemaOptions);
32
+ private onError;
33
+ private decorate;
34
+ /**
35
+ * Current stream status information.
36
+ *
37
+ * Mostly useful at the end of input for an empty stream.
38
+ */
39
+ streamInfo(): {
40
+ comment: string;
41
+ directives: Directives;
42
+ errors: YAMLParseError[];
43
+ warnings: YAMLWarning[];
44
+ };
45
+ /**
46
+ * Compose tokens into documents.
47
+ *
48
+ * @param forceDoc - If the stream contains no document, still emit a final document including any comments and directives that would be applied to a subsequent document.
49
+ * @param endOffset - Should be set if `forceDoc` is also set, to set the document range end and to indicate errors correctly.
50
+ */
51
+ compose(tokens: Iterable<Token>, forceDoc?: boolean, endOffset?: number): Generator<Document.Parsed<import("../nodes/Node.js").ParsedNode>, void, unknown>;
52
+ /** Advance the composer by one CST token. */
53
+ next(token: Token): Generator<Document.Parsed<import("../nodes/Node.js").ParsedNode>, void, unknown>;
54
+ /**
55
+ * Call at end of input to yield any remaining document.
56
+ *
57
+ * @param forceDoc - If the stream contains no document, still emit a final document including any comments and directives that would be applied to a subsequent document.
58
+ * @param endOffset - Should be set if `forceDoc` is also set, to set the document range end and to indicate errors correctly.
59
+ */
60
+ end(forceDoc?: boolean, endOffset?: number): Generator<Document.Parsed<import("../nodes/Node.js").ParsedNode>, void, unknown>;
61
+ }
62
+ export {};
@@ -0,0 +1,223 @@
1
+ 'use strict';
2
+
3
+ var directives = require('../doc/directives.js');
4
+ var Document = require('../doc/Document.js');
5
+ var errors = require('../errors.js');
6
+ var Node = require('../nodes/Node.js');
7
+ var options = require('../options.js');
8
+ var composeDoc = require('./compose-doc.js');
9
+ var resolveEnd = require('./resolve-end.js');
10
+
11
+ function getErrorPos(src) {
12
+ if (typeof src === 'number')
13
+ return [src, src + 1];
14
+ if (Array.isArray(src))
15
+ return src.length === 2 ? src : [src[0], src[1]];
16
+ const { offset, source } = src;
17
+ return [offset, offset + (typeof source === 'string' ? source.length : 1)];
18
+ }
19
+ function parsePrelude(prelude) {
20
+ var _a;
21
+ let comment = '';
22
+ let atComment = false;
23
+ let afterEmptyLine = false;
24
+ for (let i = 0; i < prelude.length; ++i) {
25
+ const source = prelude[i];
26
+ switch (source[0]) {
27
+ case '#':
28
+ comment +=
29
+ (comment === '' ? '' : afterEmptyLine ? '\n\n' : '\n') +
30
+ (source.substring(1) || ' ');
31
+ atComment = true;
32
+ afterEmptyLine = false;
33
+ break;
34
+ case '%':
35
+ if (((_a = prelude[i + 1]) === null || _a === void 0 ? void 0 : _a[0]) !== '#')
36
+ i += 1;
37
+ atComment = false;
38
+ break;
39
+ default:
40
+ // This may be wrong after doc-end, but in that case it doesn't matter
41
+ if (!atComment)
42
+ afterEmptyLine = true;
43
+ atComment = false;
44
+ }
45
+ }
46
+ return { comment, afterEmptyLine };
47
+ }
48
+ /**
49
+ * Compose a stream of CST nodes into a stream of YAML Documents.
50
+ *
51
+ * ```ts
52
+ * import { Composer, Parser } from 'yaml'
53
+ *
54
+ * const src: string = ...
55
+ * const tokens = new Parser().parse(src)
56
+ * const docs = new Composer().compose(tokens)
57
+ * ```
58
+ */
59
+ class Composer {
60
+ constructor(options$1 = {}) {
61
+ this.doc = null;
62
+ this.atDirectives = false;
63
+ this.prelude = [];
64
+ this.errors = [];
65
+ this.warnings = [];
66
+ this.onError = (source, code, message, warning) => {
67
+ const pos = getErrorPos(source);
68
+ if (warning)
69
+ this.warnings.push(new errors.YAMLWarning(pos, code, message));
70
+ else
71
+ this.errors.push(new errors.YAMLParseError(pos, code, message));
72
+ };
73
+ this.directives = new directives.Directives({
74
+ version: options$1.version || options.defaultOptions.version
75
+ });
76
+ this.options = options$1;
77
+ }
78
+ decorate(doc, afterDoc) {
79
+ const { comment, afterEmptyLine } = parsePrelude(this.prelude);
80
+ //console.log({ dc: doc.comment, prelude, comment })
81
+ if (comment) {
82
+ const dc = doc.contents;
83
+ if (afterDoc) {
84
+ doc.comment = doc.comment ? `${doc.comment}\n${comment}` : comment;
85
+ }
86
+ else if (afterEmptyLine || doc.directives.marker || !dc) {
87
+ doc.commentBefore = comment;
88
+ }
89
+ else if (Node.isCollection(dc) && !dc.flow && dc.items.length > 0) {
90
+ let it = dc.items[0];
91
+ if (Node.isPair(it))
92
+ it = it.key;
93
+ const cb = it.commentBefore;
94
+ it.commentBefore = cb ? `${comment}\n${cb}` : comment;
95
+ }
96
+ else {
97
+ const cb = dc.commentBefore;
98
+ dc.commentBefore = cb ? `${comment}\n${cb}` : comment;
99
+ }
100
+ }
101
+ if (afterDoc) {
102
+ Array.prototype.push.apply(doc.errors, this.errors);
103
+ Array.prototype.push.apply(doc.warnings, this.warnings);
104
+ }
105
+ else {
106
+ doc.errors = this.errors;
107
+ doc.warnings = this.warnings;
108
+ }
109
+ this.prelude = [];
110
+ this.errors = [];
111
+ this.warnings = [];
112
+ }
113
+ /**
114
+ * Current stream status information.
115
+ *
116
+ * Mostly useful at the end of input for an empty stream.
117
+ */
118
+ streamInfo() {
119
+ return {
120
+ comment: parsePrelude(this.prelude).comment,
121
+ directives: this.directives,
122
+ errors: this.errors,
123
+ warnings: this.warnings
124
+ };
125
+ }
126
+ /**
127
+ * Compose tokens into documents.
128
+ *
129
+ * @param forceDoc - If the stream contains no document, still emit a final document including any comments and directives that would be applied to a subsequent document.
130
+ * @param endOffset - Should be set if `forceDoc` is also set, to set the document range end and to indicate errors correctly.
131
+ */
132
+ *compose(tokens, forceDoc = false, endOffset = -1) {
133
+ for (const token of tokens)
134
+ yield* this.next(token);
135
+ yield* this.end(forceDoc, endOffset);
136
+ }
137
+ /** Advance the composer by one CST token. */
138
+ *next(token) {
139
+ if (process.env.LOG_STREAM)
140
+ console.dir(token, { depth: null });
141
+ switch (token.type) {
142
+ case 'directive':
143
+ this.directives.add(token.source, (offset, message, warning) => {
144
+ const pos = getErrorPos(token);
145
+ pos[0] += offset;
146
+ this.onError(pos, 'BAD_DIRECTIVE', message, warning);
147
+ });
148
+ this.prelude.push(token.source);
149
+ this.atDirectives = true;
150
+ break;
151
+ case 'document': {
152
+ const doc = composeDoc.composeDoc(this.options, this.directives, token, this.onError);
153
+ if (this.atDirectives && !doc.directives.marker)
154
+ this.onError(token, 'MISSING_CHAR', 'Missing directives-end indicator line');
155
+ this.decorate(doc, false);
156
+ if (this.doc)
157
+ yield this.doc;
158
+ this.doc = doc;
159
+ this.atDirectives = false;
160
+ break;
161
+ }
162
+ case 'byte-order-mark':
163
+ case 'space':
164
+ break;
165
+ case 'comment':
166
+ case 'newline':
167
+ this.prelude.push(token.source);
168
+ break;
169
+ case 'error': {
170
+ const msg = token.source
171
+ ? `${token.message}: ${JSON.stringify(token.source)}`
172
+ : token.message;
173
+ const error = new errors.YAMLParseError(getErrorPos(token), 'UNEXPECTED_TOKEN', msg);
174
+ if (this.atDirectives || !this.doc)
175
+ this.errors.push(error);
176
+ else
177
+ this.doc.errors.push(error);
178
+ break;
179
+ }
180
+ case 'doc-end': {
181
+ if (!this.doc) {
182
+ const msg = 'Unexpected doc-end without preceding document';
183
+ this.errors.push(new errors.YAMLParseError(getErrorPos(token), 'UNEXPECTED_TOKEN', msg));
184
+ break;
185
+ }
186
+ const end = resolveEnd.resolveEnd(token.end, token.offset + token.source.length, this.doc.options.strict, this.onError);
187
+ this.decorate(this.doc, true);
188
+ if (end.comment) {
189
+ const dc = this.doc.comment;
190
+ this.doc.comment = dc ? `${dc}\n${end.comment}` : end.comment;
191
+ }
192
+ this.doc.range[2] = end.offset;
193
+ break;
194
+ }
195
+ default:
196
+ this.errors.push(new errors.YAMLParseError(getErrorPos(token), 'UNEXPECTED_TOKEN', `Unsupported token ${token.type}`));
197
+ }
198
+ }
199
+ /**
200
+ * Call at end of input to yield any remaining document.
201
+ *
202
+ * @param forceDoc - If the stream contains no document, still emit a final document including any comments and directives that would be applied to a subsequent document.
203
+ * @param endOffset - Should be set if `forceDoc` is also set, to set the document range end and to indicate errors correctly.
204
+ */
205
+ *end(forceDoc = false, endOffset = -1) {
206
+ if (this.doc) {
207
+ this.decorate(this.doc, true);
208
+ yield this.doc;
209
+ this.doc = null;
210
+ }
211
+ else if (forceDoc) {
212
+ const opts = Object.assign({ directives: this.directives }, this.options);
213
+ const doc = new Document.Document(undefined, opts);
214
+ if (this.atDirectives)
215
+ this.onError(endOffset, 'MISSING_CHAR', 'Missing directives-end indicator line');
216
+ doc.range = [0, endOffset, endOffset];
217
+ this.decorate(doc, false);
218
+ yield doc;
219
+ }
220
+ }
221
+ }
222
+
223
+ exports.Composer = Composer;
@@ -0,0 +1,6 @@
1
+ import type { ParsedNode } from '../nodes/Node.js';
2
+ import { YAMLMap } from '../nodes/YAMLMap.js';
3
+ import type { BlockMap } from '../parse/cst.js';
4
+ import type { ComposeContext, ComposeNode } from './compose-node.js';
5
+ import type { ComposeErrorHandler } from './composer.js';
6
+ export declare function resolveBlockMap({ composeNode, composeEmptyNode }: ComposeNode, ctx: ComposeContext, bm: BlockMap, onError: ComposeErrorHandler): YAMLMap.Parsed<ParsedNode, ParsedNode | null>;
@@ -0,0 +1,109 @@
1
+ 'use strict';
2
+
3
+ var Pair = require('../nodes/Pair.js');
4
+ var YAMLMap = require('../nodes/YAMLMap.js');
5
+ var resolveProps = require('./resolve-props.js');
6
+ var utilContainsNewline = require('./util-contains-newline.js');
7
+ var utilFlowIndentCheck = require('./util-flow-indent-check.js');
8
+ var utilMapIncludes = require('./util-map-includes.js');
9
+
10
+ const startColMsg = 'All mapping items must start at the same column';
11
+ function resolveBlockMap({ composeNode, composeEmptyNode }, ctx, bm, onError) {
12
+ var _a;
13
+ const map = new YAMLMap.YAMLMap(ctx.schema);
14
+ if (ctx.atRoot)
15
+ ctx.atRoot = false;
16
+ let offset = bm.offset;
17
+ for (const collItem of bm.items) {
18
+ const { start, key, sep, value } = collItem;
19
+ // key properties
20
+ const keyProps = resolveProps.resolveProps(start, {
21
+ indicator: 'explicit-key-ind',
22
+ next: key || (sep === null || sep === void 0 ? void 0 : sep[0]),
23
+ offset,
24
+ onError,
25
+ startOnNewline: true
26
+ });
27
+ const implicitKey = !keyProps.found;
28
+ if (implicitKey) {
29
+ if (key) {
30
+ if (key.type === 'block-seq')
31
+ onError(offset, 'BLOCK_AS_IMPLICIT_KEY', 'A block sequence may not be used as an implicit map key');
32
+ else if ('indent' in key && key.indent !== bm.indent)
33
+ onError(offset, 'BAD_INDENT', startColMsg);
34
+ }
35
+ if (!keyProps.anchor && !keyProps.tag && !sep) {
36
+ // TODO: assert being at last item?
37
+ if (keyProps.comment) {
38
+ if (map.comment)
39
+ map.comment += '\n' + keyProps.comment;
40
+ else
41
+ map.comment = keyProps.comment;
42
+ }
43
+ continue;
44
+ }
45
+ }
46
+ else if (((_a = keyProps.found) === null || _a === void 0 ? void 0 : _a.indent) !== bm.indent)
47
+ onError(offset, 'BAD_INDENT', startColMsg);
48
+ if (implicitKey && utilContainsNewline.containsNewline(key))
49
+ onError(key, // checked by containsNewline()
50
+ 'MULTILINE_IMPLICIT_KEY', 'Implicit keys need to be on a single line');
51
+ // key value
52
+ const keyStart = keyProps.end;
53
+ const keyNode = key
54
+ ? composeNode(ctx, key, keyProps, onError)
55
+ : composeEmptyNode(ctx, keyStart, start, null, keyProps, onError);
56
+ if (ctx.schema.compat)
57
+ utilFlowIndentCheck.flowIndentCheck(bm.indent, key, onError);
58
+ if (utilMapIncludes.mapIncludes(ctx, map.items, keyNode))
59
+ onError(keyStart, 'DUPLICATE_KEY', 'Map keys must be unique');
60
+ // value properties
61
+ const valueProps = resolveProps.resolveProps(sep || [], {
62
+ indicator: 'map-value-ind',
63
+ next: value,
64
+ offset: keyNode.range[2],
65
+ onError,
66
+ startOnNewline: !key || key.type === 'block-scalar'
67
+ });
68
+ offset = valueProps.end;
69
+ if (valueProps.found) {
70
+ if (implicitKey) {
71
+ if ((value === null || value === void 0 ? void 0 : value.type) === 'block-map' && !valueProps.hasNewline)
72
+ onError(offset, 'BLOCK_AS_IMPLICIT_KEY', 'Nested mappings are not allowed in compact mappings');
73
+ if (ctx.options.strict &&
74
+ keyProps.start < valueProps.found.offset - 1024)
75
+ onError(keyNode.range, 'KEY_OVER_1024_CHARS', 'The : indicator must be at most 1024 chars after the start of an implicit block mapping key');
76
+ }
77
+ // value value
78
+ const valueNode = value
79
+ ? composeNode(ctx, value, valueProps, onError)
80
+ : composeEmptyNode(ctx, offset, sep, null, valueProps, onError);
81
+ if (ctx.schema.compat)
82
+ utilFlowIndentCheck.flowIndentCheck(bm.indent, value, onError);
83
+ offset = valueNode.range[2];
84
+ const pair = new Pair.Pair(keyNode, valueNode);
85
+ if (ctx.options.keepSourceTokens)
86
+ pair.srcToken = collItem;
87
+ map.items.push(pair);
88
+ }
89
+ else {
90
+ // key with no value
91
+ if (implicitKey)
92
+ onError(keyNode.range, 'MISSING_CHAR', 'Implicit map keys need to be followed by map values');
93
+ if (valueProps.comment) {
94
+ if (keyNode.comment)
95
+ keyNode.comment += '\n' + valueProps.comment;
96
+ else
97
+ keyNode.comment = valueProps.comment;
98
+ }
99
+ const pair = new Pair.Pair(keyNode);
100
+ if (ctx.options.keepSourceTokens)
101
+ pair.srcToken = collItem;
102
+ map.items.push(pair);
103
+ }
104
+ }
105
+ map.range = [bm.offset, offset, offset];
106
+ return map;
107
+ }
108
+
109
+ exports.resolveBlockMap = resolveBlockMap;
@@ -0,0 +1,10 @@
1
+ import { Range } from '../nodes/Node.js';
2
+ import { Scalar } from '../nodes/Scalar.js';
3
+ import type { BlockScalar } from '../parse/cst.js';
4
+ import type { ComposeErrorHandler } from './composer.js';
5
+ export declare function resolveBlockScalar(scalar: BlockScalar, strict: boolean, onError: ComposeErrorHandler): {
6
+ value: string;
7
+ type: Scalar.BLOCK_FOLDED | Scalar.BLOCK_LITERAL | null;
8
+ comment: string;
9
+ range: Range;
10
+ };