@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,9 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "dist",
5
+ "rootDir": "src",
6
+ "types": ["node"]
7
+ },
8
+ "include": ["src/**/*.ts"]
9
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "compilerOptions": {
3
+ "composite": true,
4
+ "declaration": true,
5
+ "declarationMap": true,
6
+ "erasableSyntaxOnly": true,
7
+ "exactOptionalPropertyTypes": true,
8
+ "forceConsistentCasingInFileNames": true,
9
+ "isolatedModules": true,
10
+ "module": "nodenext",
11
+ "moduleResolution": "nodenext",
12
+ "noEmitOnError": true,
13
+ "noFallthroughCasesInSwitch": true,
14
+ "noImplicitOverride": true,
15
+ "noImplicitReturns": true,
16
+ "noUncheckedIndexedAccess": true,
17
+ "rewriteRelativeImportExtensions": true,
18
+ "skipLibCheck": false,
19
+ "strict": true,
20
+ "target": "es2023",
21
+ "types": ["node", "vitest/globals"],
22
+ "verbatimModuleSyntax": true
23
+ },
24
+ "include": ["src/**/*.ts", "test/**/*.ts", "vitest.config.ts"]
25
+ }
@@ -6,7 +6,7 @@ publish = false
6
6
 
7
7
  [[bin]]
8
8
  name = "template-cargo-dependencies"
9
- path = "packages/builtin-source/templates/rust-bin/src/main.rs"
9
+ path = "packages/builtin-presets/templates/rust-bin/src/main.rs"
10
10
 
11
11
  [dependencies]
12
12
  anyhow = "1.0.100"
@@ -4,6 +4,15 @@ export type GeneratedDependencyCatalogOptions = {
4
4
  readonly dependencies: readonly string[];
5
5
  readonly packages?: readonly string[];
6
6
  readonly allowBuilds?: Record<string, boolean>;
7
+ readonly dependencyLinker?: {
8
+ readonly kind: "isolated";
9
+ } | {
10
+ readonly kind: "hoisted";
11
+ readonly evidence: string;
12
+ };
13
+ readonly minimumReleaseAgeExclude?: readonly string[];
14
+ readonly overrides?: Readonly<Record<string, string>>;
15
+ readonly pnpmfile?: string;
7
16
  };
8
17
  export type GeneratedPackageManifestDependencies = {
9
18
  readonly dependencies?: Record<string, string>;
@@ -1,26 +1,31 @@
1
1
  import { existsSync, readFileSync } from "node:fs";
2
2
  import path from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
- const templateInternalDependencyIdentities = new Set([
5
- "@typescript/native",
6
- "@typescript/typescript6",
7
- ]);
8
- function assertGeneratedDependencyCatalogBoundary(dependencies) {
9
- for (const dependency of dependencies) {
10
- if (templateInternalDependencyIdentities.has(dependency)) {
11
- throw new Error(`Generated Repository Dependency Catalog cannot include template-internal dependency: ${dependency}`);
12
- }
4
+ const exactNpmPackageIdentityPattern = /^(?:@[a-z0-9][a-z0-9._~-]*\/)?[a-z0-9][a-z0-9._~-]*$/;
5
+ function assertMinimumReleaseAgeExclusions(exclusions) {
6
+ if (exclusions.some((dependency) => dependency.length === 0)) {
7
+ throw new Error("Dependency maturity exclusions must be non-empty");
8
+ }
9
+ if (new Set(exclusions).size !== exclusions.length) {
10
+ throw new Error("Dependency maturity exclusions must be unique");
11
+ }
12
+ const invalid = exclusions.find((dependency) => dependency.length > 214 ||
13
+ !exactNpmPackageIdentityPattern.test(dependency));
14
+ if (invalid !== undefined) {
15
+ throw new Error(`Dependency maturity exclusions must be exact npm package identities: ${JSON.stringify(invalid)}`);
13
16
  }
14
17
  }
15
18
  function templateRepositoryRoot() {
16
19
  const moduleDir = path.dirname(fileURLToPath(import.meta.url));
17
20
  const candidates = [
21
+ process.env.TEMPLATE_REPOSITORY_ROOT,
18
22
  moduleDir,
19
23
  path.resolve(moduleDir, ".."),
20
24
  path.resolve(moduleDir, "..", ".."),
21
25
  path.resolve(moduleDir, "..", "..", ".."),
22
26
  ];
23
- return (candidates.find((candidate) => existsSync(path.join(candidate, "pnpm-workspace.yaml"))) ?? candidates[0]);
27
+ return (candidates.find((candidate) => candidate !== undefined &&
28
+ existsSync(path.join(candidate, "pnpm-workspace.yaml"))) ?? moduleDir);
24
29
  }
25
30
  function parseTemplateCatalogSection(workspaceYaml, sectionName) {
26
31
  const catalog = {};
@@ -162,7 +167,6 @@ function renderCatalogKey(key) {
162
167
  return key.startsWith("@") ? JSON.stringify(key) : key;
163
168
  }
164
169
  export function pnpmWorkspaceYamlWithCatalogDependencies(workspaceYaml, dependencies, templateCatalog = loadTemplateDependencyCatalog()) {
165
- assertGeneratedDependencyCatalogBoundary(dependencies);
166
170
  const catalogStart = workspaceYaml
167
171
  .split(/\r?\n/)
168
172
  .findIndex((line) => line === "catalog:");
@@ -195,19 +199,57 @@ export function pnpmWorkspaceYamlWithCatalogDependencies(workspaceYaml, dependen
195
199
  ].join("\n");
196
200
  }
197
201
  export function renderGeneratedPnpmWorkspaceYaml(options) {
198
- assertGeneratedDependencyCatalogBoundary(options.dependencies);
202
+ assertMinimumReleaseAgeExclusions(options.minimumReleaseAgeExclude ?? []);
203
+ if (options.dependencyLinker?.kind === "hoisted" &&
204
+ (options.dependencyLinker.evidence.trim().length === 0 ||
205
+ options.dependencyLinker.evidence.includes("\n"))) {
206
+ throw new Error("Hoisted linking requires single-line compatibility evidence");
207
+ }
199
208
  const catalog = selectTemplateDependencyCatalogEntries(options.dependencies);
200
209
  const packages = options.packages ?? ["."];
210
+ const dependencyLinker = options.dependencyLinker?.kind ?? "isolated";
201
211
  const lines = [
202
212
  "packages:",
203
213
  ...packages.map((workspacePackage) => ` - ${workspacePackage}`),
204
214
  "",
215
+ ...(options.dependencyLinker?.kind === "hoisted"
216
+ ? [
217
+ `# Hoisted linker compatibility evidence: ${options.dependencyLinker.evidence}`,
218
+ ]
219
+ : []),
220
+ `nodeLinker: ${dependencyLinker}`,
221
+ ...(options.pnpmfile === undefined
222
+ ? []
223
+ : [`pnpmfile: ${options.pnpmfile}`]),
224
+ "autoInstallPeers: false",
225
+ "resolvePeersFromWorkspaceRoot: false",
226
+ "injectWorkspacePackages: true",
227
+ "dedupeInjectedDeps: false",
228
+ "syncInjectedDepsAfterScripts:",
229
+ " - build:run",
230
+ "minimumReleaseAge: 1440",
231
+ "minimumReleaseAgeStrict: true",
232
+ "",
205
233
  ];
234
+ if (options.minimumReleaseAgeExclude?.length) {
235
+ lines.push("minimumReleaseAgeExclude:", ...options.minimumReleaseAgeExclude
236
+ .toSorted()
237
+ .map((dependency) => ` - ${JSON.stringify(dependency)}`), "");
238
+ }
206
239
  if (options.allowBuilds) {
207
240
  lines.push("allowBuilds:", ...Object.entries(options.allowBuilds)
208
241
  .toSorted(([left], [right]) => left.localeCompare(right))
209
242
  .map(([dependency, allowed]) => ` ${dependency}: ${allowed}`), "");
210
243
  }
244
+ const overrides = {
245
+ "valibot>typescript": "-",
246
+ ...options.overrides,
247
+ };
248
+ if (Object.keys(overrides).length > 0) {
249
+ lines.push("overrides:", ...Object.entries(overrides)
250
+ .toSorted(([left], [right]) => left.localeCompare(right))
251
+ .map(([dependency, version]) => ` ${JSON.stringify(dependency)}: ${JSON.stringify(version)}`), "");
252
+ }
211
253
  lines.push("catalog:", ...Object.entries(catalog).map(([dependency, version]) => ` ${renderCatalogKey(dependency)}: ${version}`), "");
212
254
  return lines.join("\n");
213
255
  }
@@ -1,4 +1,4 @@
1
- import type { WriteTextFromFragmentsOperation } from "./renderer.js";
1
+ import type { TemplateSourceHandle, WriteTextFromFragmentsOperation } from "./renderer.ts";
2
2
  export type DevelopmentContainerNodePnpmLayer = {
3
3
  readonly kind: "node-pnpm";
4
4
  readonly nodeVersion: string;
@@ -12,9 +12,12 @@ export type DevelopmentContainerRustLayer = {
12
12
  readonly kind: "rust";
13
13
  readonly toolchain: string;
14
14
  };
15
- type DevelopmentContainerCapabilityLayer = DevelopmentContainerBrowserTestLayer | DevelopmentContainerRustLayer;
15
+ export type DevelopmentContainerShellCheckLayer = {
16
+ readonly kind: "shellcheck";
17
+ };
18
+ type DevelopmentContainerCapabilityLayer = DevelopmentContainerBrowserTestLayer | DevelopmentContainerShellCheckLayer | DevelopmentContainerRustLayer;
16
19
  export type DevelopmentContainerDockerfileFragments = {
17
- readonly sourceRoot: string;
20
+ readonly source: TemplateSourceHandle;
18
21
  readonly nodePnpm: {
19
22
  readonly from: string;
20
23
  readonly text: string;
@@ -23,6 +26,10 @@ export type DevelopmentContainerDockerfileFragments = {
23
26
  readonly from: string;
24
27
  readonly text: string;
25
28
  } | undefined;
29
+ readonly shellCheck?: {
30
+ readonly from: string;
31
+ readonly text: string;
32
+ } | undefined;
26
33
  readonly rust?: {
27
34
  readonly from: string;
28
35
  readonly text: string;
@@ -46,6 +53,7 @@ export declare function nodePnpmToolLayer(options: {
46
53
  readonly packageManagerPin: string;
47
54
  }): DevelopmentContainerNodePnpmLayer;
48
55
  export declare function browserTestToolLayer(): DevelopmentContainerBrowserTestLayer;
56
+ export declare function shellCheckToolLayer(): DevelopmentContainerShellCheckLayer;
49
57
  export declare function rustToolLayer(options?: {
50
58
  readonly toolchain?: string;
51
59
  }): DevelopmentContainerRustLayer;
@@ -61,6 +61,9 @@ export function browserTestToolLayer() {
61
61
  playwrightCliPackage: `@playwright/test@${playwrightTestVersion}`,
62
62
  };
63
63
  }
64
+ export function shellCheckToolLayer() {
65
+ return { kind: "shellcheck" };
66
+ }
64
67
  export function rustToolLayer(options = {}) {
65
68
  return { kind: "rust", toolchain: options.toolchain ?? "stable" };
66
69
  }
@@ -80,6 +83,12 @@ function checkedNodePnpmDockerfile(options) {
80
83
  name: "browser-test",
81
84
  text: requireDockerfileFragment(options.dockerfileFragments, "browserTest").text,
82
85
  };
86
+ case "shellcheck":
87
+ return {
88
+ kind: "capability",
89
+ name: "shellcheck",
90
+ text: requireDockerfileFragment(options.dockerfileFragments, "shellCheck").text,
91
+ };
83
92
  case "rust":
84
93
  return {
85
94
  kind: "capability",
@@ -94,19 +103,24 @@ function checkedNodePnpmDockerfile(options) {
94
103
  function checkedNodePnpmDockerfileFragments(options) {
95
104
  return [
96
105
  {
97
- sourceRoot: options.dockerfileFragments.sourceRoot,
106
+ source: options.dockerfileFragments.source,
98
107
  from: options.dockerfileFragments.nodePnpm.from,
99
108
  },
100
109
  ...(options.additionalLayers ?? []).map((layer) => {
101
110
  switch (layer.kind) {
102
111
  case "browser-test":
103
112
  return {
104
- sourceRoot: options.dockerfileFragments.sourceRoot,
113
+ source: options.dockerfileFragments.source,
105
114
  from: requireDockerfileFragment(options.dockerfileFragments, "browserTest").from,
106
115
  };
116
+ case "shellcheck":
117
+ return {
118
+ source: options.dockerfileFragments.source,
119
+ from: requireDockerfileFragment(options.dockerfileFragments, "shellCheck").from,
120
+ };
107
121
  case "rust":
108
122
  return {
109
- sourceRoot: options.dockerfileFragments.sourceRoot,
123
+ source: options.dockerfileFragments.source,
110
124
  from: requireDockerfileFragment(options.dockerfileFragments, "rust")
111
125
  .from,
112
126
  };
@@ -1,21 +1,17 @@
1
- export type EditorCustomizationCapability = "oxc-format-lint" | "rust-tooling" | "tailwind" | "vue" | "vitest";
1
+ /** Capability identities are supplied by the owning Built-in Presets policy. */
2
+ export type EditorCustomizationCapability = string;
2
3
  export type EditorCustomization = {
3
4
  readonly extensions: readonly string[];
4
5
  readonly settings: Record<string, unknown>;
5
6
  };
6
- export type EditorCustomizationOptions = {
7
- readonly oxcConfigPaths?: "nested" | {
8
- readonly lint?: string;
9
- readonly formatter?: string;
10
- };
11
- };
12
7
  type CapabilityProjection = {
13
8
  readonly extensions: readonly string[];
14
9
  readonly settings: Record<string, unknown>;
15
10
  };
16
11
  export type EditorCustomizationDeclarations = {
17
- readonly capabilities: Record<EditorCustomizationCapability, CapabilityProjection>;
12
+ readonly capabilityOrder: readonly EditorCustomizationCapability[];
13
+ readonly capabilities: Readonly<Record<EditorCustomizationCapability, CapabilityProjection>>;
18
14
  };
19
15
  export declare function loadEditorCustomizationDeclarations(resourcePath: string): EditorCustomizationDeclarations;
20
- export declare function editorCustomizationForCapabilities(capabilities: readonly EditorCustomizationCapability[], declarations: EditorCustomizationDeclarations, options?: EditorCustomizationOptions): EditorCustomization;
16
+ export declare function editorCustomizationForCapabilities(capabilities: readonly EditorCustomizationCapability[], declarations: EditorCustomizationDeclarations): EditorCustomization;
21
17
  export {};
@@ -1,28 +1,12 @@
1
1
  import { readFileSync } from "node:fs";
2
2
  import * as v from "valibot";
3
- const capabilityOrder = [
4
- "oxc-format-lint",
5
- "vue",
6
- "tailwind",
7
- "rust-tooling",
8
- "vitest",
9
- ];
10
- const defaultOxcConfigPaths = {
11
- formatter: "./oxfmt.config.ts",
12
- lint: "./oxlint.config.ts",
13
- };
14
3
  const capabilityProjectionSchema = v.object({
15
4
  extensions: v.array(v.string()),
16
5
  settings: v.record(v.string(), v.unknown()),
17
6
  });
18
7
  const editorCustomizationDeclarationsSchema = v.object({
19
- capabilities: v.object({
20
- "oxc-format-lint": capabilityProjectionSchema,
21
- vue: capabilityProjectionSchema,
22
- tailwind: capabilityProjectionSchema,
23
- "rust-tooling": capabilityProjectionSchema,
24
- vitest: capabilityProjectionSchema,
25
- }),
8
+ capabilityOrder: v.array(v.string()),
9
+ capabilities: v.record(v.string(), capabilityProjectionSchema),
26
10
  });
27
11
  function editorCustomizationDeclarationIssuePath(issue) {
28
12
  const segments = issue.path?.flatMap((item) => typeof item.key === "string" || typeof item.key === "number"
@@ -62,43 +46,21 @@ export function loadEditorCustomizationDeclarations(resourcePath) {
62
46
  }
63
47
  return result.output;
64
48
  }
65
- function oxcConfigPathSettings(configPaths) {
66
- if (configPaths === "nested") {
67
- return {};
68
- }
69
- const paths = {
70
- ...defaultOxcConfigPaths,
71
- ...configPaths,
72
- };
73
- return {
74
- "oxc.configPath": paths.lint,
75
- "oxc.fmt.configPath": paths.formatter,
76
- };
77
- }
78
- function oxcProjection(options) {
79
- const baseProjection = options.declarations.capabilities["oxc-format-lint"];
80
- return {
81
- extensions: baseProjection.extensions,
82
- settings: {
83
- ...baseProjection.settings,
84
- ...oxcConfigPathSettings(options.editorOptions?.oxcConfigPaths),
85
- },
86
- };
87
- }
88
49
  function mergeSettings(base, patch) {
89
50
  return { ...base, ...patch };
90
51
  }
91
- export function editorCustomizationForCapabilities(capabilities, declarations, options) {
52
+ export function editorCustomizationForCapabilities(capabilities, declarations) {
92
53
  const selected = new Set(capabilities);
93
54
  const extensions = new Set();
94
55
  let settings = {};
95
- for (const capability of capabilityOrder) {
56
+ for (const capability of declarations.capabilityOrder) {
96
57
  if (!selected.has(capability)) {
97
58
  continue;
98
59
  }
99
- const projection = capability === "oxc-format-lint"
100
- ? oxcProjection({ declarations, editorOptions: options })
101
- : declarations.capabilities[capability];
60
+ const projection = declarations.capabilities[capability];
61
+ if (projection === undefined) {
62
+ throw new Error(`Editor customization policy orders undeclared capability ${capability}`);
63
+ }
102
64
  for (const extension of projection.extensions) {
103
65
  extensions.add(extension);
104
66
  }
@@ -9,7 +9,7 @@ export type WorkspaceOrchestrationOwner = {
9
9
  export type ComponentOwner = PackageBoundaryOwner | WorkspaceOrchestrationOwner;
10
10
  export type CheckComponentKind = "typescript-typecheck" | "oxc-lint" | "oxc-format-check" | "build" | "unit-test" | "e2e-test" | "turbo-check" | "turbo-package-typecheck" | "turbo-package-build" | "turbo-package-test" | "turbo-package-e2e-test" | "turbo-package-check" | "rustfmt-check" | "cargo-clippy" | "cargo-test";
11
11
  export type FixComponentKind = "oxc-format-write" | "oxc-lint-fix" | "turbo-fix" | "turbo-package-fix" | "rustfmt-write";
12
- export type CheckEnvironmentNeed = {
12
+ export type PlaywrightBrowserAssetsEnvironmentNeed = {
13
13
  readonly kind: "playwright-browser-assets";
14
14
  readonly browser: "chromium";
15
15
  readonly owner: ComponentOwner;
@@ -22,6 +22,34 @@ export type CheckEnvironmentNeed = {
22
22
  readonly machineVerifiable: boolean;
23
23
  };
24
24
  };
25
+ export type ShellCheckEnvironmentNeed = {
26
+ readonly kind: "shellcheck-command";
27
+ readonly owner: ComponentOwner;
28
+ readonly nextStep: {
29
+ readonly id: "install-shellcheck";
30
+ readonly label: "Install ShellCheck";
31
+ readonly command: "sudo";
32
+ readonly args: readonly string[];
33
+ readonly display: "sudo apt-get update && sudo apt-get install -y shellcheck";
34
+ readonly machineVerifiable: false;
35
+ };
36
+ };
37
+ /** Rust check components require the maintained toolchain in local and CI plans. */
38
+ export type RustToolchainEnvironmentNeed = {
39
+ readonly kind: "rust-toolchain";
40
+ readonly owner: ComponentOwner;
41
+ readonly toolchain: "stable";
42
+ readonly nextStep: {
43
+ readonly id: "install-rust-toolchain";
44
+ readonly label: "Install Rust toolchain";
45
+ readonly command: "rustup";
46
+ readonly args: readonly string[];
47
+ readonly display: "rustup toolchain install stable --component rustfmt --component clippy";
48
+ readonly machineVerifiable: boolean;
49
+ };
50
+ };
51
+ export type CheckEnvironmentNeed = PlaywrightBrowserAssetsEnvironmentNeed | ShellCheckEnvironmentNeed | RustToolchainEnvironmentNeed;
52
+ export declare function rustToolchainEnvironmentNeed(owner: ComponentOwner): RustToolchainEnvironmentNeed;
25
53
  export type CheckComponent = {
26
54
  readonly kind: CheckComponentKind;
27
55
  readonly owner: ComponentOwner;
@@ -66,4 +94,5 @@ export declare function playwrightBrowserAssetsEnvironmentNeed(options: {
66
94
  readonly id?: string;
67
95
  readonly label?: string;
68
96
  readonly machineVerifiable?: boolean;
69
- }): CheckEnvironmentNeed;
97
+ }): PlaywrightBrowserAssetsEnvironmentNeed;
98
+ export declare function shellCheckEnvironmentNeed(owner: ComponentOwner): ShellCheckEnvironmentNeed;
@@ -1,3 +1,26 @@
1
+ export function rustToolchainEnvironmentNeed(owner) {
2
+ return {
3
+ kind: "rust-toolchain",
4
+ owner,
5
+ toolchain: "stable",
6
+ nextStep: {
7
+ id: "install-rust-toolchain",
8
+ label: "Install Rust toolchain",
9
+ command: "rustup",
10
+ args: [
11
+ "toolchain",
12
+ "install",
13
+ "stable",
14
+ "--component",
15
+ "rustfmt",
16
+ "--component",
17
+ "clippy",
18
+ ],
19
+ display: "rustup toolchain install stable --component rustfmt --component clippy",
20
+ machineVerifiable: false,
21
+ },
22
+ };
23
+ }
1
24
  function renderTurboPackageFilter(owner) {
2
25
  if (owner.kind !== "package-boundary") {
3
26
  throw new Error("Turbo package tasks require a Package Boundary owner.");
@@ -157,6 +180,9 @@ function playwrightBrowserInstallArgs(need, options = {}) {
157
180
  return installArgs;
158
181
  }
159
182
  export function renderPlaywrightBrowserInstallCommand(need, options = {}) {
183
+ if (need.kind !== "playwright-browser-assets") {
184
+ throw new Error("Playwright install requires browser assets.");
185
+ }
160
186
  return ["pnpm", ...playwrightBrowserInstallArgs(need, options)].join(" ");
161
187
  }
162
188
  export function playwrightBrowserAssetsNextStepDescriptor(owner) {
@@ -188,3 +214,17 @@ export function playwrightBrowserAssetsEnvironmentNeed(options) {
188
214
  },
189
215
  };
190
216
  }
217
+ export function shellCheckEnvironmentNeed(owner) {
218
+ return {
219
+ kind: "shellcheck-command",
220
+ owner,
221
+ nextStep: {
222
+ id: "install-shellcheck",
223
+ label: "Install ShellCheck",
224
+ command: "sudo",
225
+ args: ["sh", "-c", "apt-get update && apt-get install -y shellcheck"],
226
+ display: "sudo apt-get update && sudo apt-get install -y shellcheck",
227
+ machineVerifiable: false,
228
+ },
229
+ };
230
+ }
@@ -0,0 +1,43 @@
1
+ import type { EditorCustomizationCapability } from "./editor-customization.ts";
2
+ import type { CheckComponent, CheckEnvironmentNeed, DeploymentCheckComponent, FixComponent } from "./module-graph.ts";
3
+ import type { PackageDefinition } from "./project-blueprint-v2.ts";
4
+ import type { DependencyMaintenancePolicy } from "./project-github.ts";
5
+ import type { RenderOperation } from "./renderer.ts";
6
+ export type FoundationContribution = {
7
+ /** Toolchains the Foundation must install and project into coordinated root files. */
8
+ readonly toolchains: {
9
+ readonly rust?: {
10
+ readonly toolchain: string;
11
+ readonly components: readonly ("rustfmt" | "clippy")[];
12
+ };
13
+ };
14
+ /** Editor capabilities the Foundation must project into its coordinated editor files. */
15
+ readonly editorCapabilities: readonly EditorCustomizationCapability[];
16
+ /** Ecosystems and paths whose maintenance belongs in the coordinated root policy. */
17
+ readonly dependencyMaintenance: DependencyMaintenancePolicy;
18
+ /** Workspace membership patterns contributed by package boundaries. */
19
+ readonly workspacePackageGlobs?: readonly string[];
20
+ /** Dependency Catalog entries required by package-owned manifests. */
21
+ readonly dependencyCatalog?: Readonly<Record<string, string>>;
22
+ };
23
+ /** A preset-agnostic package-sized part of a Generated Repository Plan. */
24
+ export type PackageContribution = {
25
+ readonly definition: PackageDefinition;
26
+ readonly manifest: Readonly<Record<string, unknown>>;
27
+ readonly exposure: {
28
+ readonly exports: Readonly<Record<string, unknown>>;
29
+ readonly imports: Readonly<Record<string, unknown>>;
30
+ };
31
+ readonly operations: readonly RenderOperation[];
32
+ /** Typed requirements consumed by the Foundation for coordinated root outputs. */
33
+ readonly foundation: FoundationContribution;
34
+ readonly checks: readonly CheckComponent[];
35
+ readonly fixes: readonly FixComponent[];
36
+ readonly environmentNeeds: readonly CheckEnvironmentNeed[];
37
+ /** Deployment checks are package-owned and composed by the Foundation. */
38
+ readonly deploymentChecks?: readonly DeploymentCheckComponent[];
39
+ };
40
+ export declare function assertPackageContribution(contribution: PackageContribution, provenance?: {
41
+ readonly definitionName?: string;
42
+ readonly planner?: string;
43
+ }): PackageContribution;
@@ -0,0 +1,24 @@
1
+ export function assertPackageContribution(contribution, provenance = {}) {
2
+ if (contribution.definition.name !== contribution.manifest.name) {
3
+ throw new Error("Package Contribution manifest name must match its Package Definition");
4
+ }
5
+ const operationPath = (operation) => {
6
+ if ("to" in operation)
7
+ return operation.to;
8
+ if ("path" in operation)
9
+ return operation.path;
10
+ return "";
11
+ };
12
+ const outsideOperation = contribution.operations.find((operation) => !operationPath(operation).startsWith(`${contribution.definition.path}/`));
13
+ if (outsideOperation) {
14
+ const target = operationPath(outsideOperation);
15
+ const rule = target.includes("/")
16
+ ? "Package Contribution may not write a sibling Package Boundary"
17
+ : "Package Contribution may not write a coordinated root output";
18
+ const owner = provenance.definitionName === undefined
19
+ ? ""
20
+ : `${provenance.definitionName}: ${provenance.planner ?? "Package Contribution"} `;
21
+ throw new Error(`${owner}${rule}; ${contribution.definition.path} attempted ${target}`);
22
+ }
23
+ return contribution;
24
+ }
@@ -1,11 +1,28 @@
1
1
  packages:
2
2
  - packages/*
3
3
 
4
- nodeLinker: hoisted
4
+ nodeLinker: isolated
5
+
6
+ autoInstallPeers: false
7
+
8
+ injectWorkspacePackages: true
9
+
10
+ dedupeInjectedDeps: false
11
+
12
+ syncInjectedDepsAfterScripts:
13
+ - build
14
+ - build:run
15
+
16
+ minimumReleaseAge: 1440
17
+
18
+ minimumReleaseAgeStrict: true
19
+
20
+ overrides:
21
+ "pinia>typescript": "-"
22
+ "valibot>typescript": "-"
23
+ "vue>typescript": "-"
5
24
 
6
25
  catalog:
7
- "@typescript/native": npm:typescript@^7.0.2
8
- "@typescript/typescript6": ^6.0.2
9
26
  "@hono/node-server": ^2.0.6
10
27
  "@playwright/test": ^1.61.1
11
28
  "@tailwindcss/vite": ^4.3.2
@@ -21,14 +38,16 @@ catalog:
21
38
  oxfmt: ^0.58.0
22
39
  oxlint: ^1.73.0
23
40
  oxlint-tsgolint: ^0.24.0
41
+ semver: ^7.8.5
42
+ "@types/semver": ^7.7.1
24
43
  pinia: ^3.0.4
25
44
  srvx: ^0.11.21
26
45
  tailwindcss: ^4.3.2
27
46
  telefunc: ^0.2.22
28
47
  tsc-alias: ^1.8.17
29
- tsx: ^4.23.0
30
48
  turbo: 2.10.2
31
- typescript: ^6.0.3
49
+ typescript: npm:@typescript/typescript6@^6.0.2
50
+ typescript-7: npm:typescript@^7.0.2
32
51
  valibot: ^1.4.2
33
52
  vite: ^8.1.4
34
53
  vike: ^0.4.260
@@ -40,6 +59,3 @@ catalog:
40
59
 
41
60
  allowBuilds:
42
61
  esbuild: true
43
-
44
- onlyBuiltDependencies:
45
- - esbuild
@@ -0,0 +1,42 @@
1
+ import type { PackageContribution } from "./package-contribution.ts";
2
+ import type { ProjectBlueprintV2 } from "./project-blueprint-v2.ts";
3
+ import type { TemplateSourceHandle } from "./renderer.ts";
4
+ /** Stable, preset-agnostic input supplied after toolchain resolution. */
5
+ export type GenerationContext = {
6
+ readonly targetDir: string;
7
+ readonly projectName: string;
8
+ readonly scope: string;
9
+ readonly toolchain: {
10
+ readonly nodeLtsMajor: string;
11
+ readonly packageManagerPin: string;
12
+ };
13
+ };
14
+ /** A side-effect-free Built-in Preset planner. */
15
+ export type BuiltInPresetDefinition = {
16
+ readonly metadata: {
17
+ readonly name: string;
18
+ readonly title: string;
19
+ readonly description: string;
20
+ };
21
+ /** The Definition owns its Preset-local Self-Checking Template Source. */
22
+ readonly source: TemplateSourceHandle;
23
+ /** The owned planner source inspected by the Template Boundary Check. */
24
+ readonly plannerSourceFile: string;
25
+ blueprint(context: GenerationContext): ProjectBlueprintV2;
26
+ planInitialization(context: GenerationContext): PackageContribution;
27
+ /**
28
+ * Multi-package Definitions expose their complete owned topology directly,
29
+ * while single-package Definitions keep the compact tracer interface.
30
+ */
31
+ planInitializationContributions?(context: GenerationContext): readonly PackageContribution[];
32
+ /** Package layout is Preset-owned even when callers omit --path. */
33
+ defaultPackagePath?(options: {
34
+ readonly context: GenerationContext;
35
+ readonly packageLeafName: string;
36
+ }): string;
37
+ planPackageAddition?(options: {
38
+ readonly context: GenerationContext;
39
+ readonly packageLeafName: string;
40
+ readonly packagePath: string;
41
+ }): PackageContribution;
42
+ };