astro 5.16.7 → 5.16.9

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 (56) hide show
  1. package/dist/assets/fonts/config.d.ts +79 -5
  2. package/dist/assets/fonts/config.js +9 -4
  3. package/dist/assets/fonts/core/resolve-families.d.ts +4 -5
  4. package/dist/assets/fonts/core/resolve-families.js +8 -13
  5. package/dist/assets/fonts/definitions.d.ts +1 -7
  6. package/dist/assets/fonts/infra/require-local-provider-url-resolver.js +11 -3
  7. package/dist/assets/fonts/infra/unifont-font-resolver.d.ts +2 -1
  8. package/dist/assets/fonts/infra/unifont-font-resolver.js +15 -2
  9. package/dist/assets/fonts/orchestrate.d.ts +3 -5
  10. package/dist/assets/fonts/orchestrate.js +3 -8
  11. package/dist/assets/fonts/providers/index.d.ts +7 -3
  12. package/dist/assets/fonts/providers/index.js +84 -8
  13. package/dist/assets/fonts/providers/local.d.ts +1 -3
  14. package/dist/assets/fonts/providers/local.js +40 -42
  15. package/dist/assets/fonts/types.d.ts +34 -15
  16. package/dist/assets/fonts/utils.d.ts +0 -1
  17. package/dist/assets/fonts/utils.js +0 -11
  18. package/dist/assets/fonts/vite-plugin-fonts.js +19 -22
  19. package/dist/assets/vite-plugin-assets.js +4 -4
  20. package/dist/cli/infra/build-time-astro-version-provider.js +1 -1
  21. package/dist/content/content-layer.js +3 -3
  22. package/dist/core/config/schemas/base.d.ts +82 -15
  23. package/dist/core/config/schemas/relative.d.ts +100 -19
  24. package/dist/core/constants.js +1 -1
  25. package/dist/core/dev/dev.js +1 -1
  26. package/dist/core/messages.js +2 -2
  27. package/dist/core/routing/manifest/create.js +9 -6
  28. package/dist/runtime/client/dev-toolbar/apps/audit/rules/perf.js +1 -0
  29. package/dist/runtime/server/jsx.js +18 -4
  30. package/dist/runtime/server/render/common.js +8 -0
  31. package/dist/runtime/server/render/component.js +28 -4
  32. package/dist/runtime/server/render/instruction.d.ts +6 -1
  33. package/dist/runtime/server/render/script.d.ts +5 -1
  34. package/dist/runtime/server/render/script.js +7 -10
  35. package/dist/runtime/server/render/slot.d.ts +5 -0
  36. package/dist/runtime/server/render/slot.js +9 -4
  37. package/dist/vite-plugin-astro-server/base.js +3 -2
  38. package/dist/vite-plugin-astro-server/request.js +3 -0
  39. package/dist/vite-plugin-astro-server/response.js +4 -6
  40. package/package.json +5 -6
  41. package/dist/assets/fonts/infra/build-remote-font-provider-mod-resolver.d.ts +0 -4
  42. package/dist/assets/fonts/infra/build-remote-font-provider-mod-resolver.js +0 -8
  43. package/dist/assets/fonts/infra/dev-remote-font-provider-mod-resolver.d.ts +0 -9
  44. package/dist/assets/fonts/infra/dev-remote-font-provider-mod-resolver.js +0 -14
  45. package/dist/assets/fonts/infra/remote-font-provider-resolver.d.ts +0 -10
  46. package/dist/assets/fonts/infra/remote-font-provider-resolver.js +0 -49
  47. package/dist/assets/fonts/providers/entrypoints/adobe.d.ts +0 -2
  48. package/dist/assets/fonts/providers/entrypoints/adobe.js +0 -5
  49. package/dist/assets/fonts/providers/entrypoints/bunny.d.ts +0 -1
  50. package/dist/assets/fonts/providers/entrypoints/bunny.js +0 -5
  51. package/dist/assets/fonts/providers/entrypoints/fontshare.d.ts +0 -1
  52. package/dist/assets/fonts/providers/entrypoints/fontshare.js +0 -5
  53. package/dist/assets/fonts/providers/entrypoints/fontsource.d.ts +0 -1
  54. package/dist/assets/fonts/providers/entrypoints/fontsource.js +0 -5
  55. package/dist/assets/fonts/providers/entrypoints/google.d.ts +0 -2
  56. package/dist/assets/fonts/providers/entrypoints/google.js +0 -5
@@ -6,15 +6,40 @@ import type { FONT_TYPES, GENERIC_FALLBACK_NAMES, LOCAL_PROVIDER_NAME } from './
6
6
  import type { CollectedFontForMetrics } from './core/optimize-fallbacks.js';
7
7
  type Weight = z.infer<typeof weightSchema>;
8
8
  type Display = z.infer<typeof displaySchema>;
9
+ /** @lintignore */
10
+ export interface FontProviderInitContext {
11
+ storage: {
12
+ getItem: {
13
+ <T = unknown>(key: string): Promise<T | null>;
14
+ <T = unknown>(key: string, init: () => Awaitable<T>): Promise<T>;
15
+ };
16
+ setItem: (key: string, value: unknown) => Awaitable<void>;
17
+ };
18
+ }
19
+ type Awaitable<T> = T | Promise<T>;
9
20
  export interface FontProvider {
10
21
  /**
11
- * URL, path relative to the root or package import.
22
+ * The font provider name, used for display and deduplication.
12
23
  */
13
- entrypoint: string | URL;
24
+ name: string;
14
25
  /**
15
- * Optional serializable object passed to the unifont provider.
26
+ * Optional serializable object, used for deduplication.
16
27
  */
17
28
  config?: Record<string, any> | undefined;
29
+ /**
30
+ * Optional callback, used to perform any initialization logic.
31
+ */
32
+ init?: ((context: FontProviderInitContext) => Awaitable<void>) | undefined;
33
+ /**
34
+ * Required callback, used to retrieve and return font face data based on the given options.
35
+ */
36
+ resolveFont: (options: ResolveFontOptions) => Awaitable<{
37
+ fonts: Array<unifont.FontFaceData>;
38
+ } | undefined>;
39
+ /**
40
+ * Optional callback, used to return the list of available font names.
41
+ */
42
+ listFonts?: (() => Awaitable<Array<string> | undefined>) | undefined;
18
43
  }
19
44
  interface RequiredFamilyAttributes {
20
45
  /**
@@ -89,11 +114,6 @@ interface FamilyProperties {
89
114
  */
90
115
  unicodeRange?: [string, ...Array<string>] | undefined;
91
116
  }
92
- export interface ResolvedFontProvider {
93
- name?: string;
94
- provider: (config?: Record<string, any>) => unifont.Provider;
95
- config?: Record<string, any>;
96
- }
97
117
  type Src = string | URL | {
98
118
  url: string | URL;
99
119
  tech?: string | undefined;
@@ -161,8 +181,7 @@ export interface RemoteFontFamily extends RequiredFamilyAttributes, Omit<FamilyP
161
181
  formats?: [FontType, ...Array<FontType>] | undefined;
162
182
  }
163
183
  /** @lintignore somehow required by pickFontFaceProperty in utils */
164
- export interface ResolvedRemoteFontFamily extends ResolvedFontFamilyAttributes, Omit<RemoteFontFamily, 'provider' | 'weights'> {
165
- provider: ResolvedFontProvider;
184
+ export interface ResolvedRemoteFontFamily extends ResolvedFontFamilyAttributes, Omit<RemoteFontFamily, 'weights'> {
166
185
  weights?: Array<string>;
167
186
  }
168
187
  export type FontFamily = LocalFontFamily | RemoteFontFamily;
@@ -186,7 +205,7 @@ export interface PreloadData {
186
205
  }
187
206
  export type FontFaceMetrics = Pick<Font, 'ascent' | 'descent' | 'lineGap' | 'unitsPerEm' | 'xWidthAvg'>;
188
207
  export type GenericFallbackName = (typeof GENERIC_FALLBACK_NAMES)[number];
189
- export type Defaults = Partial<Pick<ResolvedRemoteFontFamily, 'weights' | 'styles' | 'subsets' | 'fallbacks' | 'optimizedFallbacks' | 'formats'>>;
208
+ export type Defaults = Required<Pick<ResolvedRemoteFontFamily, 'weights' | 'styles' | 'subsets' | 'fallbacks' | 'optimizedFallbacks' | 'formats'>>;
190
209
  export interface FontFileData {
191
210
  hash: string;
192
211
  url: string;
@@ -233,9 +252,9 @@ export type PreloadFilter = boolean | Array<{
233
252
  }>;
234
253
  export interface ResolveFontOptions {
235
254
  familyName: string;
236
- weights: string[] | undefined;
237
- styles: Style[] | undefined;
238
- subsets: string[] | undefined;
239
- formats: FontType[] | undefined;
255
+ weights: string[];
256
+ styles: Style[];
257
+ subsets: string[];
258
+ formats: FontType[];
240
259
  }
241
260
  export {};
@@ -20,7 +20,6 @@ export declare function cache(storage: Storage, key: string, cb: () => Promise<B
20
20
  export declare function isGenericFontFamily(str: string): str is GenericFallbackName;
21
21
  export declare function dedupe<const T extends Array<any>>(arr: T): T;
22
22
  export declare function sortObjectByKey<T extends Record<string, any>>(unordered: T): T;
23
- export declare function resolveEntrypoint(root: URL, entrypoint: string): URL;
24
23
  export declare function pickFontFaceProperty<T extends keyof Pick<unifont.FontFaceData, 'display' | 'unicodeRange' | 'stretch' | 'featureSettings' | 'variationSettings'>>(property: T, { data, family }: {
25
24
  data: unifont.FontFaceData;
26
25
  family: ResolvedFontFamily;
@@ -1,5 +1,3 @@
1
- import { createRequire } from "node:module";
2
- import { pathToFileURL } from "node:url";
3
1
  import { FONT_TYPES, GENERIC_FALLBACK_NAMES, LOCAL_PROVIDER_NAME } from "./constants.js";
4
2
  function unifontFontFaceDataToProperties(font) {
5
3
  return {
@@ -61,14 +59,6 @@ function sortObjectByKey(unordered) {
61
59
  }, {});
62
60
  return ordered;
63
61
  }
64
- function resolveEntrypoint(root, entrypoint) {
65
- const require2 = createRequire(root);
66
- try {
67
- return pathToFileURL(require2.resolve(entrypoint));
68
- } catch {
69
- return new URL(entrypoint, root);
70
- }
71
- }
72
62
  function pickFontFaceProperty(property, { data, family }) {
73
63
  return data[property] ?? (family.provider === LOCAL_PROVIDER_NAME ? void 0 : family[property]);
74
64
  }
@@ -80,7 +70,6 @@ export {
80
70
  pickFontFaceProperty,
81
71
  renderFontSrc,
82
72
  renderFontWeight,
83
- resolveEntrypoint,
84
73
  sortObjectByKey,
85
74
  unifontFontFaceDataToProperties,
86
75
  withoutQuotes
@@ -17,13 +17,11 @@ import {
17
17
  RESOLVED_VIRTUAL_MODULE_ID,
18
18
  VIRTUAL_MODULE_ID
19
19
  } from "./constants.js";
20
- import { BuildRemoteFontProviderModResolver } from "./infra/build-remote-font-provider-mod-resolver.js";
21
20
  import { BuildUrlProxyHashResolver } from "./infra/build-url-proxy-hash-resolver.js";
22
21
  import { BuildUrlResolver } from "./infra/build-url-resolver.js";
23
22
  import { CachedFontFetcher } from "./infra/cached-font-fetcher.js";
24
23
  import { CapsizeFontMetricsResolver } from "./infra/capsize-font-metrics-resolver.js";
25
24
  import { RealDataCollector } from "./infra/data-collector.js";
26
- import { DevServerRemoteFontProviderModResolver } from "./infra/dev-remote-font-provider-mod-resolver.js";
27
25
  import { DevUrlProxyHashResolver } from "./infra/dev-url-proxy-hash-resolver.js";
28
26
  import { DevUrlResolver } from "./infra/dev-url-resolver.js";
29
27
  import { RealFontTypeExtractor } from "./infra/font-type-extractor.js";
@@ -31,7 +29,6 @@ import { FontaceFontFileReader } from "./infra/fontace-font-file-reader.js";
31
29
  import { LevenshteinStringMatcher } from "./infra/levenshtein-string-matcher.js";
32
30
  import { LocalUrlProxyContentResolver } from "./infra/local-url-proxy-content-resolver.js";
33
31
  import { MinifiableCssRenderer } from "./infra/minifiable-css-renderer.js";
34
- import { RealRemoteFontProviderResolver } from "./infra/remote-font-provider-resolver.js";
35
32
  import { RemoteUrlProxyContentResolver } from "./infra/remote-url-proxy-content-resolver.js";
36
33
  import { RequireLocalProviderUrlResolver } from "./infra/require-local-provider-url-resolver.js";
37
34
  import { RealSystemFallbacksProvider } from "./infra/system-fallbacks-provider.js";
@@ -76,17 +73,12 @@ function fontsPlugin({ settings, sync, logger }) {
76
73
  };
77
74
  async function initialize({
78
75
  cacheDir,
79
- modResolver,
80
76
  cssRenderer,
81
77
  urlResolver,
82
78
  createHashResolver
83
79
  }) {
84
80
  const { root } = settings.config;
85
81
  const hasher = await XxhashHasher.create();
86
- const remoteFontProviderResolver = new RealRemoteFontProviderResolver({
87
- root,
88
- modResolver
89
- });
90
82
  const pathsToWarn = /* @__PURE__ */ new Set();
91
83
  const localProviderUrlResolver = new RequireLocalProviderUrlResolver({
92
84
  root,
@@ -113,7 +105,6 @@ function fontsPlugin({ settings, sync, logger }) {
113
105
  const res = await orchestrate({
114
106
  families: settings.config.experimental.fonts,
115
107
  hasher,
116
- remoteFontProviderResolver,
117
108
  localProviderUrlResolver,
118
109
  createFontResolver: async ({ families }) => await UnifontFontResolver.create({
119
110
  families,
@@ -162,7 +153,6 @@ function fontsPlugin({ settings, sync, logger }) {
162
153
  if (isBuild) {
163
154
  await initialize({
164
155
  cacheDir: new URL(CACHE_DIR, settings.config.cacheDir),
165
- modResolver: new BuildRemoteFontProviderModResolver(),
166
156
  cssRenderer: new MinifiableCssRenderer({ minify: true }),
167
157
  urlResolver: new BuildUrlResolver({
168
158
  base: baseUrl,
@@ -171,28 +161,35 @@ function fontsPlugin({ settings, sync, logger }) {
171
161
  }),
172
162
  createHashResolver: (dependencies) => new BuildUrlProxyHashResolver(dependencies)
173
163
  });
164
+ } else {
165
+ await initialize({
166
+ // In dev, we cache fonts data in .astro so it can be easily inspected and cleared
167
+ cacheDir: new URL(CACHE_DIR, settings.dotAstroDir),
168
+ cssRenderer: new MinifiableCssRenderer({ minify: false }),
169
+ urlResolver: new DevUrlResolver({
170
+ base: baseUrl,
171
+ searchParams: settings.adapter?.client?.assetQueryParams ?? new URLSearchParams()
172
+ }),
173
+ createHashResolver: (dependencies) => new DevUrlProxyHashResolver(dependencies)
174
+ });
174
175
  }
175
176
  },
176
177
  async configureServer(server) {
177
- await initialize({
178
- // In dev, we cache fonts data in .astro so it can be easily inspected and cleared
179
- cacheDir: new URL(CACHE_DIR, settings.dotAstroDir),
180
- modResolver: new DevServerRemoteFontProviderModResolver({ server }),
181
- cssRenderer: new MinifiableCssRenderer({ minify: false }),
182
- urlResolver: new DevUrlResolver({
183
- base: baseUrl,
184
- searchParams: settings.adapter?.client?.assetQueryParams ?? new URLSearchParams()
185
- }),
186
- createHashResolver: (dependencies) => new DevUrlProxyHashResolver(dependencies)
187
- });
188
- const localPaths = [...fontFileDataMap.values()].filter(({ url }) => isAbsolute(url)).map((v) => v.url);
189
178
  server.watcher.on("change", (path) => {
179
+ if (!fontFileDataMap) {
180
+ return;
181
+ }
182
+ const localPaths = [...fontFileDataMap.values()].filter(({ url }) => isAbsolute(url)).map((v) => v.url);
190
183
  if (localPaths.includes(path)) {
191
184
  logger.info("assets", "Font file updated");
192
185
  server.restart();
193
186
  }
194
187
  });
195
188
  server.watcher.on("unlink", (path) => {
189
+ if (!fontFileDataMap) {
190
+ return;
191
+ }
192
+ const localPaths = [...fontFileDataMap.values()].filter(({ url }) => isAbsolute(url)).map((v) => v.url);
196
193
  if (localPaths.includes(path)) {
197
194
  logger.warn(
198
195
  "assets",
@@ -110,12 +110,12 @@ function assets({ fs, settings, sync, logger }) {
110
110
  import * as fontsMod from 'virtual:astro:assets/fonts/internal';
111
111
  import { createGetFontData } from "astro/assets/fonts/runtime";
112
112
 
113
- export const viteFSConfig = ${JSON.stringify(resolvedConfig.server.fs)} ?? {};
114
-
113
+ export const viteFSConfig = ${JSON.stringify(resolvedConfig.server.fs ?? {})};
114
+
115
115
  export const safeModulePaths = new Set(${JSON.stringify(
116
116
  // @ts-expect-error safeModulePaths is internal to Vite
117
- Array.from(resolvedConfig.safeModulePaths)
118
- )} ?? []);
117
+ Array.from(resolvedConfig.safeModulePaths ?? [])
118
+ )});
119
119
 
120
120
  const assetQueryParams = ${settings.adapter?.client?.assetQueryParams ? `new URLSearchParams(${JSON.stringify(
121
121
  Array.from(settings.adapter.client.assetQueryParams.entries())
@@ -1,6 +1,6 @@
1
1
  class BuildTimeAstroVersionProvider {
2
2
  // Injected during the build through esbuild define
3
- version = "5.16.7";
3
+ version = "5.16.9";
4
4
  }
5
5
  export {
6
6
  BuildTimeAstroVersionProvider
@@ -164,7 +164,7 @@ ${contentConfig.error.message}`);
164
164
  logger.info("Content config changed");
165
165
  shouldClear = true;
166
166
  }
167
- if (previousAstroVersion && previousAstroVersion !== "5.16.7") {
167
+ if (previousAstroVersion && previousAstroVersion !== "5.16.9") {
168
168
  logger.info("Astro version changed");
169
169
  shouldClear = true;
170
170
  }
@@ -172,8 +172,8 @@ ${contentConfig.error.message}`);
172
172
  logger.info("Clearing content store");
173
173
  this.#store.clearAll();
174
174
  }
175
- if ("5.16.7") {
176
- await this.#store.metaStore().set("astro-version", "5.16.7");
175
+ if ("5.16.9") {
176
+ await this.#store.metaStore().set("astro-version", "5.16.9");
177
177
  }
178
178
  if (currentConfigDigest) {
179
179
  await this.#store.metaStore().set("content-config-digest", currentConfigDigest);
@@ -225,11 +225,11 @@ export declare const AstroConfigSchema: z.ZodObject<{
225
225
  entrypoint: z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"astro/assets/services/sharp">, z.ZodString]>>;
226
226
  config: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
227
227
  }, "strip", z.ZodTypeAny, {
228
- entrypoint: string;
229
228
  config: Record<string, any>;
229
+ entrypoint: string;
230
230
  }, {
231
- entrypoint?: string | undefined;
232
231
  config?: Record<string, any> | undefined;
232
+ entrypoint?: string | undefined;
233
233
  }>>;
234
234
  domains: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
235
235
  remotePatterns: z.ZodDefault<z.ZodArray<z.ZodObject<{
@@ -260,8 +260,8 @@ export declare const AstroConfigSchema: z.ZodObject<{
260
260
  entrypoint?: string | undefined;
261
261
  };
262
262
  service: {
263
- entrypoint: string;
264
263
  config: Record<string, any>;
264
+ entrypoint: string;
265
265
  };
266
266
  domains: string[];
267
267
  remotePatterns: {
@@ -281,8 +281,8 @@ export declare const AstroConfigSchema: z.ZodObject<{
281
281
  route?: string | undefined;
282
282
  } | undefined;
283
283
  service?: {
284
- entrypoint?: string | undefined;
285
284
  config?: Record<string, any> | undefined;
285
+ entrypoint?: string | undefined;
286
286
  } | undefined;
287
287
  domains?: string[] | undefined;
288
288
  remotePatterns?: {
@@ -888,14 +888,39 @@ export declare const AstroConfigSchema: z.ZodObject<{
888
888
  optimizedFallbacks?: boolean | undefined;
889
889
  }>, z.ZodObject<{
890
890
  provider: z.ZodObject<{
891
- entrypoint: z.ZodUnion<[z.ZodString, z.ZodType<URL, z.ZodTypeDef, URL>]>;
891
+ name: z.ZodString;
892
892
  config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
893
+ init: z.ZodOptional<z.ZodType<((context: import("../../../assets/fonts/types.js").FontProviderInitContext) => void | Promise<void>) | undefined, z.ZodTypeDef, ((context: import("../../../assets/fonts/types.js").FontProviderInitContext) => void | Promise<void>) | undefined>>;
894
+ resolveFont: z.ZodType<(options: import("../../../assets/fonts/types.js").ResolveFontOptions) => {
895
+ fonts: Array<import("unifont").FontFaceData>;
896
+ } | Promise<{
897
+ fonts: Array<import("unifont").FontFaceData>;
898
+ } | undefined> | undefined, z.ZodTypeDef, (options: import("../../../assets/fonts/types.js").ResolveFontOptions) => {
899
+ fonts: Array<import("unifont").FontFaceData>;
900
+ } | Promise<{
901
+ fonts: Array<import("unifont").FontFaceData>;
902
+ } | undefined> | undefined>;
903
+ listFonts: z.ZodOptional<z.ZodType<(() => string[] | Promise<string[] | undefined> | undefined) | undefined, z.ZodTypeDef, (() => string[] | Promise<string[] | undefined> | undefined) | undefined>>;
893
904
  }, "strict", z.ZodTypeAny, {
894
- entrypoint: string | URL;
905
+ name: string;
906
+ resolveFont: (options: import("../../../assets/fonts/types.js").ResolveFontOptions) => {
907
+ fonts: Array<import("unifont").FontFaceData>;
908
+ } | Promise<{
909
+ fonts: Array<import("unifont").FontFaceData>;
910
+ } | undefined> | undefined;
895
911
  config?: Record<string, any> | undefined;
912
+ init?: ((context: import("../../../assets/fonts/types.js").FontProviderInitContext) => void | Promise<void>) | undefined;
913
+ listFonts?: (() => string[] | Promise<string[] | undefined> | undefined) | undefined;
896
914
  }, {
897
- entrypoint: string | URL;
915
+ name: string;
916
+ resolveFont: (options: import("../../../assets/fonts/types.js").ResolveFontOptions) => {
917
+ fonts: Array<import("unifont").FontFaceData>;
918
+ } | Promise<{
919
+ fonts: Array<import("unifont").FontFaceData>;
920
+ } | undefined> | undefined;
898
921
  config?: Record<string, any> | undefined;
922
+ init?: ((context: import("../../../assets/fonts/types.js").FontProviderInitContext) => void | Promise<void>) | undefined;
923
+ listFonts?: (() => string[] | Promise<string[] | undefined> | undefined) | undefined;
899
924
  }>;
900
925
  weights: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber]>, "atleastone">>;
901
926
  styles: z.ZodOptional<z.ZodArray<z.ZodEnum<["normal", "italic", "oblique"]>, "atleastone">>;
@@ -912,8 +937,15 @@ export declare const AstroConfigSchema: z.ZodObject<{
912
937
  cssVariable: z.ZodString;
913
938
  }, "strict", z.ZodTypeAny, {
914
939
  provider: {
915
- entrypoint: string | URL;
940
+ name: string;
941
+ resolveFont: (options: import("../../../assets/fonts/types.js").ResolveFontOptions) => {
942
+ fonts: Array<import("unifont").FontFaceData>;
943
+ } | Promise<{
944
+ fonts: Array<import("unifont").FontFaceData>;
945
+ } | undefined> | undefined;
916
946
  config?: Record<string, any> | undefined;
947
+ init?: ((context: import("../../../assets/fonts/types.js").FontProviderInitContext) => void | Promise<void>) | undefined;
948
+ listFonts?: (() => string[] | Promise<string[] | undefined> | undefined) | undefined;
917
949
  };
918
950
  name: string;
919
951
  cssVariable: string;
@@ -930,8 +962,15 @@ export declare const AstroConfigSchema: z.ZodObject<{
930
962
  unicodeRange?: [string, ...string[]] | undefined;
931
963
  }, {
932
964
  provider: {
933
- entrypoint: string | URL;
965
+ name: string;
966
+ resolveFont: (options: import("../../../assets/fonts/types.js").ResolveFontOptions) => {
967
+ fonts: Array<import("unifont").FontFaceData>;
968
+ } | Promise<{
969
+ fonts: Array<import("unifont").FontFaceData>;
970
+ } | undefined> | undefined;
934
971
  config?: Record<string, any> | undefined;
972
+ init?: ((context: import("../../../assets/fonts/types.js").FontProviderInitContext) => void | Promise<void>) | undefined;
973
+ listFonts?: (() => string[] | Promise<string[] | undefined> | undefined) | undefined;
935
974
  };
936
975
  name: string;
937
976
  cssVariable: string;
@@ -1065,8 +1104,15 @@ export declare const AstroConfigSchema: z.ZodObject<{
1065
1104
  optimizedFallbacks?: boolean | undefined;
1066
1105
  } | {
1067
1106
  provider: {
1068
- entrypoint: string | URL;
1107
+ name: string;
1108
+ resolveFont: (options: import("../../../assets/fonts/types.js").ResolveFontOptions) => {
1109
+ fonts: Array<import("unifont").FontFaceData>;
1110
+ } | Promise<{
1111
+ fonts: Array<import("unifont").FontFaceData>;
1112
+ } | undefined> | undefined;
1069
1113
  config?: Record<string, any> | undefined;
1114
+ init?: ((context: import("../../../assets/fonts/types.js").FontProviderInitContext) => void | Promise<void>) | undefined;
1115
+ listFonts?: (() => string[] | Promise<string[] | undefined> | undefined) | undefined;
1070
1116
  };
1071
1117
  name: string;
1072
1118
  cssVariable: string;
@@ -1122,8 +1168,15 @@ export declare const AstroConfigSchema: z.ZodObject<{
1122
1168
  optimizedFallbacks?: boolean | undefined;
1123
1169
  } | {
1124
1170
  provider: {
1125
- entrypoint: string | URL;
1171
+ name: string;
1172
+ resolveFont: (options: import("../../../assets/fonts/types.js").ResolveFontOptions) => {
1173
+ fonts: Array<import("unifont").FontFaceData>;
1174
+ } | Promise<{
1175
+ fonts: Array<import("unifont").FontFaceData>;
1176
+ } | undefined> | undefined;
1126
1177
  config?: Record<string, any> | undefined;
1178
+ init?: ((context: import("../../../assets/fonts/types.js").FontProviderInitContext) => void | Promise<void>) | undefined;
1179
+ listFonts?: (() => string[] | Promise<string[] | undefined> | undefined) | undefined;
1127
1180
  };
1128
1181
  name: string;
1129
1182
  cssVariable: string;
@@ -1283,8 +1336,8 @@ export declare const AstroConfigSchema: z.ZodObject<{
1283
1336
  entrypoint?: string | undefined;
1284
1337
  };
1285
1338
  service: {
1286
- entrypoint: string;
1287
1339
  config: Record<string, any>;
1340
+ entrypoint: string;
1288
1341
  };
1289
1342
  domains: string[];
1290
1343
  remotePatterns: {
@@ -1368,8 +1421,15 @@ export declare const AstroConfigSchema: z.ZodObject<{
1368
1421
  optimizedFallbacks?: boolean | undefined;
1369
1422
  } | {
1370
1423
  provider: {
1371
- entrypoint: string | URL;
1424
+ name: string;
1425
+ resolveFont: (options: import("../../../assets/fonts/types.js").ResolveFontOptions) => {
1426
+ fonts: Array<import("unifont").FontFaceData>;
1427
+ } | Promise<{
1428
+ fonts: Array<import("unifont").FontFaceData>;
1429
+ } | undefined> | undefined;
1372
1430
  config?: Record<string, any> | undefined;
1431
+ init?: ((context: import("../../../assets/fonts/types.js").FontProviderInitContext) => void | Promise<void>) | undefined;
1432
+ listFonts?: (() => string[] | Promise<string[] | undefined> | undefined) | undefined;
1373
1433
  };
1374
1434
  name: string;
1375
1435
  cssVariable: string;
@@ -1552,8 +1612,8 @@ export declare const AstroConfigSchema: z.ZodObject<{
1552
1612
  route?: string | undefined;
1553
1613
  } | undefined;
1554
1614
  service?: {
1555
- entrypoint?: string | undefined;
1556
1615
  config?: Record<string, any> | undefined;
1616
+ entrypoint?: string | undefined;
1557
1617
  } | undefined;
1558
1618
  domains?: string[] | undefined;
1559
1619
  remotePatterns?: {
@@ -1629,8 +1689,15 @@ export declare const AstroConfigSchema: z.ZodObject<{
1629
1689
  optimizedFallbacks?: boolean | undefined;
1630
1690
  } | {
1631
1691
  provider: {
1632
- entrypoint: string | URL;
1692
+ name: string;
1693
+ resolveFont: (options: import("../../../assets/fonts/types.js").ResolveFontOptions) => {
1694
+ fonts: Array<import("unifont").FontFaceData>;
1695
+ } | Promise<{
1696
+ fonts: Array<import("unifont").FontFaceData>;
1697
+ } | undefined> | undefined;
1633
1698
  config?: Record<string, any> | undefined;
1699
+ init?: ((context: import("../../../assets/fonts/types.js").FontProviderInitContext) => void | Promise<void>) | undefined;
1700
+ listFonts?: (() => string[] | Promise<string[] | undefined> | undefined) | undefined;
1634
1701
  };
1635
1702
  name: string;
1636
1703
  cssVariable: string;