astro 0.21.13 → 0.22.4

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 (74) hide show
  1. package/astro.js +64 -64
  2. package/components/Code.astro +34 -34
  3. package/components/Debug.astro +44 -43
  4. package/components/Markdown.astro +20 -15
  5. package/components/Prism.astro +20 -23
  6. package/dist/cli/check.js +1 -1
  7. package/dist/cli/index.js +22 -19
  8. package/dist/core/build/index.js +37 -130
  9. package/dist/core/build/internal.js +19 -0
  10. package/dist/core/build/page-data.js +92 -0
  11. package/dist/core/build/scan-based-build.js +50 -0
  12. package/dist/core/build/static-build.js +226 -0
  13. package/dist/core/config.js +3 -2
  14. package/dist/core/create-vite.js +2 -2
  15. package/dist/core/dev/index.js +8 -6
  16. package/dist/core/dev/messages.js +1 -1
  17. package/dist/core/dev/template/4xx.js +1 -1
  18. package/dist/core/dev/template/5xx.js +1 -1
  19. package/dist/core/dev/util.js +1 -1
  20. package/dist/core/logger.js +1 -1
  21. package/dist/core/preview/index.js +2 -3
  22. package/dist/core/ssr/css.js +1 -1
  23. package/dist/core/ssr/html.js +1 -1
  24. package/dist/core/ssr/index.js +47 -43
  25. package/dist/core/ssr/paginate.js +1 -1
  26. package/dist/core/ssr/result.js +72 -0
  27. package/dist/core/ssr/routing.js +1 -1
  28. package/dist/core/ssr/rss.js +1 -1
  29. package/dist/core/ssr/sitemap.js +1 -1
  30. package/dist/core/util.js +1 -1
  31. package/dist/runtime/client/hmr.js +1 -1
  32. package/dist/runtime/client/idle.js +1 -1
  33. package/dist/runtime/client/load.js +1 -1
  34. package/dist/runtime/client/media.js +1 -1
  35. package/dist/runtime/client/only.js +1 -1
  36. package/dist/runtime/client/visible.js +1 -1
  37. package/dist/runtime/server/hydration.js +8 -5
  38. package/dist/runtime/server/index.js +6 -5
  39. package/dist/runtime/server/metadata.js +34 -17
  40. package/dist/runtime/server/util.js +11 -1
  41. package/dist/types/@types/astro.d.ts +3 -0
  42. package/dist/types/cli/index.d.ts +1 -1
  43. package/dist/types/core/build/internal.d.ts +14 -0
  44. package/dist/types/core/build/page-data.d.ts +17 -0
  45. package/dist/types/core/build/scan-based-build.d.ts +16 -0
  46. package/dist/types/core/build/static-build.d.ts +16 -0
  47. package/dist/types/core/config.d.ts +5 -0
  48. package/dist/types/core/dev/index.d.ts +13 -12
  49. package/dist/types/core/ssr/index.d.ts +8 -1
  50. package/dist/types/core/ssr/result.d.ts +9 -0
  51. package/dist/types/runtime/server/hydration.d.ts +2 -1
  52. package/dist/types/runtime/server/metadata.d.ts +20 -9
  53. package/dist/types/runtime/server/util.d.ts +6 -0
  54. package/dist/types/vite-plugin-astro/compile.d.ts +5 -0
  55. package/dist/types/vite-plugin-astro/index.d.ts +3 -1
  56. package/dist/types/vite-plugin-astro/query.d.ts +12 -0
  57. package/dist/types/vite-plugin-build-css/index.d.ts +2 -5
  58. package/dist/types/vite-plugin-build-html/index.d.ts +2 -5
  59. package/dist/vite-plugin-astro/compile.js +93 -0
  60. package/dist/vite-plugin-astro/index.js +54 -66
  61. package/dist/vite-plugin-astro/query.js +24 -0
  62. package/dist/vite-plugin-astro/styles.js +1 -1
  63. package/dist/vite-plugin-astro-postprocess/index.js +1 -1
  64. package/dist/vite-plugin-build-css/index.js +26 -20
  65. package/dist/vite-plugin-build-css/resolve.js +1 -1
  66. package/dist/vite-plugin-build-html/add-rollup-input.js +1 -1
  67. package/dist/vite-plugin-build-html/extract-assets.js +1 -1
  68. package/dist/vite-plugin-build-html/index.js +13 -14
  69. package/dist/vite-plugin-build-html/util.js +1 -1
  70. package/dist/vite-plugin-config-alias/index.js +1 -1
  71. package/dist/vite-plugin-fetch/index.js +1 -1
  72. package/dist/vite-plugin-jsx/index.js +1 -1
  73. package/dist/vite-plugin-markdown/index.js +4 -1
  74. package/package.json +13 -13
@@ -19,7 +19,7 @@ var __spreadValues = (a, b) => {
19
19
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
20
  import { valueToEstree } from "estree-util-value-to-estree";
21
21
  import * as astring from "astring";
22
- import { serializeListValue } from "./util.js";
22
+ import { hydrationSpecifier, serializeListValue } from "./util.js";
23
23
  const { generate, GENERATOR } = astring;
24
24
  const customGenerator = __spreadProps(__spreadValues({}, GENERATOR), {
25
25
  Literal(node, state) {
@@ -60,6 +60,9 @@ function extractDirectives(inputProps) {
60
60
  extracted.hydration.componentExport.value = value;
61
61
  break;
62
62
  }
63
+ case "client:component-hydration": {
64
+ break;
65
+ }
63
66
  default: {
64
67
  extracted.hydration.directive = key.split(":")[1];
65
68
  extracted.hydration.value = value;
@@ -81,7 +84,7 @@ function extractDirectives(inputProps) {
81
84
  return extracted;
82
85
  }
83
86
  async function generateHydrateScript(scriptOptions, metadata) {
84
- const { renderer, astroId, props } = scriptOptions;
87
+ const { renderer, result, astroId, props } = scriptOptions;
85
88
  const { hydrate, componentUrl, componentExport } = metadata;
86
89
  if (!componentExport) {
87
90
  throw new Error(`Unable to resolve a componentExport for "${metadata.displayName}"! Please open an issue.`);
@@ -92,14 +95,14 @@ async function generateHydrateScript(scriptOptions, metadata) {
92
95
  import("${src}")`).join(", ")}]);
93
96
  `;
94
97
  }
95
- hydrationSource += renderer.source ? `const [{ ${componentExport.value}: Component }, { default: hydrate }] = await Promise.all([import("${componentUrl}"), import("${renderer.source}")]);
98
+ hydrationSource += renderer.source ? `const [{ ${componentExport.value}: Component }, { default: hydrate }] = await Promise.all([import("${await result.resolve(componentUrl)}"), import("${await result.resolve(renderer.source)}")]);
96
99
  return (el, children) => hydrate(el)(Component, ${serializeProps(props)}, children);
97
100
  ` : `await import("${componentUrl}");
98
101
  return () => {};
99
102
  `;
100
103
  const hydrationScript = {
101
104
  props: { type: "module", "data-astro-component-hydration": true },
102
- children: `import setup from 'astro/client/${hydrate}.js';
105
+ children: `import setup from '${await result.resolve(hydrationSpecifier(hydrate))}';
103
106
  setup("${astroId}", {${metadata.hydrateArgs ? `value: ${JSON.stringify(metadata.hydrateArgs)}` : ""}}, async () => {
104
107
  ${hydrationSource}
105
108
  });
@@ -112,4 +115,4 @@ export {
112
115
  generateHydrateScript,
113
116
  serializeProps
114
117
  };
115
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3J1bnRpbWUvc2VydmVyL2h5ZHJhdGlvbi50cyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFFQSxNQUFNLEVBQUUsVUFBVSxjQUFjO0FBTWhDLE1BQU0sa0JBQXFDLGlDQUN0QyxZQURzQztBQUFBLEVBRXpDLFFBQVEsTUFBTSxPQUFPO0FBQ25CLFFBQUksS0FBSyxPQUFPLE1BQU07QUFHcEIsWUFBTSxNQUFNLEtBQUssSUFBSSxRQUFRLGNBQWE7QUFBQSxXQUNyQztBQUNMLGdCQUFVLFFBQVEsTUFBTTtBQUFBO0FBQUE7QUFBQTtBQU92Qix3QkFBd0IsT0FBWTtBQUN6QyxTQUFPLFNBQVMsY0FBYyxRQUFRO0FBQUEsSUFDcEMsV0FBVztBQUFBO0FBQUE7QUFJZixNQUFNLHNCQUFzQixDQUFDLFFBQVEsUUFBUSxTQUFTLFdBQVc7QUFjMUQsMkJBQTJCLFlBQTBEO0FBQzFGLE1BQUksWUFBNEI7QUFBQSxJQUM5QixXQUFXO0FBQUEsSUFDWCxPQUFPO0FBQUE7QUFFVCxhQUFXLENBQUMsS0FBSyxVQUFVLE9BQU8sUUFBUSxhQUFhO0FBQ3JELFFBQUksSUFBSSxXQUFXLFlBQVk7QUFDN0IsVUFBSSxDQUFDLFVBQVUsV0FBVztBQUN4QixrQkFBVSxZQUFZO0FBQUEsVUFDcEIsV0FBVztBQUFBLFVBQ1gsT0FBTztBQUFBLFVBQ1AsY0FBYztBQUFBLFVBQ2QsaUJBQWlCLEVBQUUsT0FBTztBQUFBO0FBQUE7QUFHOUIsY0FBUTtBQUFBLGFBQ0QseUJBQXlCO0FBQzVCLG9CQUFVLFVBQVUsZUFBZTtBQUNuQztBQUFBO0FBQUEsYUFFRywyQkFBMkI7QUFDOUIsb0JBQVUsVUFBVSxnQkFBZ0IsUUFBUTtBQUM1QztBQUFBO0FBQUEsaUJBRU87QUFDUCxvQkFBVSxVQUFVLFlBQVksSUFBSSxNQUFNLEtBQUs7QUFDL0Msb0JBQVUsVUFBVSxRQUFRO0FBRzVCLGNBQUksb0JBQW9CLFFBQVEsVUFBVSxVQUFVLGFBQWEsR0FBRztBQUNsRSxrQkFBTSxJQUFJLE1BQU0sdUNBQXVDLHNDQUFzQyxvQkFBb0IsSUFBSSxDQUFDLE1BQU0sV0FBVyxNQUFNLEtBQUs7QUFBQTtBQUlwSixjQUFJLFVBQVUsVUFBVSxjQUFjLFdBQVcsT0FBTyxVQUFVLFVBQVUsVUFBVSxVQUFVO0FBQzlGLGtCQUFNLElBQUksTUFBTTtBQUFBO0FBR2xCO0FBQUE7QUFBQTtBQUFBLGVBR0ssUUFBUSxjQUFjO0FBRS9CLGdCQUFVLE1BQU0sSUFBSSxNQUFNLEdBQUcsT0FBTyxtQkFBbUI7QUFBQSxXQUNsRDtBQUNMLGdCQUFVLE1BQU0sT0FBTztBQUFBO0FBQUE7QUFHM0IsU0FBTztBQUFBO0FBVVQscUNBQTRDLGVBQXFDLFVBQWlFO0FBQ2hKLFFBQU0sRUFBRSxVQUFVLFNBQVMsVUFBVTtBQUNyQyxRQUFNLEVBQUUsU0FBUyxjQUFjLG9CQUFvQjtBQUVuRCxNQUFJLENBQUMsaUJBQWlCO0FBQ3BCLFVBQU0sSUFBSSxNQUFNLDRDQUE0QyxTQUFTO0FBQUE7QUFHdkUsTUFBSSxrQkFBa0I7QUFDdEIsTUFBSSxTQUFTLG9CQUFvQjtBQUMvQix1QkFBbUIsc0JBQXNCLFNBQVMsbUJBQW1CLElBQUksQ0FBQyxRQUFnQjtBQUFBLFlBQWUsU0FBUyxLQUFLO0FBQUE7QUFBQTtBQUd6SCxxQkFBbUIsU0FBUyxTQUN4QixZQUFZLGdCQUFnQiwwRUFBMEUsMkJBQTJCLFNBQVM7QUFBQSxvREFDNUYsZUFBZTtBQUFBLElBRTdELGlCQUFpQjtBQUFBO0FBQUE7QUFJckIsUUFBTSxrQkFBa0I7QUFBQSxJQUN0QixPQUFPLEVBQUUsTUFBTSxVQUFVLGtDQUFrQztBQUFBLElBQzNELFVBQVUsbUNBQW1DO0FBQUEsU0FDeEMsY0FBYyxTQUFTLGNBQWMsVUFBVSxLQUFLLFVBQVUsU0FBUyxpQkFBaUI7QUFBQSxJQUM3RjtBQUFBO0FBQUE7QUFBQTtBQUtGLFNBQU87QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
118
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3J1bnRpbWUvc2VydmVyL2h5ZHJhdGlvbi50cyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFFQSxNQUFNLEVBQUUsVUFBVSxjQUFjO0FBTWhDLE1BQU0sa0JBQXFDLGlDQUN2QyxZQUR1QztBQUFBLEVBRTFDLFFBQVEsTUFBTSxPQUFPO0FBQ3BCLFFBQUksS0FBSyxPQUFPLE1BQU07QUFHckIsWUFBTSxNQUFNLEtBQUssSUFBSSxRQUFRLGNBQWE7QUFBQSxXQUNwQztBQUNOLGdCQUFVLFFBQVEsTUFBTTtBQUFBO0FBQUE7QUFBQTtBQU9wQix3QkFBd0IsT0FBWTtBQUMxQyxTQUFPLFNBQVMsY0FBYyxRQUFRO0FBQUEsSUFDckMsV0FBVztBQUFBO0FBQUE7QUFJYixNQUFNLHNCQUFzQixDQUFDLFFBQVEsUUFBUSxTQUFTLFdBQVc7QUFjMUQsMkJBQTJCLFlBQTBEO0FBQzNGLE1BQUksWUFBNEI7QUFBQSxJQUMvQixXQUFXO0FBQUEsSUFDWCxPQUFPO0FBQUE7QUFFUixhQUFXLENBQUMsS0FBSyxVQUFVLE9BQU8sUUFBUSxhQUFhO0FBQ3RELFFBQUksSUFBSSxXQUFXLFlBQVk7QUFDOUIsVUFBSSxDQUFDLFVBQVUsV0FBVztBQUN6QixrQkFBVSxZQUFZO0FBQUEsVUFDckIsV0FBVztBQUFBLFVBQ1gsT0FBTztBQUFBLFVBQ1AsY0FBYztBQUFBLFVBQ2QsaUJBQWlCLEVBQUUsT0FBTztBQUFBO0FBQUE7QUFHNUIsY0FBUTtBQUFBLGFBQ0YseUJBQXlCO0FBQzdCLG9CQUFVLFVBQVUsZUFBZTtBQUNuQztBQUFBO0FBQUEsYUFFSSwyQkFBMkI7QUFDL0Isb0JBQVUsVUFBVSxnQkFBZ0IsUUFBUTtBQUM1QztBQUFBO0FBQUEsYUFJSSw4QkFBOEI7QUFDbEM7QUFBQTtBQUFBLGlCQUVRO0FBQ1Isb0JBQVUsVUFBVSxZQUFZLElBQUksTUFBTSxLQUFLO0FBQy9DLG9CQUFVLFVBQVUsUUFBUTtBQUc1QixjQUFJLG9CQUFvQixRQUFRLFVBQVUsVUFBVSxhQUFhLEdBQUc7QUFDbkUsa0JBQU0sSUFBSSxNQUFNLHVDQUF1QyxzQ0FBc0Msb0JBQW9CLElBQUksQ0FBQyxNQUFNLFdBQVcsTUFBTSxLQUFLO0FBQUE7QUFJbkosY0FBSSxVQUFVLFVBQVUsY0FBYyxXQUFXLE9BQU8sVUFBVSxVQUFVLFVBQVUsVUFBVTtBQUMvRixrQkFBTSxJQUFJLE1BQU07QUFBQTtBQUdqQjtBQUFBO0FBQUE7QUFBQSxlQUdRLFFBQVEsY0FBYztBQUVoQyxnQkFBVSxNQUFNLElBQUksTUFBTSxHQUFHLE9BQU8sbUJBQW1CO0FBQUEsV0FDakQ7QUFDTixnQkFBVSxNQUFNLE9BQU87QUFBQTtBQUFBO0FBSXpCLFNBQU87QUFBQTtBQVdSLHFDQUE0QyxlQUFxQyxVQUFpRTtBQUNqSixRQUFNLEVBQUUsVUFBVSxRQUFRLFNBQVMsVUFBVTtBQUM3QyxRQUFNLEVBQUUsU0FBUyxjQUFjLG9CQUFvQjtBQUVuRCxNQUFJLENBQUMsaUJBQWlCO0FBQ3JCLFVBQU0sSUFBSSxNQUFNLDRDQUE0QyxTQUFTO0FBQUE7QUFHdEUsTUFBSSxrQkFBa0I7QUFDdEIsTUFBSSxTQUFTLG9CQUFvQjtBQUNoQyx1QkFBbUIsc0JBQXNCLFNBQVMsbUJBQW1CLElBQUksQ0FBQyxRQUFnQjtBQUFBLFlBQWUsU0FBUyxLQUFLO0FBQUE7QUFBQTtBQUd4SCxxQkFBbUIsU0FBUyxTQUN6QixZQUFZLGdCQUFnQiwwRUFBMEUsTUFBTSxPQUFPLFFBQVEsNEJBQTRCLE1BQU0sT0FBTyxRQUNwSyxTQUFTO0FBQUEsb0RBRXVDLGVBQWU7QUFBQSxJQUUvRCxpQkFBaUI7QUFBQTtBQUFBO0FBSXBCLFFBQU0sa0JBQWtCO0FBQUEsSUFDdkIsT0FBTyxFQUFFLE1BQU0sVUFBVSxrQ0FBa0M7QUFBQSxJQUMzRCxVQUFVLHNCQUFzQixNQUFNLE9BQU8sUUFBUSxtQkFBbUI7QUFBQSxTQUNqRSxjQUFjLFNBQVMsY0FBYyxVQUFVLEtBQUssVUFBVSxTQUFTLGlCQUFpQjtBQUFBLElBQzdGO0FBQUE7QUFBQTtBQUFBO0FBS0gsU0FBTztBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -209,7 +209,7 @@ If you're still stuck, please open an issue on GitHub or join us at https://astr
209
209
  }
210
210
  const astroId = shorthash.unique(`<!--${metadata.componentExport.value}:${metadata.componentUrl}-->
211
211
  ${html}`);
212
- result.scripts.add(await generateHydrateScript({ renderer, astroId, props }, metadata));
212
+ result.scripts.add(await generateHydrateScript({ renderer, result, astroId, props }, metadata));
213
213
  return `<astro-root uid="${astroId}">${html != null ? html : ""}</astro-root>`;
214
214
  }
215
215
  function createFetchContentFn(url) {
@@ -298,7 +298,7 @@ const uniqueElements = (item, index, all) => {
298
298
  };
299
299
  async function renderPage(result, Component, props, children) {
300
300
  const template = await renderToString(result, Component, props, children);
301
- const styles = Array.from(result.styles).filter(uniqueElements).map((style) => renderElement("style", __spreadProps(__spreadValues({}, style), {
301
+ const styles = result._metadata.experimentalStaticBuild ? [] : Array.from(result.styles).filter(uniqueElements).map((style) => renderElement("style", __spreadProps(__spreadValues({}, style), {
302
302
  props: __spreadProps(__spreadValues({}, style.props), { "astro-style": true })
303
303
  })));
304
304
  let needsHydrationStyles = false;
@@ -313,11 +313,12 @@ async function renderPage(result, Component, props, children) {
313
313
  if (needsHydrationStyles) {
314
314
  styles.push(renderElement("style", { props: { "astro-style": true }, children: "astro-root, astro-fragment { display: contents; }" }));
315
315
  }
316
+ const links = Array.from(result.links).filter(uniqueElements).map((link) => renderElement("link", link));
316
317
  let headPos = template.indexOf("</head>");
317
318
  if (headPos === -1) {
318
- return styles.join("\n") + scripts.join("\n") + template;
319
+ return links.join("\n") + styles.join("\n") + scripts.join("\n") + template;
319
320
  }
320
- return template.substring(0, headPos) + styles.join("\n") + scripts.join("\n") + template.substring(headPos);
321
+ return template.substring(0, headPos) + links.join("\n") + styles.join("\n") + scripts.join("\n") + template.substring(headPos);
321
322
  }
322
323
  async function renderAstroComponent(component) {
323
324
  let template = "";
@@ -363,4 +364,4 @@ export {
363
364
  renderToString,
364
365
  spreadAttributes
365
366
  };
366
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3J1bnRpbWUvc2VydmVyL2luZGV4LnRzIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0EsTUFBTSxtQkFBbUI7QUFTekIsdUJBQXVCLE9BQTBCO0FBQy9DLFVBQVEsTUFBTTtBQUNkLE1BQUksTUFBTSxRQUFRLFFBQVE7QUFDeEIsV0FBUSxPQUFNLFFBQVEsSUFBSSxNQUFNLElBQUksQ0FBQyxVQUFVLFFBQVEsVUFBVSxLQUFLO0FBQUEsYUFDN0QsT0FBTyxVQUFVLFlBQVk7QUFJdEMsV0FBTyxRQUFRO0FBQUEsYUFDTixPQUFPLFVBQVUsVUFBVTtBQUNwQyxXQUFPO0FBQUEsYUFDRSxDQUFDLFNBQVMsVUFBVSxHQUFHO0FBQUEsYUFLekIsaUJBQWlCLGtCQUFrQixPQUFPLFVBQVUsU0FBUyxLQUFLLFdBQVcsMkJBQTJCO0FBQy9HLFdBQU8sTUFBTSxxQkFBcUI7QUFBQSxTQUM3QjtBQUNMLFdBQU87QUFBQTtBQUFBO0FBTUoscUJBQXFCO0FBQUEsRUFJMUIsWUFBWSxXQUFpQyxhQUFvQjtBQUMvRCxTQUFLLFlBQVk7QUFDakIsU0FBSyxjQUFjO0FBQUE7QUFBQSxPQUdoQixPQUFPLGVBQWU7QUFDekIsV0FBTztBQUFBO0FBQUEsSUFHUCxPQUFPLFlBQVk7QUFDbkIsVUFBTSxFQUFFLFdBQVcsZ0JBQWdCO0FBRW5DLGFBQVMsSUFBSSxHQUFHLElBQUksVUFBVSxRQUFRLEtBQUs7QUFDekMsWUFBTSxPQUFPLFVBQVU7QUFDdkIsWUFBTSxhQUFhLFlBQVk7QUFFL0IsWUFBTSxRQUFRO0FBQ2QsWUFBTSxRQUFRO0FBQUE7QUFBQTtBQUFBO0FBS3BCLHNCQUE2QixjQUFvQyxhQUFvQjtBQUNuRixTQUFPLElBQUksZUFBZSxXQUFXO0FBQUE7QUFVaEMseUJBQXlCLElBQTJCO0FBR3pELEVBQUMsR0FBVywwQkFBMEI7QUFDdEMsU0FBTztBQUFB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
367
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3J1bnRpbWUvc2VydmVyL2luZGV4LnRzIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0EsTUFBTSxtQkFBbUI7QUFTekIsdUJBQXVCLE9BQTBCO0FBQ2hELFVBQVEsTUFBTTtBQUNkLE1BQUksTUFBTSxRQUFRLFFBQVE7QUFDekIsV0FBUSxPQUFNLFFBQVEsSUFBSSxNQUFNLElBQUksQ0FBQyxVQUFVLFFBQVEsVUFBVSxLQUFLO0FBQUEsYUFDNUQsT0FBTyxVQUFVLFlBQVk7QUFJdkMsV0FBTyxRQUFRO0FBQUEsYUFDTCxPQUFPLFVBQVUsVUFBVTtBQUNyQyxXQUFPO0FBQUEsYUFDRyxDQUFDLFNBQVMsVUFBVSxHQUFHO0FBQUEsYUFLekIsaUJBQWlCLGtCQUFrQixPQUFPLFVBQVUsU0FBUyxLQUFLLFdBQVcsMkJBQTJCO0FBQ2hILFdBQU8sTUFBTSxxQkFBcUI7QUFBQSxTQUM1QjtBQUNOLFdBQU87QUFBQTtBQUFBO0FBTUYscUJBQXFCO0FBQUEsRUFJM0IsWUFBWSxXQUFpQyxhQUFvQjtBQUNoRSxTQUFLLFlBQVk7QUFDakIsU0FBSyxjQUFjO0FBQUE7QUFBQSxPQUdmLE9BQU8sZUFBZTtBQUMxQixXQUFPO0FBQUE7QUFBQSxJQUdOLE9BQU8sWUFBWTtBQUNwQixVQUFNLEVBQUUsV0FBVyxnQkFBZ0I7QUFFbkMsYUFBUyxJQUFJLEdBQUcsSUFBSSxVQUFVLFFBQVEsS0FBSztBQUMxQyxZQUFNLE9BQU8sVUFBVTtBQUN2QixZQUFNLGFBQWEsWUFBWTtBQUUvQixZQUFNLFFBQVE7QUFDZCxZQUFNLFFBQVE7QUFBQTtBQUFBO0FBQUE7QUFLakIsc0JBQTZCLGNBQW9DLGFBQW9CO0FBQ3BGLFNBQU8sSUFBSSxlQUFlLFdBQVc7QUFBQTtBQVUvQix5QkFBeUIsSUFBMkI7QUFHMUQsRUFBQyxHQUFXLDBCQUEwQjtBQUN0QyxTQUFPO0FBQUE7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
@@ -1,9 +1,11 @@
1
+ import { hydrationSpecifier } from "./util.js";
1
2
  class Metadata {
2
- constructor(fileURL, modules, hydratedComponents, hoisted) {
3
- this.modules = modules;
4
- this.hydratedComponents = hydratedComponents;
5
- this.hoisted = hoisted;
6
- this.fileURL = new URL(fileURL);
3
+ constructor(filePathname, opts) {
4
+ this.modules = opts.modules;
5
+ this.hoisted = opts.hoisted;
6
+ this.hydratedComponents = opts.hydratedComponents;
7
+ this.hydrationDirectives = opts.hydrationDirectives;
8
+ this.fileURL = new URL(filePathname, "http://example.com");
7
9
  this.metadataCache = new Map();
8
10
  }
9
11
  resolvePath(specifier) {
@@ -17,22 +19,37 @@ class Metadata {
17
19
  const metadata = this.getComponentMetadata(Component);
18
20
  return (metadata == null ? void 0 : metadata.componentExport) || null;
19
21
  }
20
- getAllHydratedComponentPaths() {
21
- const paths = new Set();
22
- for (const component of this.hydratedComponents) {
23
- const path = this.getPath(component);
24
- if (path) {
25
- paths.add(path);
22
+ *hydratedComponentPaths() {
23
+ const found = new Set();
24
+ for (const metadata of this.deepMetadata()) {
25
+ for (const component of metadata.hydratedComponents) {
26
+ const path = this.getPath(component);
27
+ if (path && !found.has(path)) {
28
+ found.add(path);
29
+ yield path;
30
+ }
26
31
  }
27
32
  }
33
+ }
34
+ *hydrationDirectiveSpecifiers() {
35
+ for (const directive of this.hydrationDirectives) {
36
+ yield hydrationSpecifier(directive);
37
+ }
38
+ }
39
+ *deepMetadata() {
40
+ yield this;
41
+ const seen = new Set();
28
42
  for (const { module: mod } of this.modules) {
29
43
  if (typeof mod.$$metadata !== "undefined") {
30
- for (const path of mod.$$metadata.getAllHydratedComponentPaths()) {
31
- paths.add(path);
44
+ const md = mod.$$metadata;
45
+ for (const childMetdata of md.deepMetadata()) {
46
+ if (!seen.has(childMetdata)) {
47
+ seen.add(childMetdata);
48
+ yield childMetdata;
49
+ }
32
50
  }
33
51
  }
34
52
  }
35
- return paths;
36
53
  }
37
54
  getComponentMetadata(Component) {
38
55
  if (this.metadataCache.has(Component)) {
@@ -65,11 +82,11 @@ class Metadata {
65
82
  return null;
66
83
  }
67
84
  }
68
- function createMetadata(fileURL, options) {
69
- return new Metadata(fileURL, options.modules, options.hydratedComponents, options.hoisted);
85
+ function createMetadata(filePathname, options) {
86
+ return new Metadata(filePathname, options);
70
87
  }
71
88
  export {
72
89
  Metadata,
73
90
  createMetadata
74
91
  };
75
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3J1bnRpbWUvc2VydmVyL21ldGFkYXRhLnRzIl0sCiAgIm1hcHBpbmdzIjogIkFBVU8sZUFBZTtBQUFBLEVBR3BCLFlBQVksU0FBd0IsU0FBOEIsb0JBQWtDLFNBQWdCO0FBQWhGO0FBQThCO0FBQWtDO0FBQ2xHLFNBQUssVUFBVSxJQUFJLElBQUk7QUFDdkIsU0FBSyxnQkFBZ0IsSUFBSTtBQUFBO0FBQUEsRUFHM0IsWUFBWSxXQUEyQjtBQUNyQyxXQUFPLFVBQVUsV0FBVyxPQUFPLElBQUksSUFBSSxXQUFXLEtBQUssU0FBUyxXQUFXO0FBQUE7QUFBQSxFQUdqRixRQUFRLFdBQStCO0FBQ3JDLFVBQU0sV0FBVyxLQUFLLHFCQUFxQjtBQUMzQyxXQUFPLHNDQUFVLGlCQUFnQjtBQUFBO0FBQUEsRUFHbkMsVUFBVSxXQUErQjtBQUN2QyxVQUFNLFdBQVcsS0FBSyxxQkFBcUI7QUFDM0MsV0FBTyxzQ0FBVSxvQkFBbUI7QUFBQTtBQUFBLEVBSXRDLCtCQUE0QztBQUMxQyxVQUFNLFFBQVEsSUFBSTtBQUNsQixlQUFXLGFBQWEsS0FBSyxvQkFBb0I7QUFDL0MsWUFBTSxPQUFPLEtBQUssUUFBUTtBQUMxQixVQUFJLE1BQU07QUFDUixjQUFNLElBQUk7QUFBQTtBQUFBO0FBSWQsZUFBVyxFQUFFLFFBQVEsU0FBUyxLQUFLLFNBQVM7QUFDMUMsVUFBSSxPQUFPLElBQUksZUFBZSxhQUFhO0FBQ3pDLG1CQUFXLFFBQVEsSUFBSSxXQUFXLGdDQUFnQztBQUNoRSxnQkFBTSxJQUFJO0FBQUE7QUFBQTtBQUFBO0FBSWhCLFdBQU87QUFBQTtBQUFBLEVBR0QscUJBQXFCLFdBQTBDO0FBQ3JFLFFBQUksS0FBSyxjQUFjLElBQUksWUFBWTtBQUNyQyxhQUFPLEtBQUssY0FBYyxJQUFJO0FBQUE7QUFFaEMsVUFBTSxXQUFXLEtBQUssc0JBQXNCO0FBQzVDLFNBQUssY0FBYyxJQUFJLFdBQVc7QUFDbEMsV0FBTztBQUFBO0FBQUEsRUFHRCxzQkFBc0IsV0FBMEM7QUFDdEUsVUFBTSxrQkFBa0IsT0FBTyxjQUFjO0FBQzdDLGVBQVcsRUFBRSxRQUFRLGVBQWUsS0FBSyxTQUFTO0FBQ2hELFlBQU0sS0FBSyxLQUFLLFlBQVk7QUFDNUIsaUJBQVcsQ0FBQyxLQUFLLFVBQVUsT0FBTyxRQUFRLFNBQVM7QUFDakQsWUFBSSxpQkFBaUI7QUFDbkIsY0FBSSxRQUFRLGFBQWEsY0FBYyxPQUFPO0FBQzVDLG1CQUFPO0FBQUEsY0FDTCxpQkFBaUI7QUFBQSxjQUNqQixjQUFjO0FBQUE7QUFBQTtBQUFBLG1CQUdULGNBQWMsT0FBTztBQUM5QixpQkFBTztBQUFBLFlBQ0wsaUJBQWlCO0FBQUEsWUFDakIsY0FBYztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS3RCLFdBQU87QUFBQTtBQUFBO0FBVUosd0JBQXdCLFNBQWlCLFNBQWdDO0FBQzlFLFNBQU8sSUFBSSxTQUFTLFNBQVMsUUFBUSxTQUFTLFFBQVEsb0JBQW9CLFFBQVE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
92
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3J1bnRpbWUvc2VydmVyL21ldGFkYXRhLnRzIl0sCiAgIm1hcHBpbmdzIjogIkFBQUE7QUFtQk8sZUFBZTtBQUFBLEVBU3JCLFlBQVksY0FBc0IsTUFBNkI7QUFDOUQsU0FBSyxVQUFVLEtBQUs7QUFDcEIsU0FBSyxVQUFVLEtBQUs7QUFDcEIsU0FBSyxxQkFBcUIsS0FBSztBQUMvQixTQUFLLHNCQUFzQixLQUFLO0FBQ2hDLFNBQUssVUFBVSxJQUFJLElBQUksY0FBYztBQUNyQyxTQUFLLGdCQUFnQixJQUFJO0FBQUE7QUFBQSxFQUcxQixZQUFZLFdBQTJCO0FBQ3RDLFdBQU8sVUFBVSxXQUFXLE9BQU8sSUFBSSxJQUFJLFdBQVcsS0FBSyxTQUFTLFdBQVc7QUFBQTtBQUFBLEVBR2hGLFFBQVEsV0FBK0I7QUFDdEMsVUFBTSxXQUFXLEtBQUsscUJBQXFCO0FBQzNDLFdBQU8sc0NBQVUsaUJBQWdCO0FBQUE7QUFBQSxFQUdsQyxVQUFVLFdBQStCO0FBQ3hDLFVBQU0sV0FBVyxLQUFLLHFCQUFxQjtBQUMzQyxXQUFPLHNDQUFVLG9CQUFtQjtBQUFBO0FBQUEsR0FPcEMseUJBQXlCO0FBQ3pCLFVBQU0sUUFBUSxJQUFJO0FBQ2xCLGVBQVcsWUFBWSxLQUFLLGdCQUFnQjtBQUMzQyxpQkFBVyxhQUFhLFNBQVMsb0JBQW9CO0FBQ3BELGNBQU0sT0FBTyxLQUFLLFFBQVE7QUFDMUIsWUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLE9BQU87QUFDN0IsZ0JBQU0sSUFBSTtBQUNWLGdCQUFNO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHQVNULCtCQUErQjtBQUMvQixlQUFXLGFBQWEsS0FBSyxxQkFBcUI7QUFDakQsWUFBTSxtQkFBbUI7QUFBQTtBQUFBO0FBQUEsR0FJbEIsZUFBbUQ7QUFFM0QsVUFBTTtBQUVOLFVBQU0sT0FBTyxJQUFJO0FBQ2pCLGVBQVcsRUFBRSxRQUFRLFNBQVMsS0FBSyxTQUFTO0FBQzNDLFVBQUksT0FBTyxJQUFJLGVBQWUsYUFBYTtBQUMxQyxjQUFNLEtBQUssSUFBSTtBQUdmLG1CQUFXLGdCQUFnQixHQUFHLGdCQUFnQjtBQUM3QyxjQUFJLENBQUMsS0FBSyxJQUFJLGVBQWU7QUFDNUIsaUJBQUssSUFBSTtBQUNULGtCQUFNO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0gscUJBQXFCLFdBQTBDO0FBQ3RFLFFBQUksS0FBSyxjQUFjLElBQUksWUFBWTtBQUN0QyxhQUFPLEtBQUssY0FBYyxJQUFJO0FBQUE7QUFFL0IsVUFBTSxXQUFXLEtBQUssc0JBQXNCO0FBQzVDLFNBQUssY0FBYyxJQUFJLFdBQVc7QUFDbEMsV0FBTztBQUFBO0FBQUEsRUFHQSxzQkFBc0IsV0FBMEM7QUFDdkUsVUFBTSxrQkFBa0IsT0FBTyxjQUFjO0FBQzdDLGVBQVcsRUFBRSxRQUFRLGVBQWUsS0FBSyxTQUFTO0FBQ2pELFlBQU0sS0FBSyxLQUFLLFlBQVk7QUFDNUIsaUJBQVcsQ0FBQyxLQUFLLFVBQVUsT0FBTyxRQUFRLFNBQVM7QUFDbEQsWUFBSSxpQkFBaUI7QUFDcEIsY0FBSSxRQUFRLGFBQWEsY0FBYyxPQUFPO0FBQzdDLG1CQUFPO0FBQUEsY0FDTixpQkFBaUI7QUFBQSxjQUNqQixjQUFjO0FBQUE7QUFBQTtBQUFBLG1CQUdOLGNBQWMsT0FBTztBQUMvQixpQkFBTztBQUFBLFlBQ04saUJBQWlCO0FBQUEsWUFDakIsY0FBYztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS2xCLFdBQU87QUFBQTtBQUFBO0FBSUYsd0JBQXdCLGNBQXNCLFNBQWdDO0FBQ3BGLFNBQU8sSUFBSSxTQUFTLGNBQWM7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,3 +1,9 @@
1
+ function formatList(values) {
2
+ if (values.length === 1) {
3
+ return values[0];
4
+ }
5
+ return `${values.slice(0, -1).join(", ")} or ${values[values.length - 1]}`;
6
+ }
1
7
  function serializeListValue(value) {
2
8
  const hash = {};
3
9
  push(value);
@@ -20,7 +26,11 @@ function serializeListValue(value) {
20
26
  }
21
27
  }
22
28
  }
29
+ function hydrationSpecifier(hydrate) {
30
+ return `astro/client/${hydrate}.js`;
31
+ }
23
32
  export {
33
+ hydrationSpecifier,
24
34
  serializeListValue
25
35
  };
26
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3J1bnRpbWUvc2VydmVyL3V0aWwudHMiXSwKICAibWFwcGluZ3MiOiAiQUFBTyw0QkFBNEIsT0FBWTtBQUM3QyxRQUFNLE9BQTRCO0FBRWxDLE9BQUs7QUFFTCxTQUFPLE9BQU8sS0FBSyxNQUFNLEtBQUs7QUFFOUIsZ0JBQWMsTUFBVztBQUV2QixRQUFJLFFBQVEsT0FBTyxLQUFLLFlBQVk7QUFBWSxXQUFLLFFBQVE7QUFBQSxhQUVwRCxTQUFTLE9BQU87QUFDdkIsYUFBTyxLQUFLLE1BQU0sUUFBUSxDQUFDLFNBQVM7QUFDbEMsWUFBSSxLQUFLO0FBQU8sZUFBSztBQUFBO0FBQUEsU0FHcEI7QUFFSCxhQUFPLFFBQVEsT0FBTyxLQUFLLE9BQU8sTUFBTTtBQUd4QyxVQUFJLE1BQU07QUFDUixhQUFLLE1BQU0sT0FBTyxRQUFRLENBQUMsU0FBaUI7QUFDMUMsZUFBSyxRQUFRO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
36
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3J1bnRpbWUvc2VydmVyL3V0aWwudHMiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxvQkFBb0IsUUFBMEI7QUFDN0MsTUFBSSxPQUFPLFdBQVcsR0FBRztBQUN4QixXQUFPLE9BQU87QUFBQTtBQUVmLFNBQU8sR0FBRyxPQUFPLE1BQU0sR0FBRyxJQUFJLEtBQUssWUFBWSxPQUFPLE9BQU8sU0FBUztBQUFBO0FBR2hFLDRCQUE0QixPQUFZO0FBQzlDLFFBQU0sT0FBNEI7QUFFbEMsT0FBSztBQUVMLFNBQU8sT0FBTyxLQUFLLE1BQU0sS0FBSztBQUU5QixnQkFBYyxNQUFXO0FBRXhCLFFBQUksUUFBUSxPQUFPLEtBQUssWUFBWTtBQUFZLFdBQUssUUFBUTtBQUFBLGFBRXBELFNBQVMsT0FBTztBQUN4QixhQUFPLEtBQUssTUFBTSxRQUFRLENBQUMsU0FBUztBQUNuQyxZQUFJLEtBQUs7QUFBTyxlQUFLO0FBQUE7QUFBQSxTQUdsQjtBQUVKLGFBQU8sUUFBUSxPQUFPLEtBQUssT0FBTyxNQUFNO0FBR3hDLFVBQUksTUFBTTtBQUNULGFBQUssTUFBTSxPQUFPLFFBQVEsQ0FBQyxTQUFpQjtBQUMzQyxlQUFLLFFBQVE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWVgsNEJBQTRCLFNBQWlCO0FBQ25ELFNBQU8sZ0JBQWdCO0FBQUE7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -334,10 +334,13 @@ export interface SSRElement {
334
334
  export interface SSRMetadata {
335
335
  renderers: Renderer[];
336
336
  pathname: string;
337
+ experimentalStaticBuild: boolean;
337
338
  }
338
339
  export interface SSRResult {
339
340
  styles: Set<SSRElement>;
340
341
  scripts: Set<SSRElement>;
342
+ links: Set<SSRElement>;
341
343
  createAstro(Astro: AstroGlobalPartial, props: Record<string, any>, slots: Record<string, any> | null): AstroGlobal;
344
+ resolve: (s: string) => Promise<string>;
342
345
  _metadata: SSRMetadata;
343
346
  }
@@ -1,2 +1,2 @@
1
1
  /** The primary CLI action */
2
- export declare function cli(args: string[]): Promise<void>;
2
+ export declare function cli(args: string[]): Promise<undefined>;
@@ -0,0 +1,14 @@
1
+ import type { RenderedChunk } from 'rollup';
2
+ export interface BuildInternals {
3
+ pureCSSChunks: Set<RenderedChunk>;
4
+ chunkToReferenceIdMap: Map<string, string>;
5
+ astroStyleMap: Map<string, string>;
6
+ astroPageStyleMap: Map<string, string>;
7
+ facadeIdToAssetsMap: Map<string, string[]>;
8
+ entrySpecifierToBundleMap: Map<string, string>;
9
+ }
10
+ /**
11
+ * Creates internal maps used to coordinate the CSS and HTML plugins.
12
+ * @returns {BuildInternals}
13
+ */
14
+ export declare function createBuildInternals(): BuildInternals;
@@ -0,0 +1,17 @@
1
+ import type { AstroConfig, ManifestData, RouteCache } from '../../@types/astro';
2
+ import type { AllPagesData } from './types';
3
+ import type { LogOptions } from '../logger';
4
+ import type { ViteDevServer } from '../vite.js';
5
+ export interface CollectPagesDataOptions {
6
+ astroConfig: AstroConfig;
7
+ logging: LogOptions;
8
+ manifest: ManifestData;
9
+ origin: string;
10
+ routeCache: RouteCache;
11
+ viteServer: ViteDevServer;
12
+ }
13
+ export interface CollectPagesDataResult {
14
+ assets: Record<string, string>;
15
+ allPages: AllPagesData;
16
+ }
17
+ export declare function collectPagesData(opts: CollectPagesDataOptions): Promise<CollectPagesDataResult>;
@@ -0,0 +1,16 @@
1
+ import type { ViteDevServer } from '../vite.js';
2
+ import type { AstroConfig, RouteCache } from '../../@types/astro';
3
+ import type { AllPagesData } from './types';
4
+ import type { LogOptions } from '../logger';
5
+ import type { ViteConfigWithSSR } from '../create-vite.js';
6
+ export interface ScanBasedBuildOptions {
7
+ allPages: AllPagesData;
8
+ astroConfig: AstroConfig;
9
+ logging: LogOptions;
10
+ origin: string;
11
+ pageNames: string[];
12
+ routeCache: RouteCache;
13
+ viteConfig: ViteConfigWithSSR;
14
+ viteServer: ViteDevServer;
15
+ }
16
+ export declare function build(opts: ScanBasedBuildOptions): Promise<import("rollup").RollupOutput | import("rollup").RollupOutput[] | import("rollup").RollupWatcher>;
@@ -0,0 +1,16 @@
1
+ import type { Plugin as VitePlugin } from '../vite';
2
+ import type { AstroConfig, RouteCache } from '../../@types/astro';
3
+ import type { AllPagesData } from './types';
4
+ import type { LogOptions } from '../logger';
5
+ import type { ViteConfigWithSSR } from '../create-vite';
6
+ import type { BuildInternals } from '../../core/build/internal.js';
7
+ export interface StaticBuildOptions {
8
+ allPages: AllPagesData;
9
+ astroConfig: AstroConfig;
10
+ logging: LogOptions;
11
+ origin: string;
12
+ routeCache: RouteCache;
13
+ viteConfig: ViteConfigWithSSR;
14
+ }
15
+ export declare function staticBuild(opts: StaticBuildOptions): Promise<void>;
16
+ export declare function vitePluginNewBuild(input: Set<string>, internals: BuildInternals, ext: 'js' | 'mjs'): VitePlugin;
@@ -25,14 +25,17 @@ export declare const AstroConfigSchema: z.ZodObject<{
25
25
  site: z.ZodOptional<z.ZodString>;
26
26
  sitemap: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
27
27
  pageUrlFormat: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"file">, z.ZodLiteral<"directory">]>>>;
28
+ experimentalStaticBuild: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
28
29
  }, "strip", z.ZodTypeAny, {
29
30
  site?: string | undefined;
30
31
  sitemap: boolean;
31
32
  pageUrlFormat: "file" | "directory";
33
+ experimentalStaticBuild: boolean;
32
34
  }, {
33
35
  site?: string | undefined;
34
36
  sitemap?: boolean | undefined;
35
37
  pageUrlFormat?: "file" | "directory" | undefined;
38
+ experimentalStaticBuild?: boolean | undefined;
36
39
  }>>>;
37
40
  devOptions: z.ZodDefault<z.ZodOptional<z.ZodObject<{
38
41
  hostname: z.ZodDefault<z.ZodOptional<z.ZodString>>;
@@ -66,6 +69,7 @@ export declare const AstroConfigSchema: z.ZodObject<{
66
69
  site?: string | undefined;
67
70
  sitemap: boolean;
68
71
  pageUrlFormat: "file" | "directory";
72
+ experimentalStaticBuild: boolean;
69
73
  };
70
74
  devOptions: {
71
75
  hostname: string;
@@ -89,6 +93,7 @@ export declare const AstroConfigSchema: z.ZodObject<{
89
93
  site?: string | undefined;
90
94
  sitemap?: boolean | undefined;
91
95
  pageUrlFormat?: "file" | "directory" | undefined;
96
+ experimentalStaticBuild?: boolean | undefined;
92
97
  } | undefined;
93
98
  devOptions?: {
94
99
  hostname?: string | undefined;
@@ -1,9 +1,10 @@
1
1
  /// <reference types="node" />
2
2
  import type http from 'http';
3
- import type { AstroConfig } from '../../@types/astro';
3
+ import type { AstroConfig, ManifestData, RouteCache, RouteData } from '../../@types/astro';
4
4
  import type { LogOptions } from '../logger';
5
5
  import type { HmrContext, ModuleNode } from '../vite';
6
6
  import connect from 'connect';
7
+ import vite from '../vite.js';
7
8
  export interface DevOptions {
8
9
  logging: LogOptions;
9
10
  }
@@ -18,19 +19,19 @@ export default function dev(config: AstroConfig, options?: DevOptions): Promise<
18
19
  /** Dev server */
19
20
  export declare class AstroDevServer {
20
21
  app: connect.Server;
21
- httpServer: http.Server | undefined;
22
+ config: AstroConfig;
23
+ devRoot: string;
22
24
  hostname: string;
25
+ httpServer: http.Server | undefined;
26
+ logging: LogOptions;
27
+ manifest: ManifestData;
28
+ mostRecentRoute?: RouteData;
29
+ origin: string;
23
30
  port: number;
24
- private config;
25
- private logging;
26
- private manifest;
27
- private mostRecentRoute?;
28
- private site;
29
- private devRoot;
30
- private url;
31
- private origin;
32
- private routeCache;
33
- private viteServer;
31
+ routeCache: RouteCache;
32
+ site: URL | undefined;
33
+ url: URL;
34
+ viteServer: vite.ViteDevServer | undefined;
34
35
  constructor(config: AstroConfig, options: DevOptions);
35
36
  start(): Promise<void>;
36
37
  stop(): Promise<void>;
@@ -1,5 +1,5 @@
1
1
  import type vite from '../vite';
2
- import type { AstroConfig, ComponentInstance, Renderer, RouteCache, RouteData, RuntimeMode } from '../../@types/astro';
2
+ import type { AstroConfig, ComponentInstance, Params, Props, Renderer, RouteCache, RouteData, RuntimeMode } from '../../@types/astro';
3
3
  import type { LogOptions } from '../logger';
4
4
  interface SSROptions {
5
5
  /** an instance of the AstroConfig */
@@ -23,6 +23,13 @@ interface SSROptions {
23
23
  }
24
24
  export declare type ComponentPreload = [Renderer[], ComponentInstance];
25
25
  export declare function preload({ astroConfig, filePath, viteServer }: SSROptions): Promise<ComponentPreload>;
26
+ export declare function getParamsAndProps({ route, routeCache, logging, pathname, mod, }: {
27
+ route: RouteData | undefined;
28
+ routeCache: RouteCache;
29
+ pathname: string;
30
+ mod: ComponentInstance;
31
+ logging: LogOptions;
32
+ }): Promise<[Params, Props]>;
26
33
  /** use Vite to SSR */
27
34
  export declare function render(renderers: Renderer[], mod: ComponentInstance, ssrOpts: SSROptions): Promise<string>;
28
35
  export declare function ssr(ssrOpts: SSROptions): Promise<string>;
@@ -0,0 +1,9 @@
1
+ import type { AstroConfig, Params, Renderer, SSRResult } from '../../@types/astro';
2
+ export interface CreateResultArgs {
3
+ astroConfig: AstroConfig;
4
+ origin: string;
5
+ params: Params;
6
+ pathname: string;
7
+ renderers: Renderer[];
8
+ }
9
+ export declare function createResult(args: CreateResultArgs): SSRResult;
@@ -1,5 +1,5 @@
1
1
  import type { AstroComponentMetadata } from '../../@types/astro';
2
- import type { SSRElement } from '../../@types/astro';
2
+ import type { SSRElement, SSRResult } from '../../@types/astro';
3
3
  export declare function serializeProps(value: any): string;
4
4
  interface ExtractedProps {
5
5
  hydration: {
@@ -15,6 +15,7 @@ interface ExtractedProps {
15
15
  export declare function extractDirectives(inputProps: Record<string | number, any>): ExtractedProps;
16
16
  interface HydrateScriptOptions {
17
17
  renderer: any;
18
+ result: SSRResult;
18
19
  astroId: string;
19
20
  props: Record<string | number, any>;
20
21
  }
@@ -2,24 +2,35 @@ interface ModuleInfo {
2
2
  module: Record<string, any>;
3
3
  specifier: string;
4
4
  }
5
- export declare class Metadata {
5
+ interface CreateMetadataOptions {
6
6
  modules: ModuleInfo[];
7
7
  hydratedComponents: any[];
8
+ hydrationDirectives: Set<string>;
8
9
  hoisted: any[];
10
+ }
11
+ export declare class Metadata {
9
12
  fileURL: URL;
13
+ modules: ModuleInfo[];
14
+ hoisted: any[];
15
+ hydratedComponents: any[];
16
+ hydrationDirectives: Set<string>;
10
17
  private metadataCache;
11
- constructor(fileURL: string, modules: ModuleInfo[], hydratedComponents: any[], hoisted: any[]);
18
+ constructor(filePathname: string, opts: CreateMetadataOptions);
12
19
  resolvePath(specifier: string): string;
13
20
  getPath(Component: any): string | null;
14
21
  getExport(Component: any): string | null;
15
- getAllHydratedComponentPaths(): Set<string>;
22
+ /**
23
+ * Gets the paths of all hydrated components within this component
24
+ * and children components.
25
+ */
26
+ hydratedComponentPaths(): Generator<string, void, unknown>;
27
+ /**
28
+ * Gets all of the hydration specifiers used within this component.
29
+ */
30
+ hydrationDirectiveSpecifiers(): Generator<string, void, unknown>;
31
+ private deepMetadata;
16
32
  private getComponentMetadata;
17
33
  private findComponentMetadata;
18
34
  }
19
- interface CreateMetadataOptions {
20
- modules: ModuleInfo[];
21
- hydratedComponents: any[];
22
- hoisted: any[];
23
- }
24
- export declare function createMetadata(fileURL: string, options: CreateMetadataOptions): Metadata;
35
+ export declare function createMetadata(filePathname: string, options: CreateMetadataOptions): Metadata;
25
36
  export {};
@@ -1 +1,7 @@
1
1
  export declare function serializeListValue(value: any): string;
2
+ /**
3
+ * Get the import specifier for a given hydration directive.
4
+ * @param hydrate The hydration directive such as `idle` or `visible`
5
+ * @returns
6
+ */
7
+ export declare function hydrationSpecifier(hydrate: string): string;
@@ -0,0 +1,5 @@
1
+ import type { AstroConfig } from '../@types/astro';
2
+ import type { TransformResult } from '@astrojs/compiler';
3
+ import type { TransformHook } from './styles';
4
+ export declare function invalidateCompilation(config: AstroConfig, filename: string): void;
5
+ export declare function cachedCompilation(config: AstroConfig, filename: string, source: string | null, viteTransform: TransformHook, opts: boolean | undefined): Promise<TransformResult>;
@@ -1,10 +1,12 @@
1
1
  import type vite from '../core/vite';
2
2
  import type { AstroConfig } from '../@types/astro';
3
+ import type { LogOptions } from '../core/logger';
3
4
  import { AstroDevServer } from '../core/dev/index.js';
4
5
  interface AstroPluginOptions {
5
6
  config: AstroConfig;
7
+ logging: LogOptions;
6
8
  devServer?: AstroDevServer;
7
9
  }
8
10
  /** Transform .astro files for Vite */
9
- export default function astro({ config, devServer }: AstroPluginOptions): vite.Plugin;
11
+ export default function astro({ config, logging }: AstroPluginOptions): vite.Plugin;
10
12
  export {};
@@ -0,0 +1,12 @@
1
+ export interface AstroQuery {
2
+ astro?: boolean;
3
+ src?: boolean;
4
+ type?: 'script' | 'template' | 'style' | 'custom';
5
+ index?: number;
6
+ lang?: string;
7
+ raw?: boolean;
8
+ }
9
+ export declare function parseAstroRequest(id: string): {
10
+ filename: string;
11
+ query: AstroQuery;
12
+ };
@@ -1,13 +1,10 @@
1
- import type { RenderedChunk } from 'rollup';
1
+ import type { BuildInternals } from '../core/build/internal';
2
2
  import { Plugin as VitePlugin } from '../core/vite';
3
3
  export declare function getAstroPageStyleId(pathname: string): string;
4
4
  export declare function getAstroStyleId(pathname: string): string;
5
5
  export declare function getAstroStylePathFromId(id: string): string;
6
6
  interface PluginOptions {
7
- astroStyleMap: Map<string, string>;
8
- astroPageStyleMap: Map<string, string>;
9
- chunkToReferenceIdMap: Map<string, string>;
10
- pureCSSChunks: Set<RenderedChunk>;
7
+ internals: BuildInternals;
11
8
  }
12
9
  export declare function rollupPluginAstroBuildCSS(options: PluginOptions): VitePlugin;
13
10
  export {};
@@ -1,17 +1,14 @@
1
1
  import type { AstroConfig, RouteCache } from '../@types/astro';
2
2
  import type { LogOptions } from '../core/logger';
3
3
  import type { ViteDevServer, Plugin as VitePlugin } from '../core/vite';
4
- import type { RenderedChunk } from 'rollup';
5
4
  import type { AllPagesData } from '../core/build/types';
5
+ import type { BuildInternals } from '../core/build/internal';
6
6
  interface PluginOptions {
7
7
  astroConfig: AstroConfig;
8
- astroStyleMap: Map<string, string>;
9
- astroPageStyleMap: Map<string, string>;
10
- chunkToReferenceIdMap: Map<string, string>;
8
+ internals: BuildInternals;
11
9
  logging: LogOptions;
12
10
  allPages: AllPagesData;
13
11
  pageNames: string[];
14
- pureCSSChunks: Set<RenderedChunk>;
15
12
  origin: string;
16
13
  routeCache: RouteCache;
17
14
  viteServer: ViteDevServer;