projen 0.51.7 → 0.51.11

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 +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/resolve/.eslintrc +1 -0
  109. package/node_modules/resolve/bin/resolve +7 -4
  110. package/node_modules/resolve/lib/async.js +10 -1
  111. package/node_modules/resolve/lib/core.json +5 -5
  112. package/node_modules/resolve/lib/homedir.js +24 -0
  113. package/node_modules/resolve/lib/sync.js +10 -1
  114. package/node_modules/resolve/package.json +11 -6
  115. package/node_modules/resolve/test/home_paths.js +127 -0
  116. package/node_modules/resolve/test/home_paths_sync.js +114 -0
  117. package/node_modules/resolve/test/resolver_sync.js +230 -28
  118. package/node_modules/yaml/LICENSE +1 -1
  119. package/node_modules/yaml/README.md +57 -41
  120. package/node_modules/yaml/browser/dist/compose/compose-collection.js +59 -0
  121. package/node_modules/yaml/browser/dist/compose/compose-doc.js +40 -0
  122. package/node_modules/yaml/browser/dist/compose/compose-node.js +81 -0
  123. package/node_modules/yaml/browser/dist/compose/compose-scalar.js +81 -0
  124. package/node_modules/yaml/browser/dist/compose/composer.js +219 -0
  125. package/node_modules/yaml/browser/dist/compose/resolve-block-map.js +107 -0
  126. package/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +185 -0
  127. package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +45 -0
  128. package/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
  129. package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +200 -0
  130. package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +223 -0
  131. package/node_modules/yaml/browser/dist/compose/resolve-props.js +128 -0
  132. package/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
  133. package/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +27 -0
  134. package/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
  135. package/node_modules/yaml/browser/dist/compose/util-map-includes.js +17 -0
  136. package/node_modules/yaml/browser/dist/doc/Document.js +321 -0
  137. package/node_modules/yaml/browser/dist/doc/anchors.js +72 -0
  138. package/node_modules/yaml/browser/dist/doc/applyReviver.js +54 -0
  139. package/node_modules/yaml/browser/dist/doc/createNode.js +84 -0
  140. package/node_modules/yaml/browser/dist/doc/directives.js +166 -0
  141. package/node_modules/yaml/browser/dist/errors.js +57 -0
  142. package/node_modules/yaml/browser/dist/index.js +18 -1002
  143. package/node_modules/yaml/browser/dist/log.js +14 -0
  144. package/node_modules/yaml/browser/dist/node_modules/tslib/tslib.es6.js +164 -0
  145. package/node_modules/yaml/browser/dist/nodes/Alias.js +94 -0
  146. package/node_modules/yaml/browser/dist/nodes/Collection.js +146 -0
  147. package/node_modules/yaml/browser/dist/nodes/Node.js +48 -0
  148. package/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
  149. package/node_modules/yaml/browser/dist/nodes/Scalar.js +23 -0
  150. package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +116 -0
  151. package/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +105 -0
  152. package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +104 -0
  153. package/node_modules/yaml/browser/dist/nodes/toJS.js +35 -0
  154. package/node_modules/yaml/browser/dist/options.js +18 -0
  155. package/node_modules/yaml/browser/dist/parse/cst-scalar.js +215 -0
  156. package/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
  157. package/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
  158. package/node_modules/yaml/browser/dist/parse/cst.js +98 -0
  159. package/node_modules/yaml/browser/dist/parse/lexer.js +692 -0
  160. package/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
  161. package/node_modules/yaml/browser/dist/parse/parser.js +882 -0
  162. package/node_modules/yaml/browser/dist/public-api.js +99 -0
  163. package/node_modules/yaml/browser/dist/schema/Schema.js +34 -0
  164. package/node_modules/yaml/browser/dist/schema/common/map.js +42 -0
  165. package/node_modules/yaml/browser/dist/schema/common/null.js +13 -0
  166. package/node_modules/yaml/browser/dist/schema/common/seq.js +33 -0
  167. package/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
  168. package/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
  169. package/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
  170. package/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
  171. package/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
  172. package/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
  173. package/node_modules/yaml/browser/dist/schema/tags.js +83 -0
  174. package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +66 -0
  175. package/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
  176. package/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
  177. package/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
  178. package/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +73 -0
  179. package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +77 -0
  180. package/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +37 -0
  181. package/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +87 -0
  182. package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
  183. package/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +135 -0
  184. package/node_modules/yaml/browser/dist/stringify/stringify.js +124 -0
  185. package/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +152 -0
  186. package/node_modules/yaml/browser/dist/stringify/stringifyComment.js +18 -0
  187. package/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +68 -0
  188. package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +24 -0
  189. package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +122 -0
  190. package/node_modules/yaml/browser/dist/stringify/stringifyString.js +314 -0
  191. package/node_modules/yaml/browser/dist/util.js +9 -2
  192. package/node_modules/yaml/browser/dist/visit.js +146 -0
  193. package/node_modules/yaml/browser/index.js +5 -1
  194. package/node_modules/yaml/browser/package.json +3 -0
  195. package/node_modules/yaml/dist/compose/compose-collection.d.ts +5 -0
  196. package/node_modules/yaml/dist/compose/compose-collection.js +61 -0
  197. package/node_modules/yaml/dist/compose/compose-doc.d.ts +6 -0
  198. package/node_modules/yaml/dist/compose/compose-doc.js +42 -0
  199. package/node_modules/yaml/dist/compose/compose-node.d.ts +26 -0
  200. package/node_modules/yaml/dist/compose/compose-node.js +84 -0
  201. package/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
  202. package/node_modules/yaml/dist/compose/compose-scalar.js +83 -0
  203. package/node_modules/yaml/dist/compose/composer.d.ts +62 -0
  204. package/node_modules/yaml/dist/compose/composer.js +223 -0
  205. package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
  206. package/node_modules/yaml/dist/compose/resolve-block-map.js +109 -0
  207. package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +10 -0
  208. package/node_modules/yaml/dist/compose/resolve-block-scalar.js +187 -0
  209. package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +5 -0
  210. package/node_modules/yaml/dist/compose/resolve-block-seq.js +47 -0
  211. package/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
  212. package/node_modules/yaml/dist/compose/resolve-end.js +39 -0
  213. package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +6 -0
  214. package/node_modules/yaml/dist/compose/resolve-flow-collection.js +202 -0
  215. package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
  216. package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +225 -0
  217. package/node_modules/yaml/dist/compose/resolve-props.d.ts +21 -0
  218. package/node_modules/yaml/dist/compose/resolve-props.js +130 -0
  219. package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
  220. package/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
  221. package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
  222. package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +29 -0
  223. package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
  224. package/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
  225. package/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
  226. package/node_modules/yaml/dist/compose/util-map-includes.js +19 -0
  227. package/node_modules/yaml/dist/doc/Document.d.ts +139 -0
  228. package/node_modules/yaml/dist/doc/Document.js +323 -0
  229. package/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
  230. package/node_modules/yaml/dist/doc/anchors.js +77 -0
  231. package/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
  232. package/node_modules/yaml/dist/doc/applyReviver.js +56 -0
  233. package/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
  234. package/node_modules/yaml/dist/doc/createNode.js +86 -0
  235. package/node_modules/yaml/dist/doc/directives.d.ts +47 -0
  236. package/node_modules/yaml/dist/doc/directives.js +168 -0
  237. package/node_modules/yaml/dist/errors.d.ts +21 -0
  238. package/node_modules/yaml/dist/errors.js +62 -0
  239. package/node_modules/yaml/dist/index.d.ts +19 -0
  240. package/node_modules/yaml/dist/index.js +49 -77
  241. package/node_modules/yaml/dist/log.d.ts +3 -0
  242. package/node_modules/yaml/dist/log.js +17 -0
  243. package/node_modules/yaml/dist/node_modules/tslib/tslib.es6.js +76 -0
  244. package/node_modules/yaml/dist/nodes/Alias.d.ts +28 -0
  245. package/node_modules/yaml/dist/nodes/Alias.js +96 -0
  246. package/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
  247. package/node_modules/yaml/dist/nodes/Collection.js +150 -0
  248. package/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
  249. package/node_modules/yaml/dist/nodes/Node.js +66 -0
  250. package/node_modules/yaml/dist/nodes/Pair.d.ts +21 -0
  251. package/node_modules/yaml/dist/nodes/Pair.js +39 -0
  252. package/node_modules/yaml/dist/nodes/Scalar.d.ts +42 -0
  253. package/node_modules/yaml/dist/nodes/Scalar.js +26 -0
  254. package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +41 -0
  255. package/node_modules/yaml/dist/nodes/YAMLMap.js +119 -0
  256. package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +55 -0
  257. package/node_modules/yaml/dist/nodes/YAMLSeq.js +107 -0
  258. package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +3 -0
  259. package/node_modules/yaml/dist/nodes/addPairToJSMap.js +106 -0
  260. package/node_modules/yaml/dist/nodes/toJS.d.ts +30 -0
  261. package/node_modules/yaml/dist/nodes/toJS.js +37 -0
  262. package/node_modules/yaml/dist/options.d.ts +338 -0
  263. package/node_modules/yaml/dist/options.js +20 -0
  264. package/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
  265. package/node_modules/yaml/dist/parse/cst-scalar.js +219 -0
  266. package/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
  267. package/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
  268. package/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
  269. package/node_modules/yaml/dist/parse/cst-visit.js +99 -0
  270. package/node_modules/yaml/dist/parse/cst.d.ts +106 -0
  271. package/node_modules/yaml/dist/parse/cst.js +112 -0
  272. package/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
  273. package/node_modules/yaml/dist/parse/lexer.js +694 -0
  274. package/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
  275. package/node_modules/yaml/dist/parse/line-counter.js +41 -0
  276. package/node_modules/yaml/dist/parse/parser.d.ts +84 -0
  277. package/node_modules/yaml/dist/parse/parser.js +886 -0
  278. package/node_modules/yaml/dist/public-api.d.ts +43 -0
  279. package/node_modules/yaml/dist/public-api.js +104 -0
  280. package/node_modules/yaml/dist/schema/Schema.d.ts +18 -0
  281. package/node_modules/yaml/dist/schema/Schema.js +36 -0
  282. package/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
  283. package/node_modules/yaml/dist/schema/common/map.js +44 -0
  284. package/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
  285. package/node_modules/yaml/dist/schema/common/null.js +15 -0
  286. package/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
  287. package/node_modules/yaml/dist/schema/common/seq.js +35 -0
  288. package/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
  289. package/node_modules/yaml/dist/schema/common/string.js +16 -0
  290. package/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
  291. package/node_modules/yaml/dist/schema/core/bool.js +21 -0
  292. package/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
  293. package/node_modules/yaml/dist/schema/core/float.js +47 -0
  294. package/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
  295. package/node_modules/yaml/dist/schema/core/int.js +42 -0
  296. package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
  297. package/node_modules/yaml/dist/schema/core/schema.js +25 -0
  298. package/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
  299. package/node_modules/yaml/dist/schema/json/schema.js +64 -0
  300. package/node_modules/yaml/dist/schema/tags.d.ts +40 -0
  301. package/node_modules/yaml/dist/schema/tags.js +86 -0
  302. package/node_modules/yaml/dist/schema/types.d.ts +82 -0
  303. package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
  304. package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +68 -0
  305. package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
  306. package/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
  307. package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
  308. package/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
  309. package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
  310. package/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
  311. package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +21 -0
  312. package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +76 -0
  313. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
  314. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +81 -0
  315. package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
  316. package/node_modules/yaml/dist/schema/yaml-1.1/schema.js +39 -0
  317. package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +22 -0
  318. package/node_modules/yaml/dist/schema/yaml-1.1/set.js +90 -0
  319. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
  320. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
  321. package/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
  322. package/node_modules/yaml/dist/stringify/foldFlowLines.js +140 -0
  323. package/node_modules/yaml/dist/stringify/stringify.d.ts +20 -0
  324. package/node_modules/yaml/dist/stringify/stringify.js +127 -0
  325. package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
  326. package/node_modules/yaml/dist/stringify/stringifyCollection.js +154 -0
  327. package/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
  328. package/node_modules/yaml/dist/stringify/stringifyComment.js +22 -0
  329. package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +3 -0
  330. package/node_modules/yaml/dist/stringify/stringifyDocument.js +70 -0
  331. package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
  332. package/node_modules/yaml/dist/stringify/stringifyNumber.js +26 -0
  333. package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
  334. package/node_modules/yaml/dist/stringify/stringifyPair.js +124 -0
  335. package/node_modules/yaml/dist/stringify/stringifyString.d.ts +3 -0
  336. package/node_modules/yaml/dist/stringify/stringifyString.js +316 -0
  337. package/node_modules/yaml/dist/test-events.d.ts +4 -0
  338. package/node_modules/yaml/dist/test-events.js +126 -152
  339. package/node_modules/yaml/dist/util.d.ts +9 -0
  340. package/node_modules/yaml/dist/util.js +19 -14
  341. package/node_modules/yaml/dist/visit.d.ts +63 -0
  342. package/node_modules/yaml/dist/visit.js +148 -0
  343. package/node_modules/yaml/package.json +43 -55
  344. package/node_modules/yaml/util.d.ts +3 -86
  345. package/node_modules/yaml/util.js +2 -16
  346. package/package.json +3 -3
  347. package/releasetag.txt +1 -1
  348. package/version.txt +1 -1
  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,107 @@
1
+ import { Pair } from '../nodes/Pair.js';
2
+ import { YAMLMap } from '../nodes/YAMLMap.js';
3
+ import { resolveProps } from './resolve-props.js';
4
+ import { containsNewline } from './util-contains-newline.js';
5
+ import { flowIndentCheck } from './util-flow-indent-check.js';
6
+ import { mapIncludes } from './util-map-includes.js';
7
+
8
+ const startColMsg = 'All mapping items must start at the same column';
9
+ function resolveBlockMap({ composeNode, composeEmptyNode }, ctx, bm, onError) {
10
+ var _a;
11
+ const map = new YAMLMap(ctx.schema);
12
+ if (ctx.atRoot)
13
+ ctx.atRoot = false;
14
+ let offset = bm.offset;
15
+ for (const collItem of bm.items) {
16
+ const { start, key, sep, value } = collItem;
17
+ // key properties
18
+ const keyProps = resolveProps(start, {
19
+ indicator: 'explicit-key-ind',
20
+ next: key || (sep === null || sep === void 0 ? void 0 : sep[0]),
21
+ offset,
22
+ onError,
23
+ startOnNewline: true
24
+ });
25
+ const implicitKey = !keyProps.found;
26
+ if (implicitKey) {
27
+ if (key) {
28
+ if (key.type === 'block-seq')
29
+ onError(offset, 'BLOCK_AS_IMPLICIT_KEY', 'A block sequence may not be used as an implicit map key');
30
+ else if ('indent' in key && key.indent !== bm.indent)
31
+ onError(offset, 'BAD_INDENT', startColMsg);
32
+ }
33
+ if (!keyProps.anchor && !keyProps.tag && !sep) {
34
+ // TODO: assert being at last item?
35
+ if (keyProps.comment) {
36
+ if (map.comment)
37
+ map.comment += '\n' + keyProps.comment;
38
+ else
39
+ map.comment = keyProps.comment;
40
+ }
41
+ continue;
42
+ }
43
+ }
44
+ else if (((_a = keyProps.found) === null || _a === void 0 ? void 0 : _a.indent) !== bm.indent)
45
+ onError(offset, 'BAD_INDENT', startColMsg);
46
+ if (implicitKey && containsNewline(key))
47
+ onError(key, // checked by containsNewline()
48
+ 'MULTILINE_IMPLICIT_KEY', 'Implicit keys need to be on a single line');
49
+ // key value
50
+ const keyStart = keyProps.end;
51
+ const keyNode = key
52
+ ? composeNode(ctx, key, keyProps, onError)
53
+ : composeEmptyNode(ctx, keyStart, start, null, keyProps, onError);
54
+ if (ctx.schema.compat)
55
+ flowIndentCheck(bm.indent, key, onError);
56
+ if (mapIncludes(ctx, map.items, keyNode))
57
+ onError(keyStart, 'DUPLICATE_KEY', 'Map keys must be unique');
58
+ // value properties
59
+ const valueProps = resolveProps(sep || [], {
60
+ indicator: 'map-value-ind',
61
+ next: value,
62
+ offset: keyNode.range[2],
63
+ onError,
64
+ startOnNewline: !key || key.type === 'block-scalar'
65
+ });
66
+ offset = valueProps.end;
67
+ if (valueProps.found) {
68
+ if (implicitKey) {
69
+ if ((value === null || value === void 0 ? void 0 : value.type) === 'block-map' && !valueProps.hasNewline)
70
+ onError(offset, 'BLOCK_AS_IMPLICIT_KEY', 'Nested mappings are not allowed in compact mappings');
71
+ if (ctx.options.strict &&
72
+ keyProps.start < valueProps.found.offset - 1024)
73
+ onError(keyNode.range, 'KEY_OVER_1024_CHARS', 'The : indicator must be at most 1024 chars after the start of an implicit block mapping key');
74
+ }
75
+ // value value
76
+ const valueNode = value
77
+ ? composeNode(ctx, value, valueProps, onError)
78
+ : composeEmptyNode(ctx, offset, sep, null, valueProps, onError);
79
+ if (ctx.schema.compat)
80
+ flowIndentCheck(bm.indent, value, onError);
81
+ offset = valueNode.range[2];
82
+ const pair = new Pair(keyNode, valueNode);
83
+ if (ctx.options.keepSourceTokens)
84
+ pair.srcToken = collItem;
85
+ map.items.push(pair);
86
+ }
87
+ else {
88
+ // key with no value
89
+ if (implicitKey)
90
+ onError(keyNode.range, 'MISSING_CHAR', 'Implicit map keys need to be followed by map values');
91
+ if (valueProps.comment) {
92
+ if (keyNode.comment)
93
+ keyNode.comment += '\n' + valueProps.comment;
94
+ else
95
+ keyNode.comment = valueProps.comment;
96
+ }
97
+ const pair = new Pair(keyNode);
98
+ if (ctx.options.keepSourceTokens)
99
+ pair.srcToken = collItem;
100
+ map.items.push(pair);
101
+ }
102
+ }
103
+ map.range = [bm.offset, offset, offset];
104
+ return map;
105
+ }
106
+
107
+ export { resolveBlockMap };
@@ -0,0 +1,185 @@
1
+ import { Scalar } from '../nodes/Scalar.js';
2
+
3
+ function resolveBlockScalar(scalar, strict, onError) {
4
+ const start = scalar.offset;
5
+ const header = parseBlockScalarHeader(scalar, strict, onError);
6
+ if (!header)
7
+ return { value: '', type: null, comment: '', range: [start, start, start] };
8
+ const type = header.mode === '>' ? Scalar.BLOCK_FOLDED : Scalar.BLOCK_LITERAL;
9
+ const lines = scalar.source ? splitLines(scalar.source) : [];
10
+ // determine the end of content & start of chomping
11
+ let chompStart = lines.length;
12
+ for (let i = lines.length - 1; i >= 0; --i) {
13
+ const content = lines[i][1];
14
+ if (content === '' || content === '\r')
15
+ chompStart = i;
16
+ else
17
+ break;
18
+ }
19
+ // shortcut for empty contents
20
+ if (!scalar.source || chompStart === 0) {
21
+ const value = header.chomp === '+' ? '\n'.repeat(Math.max(0, lines.length - 1)) : '';
22
+ let end = start + header.length;
23
+ if (scalar.source)
24
+ end += scalar.source.length;
25
+ return { value, type, comment: header.comment, range: [start, end, end] };
26
+ }
27
+ // find the indentation level to trim from start
28
+ let trimIndent = scalar.indent + header.indent;
29
+ let offset = scalar.offset + header.length;
30
+ let contentStart = 0;
31
+ for (let i = 0; i < chompStart; ++i) {
32
+ const [indent, content] = lines[i];
33
+ if (content === '' || content === '\r') {
34
+ if (header.indent === 0 && indent.length > trimIndent)
35
+ trimIndent = indent.length;
36
+ }
37
+ else {
38
+ if (indent.length < trimIndent) {
39
+ const message = 'Block scalars with more-indented leading empty lines must use an explicit indentation indicator';
40
+ onError(offset + indent.length, 'MISSING_CHAR', message);
41
+ }
42
+ if (header.indent === 0)
43
+ trimIndent = indent.length;
44
+ contentStart = i;
45
+ break;
46
+ }
47
+ offset += indent.length + content.length + 1;
48
+ }
49
+ let value = '';
50
+ let sep = '';
51
+ let prevMoreIndented = false;
52
+ // leading whitespace is kept intact
53
+ for (let i = 0; i < contentStart; ++i)
54
+ value += lines[i][0].slice(trimIndent) + '\n';
55
+ for (let i = contentStart; i < chompStart; ++i) {
56
+ let [indent, content] = lines[i];
57
+ offset += indent.length + content.length + 1;
58
+ const crlf = content[content.length - 1] === '\r';
59
+ if (crlf)
60
+ content = content.slice(0, -1);
61
+ /* istanbul ignore if already caught in lexer */
62
+ if (content && indent.length < trimIndent) {
63
+ const src = header.indent
64
+ ? 'explicit indentation indicator'
65
+ : 'first line';
66
+ const message = `Block scalar lines must not be less indented than their ${src}`;
67
+ onError(offset - content.length - (crlf ? 2 : 1), 'BAD_INDENT', message);
68
+ indent = '';
69
+ }
70
+ if (type === Scalar.BLOCK_LITERAL) {
71
+ value += sep + indent.slice(trimIndent) + content;
72
+ sep = '\n';
73
+ }
74
+ else if (indent.length > trimIndent || content[0] === '\t') {
75
+ // more-indented content within a folded block
76
+ if (sep === ' ')
77
+ sep = '\n';
78
+ else if (!prevMoreIndented && sep === '\n')
79
+ sep = '\n\n';
80
+ value += sep + indent.slice(trimIndent) + content;
81
+ sep = '\n';
82
+ prevMoreIndented = true;
83
+ }
84
+ else if (content === '') {
85
+ // empty line
86
+ if (sep === '\n')
87
+ value += '\n';
88
+ else
89
+ sep = '\n';
90
+ }
91
+ else {
92
+ value += sep + content;
93
+ sep = ' ';
94
+ prevMoreIndented = false;
95
+ }
96
+ }
97
+ switch (header.chomp) {
98
+ case '-':
99
+ break;
100
+ case '+':
101
+ for (let i = chompStart; i < lines.length; ++i)
102
+ value += '\n' + lines[i][0].slice(trimIndent);
103
+ if (value[value.length - 1] !== '\n')
104
+ value += '\n';
105
+ break;
106
+ default:
107
+ value += '\n';
108
+ }
109
+ const end = start + header.length + scalar.source.length;
110
+ return { value, type, comment: header.comment, range: [start, end, end] };
111
+ }
112
+ function parseBlockScalarHeader({ offset, props }, strict, onError) {
113
+ /* istanbul ignore if should not happen */
114
+ if (props[0].type !== 'block-scalar-header') {
115
+ onError(props[0], 'IMPOSSIBLE', 'Block scalar header not found');
116
+ return null;
117
+ }
118
+ const { source } = props[0];
119
+ const mode = source[0];
120
+ let indent = 0;
121
+ let chomp = '';
122
+ let error = -1;
123
+ for (let i = 1; i < source.length; ++i) {
124
+ const ch = source[i];
125
+ if (!chomp && (ch === '-' || ch === '+'))
126
+ chomp = ch;
127
+ else {
128
+ const n = Number(ch);
129
+ if (!indent && n)
130
+ indent = n;
131
+ else if (error === -1)
132
+ error = offset + i;
133
+ }
134
+ }
135
+ if (error !== -1)
136
+ onError(error, 'UNEXPECTED_TOKEN', `Block scalar header includes extra characters: ${source}`);
137
+ let hasSpace = false;
138
+ let comment = '';
139
+ let length = source.length;
140
+ for (let i = 1; i < props.length; ++i) {
141
+ const token = props[i];
142
+ switch (token.type) {
143
+ case 'space':
144
+ hasSpace = true;
145
+ // fallthrough
146
+ case 'newline':
147
+ length += token.source.length;
148
+ break;
149
+ case 'comment':
150
+ if (strict && !hasSpace) {
151
+ const message = 'Comments must be separated from other tokens by white space characters';
152
+ onError(token, 'MISSING_CHAR', message);
153
+ }
154
+ length += token.source.length;
155
+ comment = token.source.substring(1);
156
+ break;
157
+ case 'error':
158
+ onError(token, 'UNEXPECTED_TOKEN', token.message);
159
+ length += token.source.length;
160
+ break;
161
+ /* istanbul ignore next should not happen */
162
+ default: {
163
+ const message = `Unexpected token in block scalar header: ${token.type}`;
164
+ onError(token, 'UNEXPECTED_TOKEN', message);
165
+ const ts = token.source;
166
+ if (ts && typeof ts === 'string')
167
+ length += ts.length;
168
+ }
169
+ }
170
+ }
171
+ return { mode, indent, chomp, comment, length };
172
+ }
173
+ /** @returns Array of lines split up as `[indent, content]` */
174
+ function splitLines(source) {
175
+ const split = source.split(/\n( *)/);
176
+ const first = split[0];
177
+ const m = first.match(/^( *)/);
178
+ const line0 = m && m[1] ? [m[1], first.slice(m[1].length)] : ['', first];
179
+ const lines = [line0];
180
+ for (let i = 1; i < split.length; i += 2)
181
+ lines.push([split[i], split[i + 1]]);
182
+ return lines;
183
+ }
184
+
185
+ export { resolveBlockScalar };
@@ -0,0 +1,45 @@
1
+ import { YAMLSeq } from '../nodes/YAMLSeq.js';
2
+ import { resolveProps } from './resolve-props.js';
3
+ import { flowIndentCheck } from './util-flow-indent-check.js';
4
+
5
+ function resolveBlockSeq({ composeNode, composeEmptyNode }, ctx, bs, onError) {
6
+ const seq = new YAMLSeq(ctx.schema);
7
+ if (ctx.atRoot)
8
+ ctx.atRoot = false;
9
+ let offset = bs.offset;
10
+ for (const { start, value } of bs.items) {
11
+ const props = resolveProps(start, {
12
+ indicator: 'seq-item-ind',
13
+ next: value,
14
+ offset,
15
+ onError,
16
+ startOnNewline: true
17
+ });
18
+ offset = props.end;
19
+ if (!props.found) {
20
+ if (props.anchor || props.tag || value) {
21
+ if (value && value.type === 'block-seq')
22
+ onError(offset, 'BAD_INDENT', 'All sequence items must start at the same column');
23
+ else
24
+ onError(offset, 'MISSING_CHAR', 'Sequence item without - indicator');
25
+ }
26
+ else {
27
+ // TODO: assert being at last item?
28
+ if (props.comment)
29
+ seq.comment = props.comment;
30
+ continue;
31
+ }
32
+ }
33
+ const node = value
34
+ ? composeNode(ctx, value, props, onError)
35
+ : composeEmptyNode(ctx, offset, start, null, props, onError);
36
+ if (ctx.schema.compat)
37
+ flowIndentCheck(bs.indent, value, onError);
38
+ offset = node.range[2];
39
+ seq.items.push(node);
40
+ }
41
+ seq.range = [bs.offset, offset, offset];
42
+ return seq;
43
+ }
44
+
45
+ export { resolveBlockSeq };
@@ -0,0 +1,37 @@
1
+ function resolveEnd(end, offset, reqSpace, onError) {
2
+ let comment = '';
3
+ if (end) {
4
+ let hasSpace = false;
5
+ let sep = '';
6
+ for (const token of end) {
7
+ const { source, type } = token;
8
+ switch (type) {
9
+ case 'space':
10
+ hasSpace = true;
11
+ break;
12
+ case 'comment': {
13
+ if (reqSpace && !hasSpace)
14
+ onError(token, 'MISSING_CHAR', 'Comments must be separated from other tokens by white space characters');
15
+ const cb = source.substring(1) || ' ';
16
+ if (!comment)
17
+ comment = cb;
18
+ else
19
+ comment += sep + cb;
20
+ sep = '';
21
+ break;
22
+ }
23
+ case 'newline':
24
+ if (comment)
25
+ sep += source;
26
+ hasSpace = true;
27
+ break;
28
+ default:
29
+ onError(token, 'UNEXPECTED_TOKEN', `Unexpected ${type} at node end`);
30
+ }
31
+ offset += source.length;
32
+ }
33
+ }
34
+ return { comment, offset };
35
+ }
36
+
37
+ export { resolveEnd };
@@ -0,0 +1,200 @@
1
+ import { isPair } from '../nodes/Node.js';
2
+ import { Pair } from '../nodes/Pair.js';
3
+ import { YAMLMap } from '../nodes/YAMLMap.js';
4
+ import { YAMLSeq } from '../nodes/YAMLSeq.js';
5
+ import { resolveEnd } from './resolve-end.js';
6
+ import { resolveProps } from './resolve-props.js';
7
+ import { containsNewline } from './util-contains-newline.js';
8
+ import { mapIncludes } from './util-map-includes.js';
9
+
10
+ const blockMsg = 'Block collections are not allowed within flow collections';
11
+ const isBlock = (token) => token && (token.type === 'block-map' || token.type === 'block-seq');
12
+ function resolveFlowCollection({ composeNode, composeEmptyNode }, ctx, fc, onError) {
13
+ const isMap = fc.start.source === '{';
14
+ const fcName = isMap ? 'flow map' : 'flow sequence';
15
+ const coll = isMap
16
+ ? new YAMLMap(ctx.schema)
17
+ : new YAMLSeq(ctx.schema);
18
+ coll.flow = true;
19
+ const atRoot = ctx.atRoot;
20
+ if (atRoot)
21
+ ctx.atRoot = false;
22
+ let offset = fc.offset + fc.start.source.length;
23
+ for (let i = 0; i < fc.items.length; ++i) {
24
+ const collItem = fc.items[i];
25
+ const { start, key, sep, value } = collItem;
26
+ const props = resolveProps(start, {
27
+ flow: fcName,
28
+ indicator: 'explicit-key-ind',
29
+ next: key || (sep === null || sep === void 0 ? void 0 : sep[0]),
30
+ offset,
31
+ onError,
32
+ startOnNewline: false
33
+ });
34
+ if (!props.found) {
35
+ if (!props.anchor && !props.tag && !sep && !value) {
36
+ if (i === 0 && props.comma)
37
+ onError(props.comma, 'UNEXPECTED_TOKEN', `Unexpected , in ${fcName}`);
38
+ else if (i < fc.items.length - 1)
39
+ onError(props.start, 'UNEXPECTED_TOKEN', `Unexpected empty item in ${fcName}`);
40
+ if (props.comment) {
41
+ if (coll.comment)
42
+ coll.comment += '\n' + props.comment;
43
+ else
44
+ coll.comment = props.comment;
45
+ }
46
+ offset = props.end;
47
+ continue;
48
+ }
49
+ if (!isMap && ctx.options.strict && containsNewline(key))
50
+ onError(key, // checked by containsNewline()
51
+ 'MULTILINE_IMPLICIT_KEY', 'Implicit keys of flow sequence pairs need to be on a single line');
52
+ }
53
+ if (i === 0) {
54
+ if (props.comma)
55
+ onError(props.comma, 'UNEXPECTED_TOKEN', `Unexpected , in ${fcName}`);
56
+ }
57
+ else {
58
+ if (!props.comma)
59
+ onError(props.start, 'MISSING_CHAR', `Missing , between ${fcName} items`);
60
+ if (props.comment) {
61
+ let prevItemComment = '';
62
+ loop: for (const st of start) {
63
+ switch (st.type) {
64
+ case 'comma':
65
+ case 'space':
66
+ break;
67
+ case 'comment':
68
+ prevItemComment = st.source.substring(1);
69
+ break loop;
70
+ default:
71
+ break loop;
72
+ }
73
+ }
74
+ if (prevItemComment) {
75
+ let prev = coll.items[coll.items.length - 1];
76
+ if (isPair(prev))
77
+ prev = prev.value || prev.key;
78
+ if (prev.comment)
79
+ prev.comment += '\n' + prevItemComment;
80
+ else
81
+ prev.comment = prevItemComment;
82
+ props.comment = props.comment.substring(prevItemComment.length + 1);
83
+ }
84
+ }
85
+ }
86
+ if (!isMap && !sep && !props.found) {
87
+ // item is a value in a seq
88
+ // → key & sep are empty, start does not include ? or :
89
+ const valueNode = value
90
+ ? composeNode(ctx, value, props, onError)
91
+ : composeEmptyNode(ctx, props.end, sep, null, props, onError);
92
+ coll.items.push(valueNode);
93
+ offset = valueNode.range[2];
94
+ if (isBlock(value))
95
+ onError(valueNode.range, 'BLOCK_IN_FLOW', blockMsg);
96
+ }
97
+ else {
98
+ // item is a key+value pair
99
+ // key value
100
+ const keyStart = props.end;
101
+ const keyNode = key
102
+ ? composeNode(ctx, key, props, onError)
103
+ : composeEmptyNode(ctx, keyStart, start, null, props, onError);
104
+ if (isBlock(key))
105
+ onError(keyNode.range, 'BLOCK_IN_FLOW', blockMsg);
106
+ // value properties
107
+ const valueProps = resolveProps(sep || [], {
108
+ flow: fcName,
109
+ indicator: 'map-value-ind',
110
+ next: value,
111
+ offset: keyNode.range[2],
112
+ onError,
113
+ startOnNewline: false
114
+ });
115
+ if (valueProps.found) {
116
+ if (!isMap && !props.found && ctx.options.strict) {
117
+ if (sep)
118
+ for (const st of sep) {
119
+ if (st === valueProps.found)
120
+ break;
121
+ if (st.type === 'newline') {
122
+ onError(st, 'MULTILINE_IMPLICIT_KEY', 'Implicit keys of flow sequence pairs need to be on a single line');
123
+ break;
124
+ }
125
+ }
126
+ if (props.start < valueProps.found.offset - 1024)
127
+ onError(valueProps.found, 'KEY_OVER_1024_CHARS', 'The : indicator must be at most 1024 chars after the start of an implicit flow sequence key');
128
+ }
129
+ }
130
+ else if (value) {
131
+ if ('source' in value && value.source && value.source[0] === ':')
132
+ onError(value, 'MISSING_CHAR', `Missing space after : in ${fcName}`);
133
+ else
134
+ onError(valueProps.start, 'MISSING_CHAR', `Missing , or : between ${fcName} items`);
135
+ }
136
+ // value value
137
+ const valueNode = value
138
+ ? composeNode(ctx, value, valueProps, onError)
139
+ : valueProps.found
140
+ ? composeEmptyNode(ctx, valueProps.end, sep, null, valueProps, onError)
141
+ : null;
142
+ if (valueNode) {
143
+ if (isBlock(value))
144
+ onError(valueNode.range, 'BLOCK_IN_FLOW', blockMsg);
145
+ }
146
+ else if (valueProps.comment) {
147
+ if (keyNode.comment)
148
+ keyNode.comment += '\n' + valueProps.comment;
149
+ else
150
+ keyNode.comment = valueProps.comment;
151
+ }
152
+ const pair = new Pair(keyNode, valueNode);
153
+ if (ctx.options.keepSourceTokens)
154
+ pair.srcToken = collItem;
155
+ if (isMap) {
156
+ const map = coll;
157
+ if (mapIncludes(ctx, map.items, keyNode))
158
+ onError(keyStart, 'DUPLICATE_KEY', 'Map keys must be unique');
159
+ map.items.push(pair);
160
+ }
161
+ else {
162
+ const map = new YAMLMap(ctx.schema);
163
+ map.flow = true;
164
+ map.items.push(pair);
165
+ coll.items.push(map);
166
+ }
167
+ offset = valueNode ? valueNode.range[2] : valueProps.end;
168
+ }
169
+ }
170
+ const expectedEnd = isMap ? '}' : ']';
171
+ const [ce, ...ee] = fc.end;
172
+ let cePos = offset;
173
+ if (ce && ce.source === expectedEnd)
174
+ cePos = ce.offset + ce.source.length;
175
+ else {
176
+ const name = fcName[0].toUpperCase() + fcName.substring(1);
177
+ const msg = atRoot
178
+ ? `${name} must end with a ${expectedEnd}`
179
+ : `${name} in block collection must be sufficiently indented and end with a ${expectedEnd}`;
180
+ onError(offset, atRoot ? 'MISSING_CHAR' : 'BAD_INDENT', msg);
181
+ if (ce && ce.source.length !== 1)
182
+ ee.unshift(ce);
183
+ }
184
+ if (ee.length > 0) {
185
+ const end = resolveEnd(ee, cePos, ctx.options.strict, onError);
186
+ if (end.comment) {
187
+ if (coll.comment)
188
+ coll.comment += '\n' + end.comment;
189
+ else
190
+ coll.comment = end.comment;
191
+ }
192
+ coll.range = [fc.offset, cePos, end.offset];
193
+ }
194
+ else {
195
+ coll.range = [fc.offset, cePos, cePos];
196
+ }
197
+ return coll;
198
+ }
199
+
200
+ export { resolveFlowCollection };