astro 6.0.0-alpha.0 → 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 (543) hide show
  1. package/astro-jsx.d.ts +11 -0
  2. package/client.d.ts +17 -41
  3. package/components/Code.astro +2 -2
  4. package/components/Image.astro +2 -2
  5. package/components/Picture.astro +1 -1
  6. package/dist/actions/consts.d.ts +2 -5
  7. package/dist/actions/consts.js +4 -8
  8. package/dist/actions/integration.js +2 -4
  9. package/dist/actions/runtime/client.d.ts +84 -3
  10. package/dist/actions/runtime/client.js +238 -7
  11. package/dist/actions/runtime/entrypoints/client.d.ts +7 -0
  12. package/dist/actions/runtime/entrypoints/client.js +91 -0
  13. package/dist/actions/runtime/entrypoints/route.d.ts +2 -0
  14. package/dist/actions/runtime/{route.js → entrypoints/route.js} +1 -1
  15. package/dist/actions/runtime/entrypoints/server.d.ts +6 -0
  16. package/dist/actions/runtime/entrypoints/server.js +33 -0
  17. package/dist/actions/runtime/server.d.ts +11 -18
  18. package/dist/actions/runtime/server.js +162 -82
  19. package/dist/actions/runtime/types.d.ts +64 -0
  20. package/dist/actions/utils.d.ts +2 -2
  21. package/dist/actions/utils.js +2 -2
  22. package/dist/actions/vite-plugin-actions.js +18 -21
  23. package/dist/assets/build/generate.d.ts +2 -2
  24. package/dist/assets/build/generate.js +12 -10
  25. package/dist/assets/endpoint/config.js +2 -2
  26. package/dist/assets/endpoint/dev.js +7 -6
  27. package/dist/assets/fonts/config.d.ts +91 -350
  28. package/dist/assets/fonts/config.js +35 -136
  29. package/dist/assets/fonts/constants.js +1 -1
  30. package/dist/assets/fonts/core/dedupe-font-faces.d.ts +2 -0
  31. package/dist/assets/fonts/core/dedupe-font-faces.js +30 -0
  32. package/dist/assets/fonts/definitions.d.ts +9 -22
  33. package/dist/assets/fonts/infra/build-remote-font-provider-mod-resolver.d.ts +4 -0
  34. package/dist/assets/fonts/infra/build-remote-font-provider-mod-resolver.js +8 -0
  35. package/dist/assets/fonts/infra/build-url-proxy-hash-resolver.d.ts +15 -0
  36. package/dist/assets/fonts/infra/build-url-proxy-hash-resolver.js +20 -0
  37. package/dist/assets/fonts/infra/build-url-resolver.d.ts +12 -0
  38. package/dist/assets/fonts/infra/build-url-resolver.js +40 -0
  39. package/dist/assets/fonts/infra/cached-font-fetcher.d.ts +11 -0
  40. package/dist/assets/fonts/infra/cached-font-fetcher.js +42 -0
  41. package/dist/assets/fonts/infra/capsize-font-metrics-resolver.d.ts +18 -0
  42. package/dist/assets/fonts/infra/capsize-font-metrics-resolver.js +71 -0
  43. package/dist/assets/fonts/infra/data-collector.d.ts +10 -0
  44. package/dist/assets/fonts/infra/data-collector.js +35 -0
  45. package/dist/assets/fonts/infra/dev-remote-font-provider-mod-resolver.d.ts +9 -0
  46. package/dist/assets/fonts/infra/dev-remote-font-provider-mod-resolver.js +14 -0
  47. package/dist/assets/fonts/infra/dev-url-proxy-hash-resolver.d.ts +15 -0
  48. package/dist/assets/fonts/infra/dev-url-proxy-hash-resolver.js +37 -0
  49. package/dist/assets/fonts/infra/dev-url-resolver.d.ts +10 -0
  50. package/dist/assets/fonts/infra/dev-url-resolver.js +29 -0
  51. package/dist/assets/fonts/infra/font-type-extractor.d.ts +5 -0
  52. package/dist/assets/fonts/infra/font-type-extractor.js +21 -0
  53. package/dist/assets/fonts/infra/fontace-font-file-reader.d.ts +11 -0
  54. package/dist/assets/fonts/infra/fontace-font-file-reader.js +25 -0
  55. package/dist/assets/fonts/infra/levenshtein-string-matcher.d.ts +5 -0
  56. package/dist/assets/fonts/infra/levenshtein-string-matcher.js +145 -0
  57. package/dist/assets/fonts/infra/local-url-proxy-content-resolver.d.ts +4 -0
  58. package/dist/assets/fonts/infra/local-url-proxy-content-resolver.js +14 -0
  59. package/dist/assets/fonts/{implementations/css-renderer.d.ts → infra/minifiable-css-renderer.d.ts} +8 -3
  60. package/dist/assets/fonts/{implementations/css-renderer.js → infra/minifiable-css-renderer.js} +12 -10
  61. package/dist/assets/fonts/infra/remote-font-provider-resolver.d.ts +10 -0
  62. package/dist/assets/fonts/infra/remote-font-provider-resolver.js +49 -0
  63. package/dist/assets/fonts/infra/remote-url-proxy-content-resolver.d.ts +4 -0
  64. package/dist/assets/fonts/infra/remote-url-proxy-content-resolver.js +9 -0
  65. package/dist/assets/fonts/infra/require-local-provider-url-resolver.d.ts +9 -0
  66. package/dist/assets/fonts/infra/require-local-provider-url-resolver.js +22 -0
  67. package/dist/assets/fonts/infra/system-fallbacks-provider.d.ts +6 -0
  68. package/dist/assets/fonts/{implementations → infra}/system-fallbacks-provider.js +8 -11
  69. package/dist/assets/fonts/infra/unstorage-fs-storage.d.ts +11 -0
  70. package/dist/assets/fonts/infra/unstorage-fs-storage.js +26 -0
  71. package/dist/assets/fonts/infra/url-proxy.d.ts +16 -0
  72. package/dist/assets/fonts/infra/url-proxy.js +50 -0
  73. package/dist/assets/fonts/infra/xxhash-hasher.d.ts +7 -0
  74. package/dist/assets/fonts/infra/xxhash-hasher.js +18 -0
  75. package/dist/assets/fonts/orchestrate.d.ts +1 -2
  76. package/dist/assets/fonts/orchestrate.js +50 -17
  77. package/dist/assets/fonts/providers/index.d.ts +6 -24
  78. package/dist/assets/fonts/types.d.ts +138 -8
  79. package/dist/assets/fonts/utils.d.ts +1 -2
  80. package/dist/assets/fonts/vite-plugin-fonts.js +56 -61
  81. package/dist/assets/services/noop.js +5 -0
  82. package/dist/assets/utils/index.d.ts +0 -2
  83. package/dist/assets/utils/index.js +0 -5
  84. package/dist/assets/utils/{transformToPath.d.ts → node.d.ts} +15 -1
  85. package/dist/assets/utils/{node/emitAsset.js → node.js} +34 -6
  86. package/dist/assets/utils/remotePattern.d.ts +1 -3
  87. package/dist/assets/utils/svg.d.ts +2 -1
  88. package/dist/assets/utils/svg.js +30 -4
  89. package/dist/assets/vite-plugin-assets.js +10 -8
  90. package/dist/cli/add/index.js +21 -13
  91. package/dist/cli/create-key/infra/crypto-key-generator.d.ts +3 -1
  92. package/dist/cli/create-key/infra/crypto-key-generator.js +7 -9
  93. package/dist/cli/definitions.d.ts +19 -2
  94. package/dist/cli/dev/index.js +1 -1
  95. package/dist/cli/docs/core/open-docs.d.ts +5 -3
  96. package/dist/cli/docs/core/open-docs.js +2 -9
  97. package/dist/cli/docs/definitions.d.ts +3 -11
  98. package/dist/cli/docs/domain/cloud-ide.d.ts +1 -0
  99. package/dist/cli/docs/domain/cloud-ide.js +0 -0
  100. package/dist/cli/docs/infra/process-cloud-ide-provider.d.ts +5 -0
  101. package/dist/cli/docs/infra/process-cloud-ide-provider.js +6 -0
  102. package/dist/cli/flags.d.ts +1 -0
  103. package/dist/cli/index.js +78 -21
  104. package/dist/cli/info/core/get-package-manager.d.ts +8 -0
  105. package/dist/cli/info/core/get-package-manager.js +37 -0
  106. package/dist/cli/info/core/info.d.ts +21 -0
  107. package/dist/cli/info/core/info.js +21 -0
  108. package/dist/cli/info/definitions.d.ts +30 -0
  109. package/dist/cli/info/definitions.js +0 -0
  110. package/dist/cli/info/domain/debug-info.d.ts +1 -0
  111. package/dist/cli/info/domain/debug-info.js +0 -0
  112. package/dist/cli/info/infra/bun-package-manager.d.ts +5 -0
  113. package/dist/cli/info/infra/bun-package-manager.js +9 -0
  114. package/dist/cli/info/infra/cli-astro-config-resolver.d.ts +10 -0
  115. package/dist/cli/info/infra/cli-astro-config-resolver.js +36 -0
  116. package/dist/cli/info/infra/cli-clipboard.d.ts +13 -0
  117. package/dist/cli/info/infra/cli-clipboard.js +78 -0
  118. package/dist/cli/info/infra/cli-debug-info-provider.d.ts +15 -0
  119. package/dist/cli/info/infra/cli-debug-info-provider.js +57 -0
  120. package/dist/cli/info/infra/dev-debug-info-provider.d.ts +18 -0
  121. package/dist/cli/info/infra/dev-debug-info-provider.js +36 -0
  122. package/dist/cli/info/infra/noop-package-manager.d.ts +5 -0
  123. package/dist/cli/info/infra/noop-package-manager.js +9 -0
  124. package/dist/cli/info/infra/npm-package-manager.d.ts +10 -0
  125. package/dist/cli/info/infra/npm-package-manager.js +32 -0
  126. package/dist/cli/info/infra/pnpm-package-manager.d.ts +10 -0
  127. package/dist/cli/info/infra/pnpm-package-manager.js +33 -0
  128. package/dist/cli/info/infra/process-node-version-provider.d.ts +4 -0
  129. package/dist/cli/info/infra/process-node-version-provider.js +6 -0
  130. package/dist/cli/info/infra/process-package-manager-user-agent-provider.d.ts +4 -0
  131. package/dist/cli/info/infra/process-package-manager-user-agent-provider.js +7 -0
  132. package/dist/cli/info/infra/prompts-prompt.d.ts +11 -0
  133. package/dist/cli/info/infra/prompts-prompt.js +25 -0
  134. package/dist/cli/info/infra/styled-debug-info-formatter.d.ts +10 -0
  135. package/dist/cli/info/infra/styled-debug-info-formatter.js +29 -0
  136. package/dist/cli/info/infra/yarn-package-manager.d.ts +10 -0
  137. package/dist/cli/info/infra/yarn-package-manager.js +34 -0
  138. package/dist/cli/infra/build-time-astro-version-provider.d.ts +3 -1
  139. package/dist/cli/infra/build-time-astro-version-provider.js +4 -8
  140. package/dist/cli/infra/cli-command-runner.d.ts +7 -4
  141. package/dist/cli/infra/cli-command-runner.js +14 -10
  142. package/dist/cli/infra/logger-help-display.d.ts +11 -7
  143. package/dist/cli/infra/logger-help-display.js +62 -50
  144. package/dist/cli/infra/passthrough-text-styler.d.ts +9 -0
  145. package/dist/cli/infra/passthrough-text-styler.js +23 -0
  146. package/dist/cli/infra/piccolore-text-styler.d.ts +2 -0
  147. package/dist/cli/infra/piccolore-text-styler.js +5 -0
  148. package/dist/cli/infra/process-operating-system-provider.d.ts +6 -0
  149. package/dist/cli/infra/process-operating-system-provider.js +12 -0
  150. package/dist/cli/infra/tinyexec-command-executor.d.ts +6 -0
  151. package/dist/cli/infra/tinyexec-command-executor.js +34 -0
  152. package/dist/cli/install-package.js +1 -1
  153. package/dist/cli/preferences/index.js +6 -2
  154. package/dist/cli/preview/index.js +1 -1
  155. package/dist/cli/utils/format-version.js +1 -1
  156. package/dist/config/index.js +9 -5
  157. package/dist/container/index.js +19 -13
  158. package/dist/container/pipeline.d.ts +2 -1
  159. package/dist/container/pipeline.js +4 -11
  160. package/dist/content/config.d.ts +34 -40
  161. package/dist/content/content-layer.js +13 -18
  162. package/dist/content/loaders/errors.d.ts +3 -3
  163. package/dist/content/loaders/errors.js +5 -2
  164. package/dist/content/loaders/glob.js +6 -1
  165. package/dist/content/loaders/types.d.ts +11 -4
  166. package/dist/content/runtime-assets.d.ts +4 -4
  167. package/dist/content/runtime-assets.js +2 -2
  168. package/dist/content/runtime.d.ts +21 -20
  169. package/dist/content/runtime.js +14 -16
  170. package/dist/content/types-generator.js +81 -54
  171. package/dist/content/utils.d.ts +46 -338
  172. package/dist/content/utils.js +43 -48
  173. package/dist/content/vite-plugin-content-assets.d.ts +12 -4
  174. package/dist/content/vite-plugin-content-assets.js +100 -56
  175. package/dist/content/vite-plugin-content-imports.js +10 -4
  176. package/dist/content/vite-plugin-content-virtual-mod.js +10 -7
  177. package/dist/core/app/app.d.ts +5 -0
  178. package/dist/core/app/app.js +13 -0
  179. package/dist/core/app/base.d.ts +132 -0
  180. package/dist/core/app/base.js +448 -0
  181. package/dist/core/app/common.d.ts +6 -2
  182. package/dist/core/app/common.js +60 -33
  183. package/dist/core/app/dev/app.d.ts +15 -0
  184. package/dist/core/app/dev/app.js +86 -0
  185. package/dist/core/app/dev/pipeline.d.ts +13 -0
  186. package/dist/core/app/dev/pipeline.js +123 -0
  187. package/dist/core/app/entrypoint.d.ts +2 -0
  188. package/dist/core/app/entrypoint.js +15 -0
  189. package/dist/core/app/index.d.ts +7 -99
  190. package/dist/core/app/index.js +20 -486
  191. package/dist/core/app/logging.d.ts +3 -0
  192. package/dist/core/app/logging.js +11 -0
  193. package/dist/core/app/manifest.d.ts +9 -0
  194. package/dist/core/app/manifest.js +107 -0
  195. package/dist/core/app/middlewares.js +1 -1
  196. package/dist/core/app/node.js +14 -13
  197. package/dist/core/app/pipeline.d.ts +6 -5
  198. package/dist/core/app/pipeline.js +65 -49
  199. package/dist/core/app/types.d.ts +58 -22
  200. package/dist/core/app/validate-forwarded-headers.d.ts +16 -0
  201. package/dist/core/app/validate-forwarded-headers.js +60 -0
  202. package/dist/core/base-pipeline.d.ts +22 -14
  203. package/dist/core/base-pipeline.js +54 -6
  204. package/dist/core/build/app.d.ts +13 -0
  205. package/dist/core/build/app.js +38 -0
  206. package/dist/core/build/common.d.ts +1 -1
  207. package/dist/core/build/common.js +2 -2
  208. package/dist/core/build/generate.d.ts +1 -1
  209. package/dist/core/build/generate.js +96 -204
  210. package/dist/core/build/graph.js +2 -2
  211. package/dist/core/build/index.js +11 -16
  212. package/dist/core/build/internal.d.ts +2 -27
  213. package/dist/core/build/internal.js +1 -44
  214. package/dist/core/build/page-data.js +1 -1
  215. package/dist/core/build/pipeline.d.ts +15 -26
  216. package/dist/core/build/pipeline.js +106 -170
  217. package/dist/core/build/plugins/index.d.ts +4 -2
  218. package/dist/core/build/plugins/index.js +17 -23
  219. package/dist/core/build/plugins/plugin-analyzer.d.ts +2 -2
  220. package/dist/core/build/plugins/plugin-analyzer.js +5 -13
  221. package/dist/core/build/plugins/plugin-component-entry.d.ts +7 -2
  222. package/dist/core/build/plugins/plugin-component-entry.js +5 -13
  223. package/dist/core/build/plugins/plugin-css.d.ts +2 -2
  224. package/dist/core/build/plugins/plugin-css.js +86 -41
  225. package/dist/core/build/plugins/plugin-internals.d.ts +2 -2
  226. package/dist/core/build/plugins/plugin-internals.js +24 -18
  227. package/dist/core/build/plugins/plugin-manifest.d.ts +33 -5
  228. package/dist/core/build/plugins/plugin-manifest.js +89 -129
  229. package/dist/core/build/plugins/plugin-middleware.d.ts +2 -2
  230. package/dist/core/build/plugins/plugin-middleware.js +5 -7
  231. package/dist/core/build/plugins/plugin-noop.d.ts +3 -0
  232. package/dist/core/build/plugins/plugin-noop.js +29 -0
  233. package/dist/core/build/plugins/plugin-prerender.d.ts +2 -2
  234. package/dist/core/build/plugins/plugin-prerender.js +7 -64
  235. package/dist/core/build/plugins/plugin-scripts.d.ts +5 -2
  236. package/dist/core/build/plugins/plugin-scripts.js +5 -13
  237. package/dist/core/build/plugins/plugin-ssr.d.ts +2 -2
  238. package/dist/core/build/plugins/plugin-ssr.js +60 -132
  239. package/dist/core/build/plugins/util.d.ts +1 -25
  240. package/dist/core/build/plugins/util.js +0 -47
  241. package/dist/core/build/runtime.d.ts +26 -0
  242. package/dist/core/build/runtime.js +45 -0
  243. package/dist/core/build/static-build.d.ts +2 -2
  244. package/dist/core/build/static-build.js +181 -155
  245. package/dist/core/build/types.d.ts +1 -2
  246. package/dist/core/build/util.d.ts +0 -1
  247. package/dist/core/build/util.js +0 -7
  248. package/dist/core/compile/compile.d.ts +2 -3
  249. package/dist/core/compile/compile.js +2 -2
  250. package/dist/core/config/config.js +3 -3
  251. package/dist/core/config/index.d.ts +0 -1
  252. package/dist/core/config/index.js +0 -2
  253. package/dist/core/config/schemas/base.d.ts +336 -1434
  254. package/dist/core/config/schemas/base.js +42 -41
  255. package/dist/core/config/schemas/refined.d.ts +2 -2
  256. package/dist/core/config/schemas/refined.js +1 -1
  257. package/dist/core/config/schemas/relative.d.ts +672 -1761
  258. package/dist/core/config/schemas/relative.js +4 -4
  259. package/dist/core/config/settings.d.ts +3 -3
  260. package/dist/core/config/settings.js +5 -6
  261. package/dist/core/config/validate.js +13 -2
  262. package/dist/core/config/vite-load.js +12 -3
  263. package/dist/core/constants.d.ts +11 -0
  264. package/dist/core/constants.js +20 -1
  265. package/dist/core/create-vite.d.ts +2 -6
  266. package/dist/core/create-vite.js +35 -43
  267. package/dist/core/csp/common.d.ts +1 -1
  268. package/dist/core/csp/common.js +1 -1
  269. package/dist/core/csp/config.d.ts +8 -4
  270. package/dist/core/csp/config.js +1 -1
  271. package/dist/core/csp/runtime.d.ts +11 -0
  272. package/dist/core/csp/runtime.js +35 -0
  273. package/dist/core/dev/container.js +13 -7
  274. package/dist/core/dev/dev.js +2 -2
  275. package/dist/core/dev/restart.js +15 -6
  276. package/dist/core/errors/dev/runtime.d.ts +6 -0
  277. package/dist/core/errors/dev/runtime.js +27 -0
  278. package/dist/core/errors/dev/utils.js +1 -1
  279. package/dist/core/errors/dev/vite.js +1 -1
  280. package/dist/core/errors/errors-data.d.ts +27 -7
  281. package/dist/core/errors/errors-data.js +17 -4
  282. package/dist/core/errors/errors.d.ts +3 -3
  283. package/dist/core/errors/errors.js +8 -8
  284. package/dist/core/errors/zod-error-map.d.ts +2 -2
  285. package/dist/core/errors/zod-error-map.js +26 -24
  286. package/dist/core/logger/core.js +1 -1
  287. package/dist/core/messages.d.ts +2 -2
  288. package/dist/core/messages.js +3 -3
  289. package/dist/core/middleware/callMiddleware.js +1 -1
  290. package/dist/core/middleware/defineMiddleware.d.ts +2 -0
  291. package/dist/core/middleware/defineMiddleware.js +6 -0
  292. package/dist/core/middleware/index.d.ts +3 -3
  293. package/dist/core/middleware/index.js +1 -3
  294. package/dist/core/middleware/sequence.js +4 -4
  295. package/dist/core/middleware/vite-plugin.d.ts +1 -1
  296. package/dist/core/middleware/vite-plugin.js +18 -7
  297. package/dist/core/module-loader/index.d.ts +2 -2
  298. package/dist/core/module-loader/index.js +1 -1
  299. package/dist/core/module-loader/{loader.d.ts → runner.d.ts} +6 -17
  300. package/dist/core/module-loader/{loader.js → runner.js} +3 -0
  301. package/dist/core/module-loader/vite.d.ts +3 -2
  302. package/dist/core/module-loader/vite.js +17 -13
  303. package/dist/core/preview/index.js +20 -3
  304. package/dist/core/preview/static-preview-server.js +11 -0
  305. package/dist/core/redirects/component.js +1 -2
  306. package/dist/core/redirects/index.d.ts +0 -1
  307. package/dist/core/redirects/index.js +1 -3
  308. package/dist/core/redirects/render.js +5 -2
  309. package/dist/core/render/paginate.d.ts +1 -1
  310. package/dist/core/render/paginate.js +8 -6
  311. package/dist/core/render/params-and-props.d.ts +2 -0
  312. package/dist/core/render/params-and-props.js +19 -6
  313. package/dist/core/render/route-cache.d.ts +3 -2
  314. package/dist/core/render/route-cache.js +6 -5
  315. package/dist/core/render-context.d.ts +6 -4
  316. package/dist/core/render-context.js +66 -25
  317. package/dist/core/routing/astro-designed-error-pages.js +2 -2
  318. package/dist/core/routing/default.js +1 -1
  319. package/dist/core/routing/helpers.d.ts +22 -0
  320. package/dist/core/routing/helpers.js +25 -0
  321. package/dist/core/routing/index.d.ts +1 -1
  322. package/dist/core/routing/index.js +2 -2
  323. package/dist/core/routing/manifest/create.d.ts +6 -1
  324. package/dist/core/routing/manifest/create.js +11 -14
  325. package/dist/core/routing/manifest/generator.d.ts +3 -1
  326. package/dist/core/routing/params.d.ts +2 -1
  327. package/dist/core/routing/params.js +3 -2
  328. package/dist/core/server-islands/endpoint.js +40 -19
  329. package/dist/core/server-islands/vite-plugin-server-islands.d.ts +1 -1
  330. package/dist/core/server-islands/vite-plugin-server-islands.js +89 -44
  331. package/dist/core/session/vite-plugin.d.ts +6 -0
  332. package/dist/core/session/vite-plugin.js +53 -0
  333. package/dist/core/session.d.ts +4 -2
  334. package/dist/core/session.js +8 -48
  335. package/dist/core/sync/index.d.ts +2 -5
  336. package/dist/core/sync/index.js +34 -22
  337. package/dist/core/util/pathname.d.ts +10 -0
  338. package/dist/core/util/pathname.js +17 -0
  339. package/dist/core/util.d.ts +2 -2
  340. package/dist/core/util.js +3 -3
  341. package/dist/entrypoints/legacy.d.ts +2 -0
  342. package/dist/entrypoints/legacy.js +12 -0
  343. package/dist/entrypoints/prerender.d.ts +4 -0
  344. package/dist/entrypoints/prerender.js +7 -0
  345. package/dist/env/schema.d.ts +21 -251
  346. package/dist/env/schema.js +6 -3
  347. package/dist/env/vite-plugin-env.js +15 -10
  348. package/dist/env/vite-plugin-import-meta-env.js +3 -2
  349. package/dist/environments.d.ts +3 -0
  350. package/dist/environments.js +11 -0
  351. package/dist/events/error.d.ts +2 -2
  352. package/dist/i18n/index.d.ts +2 -2
  353. package/dist/i18n/utils.d.ts +1 -6
  354. package/dist/i18n/utils.js +1 -63
  355. package/dist/i18n/vite-plugin-i18n.d.ts +0 -5
  356. package/dist/i18n/vite-plugin-i18n.js +1 -22
  357. package/dist/integrations/hooks.d.ts +1 -1
  358. package/dist/integrations/hooks.js +10 -7
  359. package/dist/manifest/serialized.d.ts +9 -0
  360. package/dist/manifest/serialized.js +144 -0
  361. package/dist/manifest/virtual-module.d.ts +1 -4
  362. package/dist/manifest/virtual-module.js +77 -80
  363. package/dist/preferences/index.d.ts +1 -2
  364. package/dist/prerender/routing.d.ts +5 -7
  365. package/dist/prerender/routing.js +6 -17
  366. package/dist/runtime/client/dev-toolbar/ui-library/badge.d.ts +2 -2
  367. package/dist/runtime/client/dev-toolbar/ui-library/button.d.ts +2 -2
  368. package/dist/runtime/client/dev-toolbar/ui-library/card.d.ts +2 -2
  369. package/dist/runtime/client/dev-toolbar/ui-library/highlight.d.ts +2 -2
  370. package/dist/runtime/client/dev-toolbar/ui-library/radio-checkbox.d.ts +2 -2
  371. package/dist/runtime/client/dev-toolbar/ui-library/select.d.ts +2 -2
  372. package/dist/runtime/client/dev-toolbar/ui-library/toggle.d.ts +2 -2
  373. package/dist/runtime/server/endpoint.js +1 -1
  374. package/dist/runtime/server/render/server-islands.js +5 -4
  375. package/dist/runtime/server/transition.d.ts +1 -0
  376. package/dist/template/4xx.js +3 -1
  377. package/dist/transitions/events.d.ts +7 -0
  378. package/dist/transitions/router.js +7 -3
  379. package/dist/transitions/swap-functions.js +4 -0
  380. package/dist/types/astro.d.ts +8 -6
  381. package/dist/types/public/config.d.ts +404 -288
  382. package/dist/types/public/context.d.ts +3 -4
  383. package/dist/types/public/index.d.ts +2 -1
  384. package/dist/types/public/integrations.d.ts +23 -1
  385. package/dist/types/public/internal.d.ts +1 -16
  386. package/dist/types/public/preview.d.ts +6 -0
  387. package/dist/virtual-modules/i18n.d.ts +10 -2
  388. package/dist/virtual-modules/i18n.js +16 -7
  389. package/dist/virtual-modules/live-config.d.ts +1 -1
  390. package/dist/virtual-modules/live-config.js +1 -1
  391. package/dist/virtual-modules/middleware.d.ts +2 -1
  392. package/dist/virtual-modules/middleware.js +2 -1
  393. package/dist/vite-plugin-adapter-config/index.js +3 -2
  394. package/dist/vite-plugin-app/app.d.ts +47 -0
  395. package/dist/vite-plugin-app/app.js +410 -0
  396. package/dist/vite-plugin-app/createAstroServerApp.d.ts +8 -0
  397. package/dist/vite-plugin-app/createAstroServerApp.js +56 -0
  398. package/dist/vite-plugin-app/index.d.ts +3 -0
  399. package/dist/vite-plugin-app/index.js +16 -0
  400. package/dist/{vite-plugin-astro-server → vite-plugin-app}/pipeline.d.ts +6 -7
  401. package/dist/vite-plugin-app/pipeline.js +166 -0
  402. package/dist/vite-plugin-astro/index.js +21 -7
  403. package/dist/vite-plugin-astro-server/base.js +1 -1
  404. package/dist/vite-plugin-astro-server/controller.d.ts +1 -1
  405. package/dist/vite-plugin-astro-server/error.d.ts +3 -4
  406. package/dist/vite-plugin-astro-server/error.js +2 -5
  407. package/dist/vite-plugin-astro-server/index.d.ts +1 -2
  408. package/dist/vite-plugin-astro-server/index.js +6 -4
  409. package/dist/vite-plugin-astro-server/metadata.js +1 -1
  410. package/dist/vite-plugin-astro-server/plugin.d.ts +4 -7
  411. package/dist/vite-plugin-astro-server/plugin.js +54 -65
  412. package/dist/vite-plugin-astro-server/server-state.d.ts +1 -1
  413. package/dist/vite-plugin-astro-server/util.d.ts +0 -2
  414. package/dist/vite-plugin-astro-server/util.js +1 -2
  415. package/dist/vite-plugin-astro-server/vite.d.ts +2 -2
  416. package/dist/vite-plugin-astro-server/vite.js +7 -7
  417. package/dist/vite-plugin-config-alias/index.js +40 -32
  418. package/dist/vite-plugin-css/index.d.ts +18 -0
  419. package/dist/vite-plugin-css/index.js +134 -0
  420. package/dist/vite-plugin-css/util.d.ts +5 -0
  421. package/dist/vite-plugin-css/util.js +8 -0
  422. package/dist/vite-plugin-environment/index.d.ts +15 -0
  423. package/dist/vite-plugin-environment/index.js +77 -0
  424. package/dist/vite-plugin-head/index.d.ts +1 -2
  425. package/dist/vite-plugin-head/index.js +42 -58
  426. package/dist/vite-plugin-hmr-reload/index.js +2 -1
  427. package/dist/vite-plugin-pages/const.d.ts +2 -0
  428. package/dist/vite-plugin-pages/const.js +6 -0
  429. package/dist/vite-plugin-pages/index.d.ts +2 -0
  430. package/dist/vite-plugin-pages/index.js +7 -0
  431. package/dist/vite-plugin-pages/page.d.ts +7 -0
  432. package/dist/vite-plugin-pages/page.js +48 -0
  433. package/dist/vite-plugin-pages/pages.d.ts +8 -0
  434. package/dist/vite-plugin-pages/pages.js +57 -0
  435. package/dist/vite-plugin-pages/util.d.ts +8 -0
  436. package/dist/vite-plugin-pages/util.js +15 -0
  437. package/dist/vite-plugin-renderers/index.d.ts +9 -0
  438. package/dist/vite-plugin-renderers/index.js +40 -0
  439. package/dist/vite-plugin-routes/index.d.ts +14 -0
  440. package/dist/vite-plugin-routes/index.js +177 -0
  441. package/dist/vite-plugin-scripts/index.js +2 -6
  442. package/dist/vite-plugin-scripts/page-ssr.js +3 -2
  443. package/dist/zod.d.ts +2 -2
  444. package/dist/zod.js +2 -2
  445. package/package.json +34 -31
  446. package/templates/content/module.mjs +1 -0
  447. package/templates/content/types.d.ts +24 -11
  448. package/types/actions.d.ts +1 -5
  449. package/types/content.d.ts +9 -11
  450. package/types/transitions.d.ts +25 -0
  451. package/dist/actions/loadActions.d.ts +0 -8
  452. package/dist/actions/loadActions.js +0 -13
  453. package/dist/actions/runtime/route.d.ts +0 -2
  454. package/dist/actions/runtime/shared.d.ts +0 -60
  455. package/dist/actions/runtime/shared.js +0 -296
  456. package/dist/actions/runtime/utils.d.ts +0 -25
  457. package/dist/actions/runtime/utils.js +0 -16
  458. package/dist/actions/runtime/virtual.d.ts +0 -4
  459. package/dist/actions/runtime/virtual.js +0 -127
  460. package/dist/assets/fonts/implementations/data-collector.d.ts +0 -3
  461. package/dist/assets/fonts/implementations/data-collector.js +0 -21
  462. package/dist/assets/fonts/implementations/error-handler.d.ts +0 -2
  463. package/dist/assets/fonts/implementations/error-handler.js +0 -41
  464. package/dist/assets/fonts/implementations/font-fetcher.d.ts +0 -8
  465. package/dist/assets/fonts/implementations/font-fetcher.js +0 -34
  466. package/dist/assets/fonts/implementations/font-file-reader.d.ts +0 -4
  467. package/dist/assets/fonts/implementations/font-file-reader.js +0 -26
  468. package/dist/assets/fonts/implementations/font-metrics-resolver.d.ts +0 -5
  469. package/dist/assets/fonts/implementations/font-metrics-resolver.js +0 -66
  470. package/dist/assets/fonts/implementations/font-type-extractor.d.ts +0 -4
  471. package/dist/assets/fonts/implementations/font-type-extractor.js +0 -22
  472. package/dist/assets/fonts/implementations/hasher.d.ts +0 -2
  473. package/dist/assets/fonts/implementations/hasher.js +0 -14
  474. package/dist/assets/fonts/implementations/levenshtein-string-matcher.d.ts +0 -2
  475. package/dist/assets/fonts/implementations/levenshtein-string-matcher.js +0 -147
  476. package/dist/assets/fonts/implementations/local-provider-url-resolver.d.ts +0 -5
  477. package/dist/assets/fonts/implementations/local-provider-url-resolver.js +0 -17
  478. package/dist/assets/fonts/implementations/remote-font-provider-mod-resolver.d.ts +0 -6
  479. package/dist/assets/fonts/implementations/remote-font-provider-mod-resolver.js +0 -20
  480. package/dist/assets/fonts/implementations/remote-font-provider-resolver.d.ts +0 -6
  481. package/dist/assets/fonts/implementations/remote-font-provider-resolver.js +0 -47
  482. package/dist/assets/fonts/implementations/storage.d.ts +0 -4
  483. package/dist/assets/fonts/implementations/storage.js +0 -14
  484. package/dist/assets/fonts/implementations/system-fallbacks-provider.d.ts +0 -11
  485. package/dist/assets/fonts/implementations/url-proxy-content-resolver.d.ts +0 -5
  486. package/dist/assets/fonts/implementations/url-proxy-content-resolver.js +0 -28
  487. package/dist/assets/fonts/implementations/url-proxy-hash-resolver.d.ts +0 -8
  488. package/dist/assets/fonts/implementations/url-proxy-hash-resolver.js +0 -39
  489. package/dist/assets/fonts/implementations/url-proxy.d.ts +0 -7
  490. package/dist/assets/fonts/implementations/url-proxy.js +0 -31
  491. package/dist/assets/fonts/implementations/url-resolver.d.ts +0 -11
  492. package/dist/assets/fonts/implementations/url-resolver.js +0 -55
  493. package/dist/assets/utils/node/emitAsset.d.ts +0 -15
  494. package/dist/assets/utils/transformToPath.js +0 -32
  495. package/dist/cli/docs/domains/platform.d.ts +0 -1
  496. package/dist/cli/docs/infra/process-platform-provider.d.ts +0 -2
  497. package/dist/cli/docs/infra/process-platform-provider.js +0 -11
  498. package/dist/cli/docs/infra/tinyexec-command-executor.d.ts +0 -2
  499. package/dist/cli/docs/infra/tinyexec-command-executor.js +0 -30
  500. package/dist/cli/info/index.d.ts +0 -12
  501. package/dist/cli/info/index.js +0 -267
  502. package/dist/cli/infra/picocolors-text-styler.d.ts +0 -2
  503. package/dist/cli/infra/picocolors-text-styler.js +0 -7
  504. package/dist/core/build/css-asset-name.d.ts +0 -9
  505. package/dist/core/build/css-asset-name.js +0 -89
  506. package/dist/core/build/plugin.d.ts +0 -43
  507. package/dist/core/build/plugin.js +0 -61
  508. package/dist/core/build/plugins/plugin-actions.d.ts +0 -4
  509. package/dist/core/build/plugins/plugin-actions.js +0 -16
  510. package/dist/core/build/plugins/plugin-chunks.d.ts +0 -2
  511. package/dist/core/build/plugins/plugin-chunks.js +0 -33
  512. package/dist/core/build/plugins/plugin-pages.d.ts +0 -6
  513. package/dist/core/build/plugins/plugin-pages.js +0 -66
  514. package/dist/core/build/plugins/plugin-renderers.d.ts +0 -5
  515. package/dist/core/build/plugins/plugin-renderers.js +0 -54
  516. package/dist/core/middleware/loadMiddleware.d.ts +0 -7
  517. package/dist/core/middleware/loadMiddleware.js +0 -14
  518. package/dist/core/redirects/helpers.d.ts +0 -7
  519. package/dist/core/redirects/helpers.js +0 -10
  520. package/dist/core/routing/manifest/serialization.d.ts +0 -5
  521. package/dist/core/routing/manifest/serialization.js +0 -37
  522. package/dist/prerender/metadata.d.ts +0 -8
  523. package/dist/prerender/metadata.js +0 -18
  524. package/dist/vite-plugin-astro-server/css.d.ts +0 -13
  525. package/dist/vite-plugin-astro-server/css.js +0 -48
  526. package/dist/vite-plugin-astro-server/pipeline.js +0 -161
  527. package/dist/vite-plugin-astro-server/request.d.ts +0 -14
  528. package/dist/vite-plugin-astro-server/request.js +0 -66
  529. package/dist/vite-plugin-astro-server/route.d.ts +0 -25
  530. package/dist/vite-plugin-astro-server/route.js +0 -283
  531. package/dist/vite-plugin-scanner/index.d.ts +0 -10
  532. package/dist/vite-plugin-scanner/index.js +0 -87
  533. package/dist/vite-plugin-ssr-manifest/index.d.ts +0 -2
  534. package/dist/vite-plugin-ssr-manifest/index.js +0 -26
  535. /package/dist/{cli/docs/domains/platform.js → actions/runtime/types.js} +0 -0
  536. /package/dist/assets/fonts/{logic → core}/extract-unifont-providers.d.ts +0 -0
  537. /package/dist/assets/fonts/{logic → core}/extract-unifont-providers.js +0 -0
  538. /package/dist/assets/fonts/{logic → core}/normalize-remote-font-faces.d.ts +0 -0
  539. /package/dist/assets/fonts/{logic → core}/normalize-remote-font-faces.js +0 -0
  540. /package/dist/assets/fonts/{logic → core}/optimize-fallbacks.d.ts +0 -0
  541. /package/dist/assets/fonts/{logic → core}/optimize-fallbacks.js +0 -0
  542. /package/dist/assets/fonts/{logic → core}/resolve-families.d.ts +0 -0
  543. /package/dist/assets/fonts/{logic → core}/resolve-families.js +0 -0
@@ -1,60 +0,0 @@
1
- import type { z } from 'zod';
2
- import { AstroError } from '../../core/errors/errors.js';
3
- import { appendForwardSlash as _appendForwardSlash } from '../../core/path.js';
4
- import type { ActionAPIContext as _ActionAPIContext, ErrorInferenceObject, MaybePromise } from './utils.js';
5
- export type ActionAPIContext = _ActionAPIContext;
6
- export declare const ACTION_QUERY_PARAMS: {
7
- actionName: string;
8
- actionPayload: string;
9
- };
10
- export declare const appendForwardSlash: typeof _appendForwardSlash;
11
- export declare const ACTION_ERROR_CODES: readonly ["BAD_REQUEST", "UNAUTHORIZED", "PAYMENT_REQUIRED", "FORBIDDEN", "NOT_FOUND", "METHOD_NOT_ALLOWED", "NOT_ACCEPTABLE", "PROXY_AUTHENTICATION_REQUIRED", "REQUEST_TIMEOUT", "CONFLICT", "GONE", "LENGTH_REQUIRED", "PRECONDITION_FAILED", "CONTENT_TOO_LARGE", "URI_TOO_LONG", "UNSUPPORTED_MEDIA_TYPE", "RANGE_NOT_SATISFIABLE", "EXPECTATION_FAILED", "MISDIRECTED_REQUEST", "UNPROCESSABLE_CONTENT", "LOCKED", "FAILED_DEPENDENCY", "TOO_EARLY", "UPGRADE_REQUIRED", "PRECONDITION_REQUIRED", "TOO_MANY_REQUESTS", "REQUEST_HEADER_FIELDS_TOO_LARGE", "UNAVAILABLE_FOR_LEGAL_REASONS", "INTERNAL_SERVER_ERROR", "NOT_IMPLEMENTED", "BAD_GATEWAY", "SERVICE_UNAVAILABLE", "GATEWAY_TIMEOUT", "HTTP_VERSION_NOT_SUPPORTED", "VARIANT_ALSO_NEGOTIATES", "INSUFFICIENT_STORAGE", "LOOP_DETECTED", "NETWORK_AUTHENTICATION_REQUIRED"];
12
- export type ActionErrorCode = (typeof ACTION_ERROR_CODES)[number];
13
- export declare class ActionError<_T extends ErrorInferenceObject = ErrorInferenceObject> extends Error {
14
- type: string;
15
- code: ActionErrorCode;
16
- status: number;
17
- constructor(params: {
18
- message?: string;
19
- code: ActionErrorCode;
20
- stack?: string;
21
- });
22
- static codeToStatus(code: ActionErrorCode): number;
23
- static statusToCode(status: number): ActionErrorCode;
24
- static fromJson(body: any): ActionError<ErrorInferenceObject>;
25
- }
26
- export declare function isActionError(error?: unknown): error is ActionError;
27
- export declare function isInputError<T extends ErrorInferenceObject>(error?: ActionError<T>): error is ActionInputError<T>;
28
- export declare function isInputError(error?: unknown): error is ActionInputError<ErrorInferenceObject>;
29
- export type SafeResult<TInput extends ErrorInferenceObject, TOutput> = {
30
- data: TOutput;
31
- error: undefined;
32
- } | {
33
- data: undefined;
34
- error: ActionError<TInput>;
35
- };
36
- export declare class ActionInputError<T extends ErrorInferenceObject> extends ActionError {
37
- type: string;
38
- issues: z.ZodIssue[];
39
- fields: z.ZodError<T>['formErrors']['fieldErrors'];
40
- constructor(issues: z.ZodIssue[]);
41
- }
42
- export declare function callSafely<TOutput>(handler: () => MaybePromise<TOutput>): Promise<SafeResult<z.ZodType, TOutput>>;
43
- export declare function getActionQueryString(name: string): string;
44
- export type SerializedActionResult = {
45
- type: 'data';
46
- contentType: 'application/json+devalue';
47
- status: 200;
48
- body: string;
49
- } | {
50
- type: 'error';
51
- contentType: 'application/json';
52
- status: number;
53
- body: string;
54
- } | {
55
- type: 'empty';
56
- status: 204;
57
- };
58
- export declare function serializeActionResult(res: SafeResult<any, any>): SerializedActionResult;
59
- export declare function deserializeActionResult(res: SerializedActionResult): SafeResult<any, any>;
60
- export declare function astroCalledServerError(): AstroError;
@@ -1,296 +0,0 @@
1
- import { parse as devalueParse, stringify as devalueStringify } from "devalue";
2
- import { REDIRECT_STATUS_CODES } from "../../core/constants.js";
3
- import { AstroError } from "../../core/errors/errors.js";
4
- import {
5
- ActionCalledFromServerError,
6
- ActionsReturnedInvalidDataError
7
- } from "../../core/errors/errors-data.js";
8
- import { appendForwardSlash as _appendForwardSlash } from "../../core/path.js";
9
- import { ACTION_QUERY_PARAMS as _ACTION_QUERY_PARAMS } from "../consts.js";
10
- const ACTION_QUERY_PARAMS = _ACTION_QUERY_PARAMS;
11
- const appendForwardSlash = _appendForwardSlash;
12
- const ACTION_ERROR_CODES = [
13
- "BAD_REQUEST",
14
- "UNAUTHORIZED",
15
- "PAYMENT_REQUIRED",
16
- "FORBIDDEN",
17
- "NOT_FOUND",
18
- "METHOD_NOT_ALLOWED",
19
- "NOT_ACCEPTABLE",
20
- "PROXY_AUTHENTICATION_REQUIRED",
21
- "REQUEST_TIMEOUT",
22
- "CONFLICT",
23
- "GONE",
24
- "LENGTH_REQUIRED",
25
- "PRECONDITION_FAILED",
26
- "CONTENT_TOO_LARGE",
27
- "URI_TOO_LONG",
28
- "UNSUPPORTED_MEDIA_TYPE",
29
- "RANGE_NOT_SATISFIABLE",
30
- "EXPECTATION_FAILED",
31
- "MISDIRECTED_REQUEST",
32
- "UNPROCESSABLE_CONTENT",
33
- "LOCKED",
34
- "FAILED_DEPENDENCY",
35
- "TOO_EARLY",
36
- "UPGRADE_REQUIRED",
37
- "PRECONDITION_REQUIRED",
38
- "TOO_MANY_REQUESTS",
39
- "REQUEST_HEADER_FIELDS_TOO_LARGE",
40
- "UNAVAILABLE_FOR_LEGAL_REASONS",
41
- "INTERNAL_SERVER_ERROR",
42
- "NOT_IMPLEMENTED",
43
- "BAD_GATEWAY",
44
- "SERVICE_UNAVAILABLE",
45
- "GATEWAY_TIMEOUT",
46
- "HTTP_VERSION_NOT_SUPPORTED",
47
- "VARIANT_ALSO_NEGOTIATES",
48
- "INSUFFICIENT_STORAGE",
49
- "LOOP_DETECTED",
50
- "NETWORK_AUTHENTICATION_REQUIRED"
51
- ];
52
- const codeToStatusMap = {
53
- // Implemented from IANA HTTP Status Code Registry
54
- // https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
55
- BAD_REQUEST: 400,
56
- UNAUTHORIZED: 401,
57
- PAYMENT_REQUIRED: 402,
58
- FORBIDDEN: 403,
59
- NOT_FOUND: 404,
60
- METHOD_NOT_ALLOWED: 405,
61
- NOT_ACCEPTABLE: 406,
62
- PROXY_AUTHENTICATION_REQUIRED: 407,
63
- REQUEST_TIMEOUT: 408,
64
- CONFLICT: 409,
65
- GONE: 410,
66
- LENGTH_REQUIRED: 411,
67
- PRECONDITION_FAILED: 412,
68
- CONTENT_TOO_LARGE: 413,
69
- URI_TOO_LONG: 414,
70
- UNSUPPORTED_MEDIA_TYPE: 415,
71
- RANGE_NOT_SATISFIABLE: 416,
72
- EXPECTATION_FAILED: 417,
73
- MISDIRECTED_REQUEST: 421,
74
- UNPROCESSABLE_CONTENT: 422,
75
- LOCKED: 423,
76
- FAILED_DEPENDENCY: 424,
77
- TOO_EARLY: 425,
78
- UPGRADE_REQUIRED: 426,
79
- PRECONDITION_REQUIRED: 428,
80
- TOO_MANY_REQUESTS: 429,
81
- REQUEST_HEADER_FIELDS_TOO_LARGE: 431,
82
- UNAVAILABLE_FOR_LEGAL_REASONS: 451,
83
- INTERNAL_SERVER_ERROR: 500,
84
- NOT_IMPLEMENTED: 501,
85
- BAD_GATEWAY: 502,
86
- SERVICE_UNAVAILABLE: 503,
87
- GATEWAY_TIMEOUT: 504,
88
- HTTP_VERSION_NOT_SUPPORTED: 505,
89
- VARIANT_ALSO_NEGOTIATES: 506,
90
- INSUFFICIENT_STORAGE: 507,
91
- LOOP_DETECTED: 508,
92
- NETWORK_AUTHENTICATION_REQUIRED: 511
93
- };
94
- const statusToCodeMap = Object.entries(codeToStatusMap).reduce(
95
- // reverse the key-value pairs
96
- (acc, [key, value]) => ({ ...acc, [value]: key }),
97
- {}
98
- );
99
- class ActionError extends Error {
100
- type = "AstroActionError";
101
- code = "INTERNAL_SERVER_ERROR";
102
- status = 500;
103
- constructor(params) {
104
- super(params.message);
105
- this.code = params.code;
106
- this.status = ActionError.codeToStatus(params.code);
107
- if (params.stack) {
108
- this.stack = params.stack;
109
- }
110
- }
111
- static codeToStatus(code) {
112
- return codeToStatusMap[code];
113
- }
114
- static statusToCode(status) {
115
- return statusToCodeMap[status] ?? "INTERNAL_SERVER_ERROR";
116
- }
117
- static fromJson(body) {
118
- if (isInputError(body)) {
119
- return new ActionInputError(body.issues);
120
- }
121
- if (isActionError(body)) {
122
- return new ActionError(body);
123
- }
124
- return new ActionError({
125
- code: "INTERNAL_SERVER_ERROR"
126
- });
127
- }
128
- }
129
- function isActionError(error) {
130
- return typeof error === "object" && error != null && "type" in error && error.type === "AstroActionError";
131
- }
132
- function isInputError(error) {
133
- return typeof error === "object" && error != null && "type" in error && error.type === "AstroActionInputError" && "issues" in error && Array.isArray(error.issues);
134
- }
135
- class ActionInputError extends ActionError {
136
- type = "AstroActionInputError";
137
- // We don't expose all ZodError properties.
138
- // Not all properties will serialize from server to client,
139
- // and we don't want to import the full ZodError object into the client.
140
- issues;
141
- fields;
142
- constructor(issues) {
143
- super({
144
- message: `Failed to validate: ${JSON.stringify(issues, null, 2)}`,
145
- code: "BAD_REQUEST"
146
- });
147
- this.issues = issues;
148
- this.fields = {};
149
- for (const issue of issues) {
150
- if (issue.path.length > 0) {
151
- const key = issue.path[0].toString();
152
- this.fields[key] ??= [];
153
- this.fields[key]?.push(issue.message);
154
- }
155
- }
156
- }
157
- }
158
- async function callSafely(handler) {
159
- try {
160
- const data = await handler();
161
- return { data, error: void 0 };
162
- } catch (e) {
163
- if (e instanceof ActionError) {
164
- return { data: void 0, error: e };
165
- }
166
- return {
167
- data: void 0,
168
- error: new ActionError({
169
- message: e instanceof Error ? e.message : "Unknown error",
170
- code: "INTERNAL_SERVER_ERROR"
171
- })
172
- };
173
- }
174
- }
175
- function getActionQueryString(name) {
176
- const searchParams = new URLSearchParams({ [_ACTION_QUERY_PARAMS.actionName]: name });
177
- return `?${searchParams.toString()}`;
178
- }
179
- function serializeActionResult(res) {
180
- if (res.error) {
181
- if (import.meta.env?.DEV) {
182
- actionResultErrorStack.set(res.error.stack);
183
- }
184
- let body2;
185
- if (res.error instanceof ActionInputError) {
186
- body2 = {
187
- type: res.error.type,
188
- issues: res.error.issues,
189
- fields: res.error.fields
190
- };
191
- } else {
192
- body2 = {
193
- ...res.error,
194
- message: res.error.message
195
- };
196
- }
197
- return {
198
- type: "error",
199
- status: res.error.status,
200
- contentType: "application/json",
201
- body: JSON.stringify(body2)
202
- };
203
- }
204
- if (res.data === void 0) {
205
- return {
206
- type: "empty",
207
- status: 204
208
- };
209
- }
210
- let body;
211
- try {
212
- body = devalueStringify(res.data, {
213
- // Add support for URL objects
214
- URL: (value) => value instanceof URL && value.href
215
- });
216
- } catch (e) {
217
- let hint = ActionsReturnedInvalidDataError.hint;
218
- if (res.data instanceof Response) {
219
- hint = REDIRECT_STATUS_CODES.includes(res.data.status) ? "If you need to redirect when the action succeeds, trigger a redirect where the action is called. See the Actions guide for server and client redirect examples: https://docs.astro.build/en/guides/actions." : "If you need to return a Response object, try using a server endpoint instead. See https://docs.astro.build/en/guides/endpoints/#server-endpoints-api-routes";
220
- }
221
- throw new AstroError({
222
- ...ActionsReturnedInvalidDataError,
223
- message: ActionsReturnedInvalidDataError.message(String(e)),
224
- hint
225
- });
226
- }
227
- return {
228
- type: "data",
229
- status: 200,
230
- contentType: "application/json+devalue",
231
- body
232
- };
233
- }
234
- function deserializeActionResult(res) {
235
- if (res.type === "error") {
236
- let json;
237
- try {
238
- json = JSON.parse(res.body);
239
- } catch {
240
- return {
241
- data: void 0,
242
- error: new ActionError({
243
- message: res.body,
244
- code: "INTERNAL_SERVER_ERROR"
245
- })
246
- };
247
- }
248
- if (import.meta.env?.PROD) {
249
- return { error: ActionError.fromJson(json), data: void 0 };
250
- } else {
251
- const error = ActionError.fromJson(json);
252
- error.stack = actionResultErrorStack.get();
253
- return {
254
- error,
255
- data: void 0
256
- };
257
- }
258
- }
259
- if (res.type === "empty") {
260
- return { data: void 0, error: void 0 };
261
- }
262
- return {
263
- data: devalueParse(res.body, {
264
- URL: (href) => new URL(href)
265
- }),
266
- error: void 0
267
- };
268
- }
269
- const actionResultErrorStack = /* @__PURE__ */ function actionResultErrorStackFn() {
270
- let errorStack;
271
- return {
272
- set(stack) {
273
- errorStack = stack;
274
- },
275
- get() {
276
- return errorStack;
277
- }
278
- };
279
- }();
280
- function astroCalledServerError() {
281
- return new AstroError(ActionCalledFromServerError);
282
- }
283
- export {
284
- ACTION_ERROR_CODES,
285
- ACTION_QUERY_PARAMS,
286
- ActionError,
287
- ActionInputError,
288
- appendForwardSlash,
289
- astroCalledServerError,
290
- callSafely,
291
- deserializeActionResult,
292
- getActionQueryString,
293
- isActionError,
294
- isInputError,
295
- serializeActionResult
296
- };
@@ -1,25 +0,0 @@
1
- import type { APIContext } from '../../types/public/context.js';
2
- import type { SerializedActionResult } from './shared.js';
3
- export type ActionPayload = {
4
- actionResult: SerializedActionResult;
5
- actionName: string;
6
- };
7
- export type Locals = {
8
- _actionPayload: ActionPayload;
9
- };
10
- export declare const ACTION_API_CONTEXT_SYMBOL: unique symbol;
11
- export declare const formContentTypes: string[];
12
- export declare function hasContentType(contentType: string, expected: string[]): boolean;
13
- export type ActionAPIContext = Pick<APIContext, 'request' | 'url' | 'isPrerendered' | 'locals' | 'clientAddress' | 'cookies' | 'currentLocale' | 'generator' | 'routePattern' | 'site' | 'params' | 'preferredLocale' | 'preferredLocaleList' | 'originPathname' | 'session' | 'csp'>;
14
- export type MaybePromise<T> = T | Promise<T>;
15
- /**
16
- * Used to preserve the input schema type in the error object.
17
- * This allows for type inference on the `fields` property
18
- * when type narrowed to an `ActionInputError`.
19
- *
20
- * Example: Action has an input schema of `{ name: z.string() }`.
21
- * When calling the action and checking `isInputError(result.error)`,
22
- * `result.error.fields` will be typed with the `name` field.
23
- */
24
- export type ErrorInferenceObject = Record<string, any>;
25
- export declare function isActionAPIContext(ctx: ActionAPIContext): boolean;
@@ -1,16 +0,0 @@
1
- const ACTION_API_CONTEXT_SYMBOL = Symbol.for("astro.actionAPIContext");
2
- const formContentTypes = ["application/x-www-form-urlencoded", "multipart/form-data"];
3
- function hasContentType(contentType, expected) {
4
- const type = contentType.split(";")[0].toLowerCase();
5
- return expected.some((t) => type === t);
6
- }
7
- function isActionAPIContext(ctx) {
8
- const symbol = Reflect.get(ctx, ACTION_API_CONTEXT_SYMBOL);
9
- return symbol === true;
10
- }
11
- export {
12
- ACTION_API_CONTEXT_SYMBOL,
13
- formContentTypes,
14
- hasContentType,
15
- isActionAPIContext
16
- };
@@ -1,4 +0,0 @@
1
- import type { ActionClient } from './server.js';
2
- export * from 'virtual:astro:actions/runtime';
3
- export declare function getActionPath(action: ActionClient<any, any, any>): string;
4
- export declare const actions: Record<string | symbol, any>;
@@ -1,127 +0,0 @@
1
- import { shouldAppendTrailingSlash } from "virtual:astro:actions/options";
2
- import { internalFetchHeaders } from "virtual:astro:adapter-config/client";
3
- import {
4
- ACTION_QUERY_PARAMS,
5
- ActionError,
6
- appendForwardSlash,
7
- astroCalledServerError,
8
- deserializeActionResult,
9
- getActionQueryString
10
- } from "./shared.js";
11
- export * from "virtual:astro:actions/runtime";
12
- const apiContextRoutesSymbol = Symbol.for("context.routes");
13
- const ENCODED_DOT = "%2E";
14
- function toActionProxy(actionCallback = {}, aggregatedPath = "") {
15
- return new Proxy(actionCallback, {
16
- get(target, objKey) {
17
- if (target.hasOwnProperty(objKey) || typeof objKey === "symbol") {
18
- return target[objKey];
19
- }
20
- const path = aggregatedPath + encodeURIComponent(objKey.toString()).replaceAll(".", ENCODED_DOT);
21
- function action(param) {
22
- return handleAction(param, path, this);
23
- }
24
- Object.assign(action, {
25
- queryString: getActionQueryString(path),
26
- toString: () => action.queryString,
27
- // redefine prototype methods as the object's own property, not the prototype's
28
- bind: action.bind,
29
- valueOf: () => action.valueOf,
30
- // Progressive enhancement info for React.
31
- $$FORM_ACTION: function() {
32
- const searchParams = new URLSearchParams(action.toString());
33
- return {
34
- method: "POST",
35
- // `name` creates a hidden input.
36
- // It's unused by Astro, but we can't turn this off.
37
- // At least use a name that won't conflict with a user's formData.
38
- name: "_astroAction",
39
- action: "?" + searchParams.toString()
40
- };
41
- },
42
- // Note: `orThrow` does not have progressive enhancement info.
43
- // If you want to throw exceptions,
44
- // you must handle those exceptions with client JS.
45
- async orThrow(param) {
46
- const { data, error } = await handleAction(param, path, this);
47
- if (error) throw error;
48
- return data;
49
- }
50
- });
51
- return toActionProxy(action, path + ".");
52
- }
53
- });
54
- }
55
- function _getActionPath(toString) {
56
- let path = `${import.meta.env.BASE_URL.replace(/\/$/, "")}/_actions/${new URLSearchParams(toString()).get(ACTION_QUERY_PARAMS.actionName)}`;
57
- if (shouldAppendTrailingSlash) {
58
- path = appendForwardSlash(path);
59
- }
60
- return path;
61
- }
62
- function getActionPath(action) {
63
- return _getActionPath(action.toString);
64
- }
65
- async function handleAction(param, path, context) {
66
- if (import.meta.env.SSR && context) {
67
- const pipeline = Reflect.get(context, apiContextRoutesSymbol);
68
- if (!pipeline) {
69
- throw astroCalledServerError();
70
- }
71
- const action = await pipeline.getAction(path);
72
- if (!action) throw new Error(`Action not found: ${path}`);
73
- return action.bind(context)(param);
74
- }
75
- const headers = new Headers();
76
- headers.set("Accept", "application/json");
77
- for (const [key, value] of Object.entries(internalFetchHeaders)) {
78
- headers.set(key, value);
79
- }
80
- let body = param;
81
- if (!(body instanceof FormData)) {
82
- try {
83
- body = JSON.stringify(param);
84
- } catch (e) {
85
- throw new ActionError({
86
- code: "BAD_REQUEST",
87
- message: `Failed to serialize request body to JSON. Full error: ${e.message}`
88
- });
89
- }
90
- if (body) {
91
- headers.set("Content-Type", "application/json");
92
- } else {
93
- headers.set("Content-Length", "0");
94
- }
95
- }
96
- const rawResult = await fetch(
97
- _getActionPath(() => getActionQueryString(path)),
98
- {
99
- method: "POST",
100
- body,
101
- headers
102
- }
103
- );
104
- if (rawResult.status === 204) {
105
- return deserializeActionResult({ type: "empty", status: 204 });
106
- }
107
- const bodyText = await rawResult.text();
108
- if (rawResult.ok) {
109
- return deserializeActionResult({
110
- type: "data",
111
- body: bodyText,
112
- status: 200,
113
- contentType: "application/json+devalue"
114
- });
115
- }
116
- return deserializeActionResult({
117
- type: "error",
118
- body: bodyText,
119
- status: rawResult.status,
120
- contentType: "application/json"
121
- });
122
- }
123
- const actions = toActionProxy();
124
- export {
125
- actions,
126
- getActionPath
127
- };
@@ -1,3 +0,0 @@
1
- import type { DataCollector } from '../definitions.js';
2
- import type { CreateUrlProxyParams } from '../types.js';
3
- export declare function createDataCollector({ hasUrl, saveUrl, savePreload, saveFontData, }: Pick<CreateUrlProxyParams, 'hasUrl' | 'saveUrl' | 'savePreload' | 'saveFontData'>): DataCollector;
@@ -1,21 +0,0 @@
1
- function createDataCollector({
2
- hasUrl,
3
- saveUrl,
4
- savePreload,
5
- saveFontData
6
- }) {
7
- return {
8
- collect({ hash, url, init, preload, data }) {
9
- if (!hasUrl(hash)) {
10
- saveUrl({ hash, url, init });
11
- if (preload) {
12
- savePreload(preload);
13
- }
14
- }
15
- saveFontData({ hash, url, data, init });
16
- }
17
- };
18
- }
19
- export {
20
- createDataCollector
21
- };
@@ -1,2 +0,0 @@
1
- import type { ErrorHandler } from '../definitions.js';
2
- export declare function createAstroErrorHandler(): ErrorHandler;
@@ -1,41 +0,0 @@
1
- import { AstroError, AstroErrorData } from "../../../core/errors/index.js";
2
- function getProps(input) {
3
- if (input.type === "cannot-load-font-provider") {
4
- return {
5
- ...AstroErrorData.CannotLoadFontProvider,
6
- message: AstroErrorData.CannotLoadFontProvider.message(input.data.entrypoint)
7
- };
8
- } else if (input.type === "unknown-fs-error") {
9
- return AstroErrorData.UnknownFilesystemError;
10
- } else if (input.type === "cannot-fetch-font-file") {
11
- return {
12
- ...AstroErrorData.CannotFetchFontFile,
13
- message: AstroErrorData.CannotFetchFontFile.message(input.data.url)
14
- };
15
- } else if (input.type === "cannot-extract-font-type") {
16
- return {
17
- ...AstroErrorData.CannotExtractFontType,
18
- message: AstroErrorData.CannotExtractFontType.message(input.data.url)
19
- };
20
- } else if (input.type === "cannot-extract-data") {
21
- return {
22
- ...AstroErrorData.CannotDetermineWeightAndStyleFromFontFile,
23
- message: AstroErrorData.CannotDetermineWeightAndStyleFromFontFile.message(
24
- input.data.family,
25
- input.data.url
26
- )
27
- };
28
- }
29
- input;
30
- return AstroErrorData.UnknownError;
31
- }
32
- function createAstroErrorHandler() {
33
- return {
34
- handle(input) {
35
- return new AstroError(getProps(input), { cause: input.cause });
36
- }
37
- };
38
- }
39
- export {
40
- createAstroErrorHandler
41
- };
@@ -1,8 +0,0 @@
1
- import type { Storage } from 'unstorage';
2
- import type { ErrorHandler, FontFetcher } from '../definitions.js';
3
- export declare function createCachedFontFetcher({ storage, errorHandler, fetch, readFile, }: {
4
- storage: Storage;
5
- errorHandler: ErrorHandler;
6
- fetch: (url: string, init?: RequestInit) => Promise<Response>;
7
- readFile: (url: string) => Promise<Buffer>;
8
- }): FontFetcher;
@@ -1,34 +0,0 @@
1
- import { isAbsolute } from "node:path";
2
- import { cache } from "../utils.js";
3
- function createCachedFontFetcher({
4
- storage,
5
- errorHandler,
6
- fetch,
7
- readFile
8
- }) {
9
- return {
10
- async fetch({ hash, url, init }) {
11
- return await cache(storage, hash, async () => {
12
- try {
13
- if (isAbsolute(url)) {
14
- return await readFile(url);
15
- }
16
- const response = await fetch(url, init ?? void 0);
17
- if (!response.ok) {
18
- throw new Error(`Response was not successful, received status code ${response.status}`);
19
- }
20
- return Buffer.from(await response.arrayBuffer());
21
- } catch (cause) {
22
- throw errorHandler.handle({
23
- type: "cannot-fetch-font-file",
24
- data: { url },
25
- cause
26
- });
27
- }
28
- });
29
- }
30
- };
31
- }
32
- export {
33
- createCachedFontFetcher
34
- };
@@ -1,4 +0,0 @@
1
- import type { ErrorHandler, FontFileReader } from '../definitions.js';
2
- export declare function createFontaceFontFileReader({ errorHandler, }: {
3
- errorHandler: ErrorHandler;
4
- }): FontFileReader;
@@ -1,26 +0,0 @@
1
- import { readFileSync } from "node:fs";
2
- import { fontace } from "fontace";
3
- function createFontaceFontFileReader({
4
- errorHandler
5
- }) {
6
- return {
7
- extract({ family, url }) {
8
- try {
9
- const data = fontace(readFileSync(url));
10
- return {
11
- weight: data.weight,
12
- style: data.style
13
- };
14
- } catch (cause) {
15
- throw errorHandler.handle({
16
- type: "cannot-extract-data",
17
- data: { family, url },
18
- cause
19
- });
20
- }
21
- }
22
- };
23
- }
24
- export {
25
- createFontaceFontFileReader
26
- };
@@ -1,5 +0,0 @@
1
- import type { CssRenderer, FontFetcher, FontMetricsResolver } from '../definitions.js';
2
- export declare function createCapsizeFontMetricsResolver({ fontFetcher, cssRenderer, }: {
3
- fontFetcher: FontFetcher;
4
- cssRenderer: CssRenderer;
5
- }): FontMetricsResolver;