astro 5.7.5 → 5.7.7
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/components/image.css +5 -12
- package/dist/assets/fonts/config.d.ts +9 -9
- package/dist/assets/fonts/config.js +3 -4
- package/dist/assets/fonts/constants.d.ts +3 -73
- package/dist/assets/fonts/constants.js +16 -68
- package/dist/assets/fonts/definitions.d.ts +73 -0
- package/dist/assets/fonts/definitions.js +0 -0
- package/dist/assets/fonts/implementations/css-renderer.d.ts +9 -0
- package/dist/assets/fonts/implementations/css-renderer.js +42 -0
- package/dist/assets/fonts/implementations/data-collector.d.ts +3 -0
- package/dist/assets/fonts/implementations/data-collector.js +21 -0
- package/dist/assets/fonts/implementations/error-handler.d.ts +2 -0
- package/dist/assets/fonts/implementations/error-handler.js +33 -0
- package/dist/assets/fonts/implementations/font-fetcher.d.ts +8 -0
- package/dist/assets/fonts/implementations/font-fetcher.js +34 -0
- package/dist/assets/fonts/implementations/font-metrics-resolver.d.ts +5 -0
- package/dist/assets/fonts/implementations/font-metrics-resolver.js +60 -0
- package/dist/assets/fonts/implementations/font-type-extractor.d.ts +4 -0
- package/dist/assets/fonts/implementations/font-type-extractor.js +22 -0
- package/dist/assets/fonts/implementations/hasher.d.ts +2 -0
- package/dist/assets/fonts/implementations/hasher.js +14 -0
- package/dist/assets/fonts/implementations/local-provider-url-resolver.d.ts +5 -0
- package/dist/assets/fonts/implementations/local-provider-url-resolver.js +17 -0
- package/dist/assets/fonts/implementations/remote-font-provider-mod-resolver.d.ts +6 -0
- package/dist/assets/fonts/implementations/remote-font-provider-mod-resolver.js +20 -0
- package/dist/assets/fonts/implementations/remote-font-provider-resolver.d.ts +6 -0
- package/dist/assets/fonts/implementations/remote-font-provider-resolver.js +47 -0
- package/dist/assets/fonts/implementations/storage.d.ts +4 -0
- package/dist/assets/fonts/implementations/storage.js +14 -0
- package/dist/assets/fonts/implementations/system-fallbacks-provider.d.ts +11 -0
- package/dist/assets/fonts/implementations/system-fallbacks-provider.js +74 -0
- package/dist/assets/fonts/implementations/url-proxy-content-resolver.d.ts +5 -0
- package/dist/assets/fonts/implementations/url-proxy-content-resolver.js +28 -0
- package/dist/assets/fonts/implementations/url-proxy.d.ts +8 -0
- package/dist/assets/fonts/implementations/url-proxy.js +26 -0
- package/dist/assets/fonts/logic/extract-unifont-providers.d.ts +10 -0
- package/dist/assets/fonts/logic/extract-unifont-providers.js +28 -0
- package/dist/assets/fonts/logic/normalize-remote-font-faces.d.ts +6 -0
- package/dist/assets/fonts/logic/normalize-remote-font-faces.js +36 -0
- package/dist/assets/fonts/logic/optimize-fallbacks.d.ts +17 -0
- package/dist/assets/fonts/logic/optimize-fallbacks.js +47 -0
- package/dist/assets/fonts/logic/resolve-families.d.ts +17 -0
- package/dist/assets/fonts/logic/resolve-families.js +67 -0
- package/dist/assets/fonts/orchestrate.d.ts +37 -0
- package/dist/assets/fonts/orchestrate.js +125 -0
- package/dist/assets/fonts/providers/local.d.ts +6 -7
- package/dist/assets/fonts/providers/local.js +26 -29
- package/dist/assets/fonts/types.d.ts +32 -2
- package/dist/assets/fonts/utils.d.ts +17 -87
- package/dist/assets/fonts/utils.js +21 -183
- package/dist/assets/fonts/vite-plugin-fonts.js +98 -80
- package/dist/assets/internal.js +0 -2
- package/dist/assets/layout.js +4 -4
- package/dist/assets/types.d.ts +4 -4
- package/dist/content/content-layer.js +3 -3
- package/dist/core/config/schemas/base.d.ts +19 -19
- package/dist/core/config/schemas/base.js +1 -1
- package/dist/core/config/schemas/relative.d.ts +25 -25
- package/dist/core/constants.js +1 -1
- package/dist/core/dev/dev.js +1 -1
- package/dist/core/errors/errors-data.d.ts +2 -1
- package/dist/core/errors/errors-data.js +2 -1
- package/dist/core/messages.js +2 -2
- package/dist/core/routing/manifest/create.js +4 -1
- package/dist/types/public/config.d.ts +19 -22
- package/dist/vite-plugin-markdown/images.js +4 -4
- package/package.json +4 -4
- package/types/content.d.ts +11 -4
- package/dist/assets/fonts/load.d.ts +0 -20
- package/dist/assets/fonts/load.js +0 -162
- package/dist/assets/fonts/metrics.d.ts +0 -10
- package/dist/assets/fonts/metrics.js +0 -55
- package/dist/assets/fonts/providers/utils.d.ts +0 -9
- package/dist/assets/fonts/providers/utils.js +0 -37
|
@@ -3,48 +3,38 @@ import { readFile } from "node:fs/promises";
|
|
|
3
3
|
import { isAbsolute } from "node:path";
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
5
|
import { removeTrailingForwardSlash } from "@astrojs/internal-helpers/path";
|
|
6
|
-
import { createStorage } from "unstorage";
|
|
7
|
-
import fsLiteDriver from "unstorage/drivers/fs-lite";
|
|
8
|
-
import xxhash from "xxhash-wasm";
|
|
9
6
|
import { collectErrorMetadata } from "../../core/errors/dev/utils.js";
|
|
10
7
|
import { AstroError, AstroErrorData, isAstroError } from "../../core/errors/index.js";
|
|
11
8
|
import { formatErrorMessage } from "../../core/messages.js";
|
|
12
9
|
import { getClientOutputDirectory } from "../../prerender/utils.js";
|
|
13
10
|
import {
|
|
14
11
|
CACHE_DIR,
|
|
12
|
+
DEFAULTS,
|
|
15
13
|
RESOLVED_VIRTUAL_MODULE_ID,
|
|
16
14
|
URL_PREFIX,
|
|
17
15
|
VIRTUAL_MODULE_ID
|
|
18
16
|
} from "./constants.js";
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
17
|
+
import { createMinifiableCssRenderer } from "./implementations/css-renderer.js";
|
|
18
|
+
import { createDataCollector } from "./implementations/data-collector.js";
|
|
19
|
+
import { createAstroErrorHandler } from "./implementations/error-handler.js";
|
|
20
|
+
import { createCachedFontFetcher } from "./implementations/font-fetcher.js";
|
|
21
|
+
import { createCapsizeFontMetricsResolver } from "./implementations/font-metrics-resolver.js";
|
|
22
|
+
import { createFontTypeExtractor } from "./implementations/font-type-extractor.js";
|
|
23
|
+
import { createXxHasher } from "./implementations/hasher.js";
|
|
24
|
+
import { createRequireLocalProviderUrlResolver } from "./implementations/local-provider-url-resolver.js";
|
|
21
25
|
import {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
} from "./
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if (!response.ok) {
|
|
35
|
-
throw new Error(`Response was not successful, received status code ${response.status}`);
|
|
36
|
-
}
|
|
37
|
-
return Buffer.from(await response.arrayBuffer());
|
|
38
|
-
} catch (cause) {
|
|
39
|
-
throw new AstroError(
|
|
40
|
-
{
|
|
41
|
-
...AstroErrorData.CannotFetchFontFile,
|
|
42
|
-
message: AstroErrorData.CannotFetchFontFile.message(url)
|
|
43
|
-
},
|
|
44
|
-
{ cause }
|
|
45
|
-
);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
26
|
+
createBuildRemoteFontProviderModResolver,
|
|
27
|
+
createDevServerRemoteFontProviderModResolver
|
|
28
|
+
} from "./implementations/remote-font-provider-mod-resolver.js";
|
|
29
|
+
import { createRemoteFontProviderResolver } from "./implementations/remote-font-provider-resolver.js";
|
|
30
|
+
import { createFsStorage } from "./implementations/storage.js";
|
|
31
|
+
import { createSystemFallbacksProvider } from "./implementations/system-fallbacks-provider.js";
|
|
32
|
+
import {
|
|
33
|
+
createLocalUrlProxyContentResolver,
|
|
34
|
+
createRemoteUrlProxyContentResolver
|
|
35
|
+
} from "./implementations/url-proxy-content-resolver.js";
|
|
36
|
+
import { createUrlProxy } from "./implementations/url-proxy.js";
|
|
37
|
+
import { orchestrate } from "./orchestrate.js";
|
|
48
38
|
function fontsPlugin({ settings, sync, logger }) {
|
|
49
39
|
if (!settings.config.experimental.fonts) {
|
|
50
40
|
return {
|
|
@@ -64,49 +54,75 @@ function fontsPlugin({ settings, sync, logger }) {
|
|
|
64
54
|
};
|
|
65
55
|
}
|
|
66
56
|
const baseUrl = removeTrailingForwardSlash(settings.config.base) + URL_PREFIX;
|
|
67
|
-
let
|
|
68
|
-
let
|
|
57
|
+
let fontFileDataMap = null;
|
|
58
|
+
let consumableMap = null;
|
|
69
59
|
let isBuild;
|
|
70
|
-
let
|
|
60
|
+
let fontFetcher = null;
|
|
61
|
+
let fontTypeExtractor = null;
|
|
71
62
|
const cleanup = () => {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
63
|
+
consumableMap = null;
|
|
64
|
+
fontFileDataMap = null;
|
|
65
|
+
fontFetcher = null;
|
|
75
66
|
};
|
|
76
|
-
async function initialize({
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
67
|
+
async function initialize({
|
|
68
|
+
cacheDir,
|
|
69
|
+
modResolver,
|
|
70
|
+
cssRenderer
|
|
71
|
+
}) {
|
|
72
|
+
const { root } = settings.config;
|
|
73
|
+
const hasher = await createXxHasher();
|
|
74
|
+
const errorHandler = createAstroErrorHandler();
|
|
75
|
+
const remoteFontProviderResolver = createRemoteFontProviderResolver({
|
|
76
|
+
root,
|
|
77
|
+
modResolver,
|
|
78
|
+
errorHandler
|
|
83
79
|
});
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
80
|
+
const pathsToWarn = /* @__PURE__ */ new Set();
|
|
81
|
+
const localProviderUrlResolver = createRequireLocalProviderUrlResolver({
|
|
82
|
+
root,
|
|
83
|
+
intercept: (path) => {
|
|
84
|
+
if (path.startsWith(fileURLToPath(settings.config.publicDir))) {
|
|
85
|
+
if (pathsToWarn.has(path)) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
pathsToWarn.add(path);
|
|
89
|
+
logger.warn(
|
|
90
|
+
"assets",
|
|
91
|
+
`Found a local font file ${JSON.stringify(path)} in the \`public/\` folder. To avoid duplicated files in the build output, move this file into \`src/\``
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
const storage = createFsStorage({ base: cacheDir });
|
|
97
|
+
const systemFallbacksProvider = createSystemFallbacksProvider();
|
|
98
|
+
fontFetcher = createCachedFontFetcher({ storage, errorHandler, fetch, readFile });
|
|
99
|
+
const fontMetricsResolver = createCapsizeFontMetricsResolver({ fontFetcher, cssRenderer });
|
|
100
|
+
fontTypeExtractor = createFontTypeExtractor({ errorHandler });
|
|
101
|
+
const res = await orchestrate({
|
|
102
|
+
families: settings.config.experimental.fonts,
|
|
103
|
+
hasher,
|
|
104
|
+
remoteFontProviderResolver,
|
|
105
|
+
localProviderUrlResolver,
|
|
100
106
|
storage,
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
+
cssRenderer,
|
|
108
|
+
systemFallbacksProvider,
|
|
109
|
+
fontMetricsResolver,
|
|
110
|
+
fontTypeExtractor,
|
|
111
|
+
createUrlProxy: ({ local, ...params }) => {
|
|
112
|
+
const dataCollector = createDataCollector(params);
|
|
113
|
+
const contentResolver = local ? createLocalUrlProxyContentResolver({ errorHandler }) : createRemoteUrlProxyContentResolver();
|
|
114
|
+
return createUrlProxy({
|
|
115
|
+
base: baseUrl,
|
|
116
|
+
contentResolver,
|
|
117
|
+
hasher,
|
|
118
|
+
dataCollector,
|
|
119
|
+
fontTypeExtractor
|
|
120
|
+
});
|
|
107
121
|
},
|
|
108
|
-
|
|
122
|
+
defaults: DEFAULTS
|
|
109
123
|
});
|
|
124
|
+
fontFileDataMap = res.fontFileDataMap;
|
|
125
|
+
consumableMap = res.consumableMap;
|
|
110
126
|
}
|
|
111
127
|
return {
|
|
112
128
|
name: "astro:fonts",
|
|
@@ -116,18 +132,20 @@ function fontsPlugin({ settings, sync, logger }) {
|
|
|
116
132
|
async buildStart() {
|
|
117
133
|
if (isBuild) {
|
|
118
134
|
await initialize({
|
|
119
|
-
|
|
120
|
-
|
|
135
|
+
cacheDir: new URL(CACHE_DIR, settings.config.cacheDir),
|
|
136
|
+
modResolver: createBuildRemoteFontProviderModResolver(),
|
|
137
|
+
cssRenderer: createMinifiableCssRenderer({ minify: true })
|
|
121
138
|
});
|
|
122
139
|
}
|
|
123
140
|
},
|
|
124
141
|
async configureServer(server) {
|
|
125
142
|
await initialize({
|
|
126
|
-
resolveMod: (id) => server.ssrLoadModule(id),
|
|
127
143
|
// In dev, we cache fonts data in .astro so it can be easily inspected and cleared
|
|
128
|
-
|
|
144
|
+
cacheDir: new URL(CACHE_DIR, settings.dotAstroDir),
|
|
145
|
+
modResolver: createDevServerRemoteFontProviderModResolver({ server }),
|
|
146
|
+
cssRenderer: createMinifiableCssRenderer({ minify: false })
|
|
129
147
|
});
|
|
130
|
-
const localPaths = [...
|
|
148
|
+
const localPaths = [...fontFileDataMap.values()].filter(({ url }) => isAbsolute(url)).map((v) => v.url);
|
|
131
149
|
server.watcher.on("change", (path) => {
|
|
132
150
|
if (localPaths.includes(path)) {
|
|
133
151
|
logger.info("assets", "Font file updated");
|
|
@@ -147,17 +165,17 @@ function fontsPlugin({ settings, sync, logger }) {
|
|
|
147
165
|
return next();
|
|
148
166
|
}
|
|
149
167
|
const hash = req.url.slice(1);
|
|
150
|
-
const
|
|
151
|
-
if (!
|
|
168
|
+
const associatedData = fontFileDataMap?.get(hash);
|
|
169
|
+
if (!associatedData) {
|
|
152
170
|
return next();
|
|
153
171
|
}
|
|
154
172
|
res.setHeader("Cache-Control", "no-store, no-cache, must-revalidate, max-age=0");
|
|
155
173
|
res.setHeader("Pragma", "no-cache");
|
|
156
174
|
res.setHeader("Expires", 0);
|
|
157
175
|
try {
|
|
158
|
-
const data = await
|
|
176
|
+
const data = await fontFetcher.fetch({ hash, ...associatedData });
|
|
159
177
|
res.setHeader("Content-Length", data.length);
|
|
160
|
-
res.setHeader("Content-Type", `font/${
|
|
178
|
+
res.setHeader("Content-Type", `font/${fontTypeExtractor.extract(hash)}`);
|
|
161
179
|
res.end(data);
|
|
162
180
|
} catch (err) {
|
|
163
181
|
logger.error("assets", "Cannot download font file");
|
|
@@ -180,7 +198,7 @@ function fontsPlugin({ settings, sync, logger }) {
|
|
|
180
198
|
load(id) {
|
|
181
199
|
if (id === RESOLVED_VIRTUAL_MODULE_ID) {
|
|
182
200
|
return {
|
|
183
|
-
code: `export const fontsData = new Map(${JSON.stringify(Array.from(
|
|
201
|
+
code: `export const fontsData = new Map(${JSON.stringify(Array.from(consumableMap?.entries() ?? []))})`
|
|
184
202
|
};
|
|
185
203
|
}
|
|
186
204
|
},
|
|
@@ -197,11 +215,11 @@ function fontsPlugin({ settings, sync, logger }) {
|
|
|
197
215
|
} catch (cause) {
|
|
198
216
|
throw new AstroError(AstroErrorData.UnknownFilesystemError, { cause });
|
|
199
217
|
}
|
|
200
|
-
if (
|
|
218
|
+
if (fontFileDataMap) {
|
|
201
219
|
logger.info("assets", "Copying fonts...");
|
|
202
220
|
await Promise.all(
|
|
203
|
-
Array.from(
|
|
204
|
-
const data = await
|
|
221
|
+
Array.from(fontFileDataMap.entries()).map(async ([hash, associatedData]) => {
|
|
222
|
+
const data = await fontFetcher.fetch({ hash, ...associatedData });
|
|
205
223
|
try {
|
|
206
224
|
writeFileSync(new URL(hash, fontsDir), data);
|
|
207
225
|
} catch (cause) {
|
package/dist/assets/internal.js
CHANGED
|
@@ -112,8 +112,6 @@ async function getImage(options, imageConfig) {
|
|
|
112
112
|
if (layout !== "none") {
|
|
113
113
|
resolvedOptions.style = addCSSVarsToStyle(
|
|
114
114
|
{
|
|
115
|
-
w: String(resolvedOptions.width),
|
|
116
|
-
h: String(resolvedOptions.height),
|
|
117
115
|
fit: cssFitValues.includes(resolvedOptions.fit ?? "") && resolvedOptions.fit,
|
|
118
116
|
pos: resolvedOptions.position
|
|
119
117
|
},
|
package/dist/assets/layout.js
CHANGED
|
@@ -66,7 +66,7 @@ const getWidths = ({
|
|
|
66
66
|
if (layout === "fixed") {
|
|
67
67
|
return originalWidth && width > originalWidth ? [originalWidth] : [width, maxSize];
|
|
68
68
|
}
|
|
69
|
-
if (layout === "
|
|
69
|
+
if (layout === "constrained") {
|
|
70
70
|
return [
|
|
71
71
|
// Always include the image at 1x and 2x the specified width
|
|
72
72
|
width,
|
|
@@ -86,13 +86,13 @@ const getSizesAttribute = ({
|
|
|
86
86
|
switch (layout) {
|
|
87
87
|
// If screen is wider than the max size then image width is the max size,
|
|
88
88
|
// otherwise it's the width of the screen
|
|
89
|
-
case
|
|
89
|
+
case "constrained":
|
|
90
90
|
return `(min-width: ${width}px) ${width}px, 100vw`;
|
|
91
91
|
// Image is always the same width, whatever the size of the screen
|
|
92
|
-
case
|
|
92
|
+
case "fixed":
|
|
93
93
|
return `${width}px`;
|
|
94
94
|
// Image is always the width of the screen
|
|
95
|
-
case
|
|
95
|
+
case "full-width":
|
|
96
96
|
return `100vw`;
|
|
97
97
|
case "none":
|
|
98
98
|
default:
|
package/dist/assets/types.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export type ImageQualityPreset = 'low' | 'mid' | 'high' | 'max' | (string & {});
|
|
|
5
5
|
export type ImageQuality = ImageQualityPreset | number;
|
|
6
6
|
export type ImageInputFormat = (typeof VALID_INPUT_FORMATS)[number];
|
|
7
7
|
export type ImageOutputFormat = (typeof VALID_OUTPUT_FORMATS)[number] | (string & {});
|
|
8
|
-
export type ImageLayout = '
|
|
8
|
+
export type ImageLayout = 'constrained' | 'fixed' | 'full-width' | 'none';
|
|
9
9
|
export type ImageFit = 'fill' | 'contain' | 'cover' | 'none' | 'scale-down' | (string & {});
|
|
10
10
|
export type AssetsGlobalStaticImagesList = Map<string, {
|
|
11
11
|
originalSrcPath: string | undefined;
|
|
@@ -140,15 +140,15 @@ type ImageSharedProps<T> = T & {
|
|
|
140
140
|
/**
|
|
141
141
|
* The layout type for responsive images. Requires the `experimental.responsiveImages` flag to be enabled in the Astro config.
|
|
142
142
|
*
|
|
143
|
-
* Allowed values are `
|
|
143
|
+
* Allowed values are `constrained`, `fixed`, `full-width` or `none`. Defaults to value of `image.experimentalLayout`.
|
|
144
144
|
*
|
|
145
|
-
* - `
|
|
145
|
+
* - `constrained` - The image will scale to fit the container, maintaining its aspect ratio, but will not exceed the specified dimensions.
|
|
146
146
|
* - `fixed` - The image will maintain its original dimensions.
|
|
147
147
|
* - `full-width` - The image will scale to fit the container, maintaining its aspect ratio, even if that means the image will exceed its original dimensions.
|
|
148
148
|
*
|
|
149
149
|
* **Example**:
|
|
150
150
|
* ```astro
|
|
151
|
-
* <Image src={...} layout="
|
|
151
|
+
* <Image src={...} layout="constrained" alt="..." />
|
|
152
152
|
* ```
|
|
153
153
|
*/
|
|
154
154
|
layout?: ImageLayout;
|
|
@@ -153,7 +153,7 @@ ${contentConfig.error.message}`);
|
|
|
153
153
|
logger.info("Content config changed");
|
|
154
154
|
shouldClear = true;
|
|
155
155
|
}
|
|
156
|
-
if (previousAstroVersion && previousAstroVersion !== "5.7.
|
|
156
|
+
if (previousAstroVersion && previousAstroVersion !== "5.7.7") {
|
|
157
157
|
logger.info("Astro version changed");
|
|
158
158
|
shouldClear = true;
|
|
159
159
|
}
|
|
@@ -161,8 +161,8 @@ ${contentConfig.error.message}`);
|
|
|
161
161
|
logger.info("Clearing content store");
|
|
162
162
|
this.#store.clearAll();
|
|
163
163
|
}
|
|
164
|
-
if ("5.7.
|
|
165
|
-
await this.#store.metaStore().set("astro-version", "5.7.
|
|
164
|
+
if ("5.7.7") {
|
|
165
|
+
await this.#store.metaStore().set("astro-version", "5.7.7");
|
|
166
166
|
}
|
|
167
167
|
if (currentConfigDigest) {
|
|
168
168
|
await this.#store.metaStore().set("content-config-digest", currentConfigDigest);
|
|
@@ -240,7 +240,7 @@ export declare const AstroConfigSchema: z.ZodObject<{
|
|
|
240
240
|
hostname?: string | undefined;
|
|
241
241
|
pathname?: string | undefined;
|
|
242
242
|
}>, "many">>;
|
|
243
|
-
experimentalLayout: z.ZodOptional<z.ZodEnum<["
|
|
243
|
+
experimentalLayout: z.ZodOptional<z.ZodEnum<["constrained", "fixed", "full-width", "none"]>>;
|
|
244
244
|
experimentalObjectFit: z.ZodOptional<z.ZodString>;
|
|
245
245
|
experimentalObjectPosition: z.ZodOptional<z.ZodString>;
|
|
246
246
|
experimentalBreakpoints: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
@@ -260,7 +260,7 @@ export declare const AstroConfigSchema: z.ZodObject<{
|
|
|
260
260
|
hostname?: string | undefined;
|
|
261
261
|
pathname?: string | undefined;
|
|
262
262
|
}[];
|
|
263
|
-
experimentalLayout?: "none" | "fixed" | "
|
|
263
|
+
experimentalLayout?: "none" | "fixed" | "constrained" | "full-width" | undefined;
|
|
264
264
|
experimentalObjectFit?: string | undefined;
|
|
265
265
|
experimentalObjectPosition?: string | undefined;
|
|
266
266
|
experimentalBreakpoints?: number[] | undefined;
|
|
@@ -280,7 +280,7 @@ export declare const AstroConfigSchema: z.ZodObject<{
|
|
|
280
280
|
hostname?: string | undefined;
|
|
281
281
|
pathname?: string | undefined;
|
|
282
282
|
}[] | undefined;
|
|
283
|
-
experimentalLayout?: "none" | "fixed" | "
|
|
283
|
+
experimentalLayout?: "none" | "fixed" | "constrained" | "full-width" | undefined;
|
|
284
284
|
experimentalObjectFit?: string | undefined;
|
|
285
285
|
experimentalObjectPosition?: string | undefined;
|
|
286
286
|
experimentalBreakpoints?: number[] | undefined;
|
|
@@ -728,7 +728,7 @@ export declare const AstroConfigSchema: z.ZodObject<{
|
|
|
728
728
|
name: z.ZodString;
|
|
729
729
|
cssVariable: z.ZodString;
|
|
730
730
|
}, {
|
|
731
|
-
fallbacks: z.ZodOptional<z.ZodArray<z.ZodString, "
|
|
731
|
+
fallbacks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
732
732
|
optimizedFallbacks: z.ZodOptional<z.ZodBoolean>;
|
|
733
733
|
}>, {
|
|
734
734
|
provider: z.ZodLiteral<"local">;
|
|
@@ -817,7 +817,7 @@ export declare const AstroConfigSchema: z.ZodObject<{
|
|
|
817
817
|
featureSettings?: string | undefined;
|
|
818
818
|
variationSettings?: string | undefined;
|
|
819
819
|
}[]];
|
|
820
|
-
fallbacks?:
|
|
820
|
+
fallbacks?: string[] | undefined;
|
|
821
821
|
optimizedFallbacks?: boolean | undefined;
|
|
822
822
|
}, {
|
|
823
823
|
name: string;
|
|
@@ -854,7 +854,7 @@ export declare const AstroConfigSchema: z.ZodObject<{
|
|
|
854
854
|
featureSettings?: string | undefined;
|
|
855
855
|
variationSettings?: string | undefined;
|
|
856
856
|
}[]];
|
|
857
|
-
fallbacks?:
|
|
857
|
+
fallbacks?: string[] | undefined;
|
|
858
858
|
optimizedFallbacks?: boolean | undefined;
|
|
859
859
|
}>, z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<{
|
|
860
860
|
name: z.ZodString;
|
|
@@ -868,7 +868,7 @@ export declare const AstroConfigSchema: z.ZodObject<{
|
|
|
868
868
|
featureSettings: z.ZodOptional<z.ZodString>;
|
|
869
869
|
variationSettings: z.ZodOptional<z.ZodString>;
|
|
870
870
|
}, "style" | "weight">>, {
|
|
871
|
-
fallbacks: z.ZodOptional<z.ZodArray<z.ZodString, "
|
|
871
|
+
fallbacks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
872
872
|
optimizedFallbacks: z.ZodOptional<z.ZodBoolean>;
|
|
873
873
|
}>, {
|
|
874
874
|
provider: z.ZodObject<{
|
|
@@ -891,7 +891,7 @@ export declare const AstroConfigSchema: z.ZodObject<{
|
|
|
891
891
|
entrypoint: string | URL;
|
|
892
892
|
config?: Record<string, any> | undefined;
|
|
893
893
|
};
|
|
894
|
-
fallbacks?:
|
|
894
|
+
fallbacks?: string[] | undefined;
|
|
895
895
|
optimizedFallbacks?: boolean | undefined;
|
|
896
896
|
display?: "fallback" | "auto" | "optional" | "block" | "swap" | undefined;
|
|
897
897
|
unicodeRange?: [string, ...string[]] | undefined;
|
|
@@ -908,7 +908,7 @@ export declare const AstroConfigSchema: z.ZodObject<{
|
|
|
908
908
|
entrypoint: string | URL;
|
|
909
909
|
config?: Record<string, any> | undefined;
|
|
910
910
|
};
|
|
911
|
-
fallbacks?:
|
|
911
|
+
fallbacks?: string[] | undefined;
|
|
912
912
|
optimizedFallbacks?: boolean | undefined;
|
|
913
913
|
display?: "fallback" | "auto" | "optional" | "block" | "swap" | undefined;
|
|
914
914
|
unicodeRange?: [string, ...string[]] | undefined;
|
|
@@ -960,7 +960,7 @@ export declare const AstroConfigSchema: z.ZodObject<{
|
|
|
960
960
|
featureSettings?: string | undefined;
|
|
961
961
|
variationSettings?: string | undefined;
|
|
962
962
|
}[]];
|
|
963
|
-
fallbacks?:
|
|
963
|
+
fallbacks?: string[] | undefined;
|
|
964
964
|
optimizedFallbacks?: boolean | undefined;
|
|
965
965
|
} | {
|
|
966
966
|
name: string;
|
|
@@ -969,7 +969,7 @@ export declare const AstroConfigSchema: z.ZodObject<{
|
|
|
969
969
|
entrypoint: string | URL;
|
|
970
970
|
config?: Record<string, any> | undefined;
|
|
971
971
|
};
|
|
972
|
-
fallbacks?:
|
|
972
|
+
fallbacks?: string[] | undefined;
|
|
973
973
|
optimizedFallbacks?: boolean | undefined;
|
|
974
974
|
display?: "fallback" | "auto" | "optional" | "block" | "swap" | undefined;
|
|
975
975
|
unicodeRange?: [string, ...string[]] | undefined;
|
|
@@ -1021,7 +1021,7 @@ export declare const AstroConfigSchema: z.ZodObject<{
|
|
|
1021
1021
|
featureSettings?: string | undefined;
|
|
1022
1022
|
variationSettings?: string | undefined;
|
|
1023
1023
|
}[]];
|
|
1024
|
-
fallbacks?:
|
|
1024
|
+
fallbacks?: string[] | undefined;
|
|
1025
1025
|
optimizedFallbacks?: boolean | undefined;
|
|
1026
1026
|
} | {
|
|
1027
1027
|
name: string;
|
|
@@ -1030,7 +1030,7 @@ export declare const AstroConfigSchema: z.ZodObject<{
|
|
|
1030
1030
|
entrypoint: string | URL;
|
|
1031
1031
|
config?: Record<string, any> | undefined;
|
|
1032
1032
|
};
|
|
1033
|
-
fallbacks?:
|
|
1033
|
+
fallbacks?: string[] | undefined;
|
|
1034
1034
|
optimizedFallbacks?: boolean | undefined;
|
|
1035
1035
|
display?: "fallback" | "auto" | "optional" | "block" | "swap" | undefined;
|
|
1036
1036
|
unicodeRange?: [string, ...string[]] | undefined;
|
|
@@ -1106,7 +1106,7 @@ export declare const AstroConfigSchema: z.ZodObject<{
|
|
|
1106
1106
|
hostname?: string | undefined;
|
|
1107
1107
|
pathname?: string | undefined;
|
|
1108
1108
|
}[];
|
|
1109
|
-
experimentalLayout?: "none" | "fixed" | "
|
|
1109
|
+
experimentalLayout?: "none" | "fixed" | "constrained" | "full-width" | undefined;
|
|
1110
1110
|
experimentalObjectFit?: string | undefined;
|
|
1111
1111
|
experimentalObjectPosition?: string | undefined;
|
|
1112
1112
|
experimentalBreakpoints?: number[] | undefined;
|
|
@@ -1221,7 +1221,7 @@ export declare const AstroConfigSchema: z.ZodObject<{
|
|
|
1221
1221
|
featureSettings?: string | undefined;
|
|
1222
1222
|
variationSettings?: string | undefined;
|
|
1223
1223
|
}[]];
|
|
1224
|
-
fallbacks?:
|
|
1224
|
+
fallbacks?: string[] | undefined;
|
|
1225
1225
|
optimizedFallbacks?: boolean | undefined;
|
|
1226
1226
|
} | {
|
|
1227
1227
|
name: string;
|
|
@@ -1230,7 +1230,7 @@ export declare const AstroConfigSchema: z.ZodObject<{
|
|
|
1230
1230
|
entrypoint: string | URL;
|
|
1231
1231
|
config?: Record<string, any> | undefined;
|
|
1232
1232
|
};
|
|
1233
|
-
fallbacks?:
|
|
1233
|
+
fallbacks?: string[] | undefined;
|
|
1234
1234
|
optimizedFallbacks?: boolean | undefined;
|
|
1235
1235
|
display?: "fallback" | "auto" | "optional" | "block" | "swap" | undefined;
|
|
1236
1236
|
unicodeRange?: [string, ...string[]] | undefined;
|
|
@@ -1338,7 +1338,7 @@ export declare const AstroConfigSchema: z.ZodObject<{
|
|
|
1338
1338
|
hostname?: string | undefined;
|
|
1339
1339
|
pathname?: string | undefined;
|
|
1340
1340
|
}[] | undefined;
|
|
1341
|
-
experimentalLayout?: "none" | "fixed" | "
|
|
1341
|
+
experimentalLayout?: "none" | "fixed" | "constrained" | "full-width" | undefined;
|
|
1342
1342
|
experimentalObjectFit?: string | undefined;
|
|
1343
1343
|
experimentalObjectPosition?: string | undefined;
|
|
1344
1344
|
experimentalBreakpoints?: number[] | undefined;
|
|
@@ -1480,7 +1480,7 @@ export declare const AstroConfigSchema: z.ZodObject<{
|
|
|
1480
1480
|
featureSettings?: string | undefined;
|
|
1481
1481
|
variationSettings?: string | undefined;
|
|
1482
1482
|
}[]];
|
|
1483
|
-
fallbacks?:
|
|
1483
|
+
fallbacks?: string[] | undefined;
|
|
1484
1484
|
optimizedFallbacks?: boolean | undefined;
|
|
1485
1485
|
} | {
|
|
1486
1486
|
name: string;
|
|
@@ -1489,7 +1489,7 @@ export declare const AstroConfigSchema: z.ZodObject<{
|
|
|
1489
1489
|
entrypoint: string | URL;
|
|
1490
1490
|
config?: Record<string, any> | undefined;
|
|
1491
1491
|
};
|
|
1492
|
-
fallbacks?:
|
|
1492
|
+
fallbacks?: string[] | undefined;
|
|
1493
1493
|
optimizedFallbacks?: boolean | undefined;
|
|
1494
1494
|
display?: "fallback" | "auto" | "optional" | "block" | "swap" | undefined;
|
|
1495
1495
|
unicodeRange?: [string, ...string[]] | undefined;
|
|
@@ -146,7 +146,7 @@ const AstroConfigSchema = z.object({
|
|
|
146
146
|
pathname: z.string().optional()
|
|
147
147
|
})
|
|
148
148
|
).default([]),
|
|
149
|
-
experimentalLayout: z.enum(["
|
|
149
|
+
experimentalLayout: z.enum(["constrained", "fixed", "full-width", "none"]).optional(),
|
|
150
150
|
experimentalObjectFit: z.string().optional(),
|
|
151
151
|
experimentalObjectPosition: z.string().optional(),
|
|
152
152
|
experimentalBreakpoints: z.array(z.number()).optional()
|