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.
- package/astro.js +64 -64
- package/components/Code.astro +34 -34
- package/components/Debug.astro +44 -43
- package/components/Markdown.astro +20 -15
- package/components/Prism.astro +20 -23
- package/dist/cli/check.js +1 -1
- package/dist/cli/index.js +22 -19
- package/dist/core/build/index.js +37 -130
- package/dist/core/build/internal.js +19 -0
- package/dist/core/build/page-data.js +92 -0
- package/dist/core/build/scan-based-build.js +50 -0
- package/dist/core/build/static-build.js +226 -0
- package/dist/core/config.js +3 -2
- package/dist/core/create-vite.js +2 -2
- package/dist/core/dev/index.js +8 -6
- package/dist/core/dev/messages.js +1 -1
- package/dist/core/dev/template/4xx.js +1 -1
- package/dist/core/dev/template/5xx.js +1 -1
- package/dist/core/dev/util.js +1 -1
- package/dist/core/logger.js +1 -1
- package/dist/core/preview/index.js +2 -3
- package/dist/core/ssr/css.js +1 -1
- package/dist/core/ssr/html.js +1 -1
- package/dist/core/ssr/index.js +47 -43
- package/dist/core/ssr/paginate.js +1 -1
- package/dist/core/ssr/result.js +72 -0
- package/dist/core/ssr/routing.js +1 -1
- package/dist/core/ssr/rss.js +1 -1
- package/dist/core/ssr/sitemap.js +1 -1
- package/dist/core/util.js +1 -1
- package/dist/runtime/client/hmr.js +1 -1
- package/dist/runtime/client/idle.js +1 -1
- package/dist/runtime/client/load.js +1 -1
- package/dist/runtime/client/media.js +1 -1
- package/dist/runtime/client/only.js +1 -1
- package/dist/runtime/client/visible.js +1 -1
- package/dist/runtime/server/hydration.js +8 -5
- package/dist/runtime/server/index.js +6 -5
- package/dist/runtime/server/metadata.js +34 -17
- package/dist/runtime/server/util.js +11 -1
- package/dist/types/@types/astro.d.ts +3 -0
- package/dist/types/cli/index.d.ts +1 -1
- package/dist/types/core/build/internal.d.ts +14 -0
- package/dist/types/core/build/page-data.d.ts +17 -0
- package/dist/types/core/build/scan-based-build.d.ts +16 -0
- package/dist/types/core/build/static-build.d.ts +16 -0
- package/dist/types/core/config.d.ts +5 -0
- package/dist/types/core/dev/index.d.ts +13 -12
- package/dist/types/core/ssr/index.d.ts +8 -1
- package/dist/types/core/ssr/result.d.ts +9 -0
- package/dist/types/runtime/server/hydration.d.ts +2 -1
- package/dist/types/runtime/server/metadata.d.ts +20 -9
- package/dist/types/runtime/server/util.d.ts +6 -0
- package/dist/types/vite-plugin-astro/compile.d.ts +5 -0
- package/dist/types/vite-plugin-astro/index.d.ts +3 -1
- package/dist/types/vite-plugin-astro/query.d.ts +12 -0
- package/dist/types/vite-plugin-build-css/index.d.ts +2 -5
- package/dist/types/vite-plugin-build-html/index.d.ts +2 -5
- package/dist/vite-plugin-astro/compile.js +93 -0
- package/dist/vite-plugin-astro/index.js +54 -66
- package/dist/vite-plugin-astro/query.js +24 -0
- package/dist/vite-plugin-astro/styles.js +1 -1
- package/dist/vite-plugin-astro-postprocess/index.js +1 -1
- package/dist/vite-plugin-build-css/index.js +26 -20
- package/dist/vite-plugin-build-css/resolve.js +1 -1
- package/dist/vite-plugin-build-html/add-rollup-input.js +1 -1
- package/dist/vite-plugin-build-html/extract-assets.js +1 -1
- package/dist/vite-plugin-build-html/index.js +13 -14
- package/dist/vite-plugin-build-html/util.js +1 -1
- package/dist/vite-plugin-config-alias/index.js +1 -1
- package/dist/vite-plugin-fetch/index.js +1 -1
- package/dist/vite-plugin-jsx/index.js +1 -1
- package/dist/vite-plugin-markdown/index.js +4 -1
- 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 '
|
|
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,
|
|
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,
|
|
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(
|
|
3
|
-
this.modules = modules;
|
|
4
|
-
this.
|
|
5
|
-
this.
|
|
6
|
-
this.
|
|
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
|
-
|
|
21
|
-
const
|
|
22
|
-
for (const
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
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
|
-
|
|
31
|
-
|
|
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(
|
|
69
|
-
return new Metadata(
|
|
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,
|
|
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,
|
|
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<
|
|
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
|
-
|
|
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
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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 {
|
|
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
|
-
|
|
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
|
-
|
|
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;
|