@ykdz/template 0.0.23 → 0.0.24

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 (451) hide show
  1. package/dist/cli.js +4 -575
  2. package/dist/main.d.ts +1 -0
  3. package/dist/main.js +370 -0
  4. package/node_modules/@typescript/old/LICENSE.txt +55 -0
  5. package/node_modules/@typescript/old/README.md +50 -0
  6. package/node_modules/@typescript/old/SECURITY.md +39 -0
  7. package/node_modules/@typescript/old/ThirdPartyNoticeText.txt +193 -0
  8. package/node_modules/@typescript/old/bin/tsc +2 -0
  9. package/node_modules/@typescript/old/bin/tsserver +2 -0
  10. package/node_modules/@typescript/old/lib/_tsc.js +134465 -0
  11. package/node_modules/@typescript/old/lib/_tsserver.js +659 -0
  12. package/node_modules/@typescript/old/lib/_typingsInstaller.js +222 -0
  13. package/node_modules/@typescript/old/lib/cs/diagnosticMessages.generated.json +2129 -0
  14. package/node_modules/@typescript/old/lib/de/diagnosticMessages.generated.json +2125 -0
  15. package/node_modules/@typescript/old/lib/es/diagnosticMessages.generated.json +2129 -0
  16. package/node_modules/@typescript/old/lib/fr/diagnosticMessages.generated.json +2129 -0
  17. package/node_modules/@typescript/old/lib/it/diagnosticMessages.generated.json +2125 -0
  18. package/node_modules/@typescript/old/lib/ja/diagnosticMessages.generated.json +2129 -0
  19. package/node_modules/@typescript/old/lib/ko/diagnosticMessages.generated.json +2129 -0
  20. package/node_modules/@typescript/old/lib/lib.d.ts +20 -0
  21. package/node_modules/@typescript/old/lib/lib.decorators.d.ts +382 -0
  22. package/node_modules/@typescript/old/lib/lib.decorators.legacy.d.ts +20 -0
  23. package/node_modules/@typescript/old/lib/lib.dom.asynciterable.d.ts +18 -0
  24. package/node_modules/@typescript/old/lib/lib.dom.d.ts +45125 -0
  25. package/node_modules/@typescript/old/lib/lib.dom.iterable.d.ts +18 -0
  26. package/node_modules/@typescript/old/lib/lib.es2015.collection.d.ts +150 -0
  27. package/node_modules/@typescript/old/lib/lib.es2015.core.d.ts +595 -0
  28. package/node_modules/@typescript/old/lib/lib.es2015.d.ts +26 -0
  29. package/node_modules/@typescript/old/lib/lib.es2015.generator.d.ts +75 -0
  30. package/node_modules/@typescript/old/lib/lib.es2015.iterable.d.ts +603 -0
  31. package/node_modules/@typescript/old/lib/lib.es2015.promise.d.ts +79 -0
  32. package/node_modules/@typescript/old/lib/lib.es2015.proxy.d.ts +126 -0
  33. package/node_modules/@typescript/old/lib/lib.es2015.reflect.d.ts +142 -0
  34. package/node_modules/@typescript/old/lib/lib.es2015.symbol.d.ts +44 -0
  35. package/node_modules/@typescript/old/lib/lib.es2015.symbol.wellknown.d.ts +324 -0
  36. package/node_modules/@typescript/old/lib/lib.es2016.array.include.d.ts +114 -0
  37. package/node_modules/@typescript/old/lib/lib.es2016.d.ts +19 -0
  38. package/node_modules/@typescript/old/lib/lib.es2016.full.d.ts +21 -0
  39. package/node_modules/@typescript/old/lib/lib.es2016.intl.d.ts +29 -0
  40. package/node_modules/@typescript/old/lib/lib.es2017.arraybuffer.d.ts +19 -0
  41. package/node_modules/@typescript/old/lib/lib.es2017.d.ts +24 -0
  42. package/node_modules/@typescript/old/lib/lib.es2017.date.d.ts +29 -0
  43. package/node_modules/@typescript/old/lib/lib.es2017.full.d.ts +21 -0
  44. package/node_modules/@typescript/old/lib/lib.es2017.intl.d.ts +42 -0
  45. package/node_modules/@typescript/old/lib/lib.es2017.object.d.ts +47 -0
  46. package/node_modules/@typescript/old/lib/lib.es2017.sharedmemory.d.ts +133 -0
  47. package/node_modules/@typescript/old/lib/lib.es2017.string.d.ts +43 -0
  48. package/node_modules/@typescript/old/lib/lib.es2017.typedarrays.d.ts +51 -0
  49. package/node_modules/@typescript/old/lib/lib.es2018.asyncgenerator.d.ts +75 -0
  50. package/node_modules/@typescript/old/lib/lib.es2018.asynciterable.d.ts +51 -0
  51. package/node_modules/@typescript/old/lib/lib.es2018.d.ts +22 -0
  52. package/node_modules/@typescript/old/lib/lib.es2018.full.d.ts +22 -0
  53. package/node_modules/@typescript/old/lib/lib.es2018.intl.d.ts +81 -0
  54. package/node_modules/@typescript/old/lib/lib.es2018.promise.d.ts +28 -0
  55. package/node_modules/@typescript/old/lib/lib.es2018.regexp.d.ts +35 -0
  56. package/node_modules/@typescript/old/lib/lib.es2019.array.d.ts +77 -0
  57. package/node_modules/@typescript/old/lib/lib.es2019.d.ts +22 -0
  58. package/node_modules/@typescript/old/lib/lib.es2019.full.d.ts +22 -0
  59. package/node_modules/@typescript/old/lib/lib.es2019.intl.d.ts +21 -0
  60. package/node_modules/@typescript/old/lib/lib.es2019.object.d.ts +31 -0
  61. package/node_modules/@typescript/old/lib/lib.es2019.string.d.ts +35 -0
  62. package/node_modules/@typescript/old/lib/lib.es2019.symbol.d.ts +22 -0
  63. package/node_modules/@typescript/old/lib/lib.es2020.bigint.d.ts +763 -0
  64. package/node_modules/@typescript/old/lib/lib.es2020.d.ts +25 -0
  65. package/node_modules/@typescript/old/lib/lib.es2020.date.d.ts +40 -0
  66. package/node_modules/@typescript/old/lib/lib.es2020.full.d.ts +22 -0
  67. package/node_modules/@typescript/old/lib/lib.es2020.intl.d.ts +472 -0
  68. package/node_modules/@typescript/old/lib/lib.es2020.number.d.ts +26 -0
  69. package/node_modules/@typescript/old/lib/lib.es2020.promise.d.ts +45 -0
  70. package/node_modules/@typescript/old/lib/lib.es2020.sharedmemory.d.ts +97 -0
  71. package/node_modules/@typescript/old/lib/lib.es2020.string.d.ts +42 -0
  72. package/node_modules/@typescript/old/lib/lib.es2020.symbol.wellknown.d.ts +39 -0
  73. package/node_modules/@typescript/old/lib/lib.es2021.d.ts +21 -0
  74. package/node_modules/@typescript/old/lib/lib.es2021.full.d.ts +22 -0
  75. package/node_modules/@typescript/old/lib/lib.es2021.intl.d.ts +164 -0
  76. package/node_modules/@typescript/old/lib/lib.es2021.promise.d.ts +46 -0
  77. package/node_modules/@typescript/old/lib/lib.es2021.string.d.ts +31 -0
  78. package/node_modules/@typescript/old/lib/lib.es2021.weakref.d.ts +76 -0
  79. package/node_modules/@typescript/old/lib/lib.es2022.array.d.ts +119 -0
  80. package/node_modules/@typescript/old/lib/lib.es2022.d.ts +23 -0
  81. package/node_modules/@typescript/old/lib/lib.es2022.error.d.ts +73 -0
  82. package/node_modules/@typescript/old/lib/lib.es2022.full.d.ts +22 -0
  83. package/node_modules/@typescript/old/lib/lib.es2022.intl.d.ts +143 -0
  84. package/node_modules/@typescript/old/lib/lib.es2022.object.d.ts +24 -0
  85. package/node_modules/@typescript/old/lib/lib.es2022.regexp.d.ts +37 -0
  86. package/node_modules/@typescript/old/lib/lib.es2022.string.d.ts +23 -0
  87. package/node_modules/@typescript/old/lib/lib.es2023.array.d.ts +922 -0
  88. package/node_modules/@typescript/old/lib/lib.es2023.collection.d.ts +19 -0
  89. package/node_modules/@typescript/old/lib/lib.es2023.d.ts +20 -0
  90. package/node_modules/@typescript/old/lib/lib.es2023.full.d.ts +22 -0
  91. package/node_modules/@typescript/old/lib/lib.es2023.intl.d.ts +62 -0
  92. package/node_modules/@typescript/old/lib/lib.es2024.arraybuffer.d.ts +63 -0
  93. package/node_modules/@typescript/old/lib/lib.es2024.collection.d.ts +27 -0
  94. package/node_modules/@typescript/old/lib/lib.es2024.d.ts +24 -0
  95. package/node_modules/@typescript/old/lib/lib.es2024.full.d.ts +22 -0
  96. package/node_modules/@typescript/old/lib/lib.es2024.object.d.ts +27 -0
  97. package/node_modules/@typescript/old/lib/lib.es2024.promise.d.ts +33 -0
  98. package/node_modules/@typescript/old/lib/lib.es2024.regexp.d.ts +23 -0
  99. package/node_modules/@typescript/old/lib/lib.es2024.sharedmemory.d.ts +66 -0
  100. package/node_modules/@typescript/old/lib/lib.es2024.string.d.ts +27 -0
  101. package/node_modules/@typescript/old/lib/lib.es2025.collection.d.ts +94 -0
  102. package/node_modules/@typescript/old/lib/lib.es2025.d.ts +23 -0
  103. package/node_modules/@typescript/old/lib/lib.es2025.float16.d.ts +443 -0
  104. package/node_modules/@typescript/old/lib/lib.es2025.full.d.ts +22 -0
  105. package/node_modules/@typescript/old/lib/lib.es2025.intl.d.ts +200 -0
  106. package/node_modules/@typescript/old/lib/lib.es2025.iterator.d.ts +146 -0
  107. package/node_modules/@typescript/old/lib/lib.es2025.promise.d.ts +32 -0
  108. package/node_modules/@typescript/old/lib/lib.es2025.regexp.d.ts +30 -0
  109. package/node_modules/@typescript/old/lib/lib.es5.d.ts +4599 -0
  110. package/node_modules/@typescript/old/lib/lib.es6.d.ts +21 -0
  111. package/node_modules/@typescript/old/lib/lib.esnext.array.d.ts +33 -0
  112. package/node_modules/@typescript/old/lib/lib.esnext.collection.d.ts +47 -0
  113. package/node_modules/@typescript/old/lib/lib.esnext.d.ts +27 -0
  114. package/node_modules/@typescript/old/lib/lib.esnext.date.d.ts +21 -0
  115. package/node_modules/@typescript/old/lib/lib.esnext.decorators.d.ts +26 -0
  116. package/node_modules/@typescript/old/lib/lib.esnext.disposable.d.ts +191 -0
  117. package/node_modules/@typescript/old/lib/lib.esnext.error.d.ts +22 -0
  118. package/node_modules/@typescript/old/lib/lib.esnext.full.d.ts +22 -0
  119. package/node_modules/@typescript/old/lib/lib.esnext.intl.d.ts +107 -0
  120. package/node_modules/@typescript/old/lib/lib.esnext.sharedmemory.d.ts +23 -0
  121. package/node_modules/@typescript/old/lib/lib.esnext.temporal.d.ts +485 -0
  122. package/node_modules/@typescript/old/lib/lib.esnext.typedarrays.d.ts +90 -0
  123. package/node_modules/@typescript/old/lib/lib.scripthost.d.ts +320 -0
  124. package/node_modules/@typescript/old/lib/lib.webworker.asynciterable.d.ts +18 -0
  125. package/node_modules/@typescript/old/lib/lib.webworker.d.ts +15606 -0
  126. package/node_modules/@typescript/old/lib/lib.webworker.importscripts.d.ts +21 -0
  127. package/node_modules/@typescript/old/lib/lib.webworker.iterable.d.ts +18 -0
  128. package/node_modules/@typescript/old/lib/pl/diagnosticMessages.generated.json +2129 -0
  129. package/node_modules/@typescript/old/lib/pt-br/diagnosticMessages.generated.json +2129 -0
  130. package/node_modules/@typescript/old/lib/ru/diagnosticMessages.generated.json +2125 -0
  131. package/node_modules/@typescript/old/lib/tr/diagnosticMessages.generated.json +2129 -0
  132. package/node_modules/@typescript/old/lib/tsc.js +8 -0
  133. package/node_modules/@typescript/old/lib/tsserver.js +8 -0
  134. package/node_modules/@typescript/old/lib/tsserverlibrary.d.ts +17 -0
  135. package/node_modules/@typescript/old/lib/tsserverlibrary.js +21 -0
  136. package/node_modules/@typescript/old/lib/typesMap.json +497 -0
  137. package/node_modules/@typescript/old/lib/typescript.d.ts +11448 -0
  138. package/node_modules/@typescript/old/lib/typescript.js +201039 -0
  139. package/node_modules/@typescript/old/lib/typingsInstaller.js +8 -0
  140. package/node_modules/@typescript/old/lib/watchGuard.js +53 -0
  141. package/node_modules/@typescript/old/lib/zh-cn/diagnosticMessages.generated.json +2129 -0
  142. package/node_modules/@typescript/old/lib/zh-tw/diagnosticMessages.generated.json +2125 -0
  143. package/node_modules/@typescript/old/package.json +118 -0
  144. package/node_modules/@ykdz/template-builtin-presets/dist/src/foundation.d.ts +85 -0
  145. package/node_modules/@ykdz/template-builtin-presets/dist/src/foundation.js +797 -0
  146. package/node_modules/@ykdz/template-builtin-presets/dist/src/index.d.ts +3 -0
  147. package/node_modules/@ykdz/template-builtin-presets/dist/src/index.js +2 -0
  148. package/node_modules/@ykdz/template-builtin-presets/dist/src/rust-bin/definition.d.ts +2 -0
  149. package/node_modules/@ykdz/template-builtin-presets/dist/src/rust-bin/definition.js +134 -0
  150. package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/vue.d.ts +36 -0
  151. package/node_modules/@ykdz/template-builtin-presets/dist/src/shared/vue.js +106 -0
  152. package/node_modules/@ykdz/template-builtin-presets/dist/src/template-sources.d.ts +14 -0
  153. package/node_modules/@ykdz/template-builtin-presets/dist/src/template-sources.js +26 -0
  154. package/node_modules/@ykdz/template-builtin-presets/dist/src/ts-lib/definition.d.ts +2 -0
  155. package/node_modules/@ykdz/template-builtin-presets/dist/src/ts-lib/definition.js +138 -0
  156. package/node_modules/@ykdz/template-builtin-presets/dist/src/vike-app/definition.d.ts +2 -0
  157. package/node_modules/@ykdz/template-builtin-presets/dist/src/vike-app/definition.js +408 -0
  158. package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-app/definition.d.ts +2 -0
  159. package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-app/definition.js +94 -0
  160. package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-hono-app/definition.d.ts +2 -0
  161. package/node_modules/@ykdz/template-builtin-presets/dist/src/vue-hono-app/definition.js +179 -0
  162. package/node_modules/@ykdz/template-builtin-presets/package.json +67 -0
  163. package/node_modules/@ykdz/{template-builtin-source/templates/vue-app/.github/dependabot.yml → template-builtin-presets/templates/foundation/.github/dependabot-rust.yml} +13 -0
  164. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/.github/dependabot.dynamic.template +4 -0
  165. package/node_modules/@ykdz/{template-builtin-source/templates/ts-lib → template-builtin-presets/templates/foundation}/.github/dependabot.yml +5 -0
  166. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/.github/workflows/check.dynamic.template +19 -0
  167. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/.pnpmfile.cts +14 -0
  168. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/TODO.md.template +5 -0
  169. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/devcontainer.json +16 -0
  170. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/gitignore +8 -0
  171. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/pnpm-workspace.dynamic.txt +23 -0
  172. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/pnpm-workspace.yaml +29 -0
  173. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/rust/.vscode/extensions.json +3 -0
  174. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/rust/.vscode/settings.json +5 -0
  175. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/rust/devcontainer/devcontainer.json +21 -0
  176. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/tsconfig.json +4 -0
  177. package/node_modules/@ykdz/template-builtin-presets/templates/foundation/turbo.json +18 -0
  178. package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/rust-bin/.github/dependabot.yml +5 -0
  179. package/node_modules/@ykdz/template-builtin-presets/templates/rust-bin/.github/workflows/check.yml +23 -0
  180. package/node_modules/@ykdz/template-builtin-presets/templates/rust-bin/.vscode/extensions.json +3 -0
  181. package/node_modules/@ykdz/template-builtin-presets/templates/rust-bin/.vscode/settings.json +5 -0
  182. package/node_modules/@ykdz/template-builtin-presets/templates/rust-bin/Cargo.lock +16 -0
  183. package/node_modules/@ykdz/template-builtin-presets/templates/rust-bin/Cargo.toml +27 -0
  184. package/node_modules/@ykdz/template-builtin-presets/templates/rust-bin/devcontainer/devcontainer.json +21 -0
  185. package/node_modules/@ykdz/template-builtin-presets/templates/rust-bin/devcontainer/rust.Dockerfile +16 -0
  186. package/node_modules/@ykdz/template-builtin-presets/templates/rust-bin/rust-toolchain.toml +3 -0
  187. package/node_modules/@ykdz/template-builtin-presets/templates/shared/devcontainer/node-pnpm.Dockerfile +12 -0
  188. package/node_modules/@ykdz/template-builtin-presets/templates/shared/devcontainer/shellcheck.Dockerfile +3 -0
  189. package/node_modules/@ykdz/template-builtin-presets/templates/shared/editor-customization/capabilities.json +38 -0
  190. package/node_modules/@ykdz/template-builtin-presets/templates/shared/oxc/node/oxlint.config.ts +6 -0
  191. package/node_modules/@ykdz/template-builtin-presets/templates/shared/oxc/oxfmt.config.ts +3 -0
  192. package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/shared/oxc/tsconfig.config.json +2 -2
  193. package/node_modules/@ykdz/template-builtin-presets/templates/shared/vue/tsconfig.app.json +25 -0
  194. package/node_modules/@ykdz/template-builtin-presets/templates/shared/vue/tsconfig.json +8 -0
  195. package/node_modules/@ykdz/template-builtin-presets/templates/shared/vue/tsconfig.node.json +30 -0
  196. package/node_modules/@ykdz/template-builtin-presets/templates/shared/vue/tsconfig.test.json +9 -0
  197. package/node_modules/@ykdz/template-builtin-presets/templates/shared/vue/typescript/run-vue-tsc.ts +12 -0
  198. package/node_modules/@ykdz/{template-builtin-source/templates/vue-hono-app → template-builtin-presets/templates/ts-lib}/.github/dependabot.yml +5 -0
  199. package/node_modules/@ykdz/template-builtin-presets/templates/ts-lib/.github/workflows/check.yml +19 -0
  200. package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/ts-lib/src/index.ts +1 -3
  201. package/node_modules/@ykdz/template-builtin-presets/templates/ts-lib/tsconfig.json +13 -0
  202. package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/db/src/readiness.ts +2 -2
  203. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/src/types.d.ts +1 -0
  204. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db/tsconfig.json +26 -0
  205. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db-migrations/drizzle.config.ts +17 -0
  206. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db-migrations/scripts/prepare-database.ts +45 -0
  207. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db-migrations/tsconfig.json +22 -0
  208. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/db-migrations/turbo.json +10 -0
  209. package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/Dockerfile +21 -30
  210. package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/pages/index/+Page.telefunc.ts +0 -2
  211. package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/pages/index/+Page.vue +2 -1
  212. package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/playwright.config.ts +1 -1
  213. package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/scripts/check-standalone-deployment.ts +83 -21
  214. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/scripts/container-entrypoint.sh +33 -0
  215. package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/test/e2e/app.spec.ts +3 -1
  216. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.app.json +34 -0
  217. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.json +9 -0
  218. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.node.json +31 -0
  219. package/node_modules/@ykdz/template-builtin-presets/templates/vike-app/web/tsconfig.test.json +11 -0
  220. package/node_modules/@ykdz/{template-builtin-source/templates/vue-app → template-builtin-presets/templates/vike-app/web}/turbo.json +1 -0
  221. package/node_modules/@ykdz/{template-builtin-source/templates/vike-app → template-builtin-presets/templates/vue-app}/.github/dependabot.yml +5 -4
  222. package/node_modules/@ykdz/{template-builtin-source/templates/vue-hono-app/web → template-builtin-presets/templates/vue-app}/turbo.json +2 -1
  223. package/node_modules/@ykdz/template-builtin-presets/templates/vue-app/typescript/tsconfig.json +8 -0
  224. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/api/src/index.ts +3 -0
  225. package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/api/src/server.ts +1 -1
  226. package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/api/test/app.test.ts +1 -1
  227. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/api/tsconfig.build.json +9 -0
  228. package/node_modules/@ykdz/template-builtin-presets/templates/vue-hono-app/api/tsconfig.json +25 -0
  229. package/node_modules/@ykdz/template-core/dist/Cargo.toml +1 -1
  230. package/node_modules/@ykdz/template-core/dist/dependency-catalog.d.ts +9 -0
  231. package/node_modules/@ykdz/template-core/dist/dependency-catalog.js +54 -12
  232. package/node_modules/@ykdz/template-core/dist/devcontainer.d.ts +11 -3
  233. package/node_modules/@ykdz/template-core/dist/devcontainer.js +17 -3
  234. package/node_modules/@ykdz/template-core/dist/editor-customization.d.ts +5 -9
  235. package/node_modules/@ykdz/template-core/dist/editor-customization.js +8 -46
  236. package/node_modules/@ykdz/template-core/dist/module-graph.d.ts +31 -2
  237. package/node_modules/@ykdz/template-core/dist/module-graph.js +40 -0
  238. package/node_modules/@ykdz/template-core/dist/package-contribution.d.ts +43 -0
  239. package/node_modules/@ykdz/template-core/dist/package-contribution.js +24 -0
  240. package/node_modules/@ykdz/template-core/dist/pnpm-workspace.yaml +24 -8
  241. package/node_modules/@ykdz/template-core/dist/preset-definition.d.ts +42 -0
  242. package/node_modules/@ykdz/template-core/dist/preset-definition.js +1 -0
  243. package/node_modules/@ykdz/template-core/dist/project-blueprint-v2.d.ts +33 -0
  244. package/node_modules/@ykdz/template-core/dist/project-blueprint-v2.js +161 -0
  245. package/node_modules/@ykdz/template-core/dist/project-github.d.ts +8 -1
  246. package/node_modules/@ykdz/template-core/dist/project-github.js +86 -8
  247. package/node_modules/@ykdz/template-core/dist/project-linking-v2.d.ts +20 -0
  248. package/node_modules/@ykdz/template-core/dist/project-linking-v2.js +37 -0
  249. package/node_modules/@ykdz/template-core/dist/renderer.d.ts +40 -5
  250. package/node_modules/@ykdz/template-core/dist/renderer.js +115 -30
  251. package/node_modules/@ykdz/template-core/dist/template-boundary-check.d.ts +21 -15
  252. package/node_modules/@ykdz/template-core/dist/template-boundary-check.js +100 -50
  253. package/node_modules/@ykdz/template-core/dist/toolchain-baseline-update.d.ts +45 -0
  254. package/node_modules/@ykdz/template-core/dist/toolchain-baseline-update.js +27 -0
  255. package/node_modules/@ykdz/template-core/dist/toolchain-resolution.d.ts +1 -0
  256. package/node_modules/@ykdz/template-core/dist/toolchain-resolution.js +50 -52
  257. package/node_modules/@ykdz/template-core/package.json +10 -8
  258. package/node_modules/semver/LICENSE +15 -0
  259. package/node_modules/semver/README.md +680 -0
  260. package/node_modules/semver/bin/semver.js +195 -0
  261. package/node_modules/semver/classes/comparator.js +143 -0
  262. package/node_modules/semver/classes/index.js +7 -0
  263. package/node_modules/semver/classes/range.js +577 -0
  264. package/node_modules/semver/classes/semver.js +350 -0
  265. package/node_modules/semver/functions/clean.js +8 -0
  266. package/node_modules/semver/functions/cmp.js +54 -0
  267. package/node_modules/semver/functions/coerce.js +62 -0
  268. package/node_modules/semver/functions/compare-build.js +9 -0
  269. package/node_modules/semver/functions/compare-loose.js +5 -0
  270. package/node_modules/semver/functions/compare.js +7 -0
  271. package/node_modules/semver/functions/diff.js +60 -0
  272. package/node_modules/semver/functions/eq.js +5 -0
  273. package/node_modules/semver/functions/gt.js +5 -0
  274. package/node_modules/semver/functions/gte.js +5 -0
  275. package/node_modules/semver/functions/inc.js +21 -0
  276. package/node_modules/semver/functions/lt.js +5 -0
  277. package/node_modules/semver/functions/lte.js +5 -0
  278. package/node_modules/semver/functions/major.js +5 -0
  279. package/node_modules/semver/functions/minor.js +5 -0
  280. package/node_modules/semver/functions/neq.js +5 -0
  281. package/node_modules/semver/functions/parse.js +18 -0
  282. package/node_modules/semver/functions/patch.js +5 -0
  283. package/node_modules/semver/functions/prerelease.js +8 -0
  284. package/node_modules/semver/functions/rcompare.js +5 -0
  285. package/node_modules/semver/functions/rsort.js +5 -0
  286. package/node_modules/semver/functions/satisfies.js +12 -0
  287. package/node_modules/semver/functions/sort.js +5 -0
  288. package/node_modules/semver/functions/truncate.js +48 -0
  289. package/node_modules/semver/functions/valid.js +8 -0
  290. package/node_modules/semver/index.js +93 -0
  291. package/node_modules/semver/internal/constants.js +37 -0
  292. package/node_modules/semver/internal/debug.js +11 -0
  293. package/node_modules/semver/internal/identifiers.js +29 -0
  294. package/node_modules/semver/internal/lrucache.js +42 -0
  295. package/node_modules/semver/internal/parse-options.js +17 -0
  296. package/node_modules/semver/internal/re.js +223 -0
  297. package/node_modules/semver/package.json +78 -0
  298. package/node_modules/semver/preload.js +4 -0
  299. package/node_modules/semver/range.bnf +17 -0
  300. package/node_modules/semver/ranges/gtr.js +6 -0
  301. package/node_modules/semver/ranges/intersects.js +9 -0
  302. package/node_modules/semver/ranges/ltr.js +6 -0
  303. package/node_modules/semver/ranges/max-satisfying.js +27 -0
  304. package/node_modules/semver/ranges/min-satisfying.js +26 -0
  305. package/node_modules/semver/ranges/min-version.js +63 -0
  306. package/node_modules/semver/ranges/outside.js +82 -0
  307. package/node_modules/semver/ranges/simplify.js +49 -0
  308. package/node_modules/semver/ranges/subset.js +249 -0
  309. package/node_modules/semver/ranges/to-comparators.js +10 -0
  310. package/node_modules/semver/ranges/valid.js +13 -0
  311. package/node_modules/typescript/LICENSE.txt +55 -0
  312. package/node_modules/typescript/README.md +9 -0
  313. package/node_modules/typescript/bin/tsc6 +2 -0
  314. package/node_modules/typescript/lib/tsc.js +1 -0
  315. package/node_modules/typescript/lib/tsserverlibrary.d.ts +2 -0
  316. package/node_modules/typescript/lib/tsserverlibrary.js +1 -0
  317. package/node_modules/typescript/lib/typescript.d.ts +2 -0
  318. package/node_modules/typescript/lib/typescript.js +1 -0
  319. package/node_modules/typescript/package.json +39 -0
  320. package/node_modules/valibot/LICENSE.md +9 -0
  321. package/node_modules/valibot/README.md +94 -0
  322. package/node_modules/valibot/dist/index.cjs +7974 -0
  323. package/node_modules/valibot/dist/index.d.cts +16184 -0
  324. package/node_modules/valibot/dist/index.d.mts +16184 -0
  325. package/node_modules/valibot/dist/index.min.cjs +2 -0
  326. package/node_modules/valibot/dist/index.min.mjs +2 -0
  327. package/node_modules/valibot/dist/index.mjs +7663 -0
  328. package/node_modules/valibot/package.json +79 -0
  329. package/package.json +18 -12
  330. package/LICENSE +0 -21
  331. package/node_modules/@ykdz/template-builtin-source/dist/src/index.d.ts +0 -22
  332. package/node_modules/@ykdz/template-builtin-source/dist/src/index.js +0 -103
  333. package/node_modules/@ykdz/template-builtin-source/dist/templates/projection-plans.d.ts +0 -7
  334. package/node_modules/@ykdz/template-builtin-source/dist/templates/projection-plans.js +0 -98
  335. package/node_modules/@ykdz/template-builtin-source/dist/templates/registry.d.ts +0 -2
  336. package/node_modules/@ykdz/template-builtin-source/dist/templates/registry.js +0 -15
  337. package/node_modules/@ykdz/template-builtin-source/dist/templates/rust-bin/projection.d.ts +0 -9
  338. package/node_modules/@ykdz/template-builtin-source/dist/templates/rust-bin/projection.js +0 -105
  339. package/node_modules/@ykdz/template-builtin-source/dist/templates/ts-lib/projection.d.ts +0 -6
  340. package/node_modules/@ykdz/template-builtin-source/dist/templates/ts-lib/projection.js +0 -197
  341. package/node_modules/@ykdz/template-builtin-source/dist/templates/vike-app/projection.d.ts +0 -5
  342. package/node_modules/@ykdz/template-builtin-source/dist/templates/vike-app/projection.js +0 -71
  343. package/node_modules/@ykdz/template-builtin-source/dist/templates/vue-app/projection.d.ts +0 -6
  344. package/node_modules/@ykdz/template-builtin-source/dist/templates/vue-app/projection.js +0 -281
  345. package/node_modules/@ykdz/template-builtin-source/dist/templates/vue-hono-app/projection.d.ts +0 -8
  346. package/node_modules/@ykdz/template-builtin-source/dist/templates/vue-hono-app/projection.js +0 -154
  347. package/node_modules/@ykdz/template-builtin-source/package.json +0 -93
  348. package/node_modules/@ykdz/template-builtin-source/templates/preset-source.json +0 -524
  349. package/node_modules/@ykdz/template-builtin-source/templates/shared/devcontainer/node-pnpm.Dockerfile +0 -6
  350. package/node_modules/@ykdz/template-builtin-source/templates/shared/editor-customization/capabilities.json +0 -56
  351. package/node_modules/@ykdz/template-builtin-source/templates/shared/oxc/node/oxlint.config.ts +0 -34
  352. package/node_modules/@ykdz/template-builtin-source/templates/shared/oxc/oxfmt.config.ts +0 -8
  353. package/node_modules/@ykdz/template-builtin-source/templates/shared/oxc/vue/oxlint.config.ts +0 -36
  354. package/node_modules/@ykdz/template-builtin-source/templates/vike-app/.github/workflows/check.yml +0 -22
  355. package/node_modules/@ykdz/template-builtin-source/templates/vike-app/db/drizzle.config.ts +0 -10
  356. package/node_modules/@ykdz/template-builtin-source/templates/vike-app/web/scripts/container-entrypoint.sh +0 -52
  357. package/node_modules/@ykdz/template-builtin-source/templates/vike-app/web/scripts/prepare-database.sh +0 -6
  358. package/node_modules/@ykdz/template-builtin-source/templates/vue-hono-app/api/src/index.ts +0 -3
  359. package/node_modules/@ykdz/template-builtin-source/templates/vue-hono-app/web/src/main.ts +0 -8
  360. package/node_modules/@ykdz/template-builtin-source/templates/vue-hono-app/web/src/stores/counter.ts +0 -12
  361. package/node_modules/@ykdz/template-builtin-source/templates/vue-hono-app/web/src/style.css +0 -1
  362. package/node_modules/@ykdz/template-builtin-source/templates/vue-hono-app/web/test/app.test.ts +0 -14
  363. package/node_modules/@ykdz/template-core/dist/declarations.d.ts +0 -2
  364. package/node_modules/@ykdz/template-core/dist/declarations.js +0 -1
  365. package/node_modules/@ykdz/template-core/dist/generated-scenarios.d.ts +0 -76
  366. package/node_modules/@ykdz/template-core/dist/generated-scenarios.js +0 -658
  367. package/node_modules/@ykdz/template-core/dist/generation-context.d.ts +0 -23
  368. package/node_modules/@ykdz/template-core/dist/generation-context.js +0 -20
  369. package/node_modules/@ykdz/template-core/dist/next-step-instructions.d.ts +0 -30
  370. package/node_modules/@ykdz/template-core/dist/next-step-instructions.js +0 -181
  371. package/node_modules/@ykdz/template-core/dist/package-addition-support.d.ts +0 -6
  372. package/node_modules/@ykdz/template-core/dist/package-addition-support.js +0 -2
  373. package/node_modules/@ykdz/template-core/dist/package-addition.d.ts +0 -12
  374. package/node_modules/@ykdz/template-core/dist/package-addition.js +0 -665
  375. package/node_modules/@ykdz/template-core/dist/package-linking.d.ts +0 -75
  376. package/node_modules/@ykdz/template-core/dist/package-linking.js +0 -157
  377. package/node_modules/@ykdz/template-core/dist/preset-projection.d.ts +0 -68
  378. package/node_modules/@ykdz/template-core/dist/preset-projection.js +0 -8
  379. package/node_modules/@ykdz/template-core/dist/preset-source.d.ts +0 -14
  380. package/node_modules/@ykdz/template-core/dist/preset-source.js +0 -294
  381. package/node_modules/@ykdz/template-core/dist/projection-capabilities.d.ts +0 -31
  382. package/node_modules/@ykdz/template-core/dist/projection-capabilities.js +0 -2170
  383. package/node_modules/@ykdz/template-core/dist/runtime-paths.d.ts +0 -1
  384. package/node_modules/@ykdz/template-core/dist/runtime-paths.js +0 -13
  385. package/node_modules/@ykdz/template-shared/dist/index.d.ts +0 -645
  386. package/node_modules/@ykdz/template-shared/dist/index.js +0 -1408
  387. package/node_modules/@ykdz/template-shared/package.json +0 -37
  388. /package/node_modules/@ykdz/{template-builtin-source/templates/vue-app/.github/workflows/check.yml → template-builtin-presets/templates/foundation/.github/workflows/check-playwright.yml} +0 -0
  389. /package/node_modules/@ykdz/{template-builtin-source/templates/rust-bin/.github/workflows/check.yml → template-builtin-presets/templates/foundation/.github/workflows/check-rust.yml} +0 -0
  390. /package/node_modules/@ykdz/{template-builtin-source/templates/ts-lib → template-builtin-presets/templates/foundation}/.github/workflows/check.yml +0 -0
  391. /package/node_modules/@ykdz/{template-builtin-source/templates/shared → template-builtin-presets/templates/foundation/rust}/devcontainer/rust.Dockerfile +0 -0
  392. /package/node_modules/@ykdz/{template-builtin-source/templates/rust-bin → template-builtin-presets/templates/foundation/rust}/rust-toolchain.toml +0 -0
  393. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/rust-bin/rustfmt.toml +0 -0
  394. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/rust-bin/src/main.rs +0 -0
  395. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/rust-bin/turbo.json +0 -0
  396. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/shared/devcontainer/browser-test.Dockerfile +0 -0
  397. /package/node_modules/@ykdz/{template-builtin-source/templates/vue-app → template-builtin-presets/templates/shared/vue}/src/main.ts +0 -0
  398. /package/node_modules/@ykdz/{template-builtin-source/templates/vue-app → template-builtin-presets/templates/shared/vue}/src/stores/counter.ts +0 -0
  399. /package/node_modules/@ykdz/{template-builtin-source/templates/vue-app → template-builtin-presets/templates/shared/vue}/src/style.css +0 -0
  400. /package/node_modules/@ykdz/{template-builtin-source/templates/vue-app → template-builtin-presets/templates/shared/vue}/test/app.test.ts +0 -0
  401. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/ts-lib/src/name-schema.ts +0 -0
  402. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/ts-lib/turbo.json +0 -0
  403. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/db/scripts/seed-example.ts +0 -0
  404. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/db/src/db.ts +0 -0
  405. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/db/src/index.ts +0 -0
  406. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/db/src/queries/todos.ts +0 -0
  407. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/db/src/schema.ts +0 -0
  408. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/db/src/seed/example.ts +0 -0
  409. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/db/test/todos.test.ts +0 -0
  410. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/db/turbo.json +0 -0
  411. /package/node_modules/@ykdz/{template-builtin-source/templates/vike-app/db → template-builtin-presets/templates/vike-app/db-migrations}/drizzle/migrations/20260709120325_old_captain_flint/migration.sql +0 -0
  412. /package/node_modules/@ykdz/{template-builtin-source/templates/vike-app/db → template-builtin-presets/templates/vike-app/db-migrations}/drizzle/migrations/20260709120325_old_captain_flint/snapshot.json +0 -0
  413. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/+server.ts +0 -0
  414. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/.env.example +0 -0
  415. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/Dockerfile.dockerignore +0 -0
  416. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/assets/logo.svg +0 -0
  417. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/components/CounterButton.vue +0 -0
  418. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/components/PageShell.vue +0 -0
  419. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/pages/+Head.vue +0 -0
  420. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/pages/+Layout.vue +0 -0
  421. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/pages/+config.ts +0 -0
  422. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/pages/tailwind.css +0 -0
  423. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/scripts/run-playwright.ts +0 -0
  424. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/server/api.ts +0 -0
  425. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/server/app.ts +0 -0
  426. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/types/env.d.ts +0 -0
  427. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/types/global.d.ts +0 -0
  428. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/vite.config.ts +0 -0
  429. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vike-app/web/vitest.config.ts +0 -0
  430. /package/node_modules/@ykdz/{template-builtin-source/templates/vue-hono-app → template-builtin-presets/templates/vue-app}/.github/workflows/check.yml +0 -0
  431. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-app/env.d.ts +0 -0
  432. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-app/index.html +0 -0
  433. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-app/playwright.config.ts +0 -0
  434. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-app/scripts/run-playwright.ts +0 -0
  435. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-app/src/App.vue +0 -0
  436. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-app/test/e2e/app.spec.ts +0 -0
  437. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-app/vite.config.ts +0 -0
  438. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-app/vitest.config.ts +0 -0
  439. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/api/src/runtime.ts +0 -0
  440. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/api/turbo.json +0 -0
  441. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/api/vitest.config.ts +0 -0
  442. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/web/env.d.ts +0 -0
  443. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/web/index.html +0 -0
  444. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/web/playwright.config.ts +0 -0
  445. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/web/scripts/run-playwright.ts +0 -0
  446. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/web/src/App.vue +0 -0
  447. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/web/src/api.ts +0 -0
  448. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/web/test/e2e/app.spec.ts +0 -0
  449. /package/node_modules/@ykdz/{template-builtin-source/templates/vike-app → template-builtin-presets/templates/vue-hono-app}/web/turbo.json +0 -0
  450. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/web/vite.config.ts +0 -0
  451. /package/node_modules/@ykdz/{template-builtin-source → template-builtin-presets}/templates/vue-hono-app/web/vitest.config.ts +0 -0
@@ -0,0 +1,33 @@
1
+ /**
2
+ * The durable, preset-agnostic topology used by local template follow-up
3
+ * operations. Preset provenance deliberately belongs in Generation Record.
4
+ */
5
+ export type PackageRole = "runtime-service" | "shared-library" | "native-package";
6
+ export type PackageDefinition = {
7
+ readonly name: string;
8
+ readonly path: string;
9
+ readonly role: PackageRole;
10
+ };
11
+ export type PackageLinkIntent = {
12
+ readonly consumerPackagePath: string;
13
+ readonly providerPackagePath: string;
14
+ };
15
+ export type ProjectBlueprintV2 = {
16
+ readonly schemaVersion: 2;
17
+ readonly packages: readonly PackageDefinition[];
18
+ readonly packageLinkIntents?: readonly PackageLinkIntent[];
19
+ };
20
+ export type BlueprintV2ValidationIssue = {
21
+ readonly path: string;
22
+ readonly message: string;
23
+ };
24
+ export type BlueprintV2ValidationResult = {
25
+ readonly ok: true;
26
+ readonly value: ProjectBlueprintV2;
27
+ } | {
28
+ readonly ok: false;
29
+ readonly issues: readonly BlueprintV2ValidationIssue[];
30
+ };
31
+ /** Validates persisted metadata before it is used to plan or render changes. */
32
+ export declare function validateProjectBlueprintV2(value: unknown): BlueprintV2ValidationResult;
33
+ export declare function assertProjectBlueprintV2(value: unknown): ProjectBlueprintV2;
@@ -0,0 +1,161 @@
1
+ const packageName = /^@[a-z0-9][a-z0-9-]*\/[a-z0-9][a-z0-9-]*$/;
2
+ const packagePath = /^[a-z0-9][a-z0-9-]*\/[a-z0-9][a-z0-9-]*$/;
3
+ const roles = new Set([
4
+ "runtime-service",
5
+ "shared-library",
6
+ "native-package",
7
+ ]);
8
+ function isRecord(value) {
9
+ return typeof value === "object" && value !== null && !Array.isArray(value);
10
+ }
11
+ function reportUnknownKeys(value, allowed, path, issues) {
12
+ for (const key of Object.keys(value)) {
13
+ if (!allowed.includes(key)) {
14
+ issues.push({
15
+ path: `${path}.${key}`,
16
+ message: "Unknown Blueprint v2 field",
17
+ });
18
+ }
19
+ }
20
+ }
21
+ /** Validates persisted metadata before it is used to plan or render changes. */
22
+ export function validateProjectBlueprintV2(value) {
23
+ const issues = [];
24
+ if (!isRecord(value)) {
25
+ return {
26
+ ok: false,
27
+ issues: [
28
+ { path: ".", message: "Local Template Metadata must be an object" },
29
+ ],
30
+ };
31
+ }
32
+ reportUnknownKeys(value, ["schemaVersion", "packages", "packageLinkIntents"], ".", issues);
33
+ if (value.schemaVersion !== 2) {
34
+ issues.push({
35
+ path: ".schemaVersion",
36
+ message: `Unsupported Local Template Metadata schema version ${String(value.schemaVersion)}; expected 2`,
37
+ });
38
+ }
39
+ if (!Array.isArray(value.packages)) {
40
+ issues.push({
41
+ path: ".packages",
42
+ message: "Package Definitions must be an array",
43
+ });
44
+ }
45
+ const definitions = [];
46
+ if (Array.isArray(value.packages)) {
47
+ for (const [index, item] of value.packages.entries()) {
48
+ const itemPath = `.packages[${index}]`;
49
+ if (!isRecord(item)) {
50
+ issues.push({
51
+ path: itemPath,
52
+ message: "Package Definition must be an object",
53
+ });
54
+ continue;
55
+ }
56
+ reportUnknownKeys(item, ["name", "path", "role"], itemPath, issues);
57
+ if (typeof item.name !== "string" || !packageName.test(item.name)) {
58
+ issues.push({
59
+ path: `${itemPath}.name`,
60
+ message: "Package name must be a scoped lowercase package name",
61
+ });
62
+ }
63
+ if (typeof item.path !== "string" || !packagePath.test(item.path)) {
64
+ issues.push({
65
+ path: `${itemPath}.path`,
66
+ message: "Package Path must be exactly two safe path segments",
67
+ });
68
+ }
69
+ if (typeof item.role !== "string" ||
70
+ !roles.has(item.role)) {
71
+ issues.push({
72
+ path: `${itemPath}.role`,
73
+ message: "Package Role must be runtime-service, shared-library, or native-package",
74
+ });
75
+ }
76
+ if (typeof item.name === "string" &&
77
+ typeof item.path === "string" &&
78
+ typeof item.role === "string" &&
79
+ packageName.test(item.name) &&
80
+ packagePath.test(item.path) &&
81
+ roles.has(item.role)) {
82
+ definitions.push(item);
83
+ }
84
+ }
85
+ }
86
+ for (const [property, label] of [
87
+ ["name", "Package name"],
88
+ ["path", "Package Path"],
89
+ ]) {
90
+ const seen = new Set();
91
+ for (const definition of definitions) {
92
+ const member = definition[property];
93
+ if (seen.has(member))
94
+ issues.push({
95
+ path: ".packages",
96
+ message: `${label} must be unique: ${member}`,
97
+ });
98
+ seen.add(member);
99
+ }
100
+ }
101
+ if (value.packageLinkIntents !== undefined &&
102
+ !Array.isArray(value.packageLinkIntents)) {
103
+ issues.push({
104
+ path: ".packageLinkIntents",
105
+ message: "Package Link Intents must be an array",
106
+ });
107
+ }
108
+ const paths = new Set(definitions.map((definition) => definition.path));
109
+ const links = new Set();
110
+ if (Array.isArray(value.packageLinkIntents)) {
111
+ for (const [index, item] of value.packageLinkIntents.entries()) {
112
+ const itemPath = `.packageLinkIntents[${index}]`;
113
+ if (!isRecord(item)) {
114
+ issues.push({
115
+ path: itemPath,
116
+ message: "Package Link Intent must be an object",
117
+ });
118
+ continue;
119
+ }
120
+ reportUnknownKeys(item, ["consumerPackagePath", "providerPackagePath"], itemPath, issues);
121
+ const consumer = item.consumerPackagePath;
122
+ const provider = item.providerPackagePath;
123
+ if (typeof consumer !== "string" || !paths.has(consumer))
124
+ issues.push({
125
+ path: `${itemPath}.consumerPackagePath`,
126
+ message: "Package Link Intent references an unknown consumer package",
127
+ });
128
+ if (typeof provider !== "string" || !paths.has(provider))
129
+ issues.push({
130
+ path: `${itemPath}.providerPackagePath`,
131
+ message: "Package Link Intent references an unknown provider package",
132
+ });
133
+ if (consumer === provider && typeof consumer === "string")
134
+ issues.push({
135
+ path: itemPath,
136
+ message: "Package Link Intent cannot link a package to itself",
137
+ });
138
+ if (typeof consumer === "string" && typeof provider === "string") {
139
+ const key = `${consumer}\u0000${provider}`;
140
+ if (links.has(key))
141
+ issues.push({
142
+ path: itemPath,
143
+ message: "Package Link Intent must be unique",
144
+ });
145
+ links.add(key);
146
+ }
147
+ }
148
+ }
149
+ return issues.length === 0
150
+ ? { ok: true, value: value }
151
+ : { ok: false, issues };
152
+ }
153
+ export function assertProjectBlueprintV2(value) {
154
+ const result = validateProjectBlueprintV2(value);
155
+ if (!result.ok) {
156
+ throw new Error(result.issues
157
+ .map((issue) => `${issue.path}: ${issue.message}`)
158
+ .join("\n"));
159
+ }
160
+ return result.value;
161
+ }
@@ -1,4 +1,4 @@
1
- import { type CheckPlan } from "./module-graph.js";
1
+ import { type CheckPlan } from "./module-graph.ts";
2
2
  export type CiCapability = {
3
3
  readonly workflowName: "Check";
4
4
  readonly jobName: "check";
@@ -27,5 +27,12 @@ type ProjectCheckWorkflowOptions = {
27
27
  readonly taskLayer?: PnpmTaskLayer | undefined;
28
28
  };
29
29
  export declare function projectCheckWorkflow(options: ProjectCheckWorkflowOptions): string;
30
+ /** Limited substitutions for the Foundation-owned workflow Template Source. */
31
+ export declare function projectCheckWorkflowTemplateReplacements(options: {
32
+ readonly checkPlan: CheckPlan;
33
+ readonly environmentPreparation?: Partial<CiEnvironmentPreparation>;
34
+ }): Record<string, string>;
30
35
  export declare function projectDependabotConfig(policy: DependencyMaintenancePolicy): string;
36
+ /** Limited substitution for the Foundation-owned Dependabot Template Source. */
37
+ export declare function projectDependabotTemplateReplacements(policy: DependencyMaintenancePolicy): Record<string, string>;
31
38
  export {};
@@ -15,6 +15,8 @@ export function projectCheckWorkflow(options) {
15
15
  rustToolchain: false,
16
16
  ...options.environmentPreparation,
17
17
  };
18
+ const requiresRustToolchain = environmentPreparation.rustToolchain ||
19
+ options.checkPlan.environmentNeeds.some((need) => need.kind === "rust-toolchain");
18
20
  const taskLayer = options.taskLayer ?? pnpmTaskLayer;
19
21
  const deploymentChecks = options.checkPlan.deploymentChecks ?? [];
20
22
  const needsDocker = deploymentChecks.some((check) => deploymentCheckEnvironmentNeeds(check).some((need) => need.kind === "docker-engine"));
@@ -30,6 +32,13 @@ export function projectCheckWorkflow(options) {
30
32
  "jobs:",
31
33
  ` ${capability.jobName}:`,
32
34
  ` runs-on: ${capability.runner}`,
35
+ ...(deploymentChecks.length === 0
36
+ ? []
37
+ : [
38
+ " strategy:",
39
+ " matrix:",
40
+ " check: [root, deployment]",
41
+ ]),
33
42
  " steps:",
34
43
  " - uses: actions/checkout@v7",
35
44
  ];
@@ -37,21 +46,74 @@ export function projectCheckWorkflow(options) {
37
46
  lines.push(" - uses: actions/setup-node@v6", " with:", " node-version-file: package.json", " - run: corepack enable");
38
47
  }
39
48
  if (needsDocker) {
40
- lines.push(" - uses: docker/setup-buildx-action@v3");
41
- }
42
- if (environmentPreparation.rustToolchain) {
43
- lines.push(" - uses: dtolnay/rust-toolchain@stable", " with:", " components: rustfmt, clippy", " - uses: Swatinem/rust-cache@v2");
49
+ lines.push(" - uses: docker/setup-buildx-action@v3", " if: matrix.check == 'deployment'");
44
50
  }
51
+ if (requiresRustToolchain)
52
+ lines.push(...rustCiPreparationLines());
45
53
  lines.push(` - run: ${taskLayer.installCommand}`);
46
- lines.push(...options.checkPlan.environmentNeeds.map((need) => ` - run: ${renderCiEnvironmentNeedCommand(need)}`));
54
+ const checkEnvironmentLines = [];
55
+ for (const need of options.checkPlan.environmentNeeds) {
56
+ if (need.kind === "rust-toolchain")
57
+ continue;
58
+ checkEnvironmentLines.push(` - run: ${renderCiEnvironmentNeedCommand(need)}`);
59
+ if (deploymentChecks.length > 0 && need.kind === "shellcheck-command") {
60
+ checkEnvironmentLines.push(" if: matrix.check == 'root'");
61
+ }
62
+ }
63
+ lines.push(...checkEnvironmentLines);
47
64
  lines.push(` - run: ${taskLayer.checkCommand}`);
65
+ if (deploymentChecks.length > 0) {
66
+ lines.push(" if: matrix.check == 'root'");
67
+ }
48
68
  const deploymentCheck = deploymentChecks[0];
49
69
  if (deploymentCheck !== undefined) {
50
- lines.push(` - run: pnpm run ${deploymentCheckTaskName(deploymentCheck)}`);
70
+ lines.push(` - run: pnpm run ${deploymentCheckTaskName(deploymentCheck)}`, " if: matrix.check == 'deployment'");
51
71
  }
52
72
  lines.push("");
53
73
  return lines.join("\n");
54
74
  }
75
+ function rustCiPreparationLines() {
76
+ return [
77
+ " - uses: dtolnay/rust-toolchain@stable",
78
+ " with:",
79
+ " components: rustfmt, clippy",
80
+ " - uses: Swatinem/rust-cache@v2",
81
+ ];
82
+ }
83
+ /** Limited substitutions for the Foundation-owned workflow Template Source. */
84
+ export function projectCheckWorkflowTemplateReplacements(options) {
85
+ const requiresRustToolchain = options.environmentPreparation?.rustToolchain === true ||
86
+ options.checkPlan.environmentNeeds.some((need) => need.kind === "rust-toolchain");
87
+ const deploymentChecks = options.checkPlan.deploymentChecks ?? [];
88
+ const needsDocker = deploymentChecks.some((check) => deploymentCheckEnvironmentNeeds(check).some((need) => need.kind === "docker-engine"));
89
+ const deploymentCheck = deploymentChecks[0];
90
+ const environmentSteps = options.checkPlan.environmentNeeds
91
+ .filter((need) => need.kind !== "rust-toolchain")
92
+ .map((need) => [
93
+ ` - run: ${renderCiEnvironmentNeedCommand(need)}`,
94
+ ...(deploymentChecks.length > 0 && need.kind === "shellcheck-command"
95
+ ? [" if: matrix.check == 'root'"]
96
+ : []),
97
+ ].join("\n"));
98
+ return {
99
+ RUST_CI_PREPARATION: requiresRustToolchain
100
+ ? `\n${rustCiPreparationLines().join("\n")}`
101
+ : "",
102
+ CHECK_ENVIRONMENT_PREPARATION: environmentSteps.length === 0 ? "" : `\n${environmentSteps.join("\n")}`,
103
+ DEPLOYMENT_MATRIX: deploymentChecks.length === 0
104
+ ? ""
105
+ : "\n strategy:\n matrix:\n check: [root, deployment]",
106
+ DEPLOYMENT_DOCKER_PREPARATION: needsDocker
107
+ ? "\n - uses: docker/setup-buildx-action@v3\n if: matrix.check == 'deployment'"
108
+ : "",
109
+ ROOT_CHECK_CONDITION: deploymentChecks.length === 0
110
+ ? ""
111
+ : "\n if: matrix.check == 'root'",
112
+ DEPLOYMENT_CHECK: deploymentCheck === undefined
113
+ ? ""
114
+ : `\n - run: pnpm run ${deploymentCheckTaskName(deploymentCheck)}\n if: matrix.check == 'deployment'`,
115
+ };
116
+ }
55
117
  export function projectDependabotConfig(policy) {
56
118
  return [
57
119
  "version: 2",
@@ -65,6 +127,15 @@ export function projectDependabotConfig(policy) {
65
127
  "",
66
128
  ].join("\n");
67
129
  }
130
+ /** Limited substitution for the Foundation-owned Dependabot Template Source. */
131
+ export function projectDependabotTemplateReplacements(policy) {
132
+ const header = "version: 2\n\nupdates:\n";
133
+ const configuration = projectDependabotConfig(policy);
134
+ if (!configuration.startsWith(header)) {
135
+ throw new Error("Dependabot configuration must retain its Template Source header");
136
+ }
137
+ return { DEPENDABOT_UPDATES: configuration.slice(header.length).trimEnd() };
138
+ }
68
139
  function renderDependabotUpdate(ecosystem, directory, interval) {
69
140
  const lines = [
70
141
  ` - package-ecosystem: ${ecosystem}`,
@@ -73,7 +144,7 @@ function renderDependabotUpdate(ecosystem, directory, interval) {
73
144
  ` interval: ${interval}`,
74
145
  ];
75
146
  if (ecosystem === "npm") {
76
- lines.push(" groups:", " drizzle:", " patterns:", ' - "drizzle-*"', ' - "drizzle-orm"', " ignore:", ' - dependency-name: "@types/node"', " update-types:", " - version-update:semver-major");
147
+ lines.push(" groups:", " drizzle:", " patterns:", ' - "drizzle-*"', ' - "drizzle-orm"', " ignore:", ' - dependency-name: "@types/node"', " update-types:", " - version-update:semver-major", ' - dependency-name: "pnpm"', " update-types:", " - version-update:semver-major", " - version-update:semver-minor", " - version-update:semver-patch");
77
148
  }
78
149
  if (ecosystem === "docker" && directory === "/.devcontainer") {
79
150
  lines.push(" ignore:", " - dependency-name: mcr.microsoft.com/devcontainers/typescript-node", " update-types:", " - version-update:semver-major");
@@ -87,5 +158,12 @@ function defaultDependabotDirectory(ecosystem) {
87
158
  return ecosystem === "docker" ? "/.devcontainer" : "/";
88
159
  }
89
160
  function renderCiEnvironmentNeedCommand(need) {
90
- return renderPlaywrightBrowserInstallCommand(need, { withDeps: true });
161
+ switch (need.kind) {
162
+ case "playwright-browser-assets":
163
+ return renderPlaywrightBrowserInstallCommand(need, { withDeps: true });
164
+ case "shellcheck-command":
165
+ return need.nextStep.display;
166
+ case "rust-toolchain":
167
+ return need.nextStep.display;
168
+ }
91
169
  }
@@ -0,0 +1,20 @@
1
+ import type { PackageContribution } from "./package-contribution.ts";
2
+ import { type ProjectBlueprintV2 } from "./project-blueprint-v2.ts";
3
+ export type ExplicitProjectLinkPlan = {
4
+ readonly manifestDependenciesByPackagePath: ReadonlyMap<string, Readonly<Record<string, "workspace:*">>>;
5
+ /**
6
+ * Build ordering follows the same explicit package relationships as manifest
7
+ * dependencies. Turbo resolves ^build:run through the derived workspace
8
+ * dependency rather than through Preset or framework vocabulary.
9
+ */
10
+ readonly hasBuildOrdering: boolean;
11
+ };
12
+ /**
13
+ * Resolves durable Link Intents using the explicit exposures supplied by
14
+ * Package Contributions. No Preset identity or string resource protocol is
15
+ * involved.
16
+ */
17
+ export declare function planExplicitProjectLinks(options: {
18
+ readonly blueprint: ProjectBlueprintV2;
19
+ readonly contributions: readonly PackageContribution[];
20
+ }): ExplicitProjectLinkPlan;
@@ -0,0 +1,37 @@
1
+ import { assertProjectBlueprintV2, } from "./project-blueprint-v2.js";
2
+ /**
3
+ * Resolves durable Link Intents using the explicit exposures supplied by
4
+ * Package Contributions. No Preset identity or string resource protocol is
5
+ * involved.
6
+ */
7
+ export function planExplicitProjectLinks(options) {
8
+ const blueprint = assertProjectBlueprintV2(options.blueprint);
9
+ const contributionsByPath = new Map(options.contributions.map((contribution) => [
10
+ contribution.definition.path,
11
+ contribution,
12
+ ]));
13
+ const dependencies = new Map();
14
+ for (const intent of blueprint.packageLinkIntents ?? []) {
15
+ const provider = contributionsByPath.get(intent.providerPackagePath);
16
+ const consumer = contributionsByPath.get(intent.consumerPackagePath);
17
+ if (provider === undefined || consumer === undefined) {
18
+ throw new Error("Project Linking requires explicit Package Contributions for every Link Intent endpoint");
19
+ }
20
+ if (Object.keys(provider.exposure.exports).length === 0) {
21
+ throw new Error(`Package Link provider ${provider.definition.path} has no Package Exposure`);
22
+ }
23
+ const consumerDependencies = dependencies.get(intent.consumerPackagePath);
24
+ if (consumerDependencies === undefined) {
25
+ dependencies.set(intent.consumerPackagePath, {
26
+ [provider.definition.name]: "workspace:*",
27
+ });
28
+ }
29
+ else {
30
+ consumerDependencies[provider.definition.name] = "workspace:*";
31
+ }
32
+ }
33
+ return {
34
+ manifestDependenciesByPackagePath: dependencies,
35
+ hasBuildOrdering: dependencies.size > 0,
36
+ };
37
+ }
@@ -1,60 +1,95 @@
1
1
  type RenderVariables = Record<string, string>;
2
+ export type RenderOperationProvenance = {
3
+ readonly definitionName: string;
4
+ readonly plannerSourceFile: string;
5
+ readonly planningContribution: string;
6
+ readonly ownershipRule: string;
7
+ };
8
+ /**
9
+ * An opaque, owned Template Source reference. A renderer operation carries
10
+ * this directly instead of selecting a root from a string-keyed side map.
11
+ */
12
+ declare const templateSourceHandleBrand: unique symbol;
13
+ export type TemplateSourceHandle = {
14
+ readonly [templateSourceHandleBrand]: true;
15
+ };
16
+ export declare function createTemplateSourceHandle(root: string): TemplateSourceHandle;
17
+ /** Resolves a handle-owned source path while enforcing containment. */
18
+ export declare function resolveTemplateSource(source: TemplateSourceHandle, relativePath: string): string;
2
19
  export type CopyFileOperation = {
3
20
  kind: "copyFile";
4
21
  from: string;
5
22
  to: string;
6
- sourceRoot?: string;
23
+ source: TemplateSourceHandle;
24
+ /** Foundation refreshes coordinated outputs during Package Addition. */
25
+ overwrite?: boolean;
26
+ provenance?: RenderOperationProvenance;
7
27
  };
8
28
  export type WriteJsonOperation = {
9
29
  kind: "writeJson";
10
30
  to: string;
11
31
  value: unknown;
12
32
  multilineArrays?: string[];
33
+ overwrite?: boolean;
34
+ provenance?: RenderOperationProvenance;
13
35
  };
14
36
  export type MergeJsonOperation = {
15
37
  kind: "mergeJson";
16
38
  to: string;
17
39
  value: unknown;
40
+ multilineArrays?: string[];
41
+ provenance?: RenderOperationProvenance;
18
42
  };
19
43
  export type WriteTextOperation = {
20
44
  kind: "writeText";
21
45
  to: string;
22
46
  text: string;
47
+ provenance?: RenderOperationProvenance;
23
48
  };
24
49
  export type WriteTextFromFragmentsOperation = {
25
50
  kind: "writeTextFromFragments";
26
51
  to: string;
27
52
  fragments: readonly {
28
53
  from: string;
29
- sourceRoot?: string;
54
+ source: TemplateSourceHandle;
30
55
  }[];
56
+ overwrite?: boolean;
57
+ provenance?: RenderOperationProvenance;
31
58
  };
32
59
  export type WriteTextTemplateOperation = {
33
60
  kind: "writeTextTemplate";
34
61
  from: string;
35
62
  to: string;
36
- sourceRoot?: string;
63
+ source: TemplateSourceHandle;
37
64
  replacements: Record<string, string>;
65
+ /** Follow-up plans may refresh a coordinated template-owned file. */
66
+ overwrite?: boolean;
67
+ provenance?: RenderOperationProvenance;
38
68
  };
39
69
  export type SetExecutableOperation = {
40
70
  kind: "setExecutable";
41
71
  path: string;
42
72
  executable: boolean;
73
+ provenance?: RenderOperationProvenance;
43
74
  };
44
75
  export type ReplaceAnchorsOperation = {
45
76
  kind: "replaceAnchors";
46
77
  path: string;
47
78
  language: "typescript";
48
79
  replacements: Record<string, string>;
80
+ provenance?: RenderOperationProvenance;
49
81
  };
50
82
  export type RenderOperation = CopyFileOperation | WriteJsonOperation | MergeJsonOperation | WriteTextOperation | WriteTextFromFragmentsOperation | WriteTextTemplateOperation | SetExecutableOperation | ReplaceAnchorsOperation;
51
83
  export type RenderProjectOptions = {
52
- sourceRoot: string;
53
- sourceRoots?: Record<string, string> | undefined;
54
84
  targetRoot: string;
55
85
  variables?: RenderVariables | undefined;
56
86
  operations: RenderOperation[];
57
87
  };
58
88
  export declare function renderProject(options: RenderProjectOptions): Promise<void>;
89
+ /**
90
+ * Applies a follow-up plan in a sibling staging directory. In particular,
91
+ * metadata updates cannot become visible when a later source operation fails.
92
+ */
93
+ export declare function renderProjectAtomically(options: RenderProjectOptions): Promise<void>;
59
94
  export declare function renderNewProject(options: RenderProjectOptions): Promise<void>;
60
95
  export {};