projen 0.51.6 → 0.51.10

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 (390) 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 +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-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/resolve/bin/resolve +7 -4
  111. package/node_modules/resolve/package.json +5 -5
  112. package/node_modules/resolve/test/resolver_sync.js +230 -28
  113. package/node_modules/yaml/LICENSE +1 -1
  114. package/node_modules/yaml/README.md +57 -41
  115. package/node_modules/yaml/browser/dist/compose/compose-collection.js +59 -0
  116. package/node_modules/yaml/browser/dist/compose/compose-doc.js +40 -0
  117. package/node_modules/yaml/browser/dist/compose/compose-node.js +81 -0
  118. package/node_modules/yaml/browser/dist/compose/compose-scalar.js +81 -0
  119. package/node_modules/yaml/browser/dist/compose/composer.js +219 -0
  120. package/node_modules/yaml/browser/dist/compose/resolve-block-map.js +107 -0
  121. package/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +185 -0
  122. package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +45 -0
  123. package/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
  124. package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +200 -0
  125. package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +223 -0
  126. package/node_modules/yaml/browser/dist/compose/resolve-props.js +128 -0
  127. package/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
  128. package/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +27 -0
  129. package/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
  130. package/node_modules/yaml/browser/dist/compose/util-map-includes.js +17 -0
  131. package/node_modules/yaml/browser/dist/doc/Document.js +321 -0
  132. package/node_modules/yaml/browser/dist/doc/anchors.js +72 -0
  133. package/node_modules/yaml/browser/dist/doc/applyReviver.js +54 -0
  134. package/node_modules/yaml/browser/dist/doc/createNode.js +84 -0
  135. package/node_modules/yaml/browser/dist/doc/directives.js +166 -0
  136. package/node_modules/yaml/browser/dist/errors.js +57 -0
  137. package/node_modules/yaml/browser/dist/index.js +18 -1002
  138. package/node_modules/yaml/browser/dist/log.js +14 -0
  139. package/node_modules/yaml/browser/dist/node_modules/tslib/tslib.es6.js +164 -0
  140. package/node_modules/yaml/browser/dist/nodes/Alias.js +94 -0
  141. package/node_modules/yaml/browser/dist/nodes/Collection.js +146 -0
  142. package/node_modules/yaml/browser/dist/nodes/Node.js +48 -0
  143. package/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
  144. package/node_modules/yaml/browser/dist/nodes/Scalar.js +23 -0
  145. package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +116 -0
  146. package/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +105 -0
  147. package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +104 -0
  148. package/node_modules/yaml/browser/dist/nodes/toJS.js +35 -0
  149. package/node_modules/yaml/browser/dist/options.js +18 -0
  150. package/node_modules/yaml/browser/dist/parse/cst-scalar.js +215 -0
  151. package/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
  152. package/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
  153. package/node_modules/yaml/browser/dist/parse/cst.js +98 -0
  154. package/node_modules/yaml/browser/dist/parse/lexer.js +692 -0
  155. package/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
  156. package/node_modules/yaml/browser/dist/parse/parser.js +882 -0
  157. package/node_modules/yaml/browser/dist/public-api.js +99 -0
  158. package/node_modules/yaml/browser/dist/schema/Schema.js +34 -0
  159. package/node_modules/yaml/browser/dist/schema/common/map.js +42 -0
  160. package/node_modules/yaml/browser/dist/schema/common/null.js +13 -0
  161. package/node_modules/yaml/browser/dist/schema/common/seq.js +33 -0
  162. package/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
  163. package/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
  164. package/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
  165. package/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
  166. package/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
  167. package/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
  168. package/node_modules/yaml/browser/dist/schema/tags.js +83 -0
  169. package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +66 -0
  170. package/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
  171. package/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
  172. package/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
  173. package/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +73 -0
  174. package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +77 -0
  175. package/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +37 -0
  176. package/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +87 -0
  177. package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
  178. package/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +135 -0
  179. package/node_modules/yaml/browser/dist/stringify/stringify.js +124 -0
  180. package/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +152 -0
  181. package/node_modules/yaml/browser/dist/stringify/stringifyComment.js +18 -0
  182. package/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +68 -0
  183. package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +24 -0
  184. package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +122 -0
  185. package/node_modules/yaml/browser/dist/stringify/stringifyString.js +314 -0
  186. package/node_modules/yaml/browser/dist/util.js +9 -2
  187. package/node_modules/yaml/browser/dist/visit.js +146 -0
  188. package/node_modules/yaml/browser/index.js +5 -1
  189. package/node_modules/yaml/browser/package.json +3 -0
  190. package/node_modules/yaml/dist/compose/compose-collection.d.ts +5 -0
  191. package/node_modules/yaml/dist/compose/compose-collection.js +61 -0
  192. package/node_modules/yaml/dist/compose/compose-doc.d.ts +6 -0
  193. package/node_modules/yaml/dist/compose/compose-doc.js +42 -0
  194. package/node_modules/yaml/dist/compose/compose-node.d.ts +26 -0
  195. package/node_modules/yaml/dist/compose/compose-node.js +84 -0
  196. package/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
  197. package/node_modules/yaml/dist/compose/compose-scalar.js +83 -0
  198. package/node_modules/yaml/dist/compose/composer.d.ts +62 -0
  199. package/node_modules/yaml/dist/compose/composer.js +223 -0
  200. package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
  201. package/node_modules/yaml/dist/compose/resolve-block-map.js +109 -0
  202. package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +10 -0
  203. package/node_modules/yaml/dist/compose/resolve-block-scalar.js +187 -0
  204. package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +5 -0
  205. package/node_modules/yaml/dist/compose/resolve-block-seq.js +47 -0
  206. package/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
  207. package/node_modules/yaml/dist/compose/resolve-end.js +39 -0
  208. package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +6 -0
  209. package/node_modules/yaml/dist/compose/resolve-flow-collection.js +202 -0
  210. package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
  211. package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +225 -0
  212. package/node_modules/yaml/dist/compose/resolve-props.d.ts +21 -0
  213. package/node_modules/yaml/dist/compose/resolve-props.js +130 -0
  214. package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
  215. package/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
  216. package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
  217. package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +29 -0
  218. package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
  219. package/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
  220. package/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
  221. package/node_modules/yaml/dist/compose/util-map-includes.js +19 -0
  222. package/node_modules/yaml/dist/doc/Document.d.ts +139 -0
  223. package/node_modules/yaml/dist/doc/Document.js +323 -0
  224. package/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
  225. package/node_modules/yaml/dist/doc/anchors.js +77 -0
  226. package/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
  227. package/node_modules/yaml/dist/doc/applyReviver.js +56 -0
  228. package/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
  229. package/node_modules/yaml/dist/doc/createNode.js +86 -0
  230. package/node_modules/yaml/dist/doc/directives.d.ts +47 -0
  231. package/node_modules/yaml/dist/doc/directives.js +168 -0
  232. package/node_modules/yaml/dist/errors.d.ts +21 -0
  233. package/node_modules/yaml/dist/errors.js +62 -0
  234. package/node_modules/yaml/dist/index.d.ts +19 -0
  235. package/node_modules/yaml/dist/index.js +49 -77
  236. package/node_modules/yaml/dist/log.d.ts +3 -0
  237. package/node_modules/yaml/dist/log.js +17 -0
  238. package/node_modules/yaml/dist/node_modules/tslib/tslib.es6.js +76 -0
  239. package/node_modules/yaml/dist/nodes/Alias.d.ts +28 -0
  240. package/node_modules/yaml/dist/nodes/Alias.js +96 -0
  241. package/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
  242. package/node_modules/yaml/dist/nodes/Collection.js +150 -0
  243. package/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
  244. package/node_modules/yaml/dist/nodes/Node.js +66 -0
  245. package/node_modules/yaml/dist/nodes/Pair.d.ts +21 -0
  246. package/node_modules/yaml/dist/nodes/Pair.js +39 -0
  247. package/node_modules/yaml/dist/nodes/Scalar.d.ts +42 -0
  248. package/node_modules/yaml/dist/nodes/Scalar.js +26 -0
  249. package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +41 -0
  250. package/node_modules/yaml/dist/nodes/YAMLMap.js +119 -0
  251. package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +55 -0
  252. package/node_modules/yaml/dist/nodes/YAMLSeq.js +107 -0
  253. package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +3 -0
  254. package/node_modules/yaml/dist/nodes/addPairToJSMap.js +106 -0
  255. package/node_modules/yaml/dist/nodes/toJS.d.ts +30 -0
  256. package/node_modules/yaml/dist/nodes/toJS.js +37 -0
  257. package/node_modules/yaml/dist/options.d.ts +338 -0
  258. package/node_modules/yaml/dist/options.js +20 -0
  259. package/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
  260. package/node_modules/yaml/dist/parse/cst-scalar.js +219 -0
  261. package/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
  262. package/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
  263. package/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
  264. package/node_modules/yaml/dist/parse/cst-visit.js +99 -0
  265. package/node_modules/yaml/dist/parse/cst.d.ts +106 -0
  266. package/node_modules/yaml/dist/parse/cst.js +112 -0
  267. package/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
  268. package/node_modules/yaml/dist/parse/lexer.js +694 -0
  269. package/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
  270. package/node_modules/yaml/dist/parse/line-counter.js +41 -0
  271. package/node_modules/yaml/dist/parse/parser.d.ts +84 -0
  272. package/node_modules/yaml/dist/parse/parser.js +886 -0
  273. package/node_modules/yaml/dist/public-api.d.ts +43 -0
  274. package/node_modules/yaml/dist/public-api.js +104 -0
  275. package/node_modules/yaml/dist/schema/Schema.d.ts +18 -0
  276. package/node_modules/yaml/dist/schema/Schema.js +36 -0
  277. package/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
  278. package/node_modules/yaml/dist/schema/common/map.js +44 -0
  279. package/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
  280. package/node_modules/yaml/dist/schema/common/null.js +15 -0
  281. package/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
  282. package/node_modules/yaml/dist/schema/common/seq.js +35 -0
  283. package/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
  284. package/node_modules/yaml/dist/schema/common/string.js +16 -0
  285. package/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
  286. package/node_modules/yaml/dist/schema/core/bool.js +21 -0
  287. package/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
  288. package/node_modules/yaml/dist/schema/core/float.js +47 -0
  289. package/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
  290. package/node_modules/yaml/dist/schema/core/int.js +42 -0
  291. package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
  292. package/node_modules/yaml/dist/schema/core/schema.js +25 -0
  293. package/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
  294. package/node_modules/yaml/dist/schema/json/schema.js +64 -0
  295. package/node_modules/yaml/dist/schema/tags.d.ts +40 -0
  296. package/node_modules/yaml/dist/schema/tags.js +86 -0
  297. package/node_modules/yaml/dist/schema/types.d.ts +82 -0
  298. package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
  299. package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +68 -0
  300. package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
  301. package/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
  302. package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
  303. package/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
  304. package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
  305. package/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
  306. package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +21 -0
  307. package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +76 -0
  308. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
  309. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +81 -0
  310. package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
  311. package/node_modules/yaml/dist/schema/yaml-1.1/schema.js +39 -0
  312. package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +22 -0
  313. package/node_modules/yaml/dist/schema/yaml-1.1/set.js +90 -0
  314. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
  315. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
  316. package/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
  317. package/node_modules/yaml/dist/stringify/foldFlowLines.js +140 -0
  318. package/node_modules/yaml/dist/stringify/stringify.d.ts +20 -0
  319. package/node_modules/yaml/dist/stringify/stringify.js +127 -0
  320. package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
  321. package/node_modules/yaml/dist/stringify/stringifyCollection.js +154 -0
  322. package/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
  323. package/node_modules/yaml/dist/stringify/stringifyComment.js +22 -0
  324. package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +3 -0
  325. package/node_modules/yaml/dist/stringify/stringifyDocument.js +70 -0
  326. package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
  327. package/node_modules/yaml/dist/stringify/stringifyNumber.js +26 -0
  328. package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
  329. package/node_modules/yaml/dist/stringify/stringifyPair.js +124 -0
  330. package/node_modules/yaml/dist/stringify/stringifyString.d.ts +3 -0
  331. package/node_modules/yaml/dist/stringify/stringifyString.js +316 -0
  332. package/node_modules/yaml/dist/test-events.d.ts +4 -0
  333. package/node_modules/yaml/dist/test-events.js +126 -152
  334. package/node_modules/yaml/dist/util.d.ts +9 -0
  335. package/node_modules/yaml/dist/util.js +19 -14
  336. package/node_modules/yaml/dist/visit.d.ts +63 -0
  337. package/node_modules/yaml/dist/visit.js +148 -0
  338. package/node_modules/yaml/package.json +43 -55
  339. package/node_modules/yaml/util.d.ts +3 -86
  340. package/node_modules/yaml/util.js +2 -16
  341. package/package.json +3 -3
  342. package/releasetag.txt +1 -1
  343. package/version.txt +1 -1
  344. package/node_modules/yaml/browser/dist/PlainValue-b8036b75.js +0 -1275
  345. package/node_modules/yaml/browser/dist/Schema-e94716c8.js +0 -682
  346. package/node_modules/yaml/browser/dist/legacy-exports.js +0 -3
  347. package/node_modules/yaml/browser/dist/package.json +0 -1
  348. package/node_modules/yaml/browser/dist/parse-cst.js +0 -1904
  349. package/node_modules/yaml/browser/dist/resolveSeq-492ab440.js +0 -2419
  350. package/node_modules/yaml/browser/dist/types.js +0 -4
  351. package/node_modules/yaml/browser/dist/warnings-df54cb69.js +0 -499
  352. package/node_modules/yaml/browser/map.js +0 -2
  353. package/node_modules/yaml/browser/pair.js +0 -2
  354. package/node_modules/yaml/browser/parse-cst.js +0 -1
  355. package/node_modules/yaml/browser/scalar.js +0 -2
  356. package/node_modules/yaml/browser/schema.js +0 -9
  357. package/node_modules/yaml/browser/seq.js +0 -2
  358. package/node_modules/yaml/browser/types/binary.js +0 -8
  359. package/node_modules/yaml/browser/types/omap.js +0 -3
  360. package/node_modules/yaml/browser/types/pairs.js +0 -3
  361. package/node_modules/yaml/browser/types/set.js +0 -3
  362. package/node_modules/yaml/browser/types/timestamp.js +0 -10
  363. package/node_modules/yaml/browser/types.js +0 -1
  364. package/node_modules/yaml/browser/util.js +0 -1
  365. package/node_modules/yaml/dist/Document-9b4560a1.js +0 -757
  366. package/node_modules/yaml/dist/PlainValue-ec8e588e.js +0 -876
  367. package/node_modules/yaml/dist/Schema-88e323a7.js +0 -525
  368. package/node_modules/yaml/dist/legacy-exports.js +0 -16
  369. package/node_modules/yaml/dist/parse-cst.js +0 -1753
  370. package/node_modules/yaml/dist/resolveSeq-d03cb037.js +0 -2161
  371. package/node_modules/yaml/dist/types.js +0 -23
  372. package/node_modules/yaml/dist/warnings-1000a372.js +0 -416
  373. package/node_modules/yaml/index.d.ts +0 -372
  374. package/node_modules/yaml/index.js +0 -1
  375. package/node_modules/yaml/map.js +0 -2
  376. package/node_modules/yaml/pair.js +0 -2
  377. package/node_modules/yaml/parse-cst.d.ts +0 -191
  378. package/node_modules/yaml/parse-cst.js +0 -1
  379. package/node_modules/yaml/scalar.js +0 -2
  380. package/node_modules/yaml/schema.js +0 -9
  381. package/node_modules/yaml/seq.js +0 -2
  382. package/node_modules/yaml/types/binary.js +0 -8
  383. package/node_modules/yaml/types/omap.js +0 -3
  384. package/node_modules/yaml/types/pairs.js +0 -3
  385. package/node_modules/yaml/types/set.js +0 -3
  386. package/node_modules/yaml/types/timestamp.js +0 -10
  387. package/node_modules/yaml/types.d.ts +0 -407
  388. package/node_modules/yaml/types.js +0 -17
  389. package/node_modules/yaml/types.mjs +0 -17
  390. package/node_modules/yaml/util.mjs +0 -18
@@ -5,6 +5,9 @@ var test = require('tape');
5
5
  var resolve = require('../');
6
6
  var sync = require('../sync');
7
7
 
8
+ var requireResolveSupportsPaths = require.resolve.length > 1
9
+ && (/^12\.[012]\./).test(process.version); // broken in v12.0-12.2, see https://github.com/nodejs/node/issues/27794
10
+
8
11
  test('`./sync` entry point', function (t) {
9
12
  t.equal(resolve.sync, sync, '`./sync` entry point is the same as `.sync` on `main`');
10
13
  t.end();
@@ -15,13 +18,29 @@ test('foo', function (t) {
15
18
 
16
19
  t.equal(
17
20
  resolve.sync('./foo', { basedir: dir }),
18
- path.join(dir, 'foo.js')
19
- );
21
+ path.join(dir, 'foo.js'),
22
+ './foo'
23
+ );
24
+ if (requireResolveSupportsPaths) {
25
+ t.equal(
26
+ resolve.sync('./foo', { basedir: dir }),
27
+ require.resolve('./foo', { paths: [dir] }),
28
+ './foo: resolve.sync === require.resolve'
29
+ );
30
+ }
20
31
 
21
32
  t.equal(
22
33
  resolve.sync('./foo.js', { basedir: dir }),
23
- path.join(dir, 'foo.js')
24
- );
34
+ path.join(dir, 'foo.js'),
35
+ './foo.js'
36
+ );
37
+ if (requireResolveSupportsPaths) {
38
+ t.equal(
39
+ resolve.sync('./foo.js', { basedir: dir }),
40
+ require.resolve('./foo.js', { paths: [dir] }),
41
+ './foo.js: resolve.sync === require.resolve'
42
+ );
43
+ }
25
44
 
26
45
  t.equal(
27
46
  resolve.sync('./foo.js', { basedir: dir, filename: path.join(dir, 'bar.js') }),
@@ -49,10 +68,21 @@ test('foo', function (t) {
49
68
  test('bar', function (t) {
50
69
  var dir = path.join(__dirname, 'resolver');
51
70
 
71
+ var basedir = path.join(dir, 'bar');
72
+
52
73
  t.equal(
53
- resolve.sync('foo', { basedir: path.join(dir, 'bar') }),
54
- path.join(dir, 'bar/node_modules/foo/index.js')
55
- );
74
+ resolve.sync('foo', { basedir: basedir }),
75
+ path.join(dir, 'bar/node_modules/foo/index.js'),
76
+ 'foo in bar'
77
+ );
78
+ if (requireResolveSupportsPaths) {
79
+ t.equal(
80
+ resolve.sync('foo', { basedir: basedir }),
81
+ require.resolve('foo', { paths: [basedir] }),
82
+ 'foo in bar: resolve.sync === require.resolve'
83
+ );
84
+ }
85
+
56
86
  t.end();
57
87
  });
58
88
 
@@ -61,52 +91,98 @@ test('baz', function (t) {
61
91
 
62
92
  t.equal(
63
93
  resolve.sync('./baz', { basedir: dir }),
64
- path.join(dir, 'baz/quux.js')
65
- );
94
+ path.join(dir, 'baz/quux.js'),
95
+ './baz'
96
+ );
97
+ if (requireResolveSupportsPaths) {
98
+ t.equal(
99
+ resolve.sync('./baz', { basedir: dir }),
100
+ require.resolve('./baz', { paths: [dir] }),
101
+ './baz: resolve.sync === require.resolve'
102
+ );
103
+ }
104
+
66
105
  t.end();
67
106
  });
68
107
 
69
108
  test('biz', function (t) {
70
109
  var dir = path.join(__dirname, 'resolver/biz/node_modules');
110
+
71
111
  t.equal(
72
112
  resolve.sync('./grux', { basedir: dir }),
73
113
  path.join(dir, 'grux/index.js')
74
114
  );
115
+ if (requireResolveSupportsPaths) {
116
+ t.equal(
117
+ resolve.sync('./grux', { basedir: dir }),
118
+ require.resolve('./grux', { paths: [dir] }),
119
+ './grux: resolve.sync === require.resolve'
120
+ );
121
+ }
75
122
 
123
+ var tivDir = path.join(dir, 'grux');
76
124
  t.equal(
77
- resolve.sync('tiv', { basedir: path.join(dir, 'grux') }),
125
+ resolve.sync('tiv', { basedir: tivDir }),
78
126
  path.join(dir, 'tiv/index.js')
79
127
  );
128
+ if (requireResolveSupportsPaths) {
129
+ t.equal(
130
+ resolve.sync('tiv', { basedir: tivDir }),
131
+ require.resolve('tiv', { paths: [tivDir] }),
132
+ 'tiv: resolve.sync === require.resolve'
133
+ );
134
+ }
80
135
 
136
+ var gruxDir = path.join(dir, 'tiv');
81
137
  t.equal(
82
- resolve.sync('grux', { basedir: path.join(dir, 'tiv') }),
138
+ resolve.sync('grux', { basedir: gruxDir }),
83
139
  path.join(dir, 'grux/index.js')
84
140
  );
141
+ if (requireResolveSupportsPaths) {
142
+ t.equal(
143
+ resolve.sync('grux', { basedir: gruxDir }),
144
+ require.resolve('grux', { paths: [gruxDir] }),
145
+ 'grux: resolve.sync === require.resolve'
146
+ );
147
+ }
148
+
85
149
  t.end();
86
150
  });
87
151
 
88
152
  test('normalize', function (t) {
89
153
  var dir = path.join(__dirname, 'resolver/biz/node_modules/grux');
154
+
90
155
  t.equal(
91
156
  resolve.sync('../grux', { basedir: dir }),
92
157
  path.join(dir, 'index.js')
93
158
  );
159
+ if (requireResolveSupportsPaths) {
160
+ t.equal(
161
+ resolve.sync('../grux', { basedir: dir }),
162
+ require.resolve('../grux', { paths: [dir] }),
163
+ '../grux: resolve.sync === require.resolve'
164
+ );
165
+ }
166
+
94
167
  t.end();
95
168
  });
96
169
 
97
170
  test('cup', function (t) {
98
171
  var dir = path.join(__dirname, 'resolver');
172
+
99
173
  t.equal(
100
174
  resolve.sync('./cup', {
101
175
  basedir: dir,
102
176
  extensions: ['.js', '.coffee']
103
177
  }),
104
- path.join(dir, 'cup.coffee')
178
+ path.join(dir, 'cup.coffee'),
179
+ './cup -> ./cup.coffee'
105
180
  );
106
181
 
107
182
  t.equal(
108
183
  resolve.sync('./cup.coffee', { basedir: dir }),
109
- path.join(dir, 'cup.coffee')
184
+ path.join(dir, 'cup.coffee'),
185
+ './cup.coffee'
110
186
  );
111
187
 
112
188
  t.throws(function () {
@@ -116,22 +192,40 @@ test('cup', function (t) {
116
192
  });
117
193
  });
118
194
 
195
+ if (requireResolveSupportsPaths) {
196
+ t.equal(
197
+ resolve.sync('./cup.coffee', { basedir: dir, extensions: ['.js', '.coffee'] }),
198
+ require.resolve('./cup.coffee', { paths: [dir] }),
199
+ './cup.coffee: resolve.sync === require.resolve'
200
+ );
201
+ }
202
+
119
203
  t.end();
120
204
  });
121
205
 
122
206
  test('mug', function (t) {
123
207
  var dir = path.join(__dirname, 'resolver');
208
+
124
209
  t.equal(
125
210
  resolve.sync('./mug', { basedir: dir }),
126
- path.join(dir, 'mug.js')
127
- );
211
+ path.join(dir, 'mug.js'),
212
+ './mug -> ./mug.js'
213
+ );
214
+ if (requireResolveSupportsPaths) {
215
+ t.equal(
216
+ resolve.sync('./mug', { basedir: dir }),
217
+ require.resolve('./mug', { paths: [dir] }),
218
+ './mug: resolve.sync === require.resolve'
219
+ );
220
+ }
128
221
 
129
222
  t.equal(
130
223
  resolve.sync('./mug', {
131
224
  basedir: dir,
132
225
  extensions: ['.coffee', '.js']
133
226
  }),
134
- path.join(dir, 'mug.coffee')
227
+ path.join(dir, 'mug.coffee'),
228
+ './mug -> ./mug.coffee'
135
229
  );
136
230
 
137
231
  t.equal(
@@ -139,7 +233,8 @@ test('mug', function (t) {
139
233
  basedir: dir,
140
234
  extensions: ['.js', '.coffee']
141
235
  }),
142
- path.join(dir, 'mug.js')
236
+ path.join(dir, 'mug.js'),
237
+ './mug -> ./mug.js'
143
238
  );
144
239
 
145
240
  t.end();
@@ -203,6 +298,13 @@ test('incorrect main', function (t) {
203
298
  resolve.sync('./incorrect_main', { basedir: resolverDir }),
204
299
  path.join(dir, 'index.js')
205
300
  );
301
+ if (requireResolveSupportsPaths) {
302
+ t.equal(
303
+ resolve.sync('./incorrect_main', { basedir: resolverDir }),
304
+ require.resolve('./incorrect_main', { paths: [resolverDir] }),
305
+ './incorrect_main: resolve.sync === require.resolve'
306
+ );
307
+ }
206
308
 
207
309
  t.end();
208
310
  });
@@ -233,29 +335,66 @@ test('#79 - re-throw non ENOENT errors from stat', function (t) {
233
335
 
234
336
  test('#52 - incorrectly resolves module-paths like "./someFolder/" when there is a file of the same name', function (t) {
235
337
  var dir = path.join(__dirname, 'resolver');
338
+ var basedir = path.join(dir, 'same_names');
236
339
 
237
340
  t.equal(
238
- resolve.sync('./foo', { basedir: path.join(dir, 'same_names') }),
341
+ resolve.sync('./foo', { basedir: basedir }),
239
342
  path.join(dir, 'same_names/foo.js')
240
343
  );
344
+ if (requireResolveSupportsPaths) {
345
+ t.equal(
346
+ resolve.sync('./foo', { basedir: basedir }),
347
+ require.resolve('./foo', { paths: [basedir] }),
348
+ './foo: resolve.sync === require.resolve'
349
+ );
350
+ }
351
+
241
352
  t.equal(
242
- resolve.sync('./foo/', { basedir: path.join(dir, 'same_names') }),
353
+ resolve.sync('./foo/', { basedir: basedir }),
243
354
  path.join(dir, 'same_names/foo/index.js')
244
355
  );
356
+ if (requireResolveSupportsPaths) {
357
+ t.equal(
358
+ resolve.sync('./foo/', { basedir: basedir }),
359
+ require.resolve('./foo/', { paths: [basedir] }),
360
+ './foo/: resolve.sync === require.resolve'
361
+ );
362
+ }
363
+
245
364
  t.end();
246
365
  });
247
366
 
248
367
  test('#211 - incorrectly resolves module-paths like "." when from inside a folder with a sibling file of the same name', function (t) {
249
368
  var dir = path.join(__dirname, 'resolver');
369
+ var basedir = path.join(dir, 'same_names/foo');
250
370
 
251
371
  t.equal(
252
- resolve.sync('./', { basedir: path.join(dir, 'same_names/foo') }),
253
- path.join(dir, 'same_names/foo/index.js')
254
- );
372
+ resolve.sync('./', { basedir: basedir }),
373
+ path.join(dir, 'same_names/foo/index.js'),
374
+ './'
375
+ );
376
+ if (requireResolveSupportsPaths) {
377
+ t.equal(
378
+ resolve.sync('./', { basedir: basedir }),
379
+ require.resolve('./', { paths: [basedir] }),
380
+ './: resolve.sync === require.resolve'
381
+ );
382
+ }
383
+
255
384
  t.equal(
256
- resolve.sync('.', { basedir: path.join(dir, 'same_names/foo') }),
257
- path.join(dir, 'same_names/foo/index.js')
258
- );
385
+ resolve.sync('.', { basedir: basedir }),
386
+ path.join(dir, 'same_names/foo/index.js'),
387
+ '.'
388
+ );
389
+ if (requireResolveSupportsPaths) {
390
+ t.equal(
391
+ resolve.sync('.', { basedir: basedir }),
392
+ require.resolve('.', { paths: [basedir] }),
393
+ '.: resolve.sync === require.resolve',
394
+ { todo: true }
395
+ );
396
+ }
397
+
259
398
  t.end();
260
399
  });
261
400
 
@@ -268,6 +407,12 @@ test('sync: #121 - treating an existing file as a dir when no basedir', function
268
407
  __filename,
269
408
  'sanity check'
270
409
  );
410
+ st.equal(
411
+ resolve.sync('./' + testFile),
412
+ require.resolve('./' + testFile),
413
+ 'sanity check: resolve.sync === require.resolve'
414
+ );
415
+
271
416
  st.end();
272
417
  });
273
418
 
@@ -295,15 +440,38 @@ test('sync: #121 - treating an existing file as a dir when no basedir', function
295
440
 
296
441
  test('sync dot main', function (t) {
297
442
  var start = new Date();
298
- t.equal(resolve.sync('./resolver/dot_main'), path.join(__dirname, 'resolver/dot_main/index.js'));
443
+
444
+ t.equal(
445
+ resolve.sync('./resolver/dot_main'),
446
+ path.join(__dirname, 'resolver/dot_main/index.js'),
447
+ './resolver/dot_main'
448
+ );
449
+ t.equal(
450
+ resolve.sync('./resolver/dot_main'),
451
+ require.resolve('./resolver/dot_main'),
452
+ './resolver/dot_main: resolve.sync === require.resolve'
453
+ );
454
+
299
455
  t.ok(new Date() - start < 50, 'resolve.sync timedout');
456
+
300
457
  t.end();
301
458
  });
302
459
 
303
460
  test('sync dot slash main', function (t) {
304
461
  var start = new Date();
305
- t.equal(resolve.sync('./resolver/dot_slash_main'), path.join(__dirname, 'resolver/dot_slash_main/index.js'));
462
+
463
+ t.equal(
464
+ resolve.sync('./resolver/dot_slash_main'),
465
+ path.join(__dirname, 'resolver/dot_slash_main/index.js')
466
+ );
467
+ t.equal(
468
+ resolve.sync('./resolver/dot_slash_main'),
469
+ require.resolve('./resolver/dot_slash_main'),
470
+ './resolver/dot_slash_main: resolve.sync === require.resolve'
471
+ );
472
+
306
473
  t.ok(new Date() - start < 50, 'resolve.sync timedout');
474
+
307
475
  t.end();
308
476
  });
309
477
 
@@ -372,27 +540,54 @@ test('absolute paths', function (t) {
372
540
  __filename,
373
541
  'absolute path to this file resolves'
374
542
  );
543
+ t.equal(
544
+ resolve.sync(__filename),
545
+ require.resolve(__filename),
546
+ 'absolute path to this file: resolve.sync === require.resolve'
547
+ );
548
+
375
549
  t.equal(
376
550
  resolve.sync(extensionless),
377
551
  __filename,
378
552
  'extensionless absolute path to this file resolves'
379
553
  );
554
+ t.equal(
555
+ resolve.sync(__filename),
556
+ require.resolve(__filename),
557
+ 'absolute path to this file: resolve.sync === require.resolve'
558
+ );
559
+
380
560
  t.equal(
381
561
  resolve.sync(__filename, { basedir: process.cwd() }),
382
562
  __filename,
383
563
  'absolute path to this file with a basedir resolves'
384
564
  );
565
+ if (requireResolveSupportsPaths) {
566
+ t.equal(
567
+ resolve.sync(__filename, { basedir: process.cwd() }),
568
+ require.resolve(__filename, { paths: [process.cwd()] }),
569
+ 'absolute path to this file + basedir: resolve.sync === require.resolve'
570
+ );
571
+ }
572
+
385
573
  t.equal(
386
574
  resolve.sync(extensionless, { basedir: process.cwd() }),
387
575
  __filename,
388
576
  'extensionless absolute path to this file with a basedir resolves'
389
577
  );
578
+ if (requireResolveSupportsPaths) {
579
+ t.equal(
580
+ resolve.sync(extensionless, { basedir: process.cwd() }),
581
+ require.resolve(extensionless, { paths: [process.cwd()] }),
582
+ 'extensionless absolute path to this file + basedir: resolve.sync === require.resolve'
583
+ );
584
+ }
390
585
 
391
586
  t.end();
392
587
  });
393
588
 
394
589
  test('malformed package.json', function (t) {
395
- t.plan(5);
590
+ t.plan(5 + (requireResolveSupportsPaths ? 1 : 0));
396
591
 
397
592
  var basedir = path.join(__dirname, 'resolver/malformed_package_json');
398
593
  var expected = path.join(basedir, 'index.js');
@@ -402,6 +597,13 @@ test('malformed package.json', function (t) {
402
597
  expected,
403
598
  'malformed package.json is silently ignored'
404
599
  );
600
+ if (requireResolveSupportsPaths) {
601
+ t.equal(
602
+ resolve.sync('./index.js', { basedir: basedir }),
603
+ require.resolve('./index.js', { paths: [basedir] }),
604
+ 'malformed package.json: resolve.sync === require.resolve'
605
+ );
606
+ }
405
607
 
406
608
  var res1 = resolve.sync(
407
609
  './index.js',
@@ -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 };