@quilted/create 0.2.44 → 0.2.45

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 (278) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/esm/_virtual/index3.mjs +1 -1
  3. package/build/esm/_virtual/index7.mjs +2 -2
  4. package/build/esm/_virtual/index8.mjs +2 -2
  5. package/build/esm/node_modules/.pnpm/{braces@3.0.2 → braces@3.0.3}/node_modules/braces/index.mjs +2 -2
  6. package/build/esm/node_modules/.pnpm/{braces@3.0.2 → braces@3.0.3}/node_modules/braces/lib/compile.mjs +12 -10
  7. package/build/esm/node_modules/.pnpm/{braces@3.0.2 → braces@3.0.3}/node_modules/braces/lib/constants.mjs +1 -2
  8. package/build/esm/node_modules/.pnpm/{braces@3.0.2 → braces@3.0.3}/node_modules/braces/lib/expand.mjs +9 -9
  9. package/build/esm/node_modules/.pnpm/{braces@3.0.2 → braces@3.0.3}/node_modules/braces/lib/parse.mjs +14 -14
  10. package/build/esm/node_modules/.pnpm/{braces@3.0.2 → braces@3.0.3}/node_modules/braces/lib/stringify.mjs +4 -4
  11. package/build/esm/node_modules/.pnpm/{braces@3.0.2 → braces@3.0.3}/node_modules/braces/lib/utils.mjs +9 -3
  12. package/build/esm/node_modules/.pnpm/dir-glob@3.0.1/node_modules/dir-glob/index.mjs +1 -3
  13. package/build/esm/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/index.mjs +39 -8
  14. package/build/esm/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/managers/tasks.mjs +40 -10
  15. package/build/esm/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/providers/filters/deep.mjs +2 -2
  16. package/build/esm/node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/filters/entry.mjs +101 -0
  17. package/build/esm/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/providers/matchers/matcher.mjs +1 -6
  18. package/build/esm/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/providers/matchers/partial.mjs +6 -6
  19. package/build/esm/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/settings.mjs +7 -5
  20. package/build/esm/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/utils/index.mjs +1 -1
  21. package/build/esm/node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/path.mjs +79 -0
  22. package/build/esm/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/utils/pattern.mjs +69 -29
  23. package/build/esm/node_modules/.pnpm/{fill-range@7.0.1 → fill-range@7.1.1}/node_modules/fill-range/index.mjs +4 -4
  24. package/build/esm/node_modules/.pnpm/glob-parent@5.1.2/node_modules/glob-parent/index.mjs +2 -2
  25. package/build/esm/node_modules/.pnpm/{globby@13.1.1 → globby@13.2.2}/node_modules/globby/ignore.mjs +9 -3
  26. package/build/esm/node_modules/.pnpm/{globby@13.1.1 → globby@13.2.2}/node_modules/globby/index.mjs +3 -5
  27. package/build/esm/node_modules/.pnpm/{micromatch@4.0.5 → micromatch@4.0.8}/node_modules/micromatch/index.mjs +9 -3
  28. package/build/esm/node_modules/.pnpm/{prettier@3.0.0 → prettier@3.5.1}/node_modules/prettier/plugins/babel.mjs +2448 -3000
  29. package/build/esm/node_modules/.pnpm/prettier@3.5.1/node_modules/prettier/plugins/estree.mjs +6611 -0
  30. package/build/esm/node_modules/.pnpm/prettier@3.5.1/node_modules/prettier/plugins/typescript.mjs +22 -0
  31. package/build/esm/node_modules/.pnpm/{prettier@3.0.0 → prettier@3.5.1}/node_modules/prettier/plugins/yaml.mjs +1008 -1007
  32. package/build/esm/node_modules/.pnpm/prettier@3.5.1/node_modules/prettier/standalone.mjs +3878 -0
  33. package/build/esm/node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/dist/elements/date.mjs +0 -1
  34. package/build/esm/node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/dist/prompts.mjs +1 -1
  35. package/build/esm/node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/elements/date.mjs +0 -1
  36. package/build/esm/node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/prompts.mjs +1 -1
  37. package/build/esm/node_modules/.pnpm/yaml@2.7.0/node_modules/yaml/browser/dist/compose/compose-collection.mjs +67 -0
  38. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/compose-doc.mjs +3 -0
  39. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/compose-node.mjs +13 -3
  40. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/compose-scalar.mjs +8 -4
  41. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/composer.mjs +1 -1
  42. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/resolve-block-map.mjs +12 -5
  43. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/resolve-block-scalar.mjs +6 -2
  44. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/resolve-block-seq.mjs +10 -7
  45. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/resolve-flow-collection.mjs +11 -3
  46. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.mjs +14 -1
  47. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/resolve-props.mjs +20 -7
  48. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/util-map-includes.mjs +2 -2
  49. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/doc/Document.mjs +13 -10
  50. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/doc/anchors.mjs +1 -1
  51. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/doc/applyReviver.mjs +1 -0
  52. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/doc/createNode.mjs +4 -4
  53. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/doc/directives.mjs +10 -3
  54. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/errors.mjs +1 -1
  55. package/build/esm/node_modules/.pnpm/yaml@2.7.0/node_modules/yaml/browser/dist/log.mjs +7 -0
  56. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/nodes/Alias.mjs +9 -2
  57. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/nodes/Collection.mjs +2 -2
  58. package/build/esm/node_modules/.pnpm/yaml@2.7.0/node_modules/yaml/browser/dist/nodes/Node.mjs +44 -0
  59. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/nodes/Pair.mjs +1 -1
  60. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/nodes/Scalar.mjs +2 -1
  61. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/nodes/YAMLMap.mjs +28 -4
  62. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/nodes/YAMLSeq.mjs +22 -4
  63. package/build/esm/node_modules/.pnpm/yaml@2.7.0/node_modules/yaml/browser/dist/nodes/addPairToJSMap.mjs +53 -0
  64. package/build/esm/node_modules/.pnpm/{yaml@2.1.1/node_modules/yaml/browser/dist/nodes/Node.mjs → yaml@2.7.0/node_modules/yaml/browser/dist/nodes/identity.mjs} +1 -14
  65. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/nodes/toJS.mjs +1 -1
  66. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/parse/cst.mjs +1 -0
  67. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/parse/lexer.mjs +34 -21
  68. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/parse/parser.mjs +16 -9
  69. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/public-api.mjs +2 -0
  70. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/Schema.mjs +2 -3
  71. package/build/esm/node_modules/.pnpm/yaml@2.7.0/node_modules/yaml/browser/dist/schema/common/map.mjs +16 -0
  72. package/build/esm/node_modules/.pnpm/yaml@2.7.0/node_modules/yaml/browser/dist/schema/common/seq.mjs +16 -0
  73. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/core/float.mjs +1 -1
  74. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/json/schema.mjs +1 -1
  75. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/tags.mjs +20 -9
  76. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.mjs +3 -6
  77. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.mjs +1 -1
  78. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/yaml-1.1/float.mjs +1 -1
  79. package/build/esm/node_modules/.pnpm/yaml@2.7.0/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.mjs +48 -0
  80. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.mjs +10 -9
  81. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.mjs +4 -2
  82. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.mjs +2 -1
  83. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/yaml-1.1/set.mjs +15 -14
  84. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.mjs +2 -4
  85. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/stringify/foldFlowLines.mjs +19 -10
  86. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/stringify/stringify.mjs +8 -2
  87. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/stringify/stringifyCollection.mjs +9 -17
  88. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/stringify/stringifyDocument.mjs +1 -1
  89. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/stringify/stringifyPair.mjs +40 -17
  90. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/stringify/stringifyString.mjs +40 -20
  91. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/visit.mjs +1 -1
  92. package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/index.mjs +2 -1
  93. package/build/esm/package.mjs +1 -1
  94. package/build/esm/shared/package-manager.mjs +1 -2
  95. package/build/esm/shared.mjs +1 -3
  96. package/build/esnext/_virtual/index3.esnext +1 -1
  97. package/build/esnext/node_modules/.pnpm/@nodelib_fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/async.esnext +1 -1
  98. package/build/esnext/node_modules/.pnpm/@nodelib_fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/sync.esnext +1 -1
  99. package/build/esnext/node_modules/.pnpm/@nodelib_fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/settings.esnext +1 -1
  100. package/build/esnext/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/async.esnext +1 -1
  101. package/build/esnext/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/sync.esnext +1 -1
  102. package/build/esnext/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/settings.esnext +1 -1
  103. package/build/esnext/node_modules/.pnpm/{braces@3.0.2 → braces@3.0.3}/node_modules/braces/index.esnext +2 -2
  104. package/build/esnext/node_modules/.pnpm/{braces@3.0.2 → braces@3.0.3}/node_modules/braces/lib/compile.esnext +10 -9
  105. package/build/esnext/node_modules/.pnpm/{braces@3.0.2 → braces@3.0.3}/node_modules/braces/lib/constants.esnext +1 -1
  106. package/build/esnext/node_modules/.pnpm/{braces@3.0.2 → braces@3.0.3}/node_modules/braces/lib/expand.esnext +9 -9
  107. package/build/esnext/node_modules/.pnpm/{braces@3.0.2 → braces@3.0.3}/node_modules/braces/lib/parse.esnext +14 -14
  108. package/build/esnext/node_modules/.pnpm/{braces@3.0.2 → braces@3.0.3}/node_modules/braces/lib/stringify.esnext +4 -4
  109. package/build/esnext/node_modules/.pnpm/{braces@3.0.2 → braces@3.0.3}/node_modules/braces/lib/utils.esnext +9 -3
  110. package/build/esnext/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/index.esnext +35 -4
  111. package/build/esnext/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/managers/tasks.esnext +14 -2
  112. package/build/esnext/node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/filters/entry.esnext +92 -0
  113. package/build/esnext/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/providers/matchers/matcher.esnext +1 -2
  114. package/build/esnext/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/settings.esnext +3 -2
  115. package/build/esnext/node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/path.esnext +58 -0
  116. package/build/esnext/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/utils/pattern.esnext +27 -6
  117. package/build/esnext/node_modules/.pnpm/{fill-range@7.0.1 → fill-range@7.1.1}/node_modules/fill-range/index.esnext +4 -4
  118. package/build/esnext/node_modules/.pnpm/glob-parent@5.1.2/node_modules/glob-parent/index.esnext +2 -2
  119. package/build/esnext/node_modules/.pnpm/{globby@13.1.1 → globby@13.2.2}/node_modules/globby/ignore.esnext +6 -4
  120. package/build/esnext/node_modules/.pnpm/{globby@13.1.1 → globby@13.2.2}/node_modules/globby/index.esnext +3 -3
  121. package/build/esnext/node_modules/.pnpm/{micromatch@4.0.5 → micromatch@4.0.8}/node_modules/micromatch/index.esnext +8 -3
  122. package/build/esnext/node_modules/.pnpm/prettier@3.5.1/node_modules/prettier/plugins/babel.esnext +6956 -0
  123. package/build/esnext/node_modules/.pnpm/prettier@3.5.1/node_modules/prettier/plugins/estree.esnext +4320 -0
  124. package/build/esnext/node_modules/.pnpm/prettier@3.5.1/node_modules/prettier/plugins/typescript.esnext +12888 -0
  125. package/build/esnext/node_modules/.pnpm/prettier@3.5.1/node_modules/prettier/plugins/yaml.esnext +4156 -0
  126. package/build/esnext/node_modules/.pnpm/prettier@3.5.1/node_modules/prettier/standalone.esnext +2369 -0
  127. package/build/esnext/node_modules/.pnpm/yaml@2.7.0/node_modules/yaml/browser/dist/compose/compose-collection.esnext +60 -0
  128. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/compose-doc.esnext +2 -0
  129. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/compose-node.esnext +11 -3
  130. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/compose-scalar.esnext +13 -5
  131. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/composer.esnext +1 -1
  132. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/resolve-block-map.esnext +13 -4
  133. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/resolve-block-scalar.esnext +6 -2
  134. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/resolve-block-seq.esnext +11 -6
  135. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/resolve-flow-collection.esnext +12 -3
  136. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.esnext +14 -1
  137. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/resolve-props.esnext +20 -9
  138. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/util-map-includes.esnext +2 -2
  139. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/doc/Document.esnext +8 -13
  140. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/doc/anchors.esnext +1 -1
  141. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/doc/createNode.esnext +5 -3
  142. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/doc/directives.esnext +10 -4
  143. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/errors.esnext +1 -1
  144. package/build/esnext/node_modules/.pnpm/yaml@2.7.0/node_modules/yaml/browser/dist/log.esnext +7 -0
  145. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/nodes/Alias.esnext +8 -2
  146. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/nodes/Collection.esnext +2 -2
  147. package/build/esnext/node_modules/.pnpm/yaml@2.7.0/node_modules/yaml/browser/dist/nodes/Node.esnext +36 -0
  148. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/nodes/Pair.esnext +1 -1
  149. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/nodes/Scalar.esnext +2 -1
  150. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/nodes/YAMLMap.esnext +31 -4
  151. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/nodes/YAMLSeq.esnext +20 -4
  152. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/nodes/addPairToJSMap.esnext +8 -38
  153. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1/node_modules/yaml/browser/dist/nodes/Node.esnext → yaml@2.7.0/node_modules/yaml/browser/dist/nodes/identity.esnext} +1 -13
  154. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/nodes/toJS.esnext +1 -1
  155. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/parse/cst.esnext +1 -0
  156. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/parse/lexer.esnext +45 -33
  157. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/parse/parser.esnext +12 -9
  158. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/public-api.esnext +3 -0
  159. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/Schema.esnext +2 -3
  160. package/build/esnext/node_modules/.pnpm/yaml@2.7.0/node_modules/yaml/browser/dist/schema/common/map.esnext +17 -0
  161. package/build/esnext/node_modules/.pnpm/yaml@2.7.0/node_modules/yaml/browser/dist/schema/common/seq.esnext +17 -0
  162. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/core/float.esnext +1 -1
  163. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/json/schema.esnext +1 -1
  164. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/tags.esnext +22 -11
  165. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.esnext +3 -6
  166. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.esnext +1 -1
  167. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/yaml-1.1/float.esnext +1 -1
  168. package/build/esnext/node_modules/.pnpm/yaml@2.7.0/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.esnext +50 -0
  169. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.esnext +10 -9
  170. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.esnext +4 -3
  171. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.esnext +2 -0
  172. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/yaml-1.1/set.esnext +15 -14
  173. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.esnext +2 -2
  174. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/stringify/foldFlowLines.esnext +20 -10
  175. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/stringify/stringify.esnext +9 -2
  176. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/stringify/stringifyCollection.esnext +20 -28
  177. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/stringify/stringifyDocument.esnext +1 -1
  178. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/stringify/stringifyPair.esnext +44 -23
  179. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/stringify/stringifyString.esnext +38 -20
  180. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/visit.esnext +1 -1
  181. package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/index.esnext +2 -1
  182. package/build/esnext/package.esnext +1 -1
  183. package/build/esnext/shared/package-manager.esnext +1 -1
  184. package/build/esnext/shared.esnext +5 -6
  185. package/build/tsconfig.tsbuildinfo +1 -1
  186. package/build/typescript/shared/package-manager.d.ts.map +1 -1
  187. package/build/typescript/shared.d.ts.map +1 -1
  188. package/package.json +7 -7
  189. package/source/shared/package-manager.ts +0 -1
  190. package/source/shared.ts +1 -2
  191. package/templates/workspace/_nvmrc +1 -1
  192. package/build/esm/_virtual/patterns.mjs +0 -3
  193. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/managers/patterns.mjs +0 -32
  194. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/providers/filters/entry.mjs +0 -76
  195. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/utils/path.mjs +0 -45
  196. package/build/esm/node_modules/.pnpm/prettier@3.0.0/node_modules/prettier/plugins/estree.mjs +0 -6172
  197. package/build/esm/node_modules/.pnpm/prettier@3.0.0/node_modules/prettier/plugins/typescript.mjs +0 -29
  198. package/build/esm/node_modules/.pnpm/prettier@3.0.0/node_modules/prettier/standalone.mjs +0 -4076
  199. package/build/esm/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/compose/compose-collection.mjs +0 -58
  200. package/build/esm/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/log.mjs +0 -7
  201. package/build/esm/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/nodes/addPairToJSMap.mjs +0 -83
  202. package/build/esm/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/schema/common/map.mjs +0 -37
  203. package/build/esm/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/schema/common/seq.mjs +0 -34
  204. package/build/esnext/_virtual/patterns.esnext +0 -3
  205. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/managers/patterns.esnext +0 -21
  206. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/providers/filters/entry.esnext +0 -71
  207. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/utils/path.esnext +0 -38
  208. package/build/esnext/node_modules/.pnpm/prettier@3.0.0/node_modules/prettier/plugins/babel.esnext +0 -18
  209. package/build/esnext/node_modules/.pnpm/prettier@3.0.0/node_modules/prettier/plugins/estree.esnext +0 -37
  210. package/build/esnext/node_modules/.pnpm/prettier@3.0.0/node_modules/prettier/plugins/typescript.esnext +0 -29
  211. package/build/esnext/node_modules/.pnpm/prettier@3.0.0/node_modules/prettier/plugins/yaml.esnext +0 -163
  212. package/build/esnext/node_modules/.pnpm/prettier@3.0.0/node_modules/prettier/standalone.esnext +0 -36
  213. package/build/esnext/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/compose/compose-collection.esnext +0 -55
  214. package/build/esnext/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/log.esnext +0 -10
  215. package/build/esnext/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/schema/common/map.esnext +0 -41
  216. package/build/esnext/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/schema/common/seq.esnext +0 -33
  217. /package/build/esm/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/providers/async.mjs +0 -0
  218. /package/build/esm/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/providers/filters/error.mjs +0 -0
  219. /package/build/esm/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/providers/provider.mjs +0 -0
  220. /package/build/esm/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/providers/stream.mjs +0 -0
  221. /package/build/esm/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/providers/sync.mjs +0 -0
  222. /package/build/esm/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/providers/transformers/entry.mjs +0 -0
  223. /package/build/esm/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/readers/async.mjs +0 -0
  224. /package/build/esm/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/readers/reader.mjs +0 -0
  225. /package/build/esm/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/readers/stream.mjs +0 -0
  226. /package/build/esm/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/readers/sync.mjs +0 -0
  227. /package/build/esm/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/utils/array.mjs +0 -0
  228. /package/build/esm/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/utils/errno.mjs +0 -0
  229. /package/build/esm/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/utils/fs.mjs +0 -0
  230. /package/build/esm/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/utils/stream.mjs +0 -0
  231. /package/build/esm/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/utils/string.mjs +0 -0
  232. /package/build/esm/node_modules/.pnpm/{globby@13.1.1 → globby@13.2.2}/node_modules/globby/utilities.mjs +0 -0
  233. /package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/resolve-end.mjs +0 -0
  234. /package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/util-contains-newline.mjs +0 -0
  235. /package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.mjs +0 -0
  236. /package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/util-flow-indent-check.mjs +0 -0
  237. /package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/parse/line-counter.mjs +0 -0
  238. /package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/common/null.mjs +0 -0
  239. /package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/common/string.mjs +0 -0
  240. /package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/core/bool.mjs +0 -0
  241. /package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/core/int.mjs +0 -0
  242. /package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/core/schema.mjs +0 -0
  243. /package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/yaml-1.1/int.mjs +0 -0
  244. /package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/stringify/stringifyComment.mjs +0 -0
  245. /package/build/esm/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/stringify/stringifyNumber.mjs +0 -0
  246. /package/build/esnext/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/providers/async.esnext +0 -0
  247. /package/build/esnext/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/providers/filters/deep.esnext +0 -0
  248. /package/build/esnext/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/providers/filters/error.esnext +0 -0
  249. /package/build/esnext/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/providers/matchers/partial.esnext +0 -0
  250. /package/build/esnext/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/providers/provider.esnext +0 -0
  251. /package/build/esnext/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/providers/stream.esnext +0 -0
  252. /package/build/esnext/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/providers/sync.esnext +0 -0
  253. /package/build/esnext/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/providers/transformers/entry.esnext +0 -0
  254. /package/build/esnext/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/readers/async.esnext +0 -0
  255. /package/build/esnext/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/readers/reader.esnext +0 -0
  256. /package/build/esnext/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/readers/stream.esnext +0 -0
  257. /package/build/esnext/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/readers/sync.esnext +0 -0
  258. /package/build/esnext/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/utils/array.esnext +0 -0
  259. /package/build/esnext/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/utils/errno.esnext +0 -0
  260. /package/build/esnext/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/utils/fs.esnext +0 -0
  261. /package/build/esnext/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/utils/index.esnext +0 -0
  262. /package/build/esnext/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/utils/stream.esnext +0 -0
  263. /package/build/esnext/node_modules/.pnpm/{fast-glob@3.2.12 → fast-glob@3.3.3}/node_modules/fast-glob/out/utils/string.esnext +0 -0
  264. /package/build/esnext/node_modules/.pnpm/{globby@13.1.1 → globby@13.2.2}/node_modules/globby/utilities.esnext +0 -0
  265. /package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/resolve-end.esnext +0 -0
  266. /package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/util-contains-newline.esnext +0 -0
  267. /package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.esnext +0 -0
  268. /package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/compose/util-flow-indent-check.esnext +0 -0
  269. /package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/doc/applyReviver.esnext +0 -0
  270. /package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/parse/line-counter.esnext +0 -0
  271. /package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/common/null.esnext +0 -0
  272. /package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/common/string.esnext +0 -0
  273. /package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/core/bool.esnext +0 -0
  274. /package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/core/int.esnext +0 -0
  275. /package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/core/schema.esnext +0 -0
  276. /package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/schema/yaml-1.1/int.esnext +0 -0
  277. /package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/stringify/stringifyComment.esnext +0 -0
  278. /package/build/esnext/node_modules/.pnpm/{yaml@2.1.1 → yaml@2.7.0}/node_modules/yaml/browser/dist/stringify/stringifyNumber.esnext +0 -0
@@ -8,6 +8,7 @@ import { intOct, intHex, int } from './core/int.esnext';
8
8
  import { schema } from './core/schema.esnext';
9
9
  import { schema as schema$1 } from './json/schema.esnext';
10
10
  import { binary } from './yaml-1.1/binary.esnext';
11
+ import { merge } from './yaml-1.1/merge.esnext';
11
12
  import { omap } from './yaml-1.1/omap.esnext';
12
13
  import { pairs } from './yaml-1.1/pairs.esnext';
13
14
  import { schema as schema$2 } from './yaml-1.1/schema.esnext';
@@ -33,6 +34,7 @@ const tagsByName = {
33
34
  intOct,
34
35
  intTime,
35
36
  map,
37
+ merge,
36
38
  null: nullTag,
37
39
  omap,
38
40
  pairs,
@@ -42,13 +44,18 @@ const tagsByName = {
42
44
  };
43
45
  const coreKnownTags = {
44
46
  "tag:yaml.org,2002:binary": binary,
47
+ "tag:yaml.org,2002:merge": merge,
45
48
  "tag:yaml.org,2002:omap": omap,
46
49
  "tag:yaml.org,2002:pairs": pairs,
47
50
  "tag:yaml.org,2002:set": set,
48
51
  "tag:yaml.org,2002:timestamp": timestamp
49
52
  };
50
- function getTags(customTags, schemaName) {
51
- let tags = schemas.get(schemaName);
53
+ function getTags(customTags, schemaName, addMergeTag) {
54
+ const schemaTags = schemas.get(schemaName);
55
+ if (schemaTags && !customTags) {
56
+ return addMergeTag && !schemaTags.includes(merge) ? schemaTags.concat(merge) : schemaTags.slice();
57
+ }
58
+ let tags = schemaTags;
52
59
  if (!tags) {
53
60
  if (Array.isArray(customTags))
54
61
  tags = [];
@@ -63,15 +70,19 @@ function getTags(customTags, schemaName) {
63
70
  } else if (typeof customTags === "function") {
64
71
  tags = customTags(tags.slice());
65
72
  }
66
- return tags.map((tag) => {
67
- if (typeof tag !== "string")
68
- return tag;
69
- const tagObj = tagsByName[tag];
70
- if (tagObj)
71
- return tagObj;
72
- const keys = Object.keys(tagsByName).map((key) => JSON.stringify(key)).join(", ");
73
- throw new Error(`Unknown custom tag "${tag}"; use one of ${keys}`);
74
- });
73
+ if (addMergeTag)
74
+ tags = tags.concat(merge);
75
+ return tags.reduce((tags2, tag) => {
76
+ const tagObj = typeof tag === "string" ? tagsByName[tag] : tag;
77
+ if (!tagObj) {
78
+ const tagName = JSON.stringify(tag);
79
+ const keys = Object.keys(tagsByName).map((key) => JSON.stringify(key)).join(", ");
80
+ throw new Error(`Unknown custom tag ${tagName}; use one of ${keys}`);
81
+ }
82
+ if (!tags2.includes(tagObj))
83
+ tags2.push(tagObj);
84
+ return tags2;
85
+ }, []);
75
86
  }
76
87
 
77
88
  export { coreKnownTags, getTags };
@@ -3,6 +3,7 @@ import { stringifyString } from '../../stringify/stringifyString.esnext';
3
3
 
4
4
  const binary = {
5
5
  identify: (value) => value instanceof Uint8Array,
6
+ // Buffer inherits from Uint8Array
6
7
  default: false,
7
8
  tag: "tag:yaml.org,2002:binary",
8
9
  /**
@@ -14,9 +15,7 @@ const binary = {
14
15
  * document.querySelector('#photo').src = URL.createObjectURL(blob)
15
16
  */
16
17
  resolve(src, onError) {
17
- if (typeof Buffer === "function") {
18
- return Buffer.from(src, "base64");
19
- } else if (typeof atob === "function") {
18
+ if (typeof atob === "function") {
20
19
  const str = atob(src.replace(/[\n\r]/g, ""));
21
20
  const buffer = new Uint8Array(str.length);
22
21
  for (let i = 0; i < str.length; ++i)
@@ -30,9 +29,7 @@ const binary = {
30
29
  stringify({ comment, type, value }, ctx, onComment, onChompKeep) {
31
30
  const buf = value;
32
31
  let str;
33
- if (typeof Buffer === "function") {
34
- str = buf instanceof Buffer ? buf.toString("base64") : Buffer.from(buf.buffer).toString("base64");
35
- } else if (typeof btoa === "function") {
32
+ if (typeof btoa === "function") {
36
33
  let s = "";
37
34
  for (let i = 0; i < buf.length; ++i)
38
35
  s += String.fromCharCode(buf[i]);
@@ -18,7 +18,7 @@ const falseTag = {
18
18
  identify: (value) => value === false,
19
19
  default: true,
20
20
  tag: "tag:yaml.org,2002:bool",
21
- test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,
21
+ test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,
22
22
  resolve: () => new Scalar(false),
23
23
  stringify: boolStringify
24
24
  };
@@ -5,7 +5,7 @@ const floatNaN = {
5
5
  identify: (value) => typeof value === "number",
6
6
  default: true,
7
7
  tag: "tag:yaml.org,2002:float",
8
- test: /^[-+]?\.(?:inf|Inf|INF|nan|NaN|NAN)$/,
8
+ test: /^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,
9
9
  resolve: (str) => str.slice(-3).toLowerCase() === "nan" ? NaN : str[0] === "-" ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY,
10
10
  stringify: stringifyNumber
11
11
  };
@@ -0,0 +1,50 @@
1
+ import { isScalar, isAlias, isSeq, isMap } from '../../nodes/identity.esnext';
2
+ import { Scalar } from '../../nodes/Scalar.esnext';
3
+
4
+ const MERGE_KEY = "<<";
5
+ const merge = {
6
+ identify: (value) => value === MERGE_KEY || typeof value === "symbol" && value.description === MERGE_KEY,
7
+ default: "key",
8
+ tag: "tag:yaml.org,2002:merge",
9
+ test: /^<<$/,
10
+ resolve: () => Object.assign(new Scalar(Symbol(MERGE_KEY)), {
11
+ addToJSMap: addMergeToJSMap
12
+ }),
13
+ stringify: () => MERGE_KEY
14
+ };
15
+ const isMergeKey = (ctx, key) => (merge.identify(key) || isScalar(key) && (!key.type || key.type === Scalar.PLAIN) && merge.identify(key.value)) && ctx?.doc.schema.tags.some((tag) => tag.tag === merge.tag && tag.default);
16
+ function addMergeToJSMap(ctx, map, value) {
17
+ value = ctx && isAlias(value) ? value.resolve(ctx.doc) : value;
18
+ if (isSeq(value))
19
+ for (const it of value.items)
20
+ mergeValue(ctx, map, it);
21
+ else if (Array.isArray(value))
22
+ for (const it of value)
23
+ mergeValue(ctx, map, it);
24
+ else
25
+ mergeValue(ctx, map, value);
26
+ }
27
+ function mergeValue(ctx, map, value) {
28
+ const source = ctx && isAlias(value) ? value.resolve(ctx.doc) : value;
29
+ if (!isMap(source))
30
+ throw new Error("Merge sources must be maps or map aliases");
31
+ const srcMap = source.toJSON(null, ctx, Map);
32
+ for (const [key, value2] of srcMap) {
33
+ if (map instanceof Map) {
34
+ if (!map.has(key))
35
+ map.set(key, value2);
36
+ } else if (map instanceof Set) {
37
+ map.add(key);
38
+ } else if (!Object.prototype.hasOwnProperty.call(map, key)) {
39
+ Object.defineProperty(map, key, {
40
+ value: value2,
41
+ writable: true,
42
+ enumerable: true,
43
+ configurable: true
44
+ });
45
+ }
46
+ }
47
+ return map;
48
+ }
49
+
50
+ export { addMergeToJSMap, isMergeKey, merge };
@@ -1,8 +1,8 @@
1
- import { YAMLSeq } from '../../nodes/YAMLSeq.esnext';
1
+ import { isScalar, isPair } from '../../nodes/identity.esnext';
2
2
  import { toJS } from '../../nodes/toJS.esnext';
3
- import { isScalar, isPair } from '../../nodes/Node.esnext';
4
3
  import { YAMLMap } from '../../nodes/YAMLMap.esnext';
5
- import { createPairs, resolvePairs } from './pairs.esnext';
4
+ import { YAMLSeq } from '../../nodes/YAMLSeq.esnext';
5
+ import { resolvePairs, createPairs } from './pairs.esnext';
6
6
 
7
7
  class YAMLOMap extends YAMLSeq {
8
8
  constructor() {
@@ -38,6 +38,12 @@ class YAMLOMap extends YAMLSeq {
38
38
  }
39
39
  return map;
40
40
  }
41
+ static from(schema, iterable, ctx) {
42
+ const pairs = createPairs(schema, iterable, ctx);
43
+ const omap2 = new this();
44
+ omap2.items = pairs.items;
45
+ return omap2;
46
+ }
41
47
  }
42
48
  YAMLOMap.tag = "tag:yaml.org,2002:omap";
43
49
  const omap = {
@@ -60,12 +66,7 @@ const omap = {
60
66
  }
61
67
  return Object.assign(new YAMLOMap(), pairs);
62
68
  },
63
- createNode(schema, iterable, ctx) {
64
- const pairs = createPairs(schema, iterable, ctx);
65
- const omap2 = new YAMLOMap();
66
- omap2.items = pairs.items;
67
- return omap2;
68
- }
69
+ createNode: (schema, iterable, ctx) => YAMLOMap.from(schema, iterable, ctx)
69
70
  };
70
71
 
71
72
  export { YAMLOMap, omap };
@@ -1,4 +1,4 @@
1
- import { isSeq, isPair, isMap } from '../../nodes/Node.esnext';
1
+ import { isSeq, isPair, isMap } from '../../nodes/identity.esnext';
2
2
  import { createPair, Pair } from '../../nodes/Pair.esnext';
3
3
  import { Scalar } from '../../nodes/Scalar.esnext';
4
4
  import { YAMLSeq } from '../../nodes/YAMLSeq.esnext';
@@ -50,8 +50,9 @@ function createPairs(schema, iterable, ctx) {
50
50
  if (keys.length === 1) {
51
51
  key = keys[0];
52
52
  value = it[key];
53
- } else
54
- throw new TypeError(`Expected { key: value } tuple: ${it}`);
53
+ } else {
54
+ throw new TypeError(`Expected tuple with one key, not ${keys.length} keys`);
55
+ }
55
56
  } else {
56
57
  key = it;
57
58
  }
@@ -6,6 +6,7 @@ import { binary } from './binary.esnext';
6
6
  import { trueTag, falseTag } from './bool.esnext';
7
7
  import { floatNaN, floatExp, float } from './float.esnext';
8
8
  import { intBin, intOct, int, intHex } from './int.esnext';
9
+ import { merge } from './merge.esnext';
9
10
  import { omap } from './omap.esnext';
10
11
  import { pairs } from './pairs.esnext';
11
12
  import { set } from './set.esnext';
@@ -26,6 +27,7 @@ const schema = [
26
27
  floatExp,
27
28
  float,
28
29
  binary,
30
+ merge,
29
31
  omap,
30
32
  pairs,
31
33
  set,
@@ -1,5 +1,5 @@
1
- import { isMap, isPair, isScalar } from '../../nodes/Node.esnext';
2
- import { createPair, Pair } from '../../nodes/Pair.esnext';
1
+ import { isMap, isPair, isScalar } from '../../nodes/identity.esnext';
2
+ import { Pair, createPair } from '../../nodes/Pair.esnext';
3
3
  import { YAMLMap, findPair } from '../../nodes/YAMLMap.esnext';
4
4
 
5
5
  class YAMLSet extends YAMLMap {
@@ -11,7 +11,7 @@ class YAMLSet extends YAMLMap {
11
11
  let pair;
12
12
  if (isPair(key))
13
13
  pair = key;
14
- else if (typeof key === "object" && "key" in key && "value" in key && key.value === null)
14
+ else if (key && typeof key === "object" && "key" in key && "value" in key && key.value === null)
15
15
  pair = new Pair(key.key, null);
16
16
  else
17
17
  pair = new Pair(key, null);
@@ -48,6 +48,17 @@ class YAMLSet extends YAMLMap {
48
48
  else
49
49
  throw new Error("Set items must all have null values");
50
50
  }
51
+ static from(schema, iterable, ctx) {
52
+ const { replacer } = ctx;
53
+ const set2 = new this(schema);
54
+ if (iterable && Symbol.iterator in Object(iterable))
55
+ for (let value of iterable) {
56
+ if (typeof replacer === "function")
57
+ value = replacer.call(iterable, value, value);
58
+ set2.items.push(createPair(value, null, ctx));
59
+ }
60
+ return set2;
61
+ }
51
62
  }
52
63
  YAMLSet.tag = "tag:yaml.org,2002:set";
53
64
  const set = {
@@ -56,6 +67,7 @@ const set = {
56
67
  nodeClass: YAMLSet,
57
68
  default: false,
58
69
  tag: "tag:yaml.org,2002:set",
70
+ createNode: (schema, iterable, ctx) => YAMLSet.from(schema, iterable, ctx),
59
71
  resolve(map, onError) {
60
72
  if (isMap(map)) {
61
73
  if (map.hasAllNullValues(true))
@@ -65,17 +77,6 @@ const set = {
65
77
  } else
66
78
  onError("Expected a mapping for this tag");
67
79
  return map;
68
- },
69
- createNode(schema, iterable, ctx) {
70
- const { replacer } = ctx;
71
- const set2 = new YAMLSet(schema);
72
- if (iterable && Symbol.iterator in Object(iterable))
73
- for (let value of iterable) {
74
- if (typeof replacer === "function")
75
- value = replacer.call(iterable, value, value);
76
- set2.items.push(createPair(value, null, ctx));
77
- }
78
- return set2;
79
80
  }
80
81
  };
81
82
 
@@ -31,7 +31,7 @@ function stringifySexagesimal(node) {
31
31
  parts.unshift(value);
32
32
  }
33
33
  }
34
- return sign + parts.map((n) => n < 10 ? "0" + String(n) : String(n)).join(":").replace(/000000\d*$/, "");
34
+ return sign + parts.map((n) => String(n).padStart(2, "0")).join(":").replace(/000000\d*$/, "");
35
35
  }
36
36
  const intTime = {
37
37
  identify: (value) => typeof value === "bigint" || Number.isInteger(value),
@@ -75,7 +75,7 @@ const timestamp = {
75
75
  }
76
76
  return new Date(date);
77
77
  },
78
- stringify: ({ value }) => value.toISOString().replace(/((T00:00)?:00)?\.000Z$/, "")
78
+ stringify: ({ value }) => value.toISOString().replace(/(T00:00:00)?\.000Z$/, "")
79
79
  };
80
80
 
81
81
  export { floatTime, intTime, timestamp };
@@ -4,6 +4,8 @@ const FOLD_QUOTED = "quoted";
4
4
  function foldFlowLines(text, indent, mode = "flow", { indentAtStart, lineWidth = 80, minContentWidth = 20, onFold, onOverflow } = {}) {
5
5
  if (!lineWidth || lineWidth < 0)
6
6
  return text;
7
+ if (lineWidth < minContentWidth)
8
+ minContentWidth = 0;
7
9
  const endStep = Math.max(1 + minContentWidth, 1 + lineWidth - indent.length);
8
10
  if (text.length <= endStep)
9
11
  return text;
@@ -23,7 +25,7 @@ function foldFlowLines(text, indent, mode = "flow", { indentAtStart, lineWidth =
23
25
  let escStart = -1;
24
26
  let escEnd = -1;
25
27
  if (mode === FOLD_BLOCK) {
26
- i = consumeMoreIndentedLines(text, i);
28
+ i = consumeMoreIndentedLines(text, i, indent.length);
27
29
  if (i !== -1)
28
30
  end = i + endStep;
29
31
  }
@@ -47,8 +49,8 @@ function foldFlowLines(text, indent, mode = "flow", { indentAtStart, lineWidth =
47
49
  }
48
50
  if (ch === "\n") {
49
51
  if (mode === FOLD_BLOCK)
50
- i = consumeMoreIndentedLines(text, i);
51
- end = i + endStep;
52
+ i = consumeMoreIndentedLines(text, i, indent.length);
53
+ end = i + indent.length + endStep;
52
54
  split = void 0;
53
55
  } else {
54
56
  if (ch === " " && prev && prev !== " " && prev !== "\n" && prev !== " ") {
@@ -103,15 +105,23 @@ ${indent}${text.slice(fold + 1, end2)}`;
103
105
  }
104
106
  return res;
105
107
  }
106
- function consumeMoreIndentedLines(text, i) {
107
- let ch = text[i + 1];
108
+ function consumeMoreIndentedLines(text, i, indent) {
109
+ let end = i;
110
+ let start = i + 1;
111
+ let ch = text[start];
108
112
  while (ch === " " || ch === " ") {
109
- do {
110
- ch = text[i += 1];
111
- } while (ch && ch !== "\n");
112
- ch = text[i + 1];
113
+ if (i < start + indent) {
114
+ ch = text[++i];
115
+ } else {
116
+ do {
117
+ ch = text[++i];
118
+ } while (ch && ch !== "\n");
119
+ end = i;
120
+ start = i + 1;
121
+ ch = text[start];
122
+ }
113
123
  }
114
- return i;
124
+ return end;
115
125
  }
116
126
 
117
127
  export { FOLD_BLOCK, FOLD_FLOW, FOLD_QUOTED, foldFlowLines };
@@ -1,5 +1,5 @@
1
1
  import { anchorIsValid } from '../doc/anchors.esnext';
2
- import { isPair, isAlias, isNode, isScalar, isCollection } from '../nodes/Node.esnext';
2
+ import { isPair, isAlias, isNode, isScalar, isCollection } from '../nodes/identity.esnext';
3
3
  import { stringifyComment } from './stringifyComment.esnext';
4
4
  import { stringifyString } from './stringifyString.esnext';
5
5
 
@@ -13,6 +13,7 @@ function createStringifyContext(doc, options) {
13
13
  doubleQuotedAsJSON: false,
14
14
  doubleQuotedMinMultiLineLength: 40,
15
15
  falseStr: "false",
16
+ flowCollectionPadding: true,
16
17
  indentSeq: true,
17
18
  lineWidth: 80,
18
19
  minContentWidth: 20,
@@ -36,6 +37,7 @@ function createStringifyContext(doc, options) {
36
37
  return {
37
38
  anchors: /* @__PURE__ */ new Set(),
38
39
  doc,
40
+ flowCollectionPadding: opt.flowCollectionPadding ? " " : "",
39
41
  indent: "",
40
42
  indentStep: typeof opt.indent === "number" ? " ".repeat(opt.indent) : " ",
41
43
  inFlow,
@@ -52,7 +54,12 @@ function getTagObject(tags, item) {
52
54
  let obj;
53
55
  if (isScalar(item)) {
54
56
  obj = item.value;
55
- const match = tags.filter((t) => t.identify?.(obj));
57
+ let match = tags.filter((t) => t.identify?.(obj));
58
+ if (match.length > 1) {
59
+ const testMatch = match.filter((t) => t.test);
60
+ if (testMatch.length > 0)
61
+ match = testMatch;
62
+ }
56
63
  tagObj = match.find((t) => t.format === item.format) ?? match.find((t) => !t.format);
57
64
  } else {
58
65
  obj = item;
@@ -1,5 +1,4 @@
1
- import { Collection } from '../nodes/Collection.esnext';
2
- import { isNode, isPair } from '../nodes/Node.esnext';
1
+ import { isNode, isPair } from '../nodes/identity.esnext';
3
2
  import { stringify } from './stringify.esnext';
4
3
  import { lineComment, indentComment } from './stringifyComment.esnext';
5
4
 
@@ -57,8 +56,8 @@ ${indent}${line}` : "\n";
57
56
  onChompKeep();
58
57
  return str;
59
58
  }
60
- function stringifyFlowCollection({ comment, items }, ctx, { flowChars, itemIndent, onComment }) {
61
- const { indent, indentStep, options: { commentString } } = ctx;
59
+ function stringifyFlowCollection({ items }, ctx, { flowChars, itemIndent }) {
60
+ const { indent, indentStep, flowCollectionPadding: fcPadding, options: { commentString } } = ctx;
62
61
  itemIndent += indentStep;
63
62
  const itemCtx = Object.assign({}, ctx, {
64
63
  indent: itemIndent,
@@ -70,13 +69,13 @@ function stringifyFlowCollection({ comment, items }, ctx, { flowChars, itemInden
70
69
  const lines = [];
71
70
  for (let i = 0; i < items.length; ++i) {
72
71
  const item = items[i];
73
- let comment2 = null;
72
+ let comment = null;
74
73
  if (isNode(item)) {
75
74
  if (item.spaceBefore)
76
75
  lines.push("");
77
76
  addCommentBefore(ctx, lines, item.commentBefore, false);
78
77
  if (item.comment)
79
- comment2 = item.comment;
78
+ comment = item.comment;
80
79
  } else if (isPair(item)) {
81
80
  const ik = isNode(item.key) ? item.key : null;
82
81
  if (ik) {
@@ -89,51 +88,44 @@ function stringifyFlowCollection({ comment, items }, ctx, { flowChars, itemInden
89
88
  const iv = isNode(item.value) ? item.value : null;
90
89
  if (iv) {
91
90
  if (iv.comment)
92
- comment2 = iv.comment;
91
+ comment = iv.comment;
93
92
  if (iv.commentBefore)
94
93
  reqNewline = true;
95
- } else if (item.value == null && ik && ik.comment) {
96
- comment2 = ik.comment;
94
+ } else if (item.value == null && ik?.comment) {
95
+ comment = ik.comment;
97
96
  }
98
97
  }
99
- if (comment2)
98
+ if (comment)
100
99
  reqNewline = true;
101
- let str2 = stringify(item, itemCtx, () => comment2 = null);
100
+ let str = stringify(item, itemCtx, () => comment = null);
102
101
  if (i < items.length - 1)
103
- str2 += ",";
104
- if (comment2)
105
- str2 += lineComment(str2, itemIndent, commentString(comment2));
106
- if (!reqNewline && (lines.length > linesAtValue || str2.includes("\n")))
102
+ str += ",";
103
+ if (comment)
104
+ str += lineComment(str, itemIndent, commentString(comment));
105
+ if (!reqNewline && (lines.length > linesAtValue || str.includes("\n")))
107
106
  reqNewline = true;
108
- lines.push(str2);
107
+ lines.push(str);
109
108
  linesAtValue = lines.length;
110
109
  }
111
- let str;
112
110
  const { start, end } = flowChars;
113
111
  if (lines.length === 0) {
114
- str = start + end;
112
+ return start + end;
115
113
  } else {
116
114
  if (!reqNewline) {
117
115
  const len = lines.reduce((sum, line) => sum + line.length + 2, 2);
118
- reqNewline = len > Collection.maxFlowStringSingleLineLength;
116
+ reqNewline = ctx.options.lineWidth > 0 && len > ctx.options.lineWidth;
119
117
  }
120
118
  if (reqNewline) {
121
- str = start;
119
+ let str = start;
122
120
  for (const line of lines)
123
121
  str += line ? `
124
122
  ${indentStep}${indent}${line}` : "\n";
125
- str += `
123
+ return `${str}
126
124
  ${indent}${end}`;
127
125
  } else {
128
- str = `${start} ${lines.join(" ")} ${end}`;
126
+ return `${start}${fcPadding}${lines.join(" ")}${fcPadding}${end}`;
129
127
  }
130
128
  }
131
- if (comment) {
132
- str += lineComment(str, commentString(comment), indent);
133
- if (onComment)
134
- onComment();
135
- }
136
- return str;
137
129
  }
138
130
  function addCommentBefore({ indent, options: { commentString } }, lines, comment, chompKeep) {
139
131
  if (comment && chompKeep)
@@ -1,4 +1,4 @@
1
- import { isNode } from '../nodes/Node.esnext';
1
+ import { isNode } from '../nodes/identity.esnext';
2
2
  import { createStringifyContext, stringify } from './stringify.esnext';
3
3
  import { indentComment, lineComment } from './stringifyComment.esnext';
4
4
 
@@ -1,4 +1,4 @@
1
- import { isNode, isCollection, isScalar, isSeq } from '../nodes/Node.esnext';
1
+ import { isNode, isCollection, isScalar, isSeq } from '../nodes/identity.esnext';
2
2
  import { Scalar } from '../nodes/Scalar.esnext';
3
3
  import { stringify } from './stringify.esnext';
4
4
  import { lineComment, indentComment } from './stringifyComment.esnext';
@@ -10,7 +10,7 @@ function stringifyPair({ key, value }, ctx, onComment, onChompKeep) {
10
10
  if (keyComment) {
11
11
  throw new Error("With simple keys, key nodes cannot have comments");
12
12
  }
13
- if (isCollection(key)) {
13
+ if (isCollection(key) || !isNode(key) && typeof key === "object") {
14
14
  const msg = "With simple keys, collection cannot be used as a key value";
15
15
  throw new Error(msg);
16
16
  }
@@ -55,43 +55,64 @@ ${indent}:`;
55
55
  if (keyComment)
56
56
  str += lineComment(str, ctx.indent, commentString(keyComment));
57
57
  }
58
- let vcb = "";
59
- let valueComment = null;
58
+ let vsb, vcb, valueComment;
60
59
  if (isNode(value)) {
61
- if (value.spaceBefore)
62
- vcb = "\n";
63
- if (value.commentBefore) {
64
- const cs = commentString(value.commentBefore);
65
- vcb += `
66
- ${indentComment(cs, ctx.indent)}`;
67
- }
60
+ vsb = !!value.spaceBefore;
61
+ vcb = value.commentBefore;
68
62
  valueComment = value.comment;
69
- } else if (value && typeof value === "object") {
70
- value = doc.createNode(value);
63
+ } else {
64
+ vsb = false;
65
+ vcb = null;
66
+ valueComment = null;
67
+ if (value && typeof value === "object")
68
+ value = doc.createNode(value);
71
69
  }
72
70
  ctx.implicitKey = false;
73
71
  if (!explicitKey && !keyComment && isScalar(value))
74
72
  ctx.indentAtStart = str.length + 1;
75
73
  chompKeep = false;
76
74
  if (!indentSeq && indentStep.length >= 2 && !ctx.inFlow && !explicitKey && isSeq(value) && !value.flow && !value.tag && !value.anchor) {
77
- ctx.indent = ctx.indent.substr(2);
75
+ ctx.indent = ctx.indent.substring(2);
78
76
  }
79
77
  let valueCommentDone = false;
80
78
  const valueStr = stringify(value, ctx, () => valueCommentDone = true, () => chompKeep = true);
81
79
  let ws = " ";
82
- if (vcb || keyComment) {
83
- if (valueStr === "" && !ctx.inFlow)
84
- ws = vcb === "\n" ? "\n\n" : vcb;
85
- else
86
- ws = `${vcb}
80
+ if (keyComment || vsb || vcb) {
81
+ ws = vsb ? "\n" : "";
82
+ if (vcb) {
83
+ const cs = commentString(vcb);
84
+ ws += `
85
+ ${indentComment(cs, ctx.indent)}`;
86
+ }
87
+ if (valueStr === "" && !ctx.inFlow) {
88
+ if (ws === "\n")
89
+ ws = "\n\n";
90
+ } else {
91
+ ws += `
87
92
  ${ctx.indent}`;
93
+ }
88
94
  } else if (!explicitKey && isCollection(value)) {
89
- const flow = valueStr[0] === "[" || valueStr[0] === "{";
90
- if (!flow || valueStr.includes("\n"))
91
- ws = `
95
+ const vs0 = valueStr[0];
96
+ const nl0 = valueStr.indexOf("\n");
97
+ const hasNewline = nl0 !== -1;
98
+ const flow = ctx.inFlow ?? value.flow ?? value.items.length === 0;
99
+ if (hasNewline || !flow) {
100
+ let hasPropsLine = false;
101
+ if (hasNewline && (vs0 === "&" || vs0 === "!")) {
102
+ let sp0 = valueStr.indexOf(" ");
103
+ if (vs0 === "&" && sp0 !== -1 && sp0 < nl0 && valueStr[sp0 + 1] === "!") {
104
+ sp0 = valueStr.indexOf(" ", sp0 + 1);
105
+ }
106
+ if (sp0 === -1 || nl0 < sp0)
107
+ hasPropsLine = true;
108
+ }
109
+ if (!hasPropsLine)
110
+ ws = `
92
111
  ${ctx.indent}`;
93
- } else if (valueStr === "" || valueStr[0] === "\n")
112
+ }
113
+ } else if (valueStr === "" || valueStr[0] === "\n") {
94
114
  ws = "";
115
+ }
95
116
  str += ws + valueStr;
96
117
  if (ctx.inFlow) {
97
118
  if (valueCommentDone && onComment)