@ykdz/template 0.0.36 → 0.0.38

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 (687) hide show
  1. package/dist/application.d.ts +129 -13
  2. package/dist/application.js +286 -174
  3. package/dist/command-result.d.ts +9 -0
  4. package/dist/command-result.js +231 -0
  5. package/dist/main.d.ts +4 -1
  6. package/dist/main.js +319 -51
  7. package/node_modules/@ykdz/template-builtin-presets/dist/src/foundation.d.ts +122 -22
  8. package/node_modules/@ykdz/template-builtin-presets/dist/src/foundation.js +2081 -410
  9. package/node_modules/@ykdz/template-builtin-presets/dist/src/generation-record.d.ts +18 -3
  10. package/node_modules/@ykdz/template-builtin-presets/dist/src/generation-record.js +29 -5
  11. package/node_modules/@ykdz/template-builtin-presets/dist/src/index.d.ts +2 -2
  12. package/node_modules/@ykdz/template-builtin-presets/dist/src/index.js +1 -1
  13. package/node_modules/@ykdz/template-builtin-presets/dist/src/rust-bin/definition.d.ts +1 -1
  14. package/node_modules/@ykdz/template-builtin-presets/dist/src/rust-bin/definition.js +16 -15
  15. package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/development-container.d.ts +1 -1
  16. package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/development-container.js +1 -1
  17. package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/typescript.d.ts +8 -6
  18. package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/typescript.js +3 -3
  19. package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/vue.d.ts +6 -4
  20. package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/vue.js +8 -6
  21. package/node_modules/@ykdz/template-builtin-presets/dist/src/template-sources.d.ts +1 -1
  22. package/node_modules/@ykdz/template-builtin-presets/dist/src/template-sources.js +1 -1
  23. package/node_modules/@ykdz/template-builtin-presets/dist/src/ts-cli/definition.d.ts +1 -1
  24. package/node_modules/@ykdz/template-builtin-presets/dist/src/ts-cli/definition.js +34 -8
  25. package/node_modules/@ykdz/template-builtin-presets/dist/src/ts-lib/definition.d.ts +1 -1
  26. package/node_modules/@ykdz/template-builtin-presets/dist/src/ts-lib/definition.js +7 -7
  27. package/node_modules/@ykdz/template-builtin-presets/dist/src/vike-app/definition.d.ts +28 -2
  28. package/node_modules/@ykdz/template-builtin-presets/dist/src/vike-app/definition.js +164 -148
  29. package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-app/definition.d.ts +2 -2
  30. package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-app/definition.js +3 -3
  31. package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-hono-app/definition.d.ts +2 -2
  32. package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-hono-app/definition.js +22 -23
  33. package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/bin/semver.js +0 -0
  34. package/node_modules/{valibot → @ykdz/template-builtin-presets/node_modules/valibot}/README.md +1 -1
  35. package/node_modules/{valibot → @ykdz/template-builtin-presets/node_modules/valibot}/dist/index.cjs +427 -504
  36. package/node_modules/{valibot → @ykdz/template-builtin-presets/node_modules/valibot}/dist/index.d.cts +427 -32
  37. package/node_modules/{valibot → @ykdz/template-builtin-presets/node_modules/valibot}/dist/index.d.mts +427 -32
  38. package/node_modules/@ykdz/template-builtin-presets/node_modules/valibot/dist/index.min.cjs +2 -0
  39. package/node_modules/@ykdz/template-builtin-presets/node_modules/valibot/dist/index.min.mjs +2 -0
  40. package/node_modules/{valibot → @ykdz/template-builtin-presets/node_modules/valibot}/dist/index.mjs +418 -504
  41. package/node_modules/{valibot → @ykdz/template-builtin-presets/node_modules/valibot}/package.json +7 -2
  42. package/node_modules/@ykdz/template-builtin-presets/package.json +23 -10
  43. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/.github/workflows/check-deployment-diagnostics.yml +5 -5
  44. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/.github/workflows/check-deployment.yml +4 -4
  45. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/.github/workflows/check-diagnostics.yml +4 -4
  46. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/.github/workflows/check.yml +3 -3
  47. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/AGENTS.md.template +17 -0
  48. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/devcontainer.json +4 -2
  49. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/pnpm-workspace.dynamic.txt +1 -0
  50. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/pnpm-workspace.yaml +5 -5
  51. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/scripts/check-toolchain-versions.ts +556 -0
  52. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/tsconfig.json +4 -6
  53. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/tsconfig.packing-hook.json +2 -3
  54. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/turbo.json +1 -1
  55. package/node_modules/@ykdz/template-builtin-presets/templates/rust-bin/turbo.json +19 -1
  56. package/node_modules/@ykdz/template-builtin-presets/templates/shared/devcontainer/node-pnpm.Dockerfile +4 -6
  57. package/node_modules/@ykdz/template-builtin-presets/templates/shared/oxc/tsconfig.config.json +2 -1
  58. package/node_modules/@ykdz/template-builtin-presets/templates/shared/vue/tsconfig.app.json +1 -1
  59. package/node_modules/@ykdz/template-builtin-presets/templates/shared/vue/tsconfig.node.json +2 -2
  60. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/readiness.ts +26 -5
  61. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/release.yml +1 -1
  62. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/publication/root-tsconfig.json +2 -7
  63. package/node_modules/@ykdz/template-builtin-presets/templates/ts-cli/tsconfig.json +2 -2
  64. package/node_modules/@ykdz/template-builtin-presets/templates/ts-lib/tsconfig.build.json +2 -1
  65. package/node_modules/@ykdz/template-builtin-presets/templates/ts-lib/tsconfig.json +2 -2
  66. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/scripts/reset.ts +3 -0
  67. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/src/db.ts +3 -4
  68. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/src/readiness.ts +6 -5
  69. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/src/storage.ts +93 -0
  70. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/tsconfig.build.json +8 -2
  71. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/tsconfig.json +3 -7
  72. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/turbo.json +1 -1
  73. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db-migrations/drizzle.config.ts +5 -5
  74. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db-migrations/tsconfig.build.json +2 -1
  75. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db-migrations/tsconfig.json +2 -2
  76. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/.env.example +2 -1
  77. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/Dockerfile +25 -17
  78. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/Dockerfile.dockerignore +4 -4
  79. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/playwright.config.ts +5 -25
  80. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/scripts/check-standalone-deployment.ts +17 -15
  81. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/test/playwright-teardown.ts +6 -7
  82. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.app.json +1 -2
  83. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.json +0 -1
  84. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.node.json +2 -3
  85. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.test.json +0 -1
  86. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/turbo.json +0 -8
  87. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/vite.config.ts +3 -39
  88. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/api/tsconfig.json +7 -2
  89. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/root/playwright.config.ts +34 -0
  90. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/{web → root}/test/e2e/app.spec.ts +3 -3
  91. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/root/test/e2e/fixtures.ts +15 -0
  92. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/root/tsconfig.json +3 -0
  93. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/web/src/api.ts +1 -3
  94. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/web/turbo.json +0 -4
  95. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/web/vite.config.ts +2 -0
  96. package/node_modules/@ykdz/template-core/dist/ci-diagnostic-artifact.d.ts +2 -2
  97. package/node_modules/@ykdz/template-core/dist/ci-diagnostic-artifact.js +10 -5
  98. package/node_modules/@ykdz/template-core/dist/module-graph.d.ts +1 -1
  99. package/node_modules/@ykdz/template-core/dist/module-graph.js +7 -5
  100. package/node_modules/@ykdz/template-core/dist/package-contribution.d.ts +33 -10
  101. package/node_modules/@ykdz/template-core/dist/package-contribution.js +1 -1
  102. package/node_modules/@ykdz/template-core/dist/pnpm-workspace.yaml +10 -9
  103. package/node_modules/@ykdz/template-core/dist/preset-definition.d.ts +11 -0
  104. package/node_modules/@ykdz/template-core/dist/project-github.d.ts +7 -5
  105. package/node_modules/@ykdz/template-core/dist/project-github.js +4 -4
  106. package/node_modules/@ykdz/template-core/dist/project-linking-v2.d.ts +2 -2
  107. package/node_modules/@ykdz/template-core/dist/project-linking-v2.js +12 -6
  108. package/node_modules/@ykdz/template-core/dist/project-projection.d.ts +27 -0
  109. package/node_modules/@ykdz/template-core/dist/project-projection.js +394 -9
  110. package/node_modules/@ykdz/template-core/dist/release-toolchain-snapshot.d.ts +10 -0
  111. package/node_modules/@ykdz/template-core/dist/release-toolchain-snapshot.js +9 -0
  112. package/node_modules/@ykdz/template-core/dist/template-boundary-check.js +15 -9
  113. package/node_modules/@ykdz/template-core/node_modules/valibot/LICENSE.md +9 -0
  114. package/node_modules/@ykdz/template-core/node_modules/valibot/README.md +94 -0
  115. package/node_modules/@ykdz/template-core/node_modules/valibot/dist/index.cjs +7897 -0
  116. package/node_modules/@ykdz/template-core/node_modules/valibot/dist/index.d.cts +16579 -0
  117. package/node_modules/@ykdz/template-core/node_modules/valibot/dist/index.d.mts +16579 -0
  118. package/node_modules/@ykdz/template-core/node_modules/valibot/dist/index.min.cjs +2 -0
  119. package/node_modules/@ykdz/template-core/node_modules/valibot/dist/index.min.mjs +2 -0
  120. package/node_modules/@ykdz/template-core/node_modules/valibot/dist/index.mjs +7577 -0
  121. package/node_modules/@ykdz/template-core/node_modules/valibot/package.json +84 -0
  122. package/node_modules/@ykdz/template-core/package.json +0 -2
  123. package/node_modules/hosted-git-info/LICENSE +13 -0
  124. package/node_modules/hosted-git-info/README.md +138 -0
  125. package/node_modules/hosted-git-info/lib/from-url.js +122 -0
  126. package/node_modules/hosted-git-info/lib/hosts.js +229 -0
  127. package/node_modules/hosted-git-info/lib/index.js +227 -0
  128. package/node_modules/hosted-git-info/lib/parse-url.js +79 -0
  129. package/node_modules/hosted-git-info/package.json +57 -0
  130. package/node_modules/jsonc-parser/CHANGELOG.md +76 -0
  131. package/node_modules/jsonc-parser/LICENSE.md +21 -0
  132. package/node_modules/jsonc-parser/README.md +364 -0
  133. package/node_modules/jsonc-parser/SECURITY.md +41 -0
  134. package/node_modules/jsonc-parser/lib/esm/impl/edit.js +185 -0
  135. package/node_modules/jsonc-parser/lib/esm/impl/format.js +261 -0
  136. package/node_modules/jsonc-parser/lib/esm/impl/parser.js +659 -0
  137. package/node_modules/jsonc-parser/lib/esm/impl/scanner.js +443 -0
  138. package/node_modules/jsonc-parser/lib/esm/impl/string-intern.js +29 -0
  139. package/node_modules/jsonc-parser/lib/esm/main.d.ts +351 -0
  140. package/node_modules/jsonc-parser/lib/esm/main.js +178 -0
  141. package/node_modules/jsonc-parser/lib/umd/impl/edit.js +201 -0
  142. package/node_modules/jsonc-parser/lib/umd/impl/format.js +275 -0
  143. package/node_modules/jsonc-parser/lib/umd/impl/parser.js +682 -0
  144. package/node_modules/jsonc-parser/lib/umd/impl/scanner.js +456 -0
  145. package/node_modules/jsonc-parser/lib/umd/impl/string-intern.js +42 -0
  146. package/node_modules/jsonc-parser/lib/umd/main.d.ts +351 -0
  147. package/node_modules/jsonc-parser/lib/umd/main.js +194 -0
  148. package/node_modules/jsonc-parser/package.json +37 -0
  149. package/node_modules/lru-cache/LICENSE.md +55 -0
  150. package/node_modules/lru-cache/README.md +469 -0
  151. package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.d.ts.map +1 -0
  152. package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.js.map +1 -0
  153. package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.d.ts +5 -0
  154. package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.js +7 -0
  155. package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts +1400 -0
  156. package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts.map +1 -0
  157. package/node_modules/lru-cache/dist/commonjs/browser/index.js +1733 -0
  158. package/node_modules/lru-cache/dist/commonjs/browser/index.js.map +1 -0
  159. package/node_modules/lru-cache/dist/commonjs/browser/index.min.js +2 -0
  160. package/node_modules/lru-cache/dist/commonjs/browser/index.min.js.map +7 -0
  161. package/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts +12 -0
  162. package/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts.map +1 -0
  163. package/node_modules/lru-cache/dist/commonjs/browser/perf.js +10 -0
  164. package/node_modules/lru-cache/dist/commonjs/browser/perf.js.map +1 -0
  165. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.cjs.map +1 -0
  166. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.d.cts.map +1 -0
  167. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.d.ts +5 -0
  168. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js +7 -0
  169. package/node_modules/lru-cache/dist/commonjs/index.d.ts +1400 -0
  170. package/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -0
  171. package/node_modules/lru-cache/dist/commonjs/index.js +1733 -0
  172. package/node_modules/lru-cache/dist/commonjs/index.js.map +1 -0
  173. package/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
  174. package/node_modules/lru-cache/dist/commonjs/index.min.js.map +7 -0
  175. package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.d.ts.map +1 -0
  176. package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.js.map +1 -0
  177. package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.d.ts +5 -0
  178. package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.js +9 -0
  179. package/node_modules/lru-cache/dist/commonjs/node/index.d.ts +1400 -0
  180. package/node_modules/lru-cache/dist/commonjs/node/index.d.ts.map +1 -0
  181. package/node_modules/lru-cache/dist/commonjs/node/index.js +1733 -0
  182. package/node_modules/lru-cache/dist/commonjs/node/index.js.map +1 -0
  183. package/node_modules/lru-cache/dist/commonjs/node/index.min.js +2 -0
  184. package/node_modules/lru-cache/dist/commonjs/node/index.min.js.map +7 -0
  185. package/node_modules/lru-cache/dist/commonjs/node/perf.d.ts +12 -0
  186. package/node_modules/lru-cache/dist/commonjs/node/perf.d.ts.map +1 -0
  187. package/node_modules/lru-cache/dist/commonjs/node/perf.js +10 -0
  188. package/node_modules/lru-cache/dist/commonjs/node/perf.js.map +1 -0
  189. package/node_modules/lru-cache/dist/commonjs/package.json +3 -0
  190. package/node_modules/lru-cache/dist/commonjs/perf.d.ts +12 -0
  191. package/node_modules/lru-cache/dist/commonjs/perf.d.ts.map +1 -0
  192. package/node_modules/lru-cache/dist/commonjs/perf.js +10 -0
  193. package/node_modules/lru-cache/dist/commonjs/perf.js.map +1 -0
  194. package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel-react-native.d.ts.map +1 -0
  195. package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel-react-native.js.map +1 -0
  196. package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel.d.ts +5 -0
  197. package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel.js +7 -0
  198. package/node_modules/lru-cache/dist/commonjs/react-native/index.d.ts +1400 -0
  199. package/node_modules/lru-cache/dist/commonjs/react-native/index.d.ts.map +1 -0
  200. package/node_modules/lru-cache/dist/commonjs/react-native/index.js +1733 -0
  201. package/node_modules/lru-cache/dist/commonjs/react-native/index.js.map +1 -0
  202. package/node_modules/lru-cache/dist/commonjs/react-native/perf.d.ts +12 -0
  203. package/node_modules/lru-cache/dist/commonjs/react-native/perf.d.ts.map +1 -0
  204. package/node_modules/lru-cache/dist/commonjs/react-native/perf.js +10 -0
  205. package/node_modules/lru-cache/dist/commonjs/react-native/perf.js.map +1 -0
  206. package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.d.ts.map +1 -0
  207. package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.js.map +1 -0
  208. package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.d.ts +5 -0
  209. package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.js +4 -0
  210. package/node_modules/lru-cache/dist/esm/browser/index.d.ts +1400 -0
  211. package/node_modules/lru-cache/dist/esm/browser/index.d.ts.map +1 -0
  212. package/node_modules/lru-cache/dist/esm/browser/index.js +1729 -0
  213. package/node_modules/lru-cache/dist/esm/browser/index.js.map +1 -0
  214. package/node_modules/lru-cache/dist/esm/browser/index.min.js +2 -0
  215. package/node_modules/lru-cache/dist/esm/browser/index.min.js.map +7 -0
  216. package/node_modules/lru-cache/dist/esm/browser/perf.d.ts +12 -0
  217. package/node_modules/lru-cache/dist/esm/browser/perf.d.ts.map +1 -0
  218. package/node_modules/lru-cache/dist/esm/browser/perf.js +7 -0
  219. package/node_modules/lru-cache/dist/esm/browser/perf.js.map +1 -0
  220. package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.d.mts.map +1 -0
  221. package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.mjs.map +1 -0
  222. package/node_modules/lru-cache/dist/esm/diagnostics-channel.d.ts +5 -0
  223. package/node_modules/lru-cache/dist/esm/diagnostics-channel.js +19 -0
  224. package/node_modules/lru-cache/dist/esm/index.d.ts +1400 -0
  225. package/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -0
  226. package/node_modules/lru-cache/dist/esm/index.js +1729 -0
  227. package/node_modules/lru-cache/dist/esm/index.js.map +1 -0
  228. package/node_modules/lru-cache/dist/esm/index.min.js +2 -0
  229. package/node_modules/lru-cache/dist/esm/index.min.js.map +7 -0
  230. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.ts.map +1 -0
  231. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.js.map +1 -0
  232. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.d.ts +5 -0
  233. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.js +6 -0
  234. package/node_modules/lru-cache/dist/esm/node/index.d.ts +1400 -0
  235. package/node_modules/lru-cache/dist/esm/node/index.d.ts.map +1 -0
  236. package/node_modules/lru-cache/dist/esm/node/index.js +1729 -0
  237. package/node_modules/lru-cache/dist/esm/node/index.js.map +1 -0
  238. package/node_modules/lru-cache/dist/esm/node/index.min.js +2 -0
  239. package/node_modules/lru-cache/dist/esm/node/index.min.js.map +7 -0
  240. package/node_modules/lru-cache/dist/esm/node/perf.d.ts +12 -0
  241. package/node_modules/lru-cache/dist/esm/node/perf.d.ts.map +1 -0
  242. package/node_modules/lru-cache/dist/esm/node/perf.js +7 -0
  243. package/node_modules/lru-cache/dist/esm/node/perf.js.map +1 -0
  244. package/node_modules/lru-cache/dist/esm/package.json +3 -0
  245. package/node_modules/lru-cache/dist/esm/perf.d.ts +12 -0
  246. package/node_modules/lru-cache/dist/esm/perf.d.ts.map +1 -0
  247. package/node_modules/lru-cache/dist/esm/perf.js +7 -0
  248. package/node_modules/lru-cache/dist/esm/perf.js.map +1 -0
  249. package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel-react-native.d.ts.map +1 -0
  250. package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel-react-native.js.map +1 -0
  251. package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel.d.ts +5 -0
  252. package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel.js +4 -0
  253. package/node_modules/lru-cache/dist/esm/react-native/index.d.ts +1400 -0
  254. package/node_modules/lru-cache/dist/esm/react-native/index.d.ts.map +1 -0
  255. package/node_modules/lru-cache/dist/esm/react-native/index.js +1729 -0
  256. package/node_modules/lru-cache/dist/esm/react-native/index.js.map +1 -0
  257. package/node_modules/lru-cache/dist/esm/react-native/perf.d.ts +12 -0
  258. package/node_modules/lru-cache/dist/esm/react-native/perf.d.ts.map +1 -0
  259. package/node_modules/lru-cache/dist/esm/react-native/perf.js +7 -0
  260. package/node_modules/lru-cache/dist/esm/react-native/perf.js.map +1 -0
  261. package/node_modules/lru-cache/package.json +180 -0
  262. package/node_modules/npm-package-arg/LICENSE +15 -0
  263. package/node_modules/npm-package-arg/README.md +104 -0
  264. package/node_modules/npm-package-arg/lib/npa.js +479 -0
  265. package/node_modules/npm-package-arg/node_modules/semver/LICENSE +15 -0
  266. package/node_modules/npm-package-arg/node_modules/semver/README.md +680 -0
  267. package/node_modules/npm-package-arg/node_modules/semver/bin/semver.js +195 -0
  268. package/node_modules/npm-package-arg/node_modules/semver/classes/comparator.js +143 -0
  269. package/node_modules/npm-package-arg/node_modules/semver/classes/index.js +7 -0
  270. package/node_modules/npm-package-arg/node_modules/semver/classes/range.js +577 -0
  271. package/node_modules/npm-package-arg/node_modules/semver/classes/semver.js +350 -0
  272. package/node_modules/npm-package-arg/node_modules/semver/functions/clean.js +8 -0
  273. package/node_modules/npm-package-arg/node_modules/semver/functions/cmp.js +54 -0
  274. package/node_modules/npm-package-arg/node_modules/semver/functions/coerce.js +62 -0
  275. package/node_modules/npm-package-arg/node_modules/semver/functions/compare-build.js +9 -0
  276. package/node_modules/npm-package-arg/node_modules/semver/functions/compare-loose.js +5 -0
  277. package/node_modules/npm-package-arg/node_modules/semver/functions/compare.js +7 -0
  278. package/node_modules/npm-package-arg/node_modules/semver/functions/diff.js +60 -0
  279. package/node_modules/npm-package-arg/node_modules/semver/functions/eq.js +5 -0
  280. package/node_modules/npm-package-arg/node_modules/semver/functions/gt.js +5 -0
  281. package/node_modules/npm-package-arg/node_modules/semver/functions/gte.js +5 -0
  282. package/node_modules/npm-package-arg/node_modules/semver/functions/inc.js +21 -0
  283. package/node_modules/npm-package-arg/node_modules/semver/functions/lt.js +5 -0
  284. package/node_modules/npm-package-arg/node_modules/semver/functions/lte.js +5 -0
  285. package/node_modules/npm-package-arg/node_modules/semver/functions/major.js +5 -0
  286. package/node_modules/npm-package-arg/node_modules/semver/functions/minor.js +5 -0
  287. package/node_modules/npm-package-arg/node_modules/semver/functions/neq.js +5 -0
  288. package/node_modules/npm-package-arg/node_modules/semver/functions/parse.js +18 -0
  289. package/node_modules/npm-package-arg/node_modules/semver/functions/patch.js +5 -0
  290. package/node_modules/npm-package-arg/node_modules/semver/functions/prerelease.js +8 -0
  291. package/node_modules/npm-package-arg/node_modules/semver/functions/rcompare.js +5 -0
  292. package/node_modules/npm-package-arg/node_modules/semver/functions/rsort.js +5 -0
  293. package/node_modules/npm-package-arg/node_modules/semver/functions/satisfies.js +12 -0
  294. package/node_modules/npm-package-arg/node_modules/semver/functions/sort.js +5 -0
  295. package/node_modules/npm-package-arg/node_modules/semver/functions/truncate.js +48 -0
  296. package/node_modules/npm-package-arg/node_modules/semver/functions/valid.js +8 -0
  297. package/node_modules/npm-package-arg/node_modules/semver/index.js +93 -0
  298. package/node_modules/npm-package-arg/node_modules/semver/internal/constants.js +37 -0
  299. package/node_modules/npm-package-arg/node_modules/semver/internal/debug.js +11 -0
  300. package/node_modules/npm-package-arg/node_modules/semver/internal/identifiers.js +29 -0
  301. package/node_modules/npm-package-arg/node_modules/semver/internal/lrucache.js +42 -0
  302. package/node_modules/npm-package-arg/node_modules/semver/internal/parse-options.js +17 -0
  303. package/node_modules/npm-package-arg/node_modules/semver/internal/re.js +223 -0
  304. package/node_modules/npm-package-arg/node_modules/semver/package.json +78 -0
  305. package/node_modules/npm-package-arg/node_modules/semver/preload.js +4 -0
  306. package/node_modules/npm-package-arg/node_modules/semver/range.bnf +17 -0
  307. package/node_modules/npm-package-arg/node_modules/semver/ranges/gtr.js +6 -0
  308. package/node_modules/npm-package-arg/node_modules/semver/ranges/intersects.js +9 -0
  309. package/node_modules/npm-package-arg/node_modules/semver/ranges/ltr.js +6 -0
  310. package/node_modules/npm-package-arg/node_modules/semver/ranges/max-satisfying.js +27 -0
  311. package/node_modules/npm-package-arg/node_modules/semver/ranges/min-satisfying.js +26 -0
  312. package/node_modules/npm-package-arg/node_modules/semver/ranges/min-version.js +63 -0
  313. package/node_modules/npm-package-arg/node_modules/semver/ranges/outside.js +82 -0
  314. package/node_modules/npm-package-arg/node_modules/semver/ranges/simplify.js +49 -0
  315. package/node_modules/npm-package-arg/node_modules/semver/ranges/subset.js +249 -0
  316. package/node_modules/npm-package-arg/node_modules/semver/ranges/to-comparators.js +10 -0
  317. package/node_modules/npm-package-arg/node_modules/semver/ranges/valid.js +13 -0
  318. package/node_modules/npm-package-arg/package.json +60 -0
  319. package/node_modules/picomatch/LICENSE +21 -0
  320. package/node_modules/picomatch/README.md +743 -0
  321. package/node_modules/picomatch/index.js +17 -0
  322. package/node_modules/picomatch/lib/constants.js +184 -0
  323. package/node_modules/picomatch/lib/parse.js +1425 -0
  324. package/node_modules/picomatch/lib/picomatch.js +361 -0
  325. package/node_modules/picomatch/lib/scan.js +403 -0
  326. package/node_modules/picomatch/lib/utils.js +72 -0
  327. package/node_modules/picomatch/package.json +83 -0
  328. package/node_modules/picomatch/posix.js +3 -0
  329. package/node_modules/proc-log/LICENSE +15 -0
  330. package/node_modules/proc-log/README.md +226 -0
  331. package/node_modules/proc-log/lib/index.js +158 -0
  332. package/node_modules/proc-log/package.json +46 -0
  333. package/node_modules/smol-toml/LICENSE +24 -0
  334. package/node_modules/smol-toml/README.md +605 -0
  335. package/node_modules/smol-toml/dist/date.d.ts +41 -0
  336. package/node_modules/smol-toml/dist/date.js +156 -0
  337. package/node_modules/smol-toml/dist/error.d.ts +37 -0
  338. package/node_modules/smol-toml/dist/error.js +67 -0
  339. package/node_modules/smol-toml/dist/extract.js +289 -0
  340. package/node_modules/smol-toml/dist/index.cjs +770 -0
  341. package/node_modules/smol-toml/dist/index.d.ts +44 -0
  342. package/node_modules/smol-toml/dist/index.js +34 -0
  343. package/node_modules/smol-toml/dist/parse.d.ts +73 -0
  344. package/node_modules/smol-toml/dist/parse.js +164 -0
  345. package/node_modules/smol-toml/dist/primitive.js +151 -0
  346. package/node_modules/smol-toml/dist/stringify.d.ts +32 -0
  347. package/node_modules/smol-toml/dist/stringify.js +219 -0
  348. package/node_modules/smol-toml/dist/struct.js +156 -0
  349. package/node_modules/smol-toml/dist/util.d.ts +43 -0
  350. package/node_modules/smol-toml/dist/util.js +57 -0
  351. package/node_modules/smol-toml/package.json +68 -0
  352. package/node_modules/typescript/bin/tsc +0 -0
  353. package/node_modules/typescript/bin/tsserver +0 -0
  354. package/node_modules/unbash/LICENSE +15 -0
  355. package/node_modules/unbash/README.md +289 -0
  356. package/node_modules/unbash/dist/ansi-c.d.ts +5 -0
  357. package/node_modules/unbash/dist/ansi-c.js +130 -0
  358. package/node_modules/unbash/dist/arithmetic.d.ts +11 -0
  359. package/node_modules/unbash/dist/arithmetic.js +530 -0
  360. package/node_modules/unbash/dist/assignment.d.ts +15 -0
  361. package/node_modules/unbash/dist/assignment.js +118 -0
  362. package/node_modules/unbash/dist/chars.d.ts +41 -0
  363. package/node_modules/unbash/dist/chars.js +41 -0
  364. package/node_modules/unbash/dist/command.d.ts +14 -0
  365. package/node_modules/unbash/dist/command.js +41 -0
  366. package/node_modules/unbash/dist/heredoc.d.ts +18 -0
  367. package/node_modules/unbash/dist/heredoc.js +25 -0
  368. package/node_modules/unbash/dist/internal-types.d.ts +87 -0
  369. package/node_modules/unbash/dist/internal-types.js +1 -0
  370. package/node_modules/unbash/dist/lexer.d.ts +202 -0
  371. package/node_modules/unbash/dist/lexer.js +3930 -0
  372. package/node_modules/unbash/dist/parser.d.ts +4 -0
  373. package/node_modules/unbash/dist/parser.js +1295 -0
  374. package/node_modules/unbash/dist/parts.d.ts +17 -0
  375. package/node_modules/unbash/dist/parts.js +82 -0
  376. package/node_modules/unbash/dist/printer.d.ts +2 -0
  377. package/node_modules/unbash/dist/printer.js +536 -0
  378. package/node_modules/unbash/dist/types.d.ts +494 -0
  379. package/node_modules/unbash/dist/types.js +1 -0
  380. package/node_modules/unbash/dist/word.d.ts +22 -0
  381. package/node_modules/unbash/dist/word.js +102 -0
  382. package/node_modules/unbash/package.json +80 -0
  383. package/node_modules/validate-npm-package-name/LICENSE +6 -0
  384. package/node_modules/validate-npm-package-name/README.md +120 -0
  385. package/node_modules/validate-npm-package-name/lib/builtin-modules.json +1 -0
  386. package/node_modules/validate-npm-package-name/lib/index.js +114 -0
  387. package/node_modules/validate-npm-package-name/package.json +59 -0
  388. package/node_modules/yaml/LICENSE +13 -0
  389. package/node_modules/yaml/README.md +172 -0
  390. package/node_modules/yaml/bin.mjs +11 -0
  391. package/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
  392. package/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
  393. package/node_modules/yaml/browser/dist/compose/compose-node.js +109 -0
  394. package/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
  395. package/node_modules/yaml/browser/dist/compose/composer.js +219 -0
  396. package/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
  397. package/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
  398. package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
  399. package/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
  400. package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
  401. package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +226 -0
  402. package/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
  403. package/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
  404. package/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
  405. package/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
  406. package/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
  407. package/node_modules/yaml/browser/dist/doc/Document.js +335 -0
  408. package/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
  409. package/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
  410. package/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
  411. package/node_modules/yaml/browser/dist/doc/directives.js +176 -0
  412. package/node_modules/yaml/browser/dist/errors.js +57 -0
  413. package/node_modules/yaml/browser/dist/index.js +17 -0
  414. package/node_modules/yaml/browser/dist/log.js +11 -0
  415. package/node_modules/yaml/browser/dist/nodes/Alias.js +118 -0
  416. package/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
  417. package/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
  418. package/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
  419. package/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
  420. package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
  421. package/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
  422. package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
  423. package/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
  424. package/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
  425. package/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
  426. package/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
  427. package/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
  428. package/node_modules/yaml/browser/dist/parse/cst.js +98 -0
  429. package/node_modules/yaml/browser/dist/parse/lexer.js +721 -0
  430. package/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
  431. package/node_modules/yaml/browser/dist/parse/parser.js +975 -0
  432. package/node_modules/yaml/browser/dist/public-api.js +102 -0
  433. package/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
  434. package/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
  435. package/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
  436. package/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
  437. package/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
  438. package/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
  439. package/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
  440. package/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
  441. package/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
  442. package/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
  443. package/node_modules/yaml/browser/dist/schema/tags.js +96 -0
  444. package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
  445. package/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
  446. package/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
  447. package/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
  448. package/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +67 -0
  449. package/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
  450. package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
  451. package/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
  452. package/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
  453. package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
  454. package/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
  455. package/node_modules/yaml/browser/dist/stringify/stringify.js +129 -0
  456. package/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +153 -0
  457. package/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
  458. package/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
  459. package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +25 -0
  460. package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
  461. package/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
  462. package/node_modules/yaml/browser/dist/util.js +11 -0
  463. package/node_modules/yaml/browser/dist/visit.js +233 -0
  464. package/node_modules/yaml/browser/index.js +5 -0
  465. package/node_modules/yaml/browser/package.json +3 -0
  466. package/node_modules/yaml/dist/cli.d.ts +8 -0
  467. package/node_modules/yaml/dist/cli.mjs +201 -0
  468. package/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
  469. package/node_modules/yaml/dist/compose/compose-collection.js +90 -0
  470. package/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
  471. package/node_modules/yaml/dist/compose/compose-doc.js +45 -0
  472. package/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
  473. package/node_modules/yaml/dist/compose/compose-node.js +112 -0
  474. package/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
  475. package/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
  476. package/node_modules/yaml/dist/compose/composer.d.ts +63 -0
  477. package/node_modules/yaml/dist/compose/composer.js +224 -0
  478. package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
  479. package/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
  480. package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
  481. package/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
  482. package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
  483. package/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
  484. package/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
  485. package/node_modules/yaml/dist/compose/resolve-end.js +39 -0
  486. package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
  487. package/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
  488. package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
  489. package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +228 -0
  490. package/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
  491. package/node_modules/yaml/dist/compose/resolve-props.js +148 -0
  492. package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
  493. package/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
  494. package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
  495. package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
  496. package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
  497. package/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
  498. package/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
  499. package/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
  500. package/node_modules/yaml/dist/doc/Document.d.ts +141 -0
  501. package/node_modules/yaml/dist/doc/Document.js +337 -0
  502. package/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
  503. package/node_modules/yaml/dist/doc/anchors.js +76 -0
  504. package/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
  505. package/node_modules/yaml/dist/doc/applyReviver.js +57 -0
  506. package/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
  507. package/node_modules/yaml/dist/doc/createNode.js +90 -0
  508. package/node_modules/yaml/dist/doc/directives.d.ts +49 -0
  509. package/node_modules/yaml/dist/doc/directives.js +178 -0
  510. package/node_modules/yaml/dist/errors.d.ts +21 -0
  511. package/node_modules/yaml/dist/errors.js +62 -0
  512. package/node_modules/yaml/dist/index.d.ts +25 -0
  513. package/node_modules/yaml/dist/index.js +50 -0
  514. package/node_modules/yaml/dist/log.d.ts +3 -0
  515. package/node_modules/yaml/dist/log.js +19 -0
  516. package/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
  517. package/node_modules/yaml/dist/nodes/Alias.js +120 -0
  518. package/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
  519. package/node_modules/yaml/dist/nodes/Collection.js +151 -0
  520. package/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
  521. package/node_modules/yaml/dist/nodes/Node.js +40 -0
  522. package/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
  523. package/node_modules/yaml/dist/nodes/Pair.js +39 -0
  524. package/node_modules/yaml/dist/nodes/Scalar.d.ts +47 -0
  525. package/node_modules/yaml/dist/nodes/Scalar.js +27 -0
  526. package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
  527. package/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
  528. package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
  529. package/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
  530. package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
  531. package/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
  532. package/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
  533. package/node_modules/yaml/dist/nodes/identity.js +53 -0
  534. package/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
  535. package/node_modules/yaml/dist/nodes/toJS.js +39 -0
  536. package/node_modules/yaml/dist/options.d.ts +350 -0
  537. package/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
  538. package/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
  539. package/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
  540. package/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
  541. package/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
  542. package/node_modules/yaml/dist/parse/cst-visit.js +99 -0
  543. package/node_modules/yaml/dist/parse/cst.d.ts +109 -0
  544. package/node_modules/yaml/dist/parse/cst.js +112 -0
  545. package/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
  546. package/node_modules/yaml/dist/parse/lexer.js +723 -0
  547. package/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
  548. package/node_modules/yaml/dist/parse/line-counter.js +41 -0
  549. package/node_modules/yaml/dist/parse/parser.d.ts +84 -0
  550. package/node_modules/yaml/dist/parse/parser.js +980 -0
  551. package/node_modules/yaml/dist/public-api.d.ts +44 -0
  552. package/node_modules/yaml/dist/public-api.js +107 -0
  553. package/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
  554. package/node_modules/yaml/dist/schema/Schema.js +39 -0
  555. package/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
  556. package/node_modules/yaml/dist/schema/common/map.js +19 -0
  557. package/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
  558. package/node_modules/yaml/dist/schema/common/null.js +17 -0
  559. package/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
  560. package/node_modules/yaml/dist/schema/common/seq.js +19 -0
  561. package/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
  562. package/node_modules/yaml/dist/schema/common/string.js +16 -0
  563. package/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
  564. package/node_modules/yaml/dist/schema/core/bool.js +21 -0
  565. package/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
  566. package/node_modules/yaml/dist/schema/core/float.js +47 -0
  567. package/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
  568. package/node_modules/yaml/dist/schema/core/int.js +42 -0
  569. package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
  570. package/node_modules/yaml/dist/schema/core/schema.js +25 -0
  571. package/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
  572. package/node_modules/yaml/dist/schema/json/schema.js +64 -0
  573. package/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
  574. package/node_modules/yaml/dist/schema/tags.d.ts +48 -0
  575. package/node_modules/yaml/dist/schema/tags.js +99 -0
  576. package/node_modules/yaml/dist/schema/types.d.ts +92 -0
  577. package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
  578. package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
  579. package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
  580. package/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
  581. package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
  582. package/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
  583. package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
  584. package/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
  585. package/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
  586. package/node_modules/yaml/dist/schema/yaml-1.1/merge.js +71 -0
  587. package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
  588. package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
  589. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
  590. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
  591. package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
  592. package/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
  593. package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
  594. package/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
  595. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
  596. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
  597. package/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
  598. package/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
  599. package/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
  600. package/node_modules/yaml/dist/stringify/stringify.js +132 -0
  601. package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
  602. package/node_modules/yaml/dist/stringify/stringifyCollection.js +155 -0
  603. package/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
  604. package/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
  605. package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
  606. package/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
  607. package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
  608. package/node_modules/yaml/dist/stringify/stringifyNumber.js +27 -0
  609. package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
  610. package/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
  611. package/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
  612. package/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
  613. package/node_modules/yaml/dist/test-events.d.ts +4 -0
  614. package/node_modules/yaml/dist/test-events.js +134 -0
  615. package/node_modules/yaml/dist/util.d.ts +16 -0
  616. package/node_modules/yaml/dist/util.js +28 -0
  617. package/node_modules/yaml/dist/visit.d.ts +102 -0
  618. package/node_modules/yaml/dist/visit.js +236 -0
  619. package/node_modules/yaml/package.json +97 -0
  620. package/node_modules/yaml/util.js +2 -0
  621. package/package.json +21 -19
  622. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/scripts/check-boundaries.ts +0 -12
  623. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/scripts/run-root-owned-task.ts +0 -69
  624. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/test/global-setup.ts +0 -21
  625. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/vitest.config.ts +0 -7
  626. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/devcontainer/docker-client.Dockerfile +0 -3
  627. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/web/playwright.config.ts +0 -90
  628. package/node_modules/@ykdz/template-core/dist/toolchain-baseline-update.d.ts +0 -45
  629. package/node_modules/@ykdz/template-core/dist/toolchain-baseline-update.js +0 -27
  630. package/node_modules/@ykdz/template-core/dist/toolchain-resolution.d.ts +0 -37
  631. package/node_modules/@ykdz/template-core/dist/toolchain-resolution.js +0 -195
  632. package/node_modules/valibot/dist/index.min.cjs +0 -2
  633. package/node_modules/valibot/dist/index.min.mjs +0 -2
  634. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/LICENSE +0 -0
  635. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/README.md +0 -0
  636. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/classes/comparator.js +0 -0
  637. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/classes/index.js +0 -0
  638. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/classes/range.js +0 -0
  639. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/classes/semver.js +0 -0
  640. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/clean.js +0 -0
  641. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/cmp.js +0 -0
  642. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/coerce.js +0 -0
  643. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/compare-build.js +0 -0
  644. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/compare-loose.js +0 -0
  645. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/compare.js +0 -0
  646. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/diff.js +0 -0
  647. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/eq.js +0 -0
  648. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/gt.js +0 -0
  649. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/gte.js +0 -0
  650. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/inc.js +0 -0
  651. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/lt.js +0 -0
  652. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/lte.js +0 -0
  653. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/major.js +0 -0
  654. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/minor.js +0 -0
  655. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/neq.js +0 -0
  656. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/parse.js +0 -0
  657. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/patch.js +0 -0
  658. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/prerelease.js +0 -0
  659. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/rcompare.js +0 -0
  660. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/rsort.js +0 -0
  661. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/satisfies.js +0 -0
  662. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/sort.js +0 -0
  663. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/truncate.js +0 -0
  664. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/functions/valid.js +0 -0
  665. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/index.js +0 -0
  666. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/internal/constants.js +0 -0
  667. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/internal/debug.js +0 -0
  668. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/internal/identifiers.js +0 -0
  669. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/internal/lrucache.js +0 -0
  670. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/internal/parse-options.js +0 -0
  671. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/internal/re.js +0 -0
  672. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/package.json +0 -0
  673. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/preload.js +0 -0
  674. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/range.bnf +0 -0
  675. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/gtr.js +0 -0
  676. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/intersects.js +0 -0
  677. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/ltr.js +0 -0
  678. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/max-satisfying.js +0 -0
  679. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/min-satisfying.js +0 -0
  680. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/min-version.js +0 -0
  681. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/outside.js +0 -0
  682. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/simplify.js +0 -0
  683. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/subset.js +0 -0
  684. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/to-comparators.js +0 -0
  685. /package/node_modules/{semver → @ykdz/template-builtin-presets/node_modules/semver}/ranges/valid.js +0 -0
  686. /package/node_modules/{valibot → @ykdz/template-builtin-presets/node_modules/valibot}/LICENSE.md +0 -0
  687. /package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/src/{types.d.ts → types.ts} +0 -0
@@ -183,6 +183,63 @@ function reconcileMode(before, current, after) {
183
183
  function describeExecutableMode(entry) {
184
184
  return entry.mode.toString(8).padStart(3, "0");
185
185
  }
186
+ /**
187
+ * 识别已接受设计中有限的成对锚点词表。
188
+ * 剥掉注释标点只是为了读出标记本身,这里不解释文件格式、关键字或版本。
189
+ */
190
+ function textMirrorMarker(line) {
191
+ const stripped = line
192
+ .trim()
193
+ .replace(/^[#;%*/-]+/u, "")
194
+ .trim();
195
+ if (stripped === "@end-template-mirror")
196
+ return { kind: "end" };
197
+ const start = /^@template-mirror\s+(\S+)$/u.exec(stripped);
198
+ if (start?.[1] !== undefined)
199
+ return { kind: "start", name: start[1] };
200
+ return { kind: "content" };
201
+ }
202
+ /** 定位唯一被拥有的那一行;任何不可用形态都返回 `undefined`。 */
203
+ function locateTextMirrorRegion(lines, name) {
204
+ const starts = [];
205
+ for (const [index, line] of lines.entries()) {
206
+ const marker = textMirrorMarker(line);
207
+ if (marker.kind === "start" && marker.name === name)
208
+ starts.push(index);
209
+ }
210
+ if (starts.length !== 1)
211
+ return undefined;
212
+ const start = starts[0];
213
+ for (let index = start + 1; index < lines.length; index += 1) {
214
+ const marker = textMirrorMarker(lines[index]);
215
+ if (marker.kind === "start")
216
+ return undefined;
217
+ if (marker.kind !== "end")
218
+ continue;
219
+ return index - start === 2
220
+ ? { contentStart: start + 1, contentEnd: index }
221
+ : undefined;
222
+ }
223
+ return undefined;
224
+ }
225
+ /** Before 是否出现过该名的开始标记:区分槽位真缺席与标记不可解释。 */
226
+ function hasTextMirrorStartMarker(lines, name) {
227
+ for (const line of lines) {
228
+ const marker = textMirrorMarker(line);
229
+ if (marker.kind === "start" && marker.name === name)
230
+ return true;
231
+ }
232
+ return false;
233
+ }
234
+ function escapeRegExpToken(value) {
235
+ return value.replaceAll(/[.$()*?[\]{}+/|^\\]/gu, String.raw `\$&`);
236
+ }
237
+ /** 有界的承载检查:文件是否仍在赋值或引用这个名称? */
238
+ function textUsesMirrorSlotName(text, name) {
239
+ const token = escapeRegExpToken(name);
240
+ return (new RegExp(`(?:^|[^\\w$])${token}\\s*=`, "u").test(text) ||
241
+ new RegExp(String.raw `\$\{\s*${token}\s*\}`, "u").test(text));
242
+ }
186
243
  function reconcileTextEntry(options) {
187
244
  const mode = reconcileMode(options.before, options.current, options.after);
188
245
  if (mode === undefined)
@@ -206,7 +263,54 @@ function reconcileTextEntry(options) {
206
263
  ],
207
264
  };
208
265
  }
209
- const regions = diff3Merge(textLines(currentText), textLines(beforeText), textLines(afterText), { excludeFalseConflicts: true });
266
+ const slotConflict = (slot, reason) => ({
267
+ ok: false,
268
+ conflicts: [
269
+ {
270
+ ...(slot.location.kind === "text-anchor"
271
+ ? { location: slot.location.name }
272
+ : {}),
273
+ reason,
274
+ before: describeEntry(options.before),
275
+ current: describeEntry(options.current),
276
+ after: describeEntry(options.after),
277
+ },
278
+ ],
279
+ });
280
+ const beforeLines = textLines(beforeText);
281
+ let currentLines = textLines(currentText);
282
+ for (const slot of options.mirrorSlots) {
283
+ if (slot.location.kind !== "text-anchor")
284
+ continue;
285
+ const name = slot.location.name;
286
+ const currentRegion = locateTextMirrorRegion(currentLines, name);
287
+ if (currentRegion === undefined) {
288
+ if (textUsesMirrorSlotName(currentText, name)) {
289
+ return slotConflict(slot, `Declared mirror slot ${JSON.stringify(slot.id)} anchor could not be located while the ${JSON.stringify(name)} carrier or reference remains`);
290
+ }
291
+ continue;
292
+ }
293
+ const beforeRegion = locateTextMirrorRegion(beforeLines, name);
294
+ if (beforeRegion === undefined) {
295
+ if (hasTextMirrorStartMarker(beforeLines, name)) {
296
+ return slotConflict(slot, `Declared mirror slot ${JSON.stringify(slot.id)} anchor in Before could not be located while its markers remain`);
297
+ }
298
+ // 模板拥有完整镜像块,标记行也属于该块,因此移除整块后再交既有 diff3。
299
+ currentLines = [
300
+ ...currentLines.slice(0, currentRegion.contentStart - 1),
301
+ ...currentLines.slice(currentRegion.contentEnd + 1),
302
+ ];
303
+ continue;
304
+ }
305
+ currentLines = [
306
+ ...currentLines.slice(0, currentRegion.contentStart),
307
+ ...beforeLines.slice(beforeRegion.contentStart, beforeRegion.contentEnd),
308
+ ...currentLines.slice(currentRegion.contentEnd),
309
+ ];
310
+ }
311
+ const regions = diff3Merge(currentLines, beforeLines, textLines(afterText), {
312
+ excludeFalseConflicts: true,
313
+ });
210
314
  const conflicts = regions.flatMap((region) => {
211
315
  const conflict = region.conflict;
212
316
  if (conflict === undefined)
@@ -467,6 +571,190 @@ function parseStructuredEntry(entry) {
467
571
  };
468
572
  }
469
573
  }
574
+ function describeStructuredValueAt(value) {
575
+ return describeStructuredValue(value);
576
+ }
577
+ function mirrorSlotParent(root, segments) {
578
+ if (segments.length === 0)
579
+ return { found: false };
580
+ let value = root;
581
+ for (const segment of segments.slice(0, -1)) {
582
+ if (isStructuredObject(value) && Object.hasOwn(value, segment)) {
583
+ value = value[segment];
584
+ continue;
585
+ }
586
+ if (Array.isArray(value) &&
587
+ /^(?:0|[1-9][0-9]*)$/u.test(segment) &&
588
+ Number.isSafeInteger(Number(segment)) &&
589
+ Object.hasOwn(value, Number(segment))) {
590
+ value = value[Number(segment)];
591
+ continue;
592
+ }
593
+ return { found: false };
594
+ }
595
+ return { found: true, parent: value };
596
+ }
597
+ function mirrorSlotValue(root, segments) {
598
+ const parent = mirrorSlotParent(root, segments);
599
+ if (!parent.found)
600
+ return missingStructuredValue;
601
+ const key = segments[segments.length - 1];
602
+ if (isStructuredObject(parent.parent)) {
603
+ return Object.hasOwn(parent.parent, key)
604
+ ? parent.parent[key]
605
+ : missingStructuredValue;
606
+ }
607
+ if (Array.isArray(parent.parent) &&
608
+ /^(?:0|[1-9][0-9]*)$/u.test(key) &&
609
+ Object.hasOwn(parent.parent, Number(key))) {
610
+ return parent.parent[Number(key)];
611
+ }
612
+ return missingStructuredValue;
613
+ }
614
+ /**
615
+ * 有限的槽位读取:把一个 plan 声明的镜像位置在真实投影里解析成恰好一条标量字符串。
616
+ * Core 只认识通用位置与值形态(合法 JSON、位置存在、值为字符串、锚点区域恰一行),
617
+ * 不认识具体生成路径、Node/Rust 语义或 ARG 写法;承载行的解释留给 Checks 层。
618
+ */
619
+ export function readProjectedMirrorSlotScalar(entry, location) {
620
+ if (location.kind === "json-pointer") {
621
+ const parsed = parseStructuredEntry(entry);
622
+ if (!parsed.ok) {
623
+ return { ok: false, reason: `槽位文件不是合法 JSON:${parsed.message}` };
624
+ }
625
+ let segments;
626
+ try {
627
+ segments = parseJsonPointer(location.pointer);
628
+ }
629
+ catch (error) {
630
+ return {
631
+ ok: false,
632
+ reason: `JSON Pointer 非法:${error instanceof Error ? error.message : String(error)}`,
633
+ };
634
+ }
635
+ if (segments.length === 0) {
636
+ return { ok: false, reason: "镜像槽位不能定位到文档根本身" };
637
+ }
638
+ const value = mirrorSlotValue(parsed.value, segments);
639
+ if (value === missingStructuredValue) {
640
+ return {
641
+ ok: false,
642
+ reason: `声明位置在真实投影中不存在:${location.pointer}`,
643
+ };
644
+ }
645
+ if (typeof value !== "string") {
646
+ return {
647
+ ok: false,
648
+ reason: `镜像槽位的值必须是字符串标量:${location.pointer}`,
649
+ };
650
+ }
651
+ return { ok: true, scalar: value };
652
+ }
653
+ const decoded = decodeText(entry.content);
654
+ if (decoded === undefined) {
655
+ return { ok: false, reason: "文本锚点所在文件不是合法 UTF-8 文本" };
656
+ }
657
+ const lines = textLines(decoded);
658
+ const region = locateTextMirrorRegion(lines, location.name);
659
+ if (region === undefined) {
660
+ return {
661
+ ok: false,
662
+ reason: `锚点区域缺失、重复、不成对或含额外正文:${location.name}`,
663
+ };
664
+ }
665
+ // locateTextMirrorRegion 已保证区域内恰好一条承载行。
666
+ return { ok: true, scalar: lines[region.contentStart] };
667
+ }
668
+ function withoutMirrorSlot(root, segments) {
669
+ if (segments.length === 0)
670
+ return root;
671
+ const [head, ...rest] = segments;
672
+ if (rest.length === 0) {
673
+ if (!isStructuredObject(root) || !Object.hasOwn(root, head))
674
+ return root;
675
+ const kept = {};
676
+ for (const [key, value] of Object.entries(root)) {
677
+ if (key !== head)
678
+ kept[key] = value;
679
+ }
680
+ return kept;
681
+ }
682
+ if (isStructuredObject(root) && Object.hasOwn(root, head)) {
683
+ return {
684
+ ...root,
685
+ [head]: withoutMirrorSlot(root[head], rest),
686
+ };
687
+ }
688
+ if (Array.isArray(root) &&
689
+ /^(?:0|[1-9][0-9]*)$/u.test(head) &&
690
+ Object.hasOwn(root, Number(head))) {
691
+ return root.map((member, index) => index === Number(head) ? withoutMirrorSlot(member, rest) : member);
692
+ }
693
+ return root;
694
+ }
695
+ function withMirrorSlot(root, segments, value) {
696
+ if (segments.length === 0)
697
+ return root;
698
+ const [head, ...rest] = segments;
699
+ if (rest.length === 0) {
700
+ if (isStructuredObject(root) && Object.hasOwn(root, head)) {
701
+ return { ...root, [head]: value };
702
+ }
703
+ if (Array.isArray(root) &&
704
+ /^(?:0|[1-9][0-9]*)$/u.test(head) &&
705
+ Object.hasOwn(root, Number(head))) {
706
+ return root.map((member, index) => index === Number(head) ? value : member);
707
+ }
708
+ return root;
709
+ }
710
+ if (isStructuredObject(root) && Object.hasOwn(root, head)) {
711
+ return {
712
+ ...root,
713
+ [head]: withMirrorSlot(root[head], rest, value),
714
+ };
715
+ }
716
+ if (Array.isArray(root) &&
717
+ /^(?:0|[1-9][0-9]*)$/u.test(head) &&
718
+ Object.hasOwn(root, Number(head))) {
719
+ return root.map((member, index) => index === Number(head) ? withMirrorSlot(member, rest, value) : member);
720
+ }
721
+ return root;
722
+ }
723
+ /**
724
+ * 把 Current 中每个由 planner 声明的位置改写回 Before。
725
+ * 归一只改写已存在的位置,绝不新建,所以消费者删掉的槽位在既有合并法则下保持缺席。
726
+ */
727
+ function normalizeCurrentMirrorSlots(options) {
728
+ let normalized = options.current;
729
+ for (const { slot, segments } of options.slots) {
730
+ const location = structuredLocation(segments);
731
+ const currentValue = mirrorSlotValue(normalized, segments);
732
+ if (currentValue === missingStructuredValue)
733
+ continue;
734
+ const beforeValue = mirrorSlotValue(options.before, segments);
735
+ const afterValue = mirrorSlotValue(options.after, segments);
736
+ const unusable = (side) => ({
737
+ ok: false,
738
+ conflict: {
739
+ location,
740
+ reason: `Declared mirror slot ${JSON.stringify(slot.id)} holds a non-string ${side} value`,
741
+ before: describeStructuredValueAt(beforeValue),
742
+ current: describeStructuredValueAt(currentValue),
743
+ after: describeStructuredValueAt(afterValue),
744
+ },
745
+ });
746
+ if (typeof currentValue !== "string")
747
+ return unusable("Current");
748
+ if (beforeValue === missingStructuredValue) {
749
+ normalized = withoutMirrorSlot(normalized, segments);
750
+ continue;
751
+ }
752
+ if (typeof beforeValue !== "string")
753
+ return unusable("Before");
754
+ normalized = withMirrorSlot(normalized, segments, beforeValue);
755
+ }
756
+ return { ok: true, value: normalized };
757
+ }
470
758
  function reconcileStructuredEntry(options) {
471
759
  const mode = reconcileMode(options.before, options.current, options.after);
472
760
  if (mode === undefined)
@@ -490,12 +778,31 @@ function reconcileStructuredEntry(options) {
490
778
  return parseConflict("Current", current.message);
491
779
  if (!after.ok)
492
780
  return parseConflict("After", after.message);
493
- const reconciled = reconcileStructuredValue(before.value, current.value, after.value, [], options.identitySets);
781
+ const slotLocations = options.mirrorSlots.map((slot) => ({
782
+ slot,
783
+ segments: slot.location.kind === "json-pointer"
784
+ ? parseJsonPointer(slot.location.pointer)
785
+ : [],
786
+ }));
787
+ const normalized = normalizeCurrentMirrorSlots({
788
+ before: before.value,
789
+ current: current.value,
790
+ after: after.value,
791
+ slots: slotLocations,
792
+ });
793
+ if (!normalized.ok)
794
+ return normalized;
795
+ const reconciled = reconcileStructuredValue(before.value, normalized.value, after.value, [], options.identitySets);
494
796
  if (!reconciled.ok)
495
797
  return reconciled;
496
798
  if (reconciled.value === missingStructuredValue) {
497
799
  return { ok: false };
498
800
  }
801
+ if (options.mirrorSlots.length > 0 &&
802
+ structuredValuesEqual(current.value, reconciled.value) &&
803
+ options.current.mode === mode) {
804
+ return { ok: true, skip: true };
805
+ }
499
806
  let content;
500
807
  try {
501
808
  content = new TextEncoder().encode(`${JSON.stringify(reconciled.value, null, 2)}\n`);
@@ -536,6 +843,34 @@ function assertNormalizedSafeRelativePath(projectionPath, member) {
536
843
  throw new Error(`Project Projection ${member} path must be a normalized safe relative path: ${projectionPath || "<empty>"}`);
537
844
  }
538
845
  }
846
+ function assertMirrorSlots(entry, reconciliation) {
847
+ const slots = reconciliation.mirrorSlots ?? [];
848
+ const ids = new Set();
849
+ for (const slot of slots) {
850
+ if (slot.id.length === 0 || ids.has(slot.id)) {
851
+ throw new Error(`Project Projection mirror slot ids must be unique and non-empty: ${entry.path} ${JSON.stringify(slot.id)}`);
852
+ }
853
+ ids.add(slot.id);
854
+ if (reconciliation.driver === "structured") {
855
+ if (slot.location.kind !== "json-pointer") {
856
+ throw new Error(`Project Projection structured mirror slots require a JSON Pointer location: ${entry.path} ${slot.id}`);
857
+ }
858
+ try {
859
+ parseJsonPointer(slot.location.pointer);
860
+ }
861
+ catch (error) {
862
+ throw new Error(`Project Projection mirror slot location must be an RFC 6901 JSON Pointer: ${entry.path} ${slot.id} (${error instanceof Error ? error.message : String(error)})`, { cause: error });
863
+ }
864
+ continue;
865
+ }
866
+ if (slot.location.kind !== "text-anchor") {
867
+ throw new Error(`Project Projection text mirror slots require a named text anchor: ${entry.path} ${slot.id}`);
868
+ }
869
+ if (!/^\S+$/u.test(slot.location.name)) {
870
+ throw new Error(`Project Projection text mirror slot names must be single non-empty tokens: ${entry.path} ${slot.id}`);
871
+ }
872
+ }
873
+ }
539
874
  function assertProjectionContract(projection) {
540
875
  const paths = new Set();
541
876
  for (const entry of projection.entries) {
@@ -563,6 +898,9 @@ function assertProjectionContract(projection) {
563
898
  reconciliation.identitySets !== undefined) {
564
899
  assertIdentitySetPolicies(projection.entries.find((entry) => entry.path === reconciliation.path), reconciliation);
565
900
  }
901
+ if (reconciliation.driver !== "canonical") {
902
+ assertMirrorSlots(projection.entries.find((entry) => entry.path === reconciliation.path), reconciliation);
903
+ }
566
904
  policies.set(reconciliation.path, reconciliation);
567
905
  }
568
906
  for (const projectionPath of paths) {
@@ -572,6 +910,24 @@ function assertProjectionContract(projection) {
572
910
  }
573
911
  return policies;
574
912
  }
913
+ /**
914
+ * 槽位声明沿既有通用合并接缝只允许单调新增:Before 的每个槽位必须按原序出现在 After 前缀,
915
+ * After 可追加消费者新增能力所对应的位置。删除、重排或改写既有槽位仍判为策略不兼容。
916
+ * Core 不理解具体文件名或工具链,只在槽位列表结构上判定。
917
+ */
918
+ function mirrorSlotsExtendMonotonically(before, after) {
919
+ const prior = before ?? [];
920
+ const next = after ?? [];
921
+ if (prior.length > next.length)
922
+ return false;
923
+ for (let index = 0; index < prior.length; index += 1) {
924
+ if (JSON.stringify(prior[index] ?? null) !==
925
+ JSON.stringify(next[index] ?? null)) {
926
+ return false;
927
+ }
928
+ }
929
+ return true;
930
+ }
575
931
  function reconciliationPoliciesCompatible(left, right) {
576
932
  if (left.path !== right.path ||
577
933
  left.driver !== right.driver ||
@@ -583,6 +939,9 @@ function reconciliationPoliciesCompatible(left, right) {
583
939
  const rightIdentitySets = right.identitySets ?? [];
584
940
  if (leftIdentitySets.length !== rightIdentitySets.length)
585
941
  return false;
942
+ if (!mirrorSlotsExtendMonotonically(left.mirrorSlots, right.mirrorSlots)) {
943
+ return false;
944
+ }
586
945
  return leftIdentitySets.every((leftPolicy, index) => {
587
946
  const rightPolicy = rightIdentitySets[index];
588
947
  if (rightPolicy === undefined ||
@@ -696,6 +1055,11 @@ function assertIdentitySetPolicies(entry, reconciliation) {
696
1055
  }
697
1056
  }
698
1057
  }
1058
+ function declaredMirrorSlots(policy) {
1059
+ if (policy === undefined || policy.driver === "canonical")
1060
+ return [];
1061
+ return policy.mirrorSlots ?? [];
1062
+ }
699
1063
  export async function reconcileProjectProjections(options) {
700
1064
  const beforePolicies = assertProjectionContract(options.before);
701
1065
  const afterPolicies = assertProjectionContract(options.after);
@@ -713,20 +1077,34 @@ export async function reconcileProjectProjections(options) {
713
1077
  throw new Error(`Project Projection reconciliation policy changed for ${projectionPath}`);
714
1078
  }
715
1079
  }
716
- const deltaPaths = [
717
- ...new Set([...beforeByPath.keys(), ...afterByPath.keys()]),
718
- ]
1080
+ const deltaPathSet = new Set([...new Set([...beforeByPath.keys(), ...afterByPath.keys()])]
719
1081
  .filter((projectionPath) => !entriesEqual(beforeByPath.get(projectionPath), afterByPath.get(projectionPath)))
720
- .toSorted();
1082
+ .toSorted());
1083
+ const declaredMirrorPaths = new Set();
1084
+ for (const [projectionPath, policy] of afterPolicies) {
1085
+ if (declaredMirrorSlots(policy).length > 0) {
1086
+ declaredMirrorPaths.add(projectionPath);
1087
+ }
1088
+ }
1089
+ for (const [projectionPath, policy] of beforePolicies) {
1090
+ if (declaredMirrorSlots(policy).length > 0) {
1091
+ declaredMirrorPaths.add(projectionPath);
1092
+ }
1093
+ }
1094
+ const reconcilePaths = [
1095
+ ...new Set([...deltaPathSet, ...declaredMirrorPaths]),
1096
+ ].toSorted();
721
1097
  const mutations = [];
722
1098
  const conflicts = [];
723
- for (const projectionPath of deltaPaths) {
1099
+ for (const projectionPath of reconcilePaths) {
724
1100
  const before = beforeByPath.get(projectionPath);
725
1101
  const after = afterByPath.get(projectionPath);
726
1102
  const beforePolicy = beforePolicies.get(projectionPath);
727
1103
  const afterPolicy = afterPolicies.get(projectionPath);
728
1104
  const policy = afterPolicy ?? beforePolicy;
729
1105
  const driver = policy.driver;
1106
+ const mirrorSlots = declaredMirrorSlots(policy);
1107
+ const isDeltaPath = deltaPathSet.has(projectionPath);
730
1108
  const current = await options.readCurrent(projectionPath);
731
1109
  if (entriesEqual(current, after))
732
1110
  continue;
@@ -746,6 +1124,8 @@ export async function reconcileProjectProjections(options) {
746
1124
  continue;
747
1125
  }
748
1126
  if (before === undefined || current === undefined) {
1127
+ if (!isDeltaPath && mirrorSlots.length > 0)
1128
+ continue;
749
1129
  conflicts.push({
750
1130
  path: projectionPath,
751
1131
  driver,
@@ -758,6 +1138,8 @@ export async function reconcileProjectProjections(options) {
758
1138
  continue;
759
1139
  }
760
1140
  if (current.kind !== "file") {
1141
+ if (!isDeltaPath && mirrorSlots.length > 0)
1142
+ continue;
761
1143
  conflicts.push({
762
1144
  path: projectionPath,
763
1145
  driver,
@@ -787,16 +1169,19 @@ export async function reconcileProjectProjections(options) {
787
1169
  current,
788
1170
  after,
789
1171
  identitySets: combinedIdentitySets(beforePolicy, afterPolicy),
1172
+ mirrorSlots,
790
1173
  })
791
1174
  : undefined;
792
1175
  const text = driver === "text"
793
- ? reconcileTextEntry({ before, current, after })
1176
+ ? reconcileTextEntry({ before, current, after, mirrorSlots })
794
1177
  : undefined;
1178
+ if (structured?.ok === true && "skip" in structured)
1179
+ continue;
795
1180
  const reconciled = driver === "text"
796
1181
  ? text?.ok
797
1182
  ? text.entry
798
1183
  : undefined
799
- : structured?.ok
1184
+ : structured?.ok && "entry" in structured
800
1185
  ? structured.entry
801
1186
  : undefined;
802
1187
  if (reconciled === undefined) {
@@ -0,0 +1,10 @@
1
+ /**
2
+ * CLI 发版携带的不可变工具链快照:从模板根三个原生声明(engines.node、packageManager、rust-toolchain.toml)投影的静态交付副本。
3
+ * 模板根声明仍是唯一作者真源,由根版本门核对漂移;本模块同步、无参、无任何文件系统、网络或模板根查找。
4
+ */
5
+ export declare const releaseToolchainSnapshot: Readonly<{
6
+ readonly nodeVersion: "24.21.0";
7
+ readonly packageManagerPin: "pnpm@12.9.1";
8
+ readonly rustVersion: "1.99.0";
9
+ }>;
10
+ export type ReleaseToolchainSnapshot = typeof releaseToolchainSnapshot;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * CLI 发版携带的不可变工具链快照:从模板根三个原生声明(engines.node、packageManager、rust-toolchain.toml)投影的静态交付副本。
3
+ * 模板根声明仍是唯一作者真源,由根版本门核对漂移;本模块同步、无参、无任何文件系统、网络或模板根查找。
4
+ */
5
+ export const releaseToolchainSnapshot = Object.freeze({
6
+ nodeVersion: "24.21.0",
7
+ packageManagerPin: "pnpm@12.9.1",
8
+ rustVersion: "1.99.0",
9
+ });
@@ -65,7 +65,8 @@ function isProtectedSourceBackedOperation(operation) {
65
65
  export function isProtectedGeneratedPath(generatedPath) {
66
66
  const normalizedPath = generatedPath.split("\\").join("/");
67
67
  const fileName = normalizedPath.split("/").at(-1);
68
- return (normalizedPath === ".devcontainer/Dockerfile" ||
68
+ return (normalizedPath === "scripts/check-standalone-deployment.ts" ||
69
+ normalizedPath === "scripts/container-entrypoint.sh" ||
69
70
  normalizedPath === ".devcontainer/devcontainer.json" ||
70
71
  normalizedPath === ".github/dependabot.yml" ||
71
72
  normalizedPath.startsWith(".github/workflows/") ||
@@ -73,6 +74,8 @@ export function isProtectedGeneratedPath(generatedPath) {
73
74
  normalizedPath.startsWith("scripts/npm-publication/") ||
74
75
  normalizedPath.startsWith("scripts/npm-publication-setup/") ||
75
76
  fileName === "CHANGELOG.md" ||
77
+ fileName === ".dockerignore" ||
78
+ fileName === "Dockerfile" ||
76
79
  fileName === "LICENSE" ||
77
80
  fileName === "README.md" ||
78
81
  fileName === "RELEASING.md" ||
@@ -463,7 +466,7 @@ const rootTsconfigConfigCompilerOptions = {
463
466
  noEmitOnError: true,
464
467
  skipLibCheck: false,
465
468
  strict: true,
466
- target: "es2023",
469
+ target: "es2024",
467
470
  };
468
471
  const rootTsconfigConfigIncludes = new Set([
469
472
  "oxlint.config.ts",
@@ -507,12 +510,13 @@ function isAllowedStructuralMachineDeclaration(sourceFile, operation) {
507
510
  operation.to === ".devcontainer/devcontainer.json") {
508
511
  return isDevelopmentContainerToolLayerMergeValue(operation.value);
509
512
  }
513
+ if ((operation.kind === "writeJson" || operation.kind === "mergeJson") &&
514
+ operation.to === "turbo.json") {
515
+ return isStructuralTurboValue(operation.value);
516
+ }
510
517
  if (operation.kind !== "writeJson") {
511
518
  return false;
512
519
  }
513
- if (operation.to === "turbo.json") {
514
- return isStructuralTurboValue(operation.value);
515
- }
516
520
  if (operation.to === "tsconfig.config.json") {
517
521
  return isStructuralTsconfigConfigValue(operation.value);
518
522
  }
@@ -662,10 +666,12 @@ function expectedDiagnosticOwnerPaths(options) {
662
666
  return { valid: false, value: "" };
663
667
  }
664
668
  const ownerPath = declaration.owner.path;
665
- if (declaration.owner.kind !== "package-boundary" ||
666
- typeof ownerPath !== "string" ||
667
- !isSafePackageBoundaryPath(ownerPath) ||
668
- !blueprintOwners.has(ownerPath)) {
669
+ const workspaceOwner = declaration.owner.kind === "workspace-orchestration" && ownerPath === ".";
670
+ const packageOwner = declaration.owner.kind === "package-boundary" &&
671
+ typeof ownerPath === "string" &&
672
+ isSafePackageBoundaryPath(ownerPath) &&
673
+ blueprintOwners.has(ownerPath);
674
+ if (!workspaceOwner && !packageOwner) {
669
675
  return { valid: false, value: "" };
670
676
  }
671
677
  owners.add(ownerPath);
@@ -0,0 +1,9 @@
1
+ MIT License
2
+
3
+ Copyright (c) Fabian Hiller
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.