astro 5.16.5 → 6.0.0-alpha.1

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 (393) hide show
  1. package/{astro.js → bin/astro.mjs} +7 -8
  2. package/client.d.ts +19 -45
  3. package/components/ClientRouter.astro +0 -5
  4. package/components/Code.astro +2 -2
  5. package/components/Image.astro +2 -2
  6. package/components/Picture.astro +1 -1
  7. package/dist/actions/consts.d.ts +2 -5
  8. package/dist/actions/consts.js +4 -8
  9. package/dist/actions/integration.js +2 -4
  10. package/dist/actions/runtime/client.d.ts +84 -3
  11. package/dist/actions/runtime/client.js +238 -7
  12. package/dist/actions/runtime/entrypoints/client.d.ts +7 -0
  13. package/dist/actions/runtime/entrypoints/client.js +91 -0
  14. package/dist/actions/runtime/entrypoints/route.d.ts +2 -0
  15. package/dist/actions/runtime/{route.js → entrypoints/route.js} +1 -1
  16. package/dist/actions/runtime/entrypoints/server.d.ts +6 -0
  17. package/dist/actions/runtime/entrypoints/server.js +33 -0
  18. package/dist/actions/runtime/server.d.ts +11 -29
  19. package/dist/actions/runtime/server.js +162 -82
  20. package/dist/actions/runtime/types.d.ts +64 -0
  21. package/dist/actions/runtime/types.js +0 -0
  22. package/dist/actions/utils.d.ts +2 -2
  23. package/dist/actions/utils.js +2 -2
  24. package/dist/actions/vite-plugin-actions.js +18 -21
  25. package/dist/assets/build/generate.d.ts +2 -2
  26. package/dist/assets/build/generate.js +11 -9
  27. package/dist/assets/build/remote.js +4 -14
  28. package/dist/assets/endpoint/config.js +2 -2
  29. package/dist/assets/endpoint/dev.js +7 -6
  30. package/dist/assets/fonts/config.d.ts +86 -174
  31. package/dist/assets/fonts/config.js +15 -17
  32. package/dist/assets/fonts/infra/dev-remote-font-provider-mod-resolver.d.ts +3 -3
  33. package/dist/assets/fonts/infra/dev-remote-font-provider-mod-resolver.js +4 -4
  34. package/dist/assets/fonts/types.d.ts +1 -1
  35. package/dist/assets/fonts/vite-plugin-fonts.js +6 -3
  36. package/dist/assets/services/sharp.js +5 -6
  37. package/dist/assets/utils/index.d.ts +0 -6
  38. package/dist/assets/utils/index.js +0 -9
  39. package/dist/assets/utils/{transformToPath.d.ts → node.d.ts} +15 -1
  40. package/dist/assets/utils/{node/emitAsset.js → node.js} +34 -56
  41. package/dist/assets/vite-plugin-assets.js +9 -14
  42. package/dist/cli/index.js +0 -2
  43. package/dist/cli/infra/build-time-astro-version-provider.js +1 -1
  44. package/dist/cli/preferences/index.js +5 -1
  45. package/dist/config/index.js +11 -16
  46. package/dist/container/index.d.ts +0 -1
  47. package/dist/container/index.js +19 -14
  48. package/dist/container/pipeline.d.ts +2 -1
  49. package/dist/container/pipeline.js +4 -11
  50. package/dist/content/config.d.ts +34 -40
  51. package/dist/content/config.js +17 -13
  52. package/dist/content/content-layer.js +14 -21
  53. package/dist/content/data-store.d.ts +0 -2
  54. package/dist/content/loaders/errors.d.ts +3 -3
  55. package/dist/content/loaders/errors.js +5 -2
  56. package/dist/content/loaders/glob.d.ts +0 -5
  57. package/dist/content/loaders/glob.js +3 -30
  58. package/dist/content/loaders/types.d.ts +11 -4
  59. package/dist/content/mutable-data-store.js +1 -14
  60. package/dist/content/runtime-assets.d.ts +4 -4
  61. package/dist/content/runtime-assets.js +4 -7
  62. package/dist/content/runtime.d.ts +35 -73
  63. package/dist/content/runtime.js +63 -231
  64. package/dist/content/server-listeners.js +25 -88
  65. package/dist/content/types-generator.d.ts +1 -6
  66. package/dist/content/types-generator.js +87 -156
  67. package/dist/content/utils.d.ts +47 -412
  68. package/dist/content/utils.js +88 -203
  69. package/dist/content/vite-plugin-content-assets.d.ts +12 -4
  70. package/dist/content/vite-plugin-content-assets.js +100 -56
  71. package/dist/content/vite-plugin-content-imports.js +10 -8
  72. package/dist/content/vite-plugin-content-virtual-mod.js +13 -131
  73. package/dist/core/app/app.d.ts +5 -0
  74. package/dist/core/app/app.js +13 -0
  75. package/dist/core/app/base.d.ts +132 -0
  76. package/dist/core/app/base.js +448 -0
  77. package/dist/core/app/common.d.ts +6 -2
  78. package/dist/core/app/common.js +60 -33
  79. package/dist/core/app/dev/app.d.ts +15 -0
  80. package/dist/core/app/dev/app.js +86 -0
  81. package/dist/core/app/dev/pipeline.d.ts +13 -0
  82. package/dist/core/app/dev/pipeline.js +123 -0
  83. package/dist/core/app/entrypoint.d.ts +2 -0
  84. package/dist/core/app/entrypoint.js +15 -0
  85. package/dist/core/app/index.d.ts +7 -114
  86. package/dist/core/app/index.js +20 -557
  87. package/dist/core/app/logging.d.ts +3 -0
  88. package/dist/core/app/logging.js +11 -0
  89. package/dist/core/app/manifest.d.ts +9 -0
  90. package/dist/core/app/manifest.js +107 -0
  91. package/dist/core/app/middlewares.js +1 -1
  92. package/dist/core/app/node.d.ts +2 -8
  93. package/dist/core/app/node.js +8 -9
  94. package/dist/core/app/pipeline.d.ts +6 -5
  95. package/dist/core/app/pipeline.js +65 -49
  96. package/dist/core/app/types.d.ts +58 -22
  97. package/dist/core/app/validate-forwarded-headers.d.ts +16 -0
  98. package/dist/core/app/validate-forwarded-headers.js +60 -0
  99. package/dist/core/base-pipeline.d.ts +22 -14
  100. package/dist/core/base-pipeline.js +54 -6
  101. package/dist/core/build/app.d.ts +13 -0
  102. package/dist/core/build/app.js +38 -0
  103. package/dist/core/build/common.d.ts +1 -1
  104. package/dist/core/build/common.js +2 -2
  105. package/dist/core/build/generate.d.ts +1 -1
  106. package/dist/core/build/generate.js +95 -204
  107. package/dist/core/build/graph.js +2 -2
  108. package/dist/core/build/index.js +11 -19
  109. package/dist/core/build/internal.d.ts +3 -29
  110. package/dist/core/build/internal.js +1 -45
  111. package/dist/core/build/pipeline.d.ts +15 -26
  112. package/dist/core/build/pipeline.js +106 -170
  113. package/dist/core/build/plugins/index.d.ts +4 -2
  114. package/dist/core/build/plugins/index.js +17 -23
  115. package/dist/core/build/plugins/plugin-analyzer.d.ts +2 -2
  116. package/dist/core/build/plugins/plugin-analyzer.js +5 -13
  117. package/dist/core/build/plugins/plugin-component-entry.d.ts +7 -2
  118. package/dist/core/build/plugins/plugin-component-entry.js +5 -13
  119. package/dist/core/build/plugins/plugin-css.d.ts +2 -2
  120. package/dist/core/build/plugins/plugin-css.js +86 -41
  121. package/dist/core/build/plugins/plugin-internals.d.ts +2 -2
  122. package/dist/core/build/plugins/plugin-internals.js +24 -18
  123. package/dist/core/build/plugins/plugin-manifest.d.ts +33 -5
  124. package/dist/core/build/plugins/plugin-manifest.js +89 -131
  125. package/dist/core/build/plugins/plugin-middleware.d.ts +2 -2
  126. package/dist/core/build/plugins/plugin-middleware.js +5 -7
  127. package/dist/core/build/plugins/plugin-noop.d.ts +3 -0
  128. package/dist/core/build/plugins/plugin-noop.js +29 -0
  129. package/dist/core/build/plugins/plugin-prerender.d.ts +2 -2
  130. package/dist/core/build/plugins/plugin-prerender.js +7 -64
  131. package/dist/core/build/plugins/plugin-scripts.d.ts +5 -2
  132. package/dist/core/build/plugins/plugin-scripts.js +5 -13
  133. package/dist/core/build/plugins/plugin-ssr.d.ts +2 -2
  134. package/dist/core/build/plugins/plugin-ssr.js +60 -132
  135. package/dist/core/build/plugins/util.d.ts +1 -25
  136. package/dist/core/build/plugins/util.js +0 -47
  137. package/dist/core/build/runtime.d.ts +26 -0
  138. package/dist/core/build/runtime.js +45 -0
  139. package/dist/core/build/static-build.d.ts +2 -2
  140. package/dist/core/build/static-build.js +180 -154
  141. package/dist/core/build/types.d.ts +1 -2
  142. package/dist/core/build/util.d.ts +0 -1
  143. package/dist/core/build/util.js +0 -7
  144. package/dist/core/compile/compile.d.ts +2 -3
  145. package/dist/core/compile/compile.js +2 -4
  146. package/dist/core/config/config.js +2 -2
  147. package/dist/core/config/index.d.ts +0 -1
  148. package/dist/core/config/index.js +0 -2
  149. package/dist/core/config/schemas/base.d.ts +330 -1463
  150. package/dist/core/config/schemas/base.js +40 -56
  151. package/dist/core/config/schemas/refined.d.ts +2 -2
  152. package/dist/core/config/schemas/refined.js +8 -1
  153. package/dist/core/config/schemas/relative.d.ts +607 -1737
  154. package/dist/core/config/schemas/relative.js +4 -4
  155. package/dist/core/config/settings.d.ts +3 -3
  156. package/dist/core/config/settings.js +5 -6
  157. package/dist/core/config/validate.js +13 -2
  158. package/dist/core/config/vite-load.js +12 -3
  159. package/dist/core/constants.d.ts +12 -0
  160. package/dist/core/constants.js +22 -1
  161. package/dist/core/create-vite.d.ts +2 -6
  162. package/dist/core/create-vite.js +36 -47
  163. package/dist/core/csp/common.d.ts +1 -1
  164. package/dist/core/csp/common.js +1 -1
  165. package/dist/core/csp/config.d.ts +8 -4
  166. package/dist/core/csp/config.js +1 -1
  167. package/dist/core/dev/container.js +13 -9
  168. package/dist/core/dev/dev.js +1 -1
  169. package/dist/core/dev/restart.js +15 -6
  170. package/dist/core/errors/dev/runtime.d.ts +6 -0
  171. package/dist/core/errors/dev/runtime.js +27 -0
  172. package/dist/core/errors/dev/vite.js +2 -19
  173. package/dist/core/errors/errors-data.d.ts +85 -57
  174. package/dist/core/errors/errors-data.js +40 -28
  175. package/dist/core/errors/errors.d.ts +3 -3
  176. package/dist/core/errors/errors.js +1 -1
  177. package/dist/core/errors/overlay.js +1 -1
  178. package/dist/core/errors/zod-error-map.d.ts +2 -2
  179. package/dist/core/errors/zod-error-map.js +26 -24
  180. package/dist/core/messages.d.ts +2 -2
  181. package/dist/core/messages.js +2 -2
  182. package/dist/core/middleware/callMiddleware.js +1 -1
  183. package/dist/core/middleware/defineMiddleware.d.ts +2 -0
  184. package/dist/core/middleware/defineMiddleware.js +6 -0
  185. package/dist/core/middleware/index.d.ts +4 -4
  186. package/dist/core/middleware/index.js +6 -12
  187. package/dist/core/middleware/sequence.js +4 -4
  188. package/dist/core/middleware/vite-plugin.d.ts +1 -1
  189. package/dist/core/middleware/vite-plugin.js +18 -7
  190. package/dist/core/module-loader/index.d.ts +2 -2
  191. package/dist/core/module-loader/index.js +1 -1
  192. package/dist/core/module-loader/{loader.d.ts → runner.d.ts} +6 -17
  193. package/dist/core/module-loader/{loader.js → runner.js} +3 -0
  194. package/dist/core/module-loader/vite.d.ts +3 -2
  195. package/dist/core/module-loader/vite.js +17 -13
  196. package/dist/core/preview/index.js +20 -5
  197. package/dist/core/preview/static-preview-server.js +1 -0
  198. package/dist/core/redirects/component.js +1 -2
  199. package/dist/core/redirects/index.d.ts +0 -1
  200. package/dist/core/redirects/index.js +1 -3
  201. package/dist/core/redirects/render.js +5 -2
  202. package/dist/core/render/paginate.d.ts +1 -1
  203. package/dist/core/render/paginate.js +8 -6
  204. package/dist/core/render/params-and-props.d.ts +2 -0
  205. package/dist/core/render/params-and-props.js +19 -7
  206. package/dist/core/render/route-cache.d.ts +3 -3
  207. package/dist/core/render/route-cache.js +7 -7
  208. package/dist/core/render-context.d.ts +9 -7
  209. package/dist/core/render-context.js +46 -47
  210. package/dist/core/routing/astro-designed-error-pages.js +2 -2
  211. package/dist/core/routing/default.js +1 -1
  212. package/dist/core/routing/helpers.d.ts +22 -0
  213. package/dist/core/routing/helpers.js +25 -0
  214. package/dist/core/routing/index.d.ts +1 -1
  215. package/dist/core/routing/index.js +2 -2
  216. package/dist/core/routing/manifest/create.d.ts +6 -1
  217. package/dist/core/routing/manifest/create.js +9 -13
  218. package/dist/core/routing/manifest/generator.d.ts +3 -1
  219. package/dist/core/routing/params.d.ts +2 -1
  220. package/dist/core/routing/params.js +8 -8
  221. package/dist/core/routing/validation.d.ts +1 -2
  222. package/dist/core/routing/validation.js +2 -18
  223. package/dist/core/server-islands/endpoint.d.ts +1 -2
  224. package/dist/core/server-islands/endpoint.js +5 -4
  225. package/dist/core/server-islands/vite-plugin-server-islands.d.ts +1 -1
  226. package/dist/core/server-islands/vite-plugin-server-islands.js +89 -44
  227. package/dist/core/session/vite-plugin.d.ts +6 -0
  228. package/dist/core/session/vite-plugin.js +53 -0
  229. package/dist/core/session.d.ts +4 -2
  230. package/dist/core/session.js +8 -48
  231. package/dist/core/sync/index.d.ts +2 -5
  232. package/dist/core/sync/index.js +19 -34
  233. package/dist/core/util.d.ts +2 -2
  234. package/dist/core/util.js +3 -3
  235. package/dist/entrypoints/legacy.d.ts +2 -0
  236. package/dist/entrypoints/legacy.js +12 -0
  237. package/dist/entrypoints/prerender.d.ts +4 -0
  238. package/dist/entrypoints/prerender.js +7 -0
  239. package/dist/env/env-loader.d.ts +0 -1
  240. package/dist/env/env-loader.js +4 -17
  241. package/dist/env/schema.d.ts +21 -251
  242. package/dist/env/schema.js +6 -3
  243. package/dist/env/vite-plugin-env.js +3 -2
  244. package/dist/env/vite-plugin-import-meta-env.js +3 -2
  245. package/dist/environments.d.ts +3 -0
  246. package/dist/environments.js +11 -0
  247. package/dist/events/error.d.ts +2 -2
  248. package/dist/i18n/index.d.ts +2 -2
  249. package/dist/i18n/index.js +0 -3
  250. package/dist/i18n/utils.d.ts +1 -6
  251. package/dist/i18n/utils.js +1 -63
  252. package/dist/i18n/vite-plugin-i18n.d.ts +0 -5
  253. package/dist/i18n/vite-plugin-i18n.js +1 -22
  254. package/dist/integrations/hooks.d.ts +2 -3
  255. package/dist/integrations/hooks.js +9 -33
  256. package/dist/manifest/serialized.d.ts +9 -0
  257. package/dist/manifest/serialized.js +144 -0
  258. package/dist/manifest/virtual-module.d.ts +1 -4
  259. package/dist/manifest/virtual-module.js +77 -80
  260. package/dist/preferences/index.d.ts +1 -2
  261. package/dist/prefetch/index.d.ts +0 -10
  262. package/dist/prefetch/index.js +1 -1
  263. package/dist/prerender/routing.d.ts +5 -7
  264. package/dist/prerender/routing.js +6 -17
  265. package/dist/runtime/server/astro-global.d.ts +2 -2
  266. package/dist/runtime/server/astro-global.js +86 -24
  267. package/dist/runtime/server/render/server-islands.js +2 -2
  268. package/dist/runtime/server/transition.d.ts +1 -0
  269. package/dist/transitions/events.d.ts +7 -0
  270. package/dist/transitions/router.js +7 -3
  271. package/dist/transitions/vite-plugin-transitions.js +1 -4
  272. package/dist/types/astro.d.ts +10 -8
  273. package/dist/types/public/common.d.ts +1 -3
  274. package/dist/types/public/config.d.ts +364 -415
  275. package/dist/types/public/context.d.ts +21 -52
  276. package/dist/types/public/index.d.ts +2 -1
  277. package/dist/types/public/integrations.d.ts +23 -18
  278. package/dist/types/public/internal.d.ts +3 -18
  279. package/dist/types/public/preview.d.ts +6 -0
  280. package/dist/virtual-modules/i18n.d.ts +10 -2
  281. package/dist/virtual-modules/i18n.js +16 -7
  282. package/dist/virtual-modules/live-config.d.ts +1 -3
  283. package/dist/virtual-modules/live-config.js +1 -5
  284. package/dist/virtual-modules/middleware.d.ts +2 -1
  285. package/dist/virtual-modules/middleware.js +2 -1
  286. package/dist/vite-plugin-adapter-config/index.js +3 -2
  287. package/dist/vite-plugin-app/app.d.ts +47 -0
  288. package/dist/vite-plugin-app/app.js +410 -0
  289. package/dist/vite-plugin-app/createAstroServerApp.d.ts +8 -0
  290. package/dist/vite-plugin-app/createAstroServerApp.js +56 -0
  291. package/dist/vite-plugin-app/index.d.ts +3 -0
  292. package/dist/vite-plugin-app/index.js +16 -0
  293. package/dist/{vite-plugin-astro-server → vite-plugin-app}/pipeline.d.ts +5 -7
  294. package/dist/vite-plugin-app/pipeline.js +166 -0
  295. package/dist/vite-plugin-astro/index.js +11 -13
  296. package/dist/vite-plugin-astro-server/controller.d.ts +1 -1
  297. package/dist/vite-plugin-astro-server/error.d.ts +3 -4
  298. package/dist/vite-plugin-astro-server/error.js +2 -5
  299. package/dist/vite-plugin-astro-server/index.d.ts +1 -2
  300. package/dist/vite-plugin-astro-server/index.js +6 -4
  301. package/dist/vite-plugin-astro-server/metadata.js +1 -1
  302. package/dist/vite-plugin-astro-server/plugin.d.ts +4 -7
  303. package/dist/vite-plugin-astro-server/plugin.js +53 -96
  304. package/dist/vite-plugin-astro-server/server-state.d.ts +1 -1
  305. package/dist/vite-plugin-astro-server/util.d.ts +0 -2
  306. package/dist/vite-plugin-astro-server/util.js +1 -2
  307. package/dist/vite-plugin-astro-server/vite.d.ts +2 -2
  308. package/dist/vite-plugin-astro-server/vite.js +7 -7
  309. package/dist/vite-plugin-config-alias/index.js +40 -32
  310. package/dist/vite-plugin-css/index.d.ts +18 -0
  311. package/dist/vite-plugin-css/index.js +134 -0
  312. package/dist/vite-plugin-css/util.d.ts +5 -0
  313. package/dist/vite-plugin-css/util.js +8 -0
  314. package/dist/vite-plugin-environment/index.d.ts +15 -0
  315. package/dist/vite-plugin-environment/index.js +77 -0
  316. package/dist/vite-plugin-head/index.d.ts +1 -2
  317. package/dist/vite-plugin-head/index.js +42 -58
  318. package/dist/vite-plugin-hmr-reload/index.js +2 -1
  319. package/dist/vite-plugin-markdown/index.js +0 -1
  320. package/dist/vite-plugin-pages/const.d.ts +2 -0
  321. package/dist/vite-plugin-pages/const.js +6 -0
  322. package/dist/vite-plugin-pages/index.d.ts +2 -0
  323. package/dist/vite-plugin-pages/index.js +7 -0
  324. package/dist/vite-plugin-pages/page.d.ts +7 -0
  325. package/dist/vite-plugin-pages/page.js +48 -0
  326. package/dist/vite-plugin-pages/pages.d.ts +8 -0
  327. package/dist/vite-plugin-pages/pages.js +57 -0
  328. package/dist/vite-plugin-pages/util.d.ts +8 -0
  329. package/dist/vite-plugin-pages/util.js +15 -0
  330. package/dist/vite-plugin-renderers/index.d.ts +9 -0
  331. package/dist/vite-plugin-renderers/index.js +40 -0
  332. package/dist/vite-plugin-routes/index.d.ts +14 -0
  333. package/dist/vite-plugin-routes/index.js +177 -0
  334. package/dist/vite-plugin-scripts/index.js +2 -6
  335. package/dist/vite-plugin-scripts/page-ssr.js +3 -2
  336. package/dist/zod.d.ts +2 -2
  337. package/dist/zod.js +2 -2
  338. package/package.json +14 -15
  339. package/templates/content/module.mjs +9 -63
  340. package/templates/content/types.d.ts +32 -78
  341. package/types/actions.d.ts +1 -5
  342. package/types/content.d.ts +9 -11
  343. package/types/transitions.d.ts +25 -0
  344. package/dist/actions/loadActions.d.ts +0 -8
  345. package/dist/actions/loadActions.js +0 -13
  346. package/dist/actions/runtime/route.d.ts +0 -2
  347. package/dist/actions/runtime/shared.d.ts +0 -60
  348. package/dist/actions/runtime/shared.js +0 -296
  349. package/dist/actions/runtime/utils.d.ts +0 -31
  350. package/dist/actions/runtime/utils.js +0 -16
  351. package/dist/actions/runtime/virtual.d.ts +0 -4
  352. package/dist/actions/runtime/virtual.js +0 -127
  353. package/dist/assets/utils/node/emitAsset.d.ts +0 -29
  354. package/dist/assets/utils/transformToPath.js +0 -32
  355. package/dist/config/vite-plugin-content-listen.d.ts +0 -17
  356. package/dist/config/vite-plugin-content-listen.js +0 -26
  357. package/dist/container/polyfill.d.ts +0 -1
  358. package/dist/container/polyfill.js +0 -2
  359. package/dist/core/build/css-asset-name.d.ts +0 -9
  360. package/dist/core/build/css-asset-name.js +0 -89
  361. package/dist/core/build/plugin.d.ts +0 -43
  362. package/dist/core/build/plugin.js +0 -61
  363. package/dist/core/build/plugins/plugin-actions.d.ts +0 -4
  364. package/dist/core/build/plugins/plugin-actions.js +0 -16
  365. package/dist/core/build/plugins/plugin-chunks.d.ts +0 -2
  366. package/dist/core/build/plugins/plugin-chunks.js +0 -33
  367. package/dist/core/build/plugins/plugin-pages.d.ts +0 -6
  368. package/dist/core/build/plugins/plugin-pages.js +0 -66
  369. package/dist/core/build/plugins/plugin-renderers.d.ts +0 -5
  370. package/dist/core/build/plugins/plugin-renderers.js +0 -54
  371. package/dist/core/middleware/loadMiddleware.d.ts +0 -7
  372. package/dist/core/middleware/loadMiddleware.js +0 -14
  373. package/dist/core/polyfill.d.ts +0 -5
  374. package/dist/core/polyfill.js +0 -17
  375. package/dist/core/redirects/helpers.d.ts +0 -7
  376. package/dist/core/redirects/helpers.js +0 -10
  377. package/dist/core/routing/manifest/serialization.d.ts +0 -5
  378. package/dist/core/routing/manifest/serialization.js +0 -37
  379. package/dist/prerender/metadata.d.ts +0 -8
  380. package/dist/prerender/metadata.js +0 -18
  381. package/dist/vite-plugin-astro-postprocess/index.d.ts +0 -2
  382. package/dist/vite-plugin-astro-postprocess/index.js +0 -48
  383. package/dist/vite-plugin-astro-server/css.d.ts +0 -13
  384. package/dist/vite-plugin-astro-server/css.js +0 -48
  385. package/dist/vite-plugin-astro-server/pipeline.js +0 -166
  386. package/dist/vite-plugin-astro-server/request.d.ts +0 -14
  387. package/dist/vite-plugin-astro-server/request.js +0 -73
  388. package/dist/vite-plugin-astro-server/route.d.ts +0 -25
  389. package/dist/vite-plugin-astro-server/route.js +0 -283
  390. package/dist/vite-plugin-scanner/index.d.ts +0 -10
  391. package/dist/vite-plugin-scanner/index.js +0 -87
  392. package/dist/vite-plugin-ssr-manifest/index.d.ts +0 -2
  393. package/dist/vite-plugin-ssr-manifest/index.js +0 -26
@@ -1,18 +1,18 @@
1
1
  import * as path from "node:path";
2
2
  import { fileURLToPath, pathToFileURL } from "node:url";
3
3
  import colors from "piccolore";
4
- import { glob } from "tinyglobby";
5
- import { normalizePath } from "vite";
6
- import { z } from "zod";
7
- import { zodToJsonSchema } from "zod-to-json-schema";
4
+ import {
5
+ isRunnableDevEnvironment,
6
+ normalizePath
7
+ } from "vite";
8
+ import * as z from "zod/v4";
8
9
  import { AstroError } from "../core/errors/errors.js";
9
- import { AstroErrorData, AstroUserError } from "../core/errors/index.js";
10
+ import { AstroErrorData } from "../core/errors/index.js";
10
11
  import { isRelativePath } from "../core/path.js";
11
12
  import {
12
13
  COLLECTIONS_DIR,
13
14
  CONTENT_LAYER_TYPE,
14
15
  CONTENT_TYPES_FILE,
15
- LIVE_CONTENT_TYPE,
16
16
  VIRTUAL_MODULE_ID
17
17
  } from "./consts.js";
18
18
  import {
@@ -26,6 +26,7 @@ import {
26
26
  getEntryType,
27
27
  reloadContentConfigObserver
28
28
  } from "./utils.js";
29
+ import { ASTRO_VITE_ENVIRONMENT_NAMES } from "../core/constants.js";
29
30
  async function createContentTypesGenerator({
30
31
  contentConfigObserver,
31
32
  fs,
@@ -43,27 +44,7 @@ async function createContentTypesGenerator({
43
44
  const typeTemplateContent = await fs.promises.readFile(contentPaths.typesTemplate, "utf-8");
44
45
  async function init() {
45
46
  events.push({ name: "add", entry: contentPaths.config.url });
46
- if (settings.config.legacy.collections) {
47
- if (!fs.existsSync(contentPaths.contentDir)) {
48
- return { typesGenerated: false, reason: "no-content-dir" };
49
- }
50
- const globResult = await glob("**", {
51
- cwd: fileURLToPath(contentPaths.contentDir),
52
- absolute: true
53
- });
54
- for (const fullPath of globResult) {
55
- const entryURL = pathToFileURL(fullPath);
56
- if (entryURL.href.startsWith(contentPaths.config.url.href)) continue;
57
- const stat = fs.statSync(fullPath);
58
- if (stat.isFile()) {
59
- events.push({ name: "add", entry: entryURL });
60
- } else if (stat.isDirectory()) {
61
- events.push({ name: "addDir", entry: entryURL });
62
- }
63
- }
64
- }
65
47
  await runEvents();
66
- return { typesGenerated: true };
67
48
  }
68
49
  async function handleEvent(event) {
69
50
  if (event.name === "addDir" || event.name === "unlinkDir") {
@@ -97,7 +78,11 @@ async function createContentTypesGenerator({
97
78
  return { shouldGenerateTypes: false };
98
79
  }
99
80
  if (fileType === "config") {
100
- await reloadContentConfigObserver({ fs, settings, viteServer });
81
+ await reloadContentConfigObserver({
82
+ fs,
83
+ settings,
84
+ environment: viteServer.environments[ASTRO_VITE_ENVIRONMENT_NAMES.astro]
85
+ });
101
86
  return { shouldGenerateTypes: true };
102
87
  }
103
88
  const { entry } = event;
@@ -125,7 +110,7 @@ async function createContentTypesGenerator({
125
110
  }
126
111
  const collectionInfo2 = collectionEntryMap[collectionKey2];
127
112
  if (collectionInfo2.type === "content") {
128
- viteServer.hot.send({
113
+ viteServer.environments.client.hot.send({
129
114
  type: "error",
130
115
  err: new AstroError({
131
116
  ...AstroErrorData.MixedContentDataCollectionError,
@@ -164,7 +149,7 @@ async function createContentTypesGenerator({
164
149
  }
165
150
  const collectionInfo = collectionEntryMap[collectionKey];
166
151
  if (collectionInfo.type === "data") {
167
- viteServer.hot.send({
152
+ viteServer.environments.client.hot.send({
168
153
  type: "error",
169
154
  err: new AstroError({
170
155
  ...AstroErrorData.MixedContentDataCollectionError,
@@ -222,11 +207,7 @@ async function createContentTypesGenerator({
222
207
  entry: pathToFileURL(rawEvent.entry),
223
208
  name: rawEvent.name
224
209
  };
225
- if (settings.config.legacy.collections) {
226
- if (!event.entry.pathname.startsWith(contentPaths.contentDir.pathname)) {
227
- return;
228
- }
229
- } else if (contentPaths.config.url.pathname !== event.entry.pathname) {
210
+ if (contentPaths.config.url.pathname !== event.entry.pathname) {
230
211
  return;
231
212
  }
232
213
  events.push(event);
@@ -263,58 +244,68 @@ async function createContentTypesGenerator({
263
244
  logger,
264
245
  settings
265
246
  });
266
- invalidateVirtualMod(viteServer);
247
+ if (!isRunnableDevEnvironment(viteServer.environments[ASTRO_VITE_ENVIRONMENT_NAMES.ssr])) {
248
+ return;
249
+ }
250
+ invalidateVirtualMod(viteServer.environments[ASTRO_VITE_ENVIRONMENT_NAMES.ssr]);
267
251
  }
268
252
  }
269
253
  return { init, queueEvent };
270
254
  }
271
- function invalidateVirtualMod(viteServer) {
272
- const virtualMod = viteServer.moduleGraph.getModuleById("\0" + VIRTUAL_MODULE_ID);
255
+ function invalidateVirtualMod(environment) {
256
+ const virtualMod = environment.moduleGraph.getModuleById("\0" + VIRTUAL_MODULE_ID);
273
257
  if (!virtualMod) return;
274
- viteServer.moduleGraph.invalidateModule(virtualMod);
258
+ environment.moduleGraph.invalidateModule(virtualMod);
275
259
  }
276
260
  function normalizeConfigPath(from, to) {
277
261
  const configPath = path.relative(from, to).replace(/\.ts$/, ".js");
278
262
  const normalizedPath = configPath.replaceAll("\\", "/");
279
263
  return `"${isRelativePath(configPath) ? "" : "./"}${normalizedPath}"`;
280
264
  }
281
- const schemaCache = /* @__PURE__ */ new Map();
282
- async function getContentLayerSchema(collection, collectionKey) {
283
- const cached = schemaCache.get(collectionKey);
265
+ const createSchemaResultCache = /* @__PURE__ */ new Map();
266
+ async function getCreateSchemaResult(collection, collectionKey) {
267
+ const cached = createSchemaResultCache.get(collectionKey);
284
268
  if (cached) {
285
269
  return cached;
286
270
  }
287
- if (collection?.type === CONTENT_LAYER_TYPE && typeof collection.loader === "object" && collection.loader.schema) {
288
- let schema = collection.loader.schema;
289
- if (typeof schema === "function") {
290
- schema = await schema();
291
- }
292
- if (schema) {
293
- schemaCache.set(collectionKey, await schema);
294
- return schema;
295
- }
271
+ if (collection?.type === CONTENT_LAYER_TYPE && typeof collection.loader === "object" && !collection.loader.schema && collection.loader.createSchema) {
272
+ const result = await collection.loader.createSchema();
273
+ createSchemaResultCache.set(collectionKey, result);
274
+ return result;
296
275
  }
297
276
  }
277
+ async function getContentLayerSchema(collection, collectionKey) {
278
+ if (collection?.type !== CONTENT_LAYER_TYPE || typeof collection.loader === "function") {
279
+ return;
280
+ }
281
+ if (collection.loader.schema) {
282
+ return collection.loader.schema;
283
+ }
284
+ const result = await getCreateSchemaResult(collection, collectionKey);
285
+ return result?.schema;
286
+ }
298
287
  async function typeForCollection(collection, collectionKey) {
299
288
  if (collection?.schema) {
300
- return `InferEntrySchema<${collectionKey}>`;
289
+ return { type: `InferEntrySchema<${collectionKey}>` };
301
290
  }
302
- if (collection?.type === CONTENT_LAYER_TYPE) {
303
- const schema = await getContentLayerSchema(collection, collectionKey);
304
- if (schema) {
305
- try {
306
- const zodToTs = await import("zod-to-ts");
307
- const ast = zodToTs.zodToTs(schema);
308
- return zodToTs.printNode(ast.node);
309
- } catch (err) {
310
- if (err.message.includes("Cannot find package 'typescript'")) {
311
- return "any";
312
- }
313
- throw err;
314
- }
315
- }
291
+ if (!collection?.type || typeof collection.loader === "function") {
292
+ return { type: "any" };
293
+ }
294
+ if (collection.loader.schema) {
295
+ return { type: `InferLoaderSchema<${collectionKey}>` };
316
296
  }
317
- return "any";
297
+ const result = await getCreateSchemaResult(collection, collectionKey);
298
+ if (!result) {
299
+ return { type: "any" };
300
+ }
301
+ const base = `loaders/${collectionKey.slice(1, -1)}`;
302
+ return {
303
+ type: `import("./${base}.js").Entry`,
304
+ injectedType: {
305
+ filename: `${base}.ts`,
306
+ content: result.types
307
+ }
308
+ };
318
309
  }
319
310
  async function writeContentFiles({
320
311
  fs,
@@ -327,7 +318,6 @@ async function writeContentFiles({
327
318
  logger,
328
319
  settings
329
320
  }) {
330
- let contentTypesStr = "";
331
321
  let dataTypesStr = "";
332
322
  const collectionSchemasDir = new URL(COLLECTIONS_DIR, settings.dotAstroDir);
333
323
  fs.mkdirSync(collectionSchemasDir, { recursive: true });
@@ -342,7 +332,7 @@ async function writeContentFiles({
342
332
  const collectionConfig = contentConfig?.collections[JSON.parse(collectionKey)];
343
333
  const collection = collectionEntryMap[collectionKey];
344
334
  if (collectionConfig?.type && collection.type !== "unknown" && collectionConfig.type !== CONTENT_LAYER_TYPE && collection.type !== collectionConfig.type) {
345
- viteServer.hot.send({
335
+ viteServer.environments.client.hot.send({
346
336
  type: "error",
347
337
  err: new AstroError({
348
338
  ...AstroErrorData.ContentCollectionTypeMismatchError,
@@ -359,86 +349,28 @@ async function writeContentFiles({
359
349
  });
360
350
  return;
361
351
  }
362
- const resolvedType = collection.type === "unknown" ? (
363
- // Add empty / unknown collections to the data type map by default
364
- // This ensures `getCollection('empty-collection')` doesn't raise a type error
365
- collectionConfig?.type ?? "data"
366
- ) : collection.type;
367
- const collectionEntryKeys = Object.keys(collection.entries).sort();
368
- const dataType = await typeForCollection(collectionConfig, collectionKey);
369
- switch (resolvedType) {
370
- case LIVE_CONTENT_TYPE:
371
- throw new AstroUserError(
372
- `Invalid definition for collection ${collectionKey}: Live content collections must be defined in "src/live.config.ts"`
373
- );
374
- case "content":
375
- if (collectionEntryKeys.length === 0) {
376
- contentTypesStr += `${collectionKey}: Record<string, {
352
+ const { type: dataType, injectedType } = await typeForCollection(
353
+ collectionConfig,
354
+ collectionKey
355
+ );
356
+ if (injectedType) {
357
+ if (settings.injectedTypes.some((t) => t.filename === CONTENT_TYPES_FILE)) {
358
+ const url = new URL(injectedType.filename, settings.dotAstroDir);
359
+ await fs.promises.mkdir(path.dirname(fileURLToPath(url)), { recursive: true });
360
+ await fs.promises.writeFile(url, injectedType.content, "utf-8");
361
+ } else {
362
+ settings.injectedTypes.push(injectedType);
363
+ }
364
+ }
365
+ dataTypesStr += `${collectionKey}: Record<string, {
377
366
  id: string;
378
- slug: string;
379
- body: string;
367
+ body?: string;
380
368
  collection: ${collectionKey};
381
369
  data: ${dataType};
382
- render(): Render[".md"];
383
- }>;
384
- `;
385
- break;
386
- }
387
- contentTypesStr += `${collectionKey}: {
388
- `;
389
- for (const entryKey of collectionEntryKeys) {
390
- const entryMetadata = collection.entries[entryKey];
391
- const renderType = `{ render(): Render[${JSON.stringify(
392
- path.extname(JSON.parse(entryKey))
393
- )}] }`;
394
- const slugType = JSON.stringify(entryMetadata.slug);
395
- contentTypesStr += `${entryKey}: {
396
- id: ${entryKey};
397
- slug: ${slugType};
398
- body: string;
399
- collection: ${collectionKey};
400
- data: ${dataType}
401
- } & ${renderType};
402
- `;
403
- }
404
- contentTypesStr += `};
405
- `;
406
- break;
407
- case CONTENT_LAYER_TYPE:
408
- const legacyTypes = collectionConfig?._legacy ? 'render(): Render[".md"];\n slug: string;\n body: string;\n' : "body?: string;\n";
409
- dataTypesStr += `${collectionKey}: Record<string, {
410
- id: string;
411
- ${legacyTypes} collection: ${collectionKey};
412
- data: ${dataType};
413
370
  rendered?: RenderedContent;
414
371
  filePath?: string;
415
372
  }>;
416
373
  `;
417
- break;
418
- case "data":
419
- if (collectionEntryKeys.length === 0) {
420
- dataTypesStr += `${collectionKey}: Record<string, {
421
- id: string;
422
- collection: ${collectionKey};
423
- data: ${dataType};
424
- }>;
425
- `;
426
- } else {
427
- dataTypesStr += `${collectionKey}: {
428
- `;
429
- for (const entryKey of collectionEntryKeys) {
430
- dataTypesStr += `${entryKey}: {
431
- id: ${entryKey};
432
- collection: ${collectionKey};
433
- data: ${dataType}
434
- };
435
- `;
436
- }
437
- dataTypesStr += `};
438
- `;
439
- }
440
- break;
441
- }
442
374
  if (collectionConfig && (collectionConfig.schema || await getContentLayerSchema(collectionConfig, collectionKey))) {
443
375
  await generateJSONSchema(fs, collectionConfig, collectionKey, collectionSchemasDir, logger);
444
376
  contentCollectionsMap[collectionKey] = collection;
@@ -453,7 +385,13 @@ async function writeContentFiles({
453
385
  const collectionConfig = contentConfig?.collections[JSON.parse(collectionKey)];
454
386
  const key = JSON.parse(collectionKey);
455
387
  contentCollectionManifest.collections.push({
456
- hasSchema: Boolean(collectionConfig?.schema || schemaCache.has(collectionKey)),
388
+ hasSchema: Boolean(
389
+ // Is there a user provided schema or
390
+ collectionConfig?.schema || // Is it a loader object and
391
+ typeof collectionConfig?.loader !== "function" && // Is it a loader static schema or
392
+ (collectionConfig?.loader.schema || // is it a loader dynamic schema
393
+ createSchemaResultCache.has(collectionKey))
394
+ ),
457
395
  name: key
458
396
  });
459
397
  Object.keys(collection.entries).forEach((entryKey) => {
@@ -479,7 +417,7 @@ async function writeContentFiles({
479
417
  typeTemplateContent = contentEntryType.contentModuleTypes + "\n" + typeTemplateContent;
480
418
  }
481
419
  }
482
- typeTemplateContent = typeTemplateContent.replace("// @@CONTENT_ENTRY_MAP@@", contentTypesStr).replace("// @@DATA_ENTRY_MAP@@", dataTypesStr).replace(
420
+ typeTemplateContent = typeTemplateContent.replace("// @@DATA_ENTRY_MAP@@", dataTypesStr).replace(
483
421
  "'@@CONTENT_CONFIG_TYPE@@'",
484
422
  contentConfig ? `typeof import(${configPathRelativeToCacheDir})` : "never"
485
423
  ).replace(
@@ -513,20 +451,13 @@ async function generateJSONSchema(fsMod, collectionConfig, collectionKey, collec
513
451
  });
514
452
  }
515
453
  try {
516
- await fsMod.promises.writeFile(
517
- new URL(`./${collectionKey.replace(/"/g, "")}.schema.json`, collectionSchemasDir),
518
- JSON.stringify(
519
- zodToJsonSchema(zodSchemaForJson, {
520
- name: collectionKey.replace(/"/g, ""),
521
- markdownDescription: true,
522
- errorMessages: true,
523
- // Fix for https://github.com/StefanTerdell/zod-to-json-schema/issues/110
524
- dateStrategy: ["format:date-time", "format:date", "integer"]
525
- }),
526
- null,
527
- 2
528
- )
454
+ const schema = z.toJSONSchema(zodSchemaForJson);
455
+ const schemaStr = JSON.stringify(schema, null, 2);
456
+ const schemaJsonPath = new URL(
457
+ `./${collectionKey.replace(/"/g, "")}.schema.json`,
458
+ collectionSchemasDir
529
459
  );
460
+ await fsMod.promises.writeFile(schemaJsonPath, schemaStr);
530
461
  } catch (err) {
531
462
  logger.warn(
532
463
  "content",