astro 5.7.6 → 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.
Files changed (64) hide show
  1. package/dist/assets/fonts/config.d.ts +3 -3
  2. package/dist/assets/fonts/config.js +2 -3
  3. package/dist/assets/fonts/constants.d.ts +3 -73
  4. package/dist/assets/fonts/constants.js +16 -68
  5. package/dist/assets/fonts/definitions.d.ts +73 -0
  6. package/dist/assets/fonts/definitions.js +0 -0
  7. package/dist/assets/fonts/implementations/css-renderer.d.ts +9 -0
  8. package/dist/assets/fonts/implementations/css-renderer.js +42 -0
  9. package/dist/assets/fonts/implementations/data-collector.d.ts +3 -0
  10. package/dist/assets/fonts/implementations/data-collector.js +21 -0
  11. package/dist/assets/fonts/implementations/error-handler.d.ts +2 -0
  12. package/dist/assets/fonts/implementations/error-handler.js +33 -0
  13. package/dist/assets/fonts/implementations/font-fetcher.d.ts +8 -0
  14. package/dist/assets/fonts/implementations/font-fetcher.js +34 -0
  15. package/dist/assets/fonts/implementations/font-metrics-resolver.d.ts +5 -0
  16. package/dist/assets/fonts/implementations/font-metrics-resolver.js +60 -0
  17. package/dist/assets/fonts/implementations/font-type-extractor.d.ts +4 -0
  18. package/dist/assets/fonts/implementations/font-type-extractor.js +22 -0
  19. package/dist/assets/fonts/implementations/hasher.d.ts +2 -0
  20. package/dist/assets/fonts/implementations/hasher.js +14 -0
  21. package/dist/assets/fonts/implementations/local-provider-url-resolver.d.ts +5 -0
  22. package/dist/assets/fonts/implementations/local-provider-url-resolver.js +17 -0
  23. package/dist/assets/fonts/implementations/remote-font-provider-mod-resolver.d.ts +6 -0
  24. package/dist/assets/fonts/implementations/remote-font-provider-mod-resolver.js +20 -0
  25. package/dist/assets/fonts/implementations/remote-font-provider-resolver.d.ts +6 -0
  26. package/dist/assets/fonts/implementations/remote-font-provider-resolver.js +47 -0
  27. package/dist/assets/fonts/implementations/storage.d.ts +4 -0
  28. package/dist/assets/fonts/implementations/storage.js +14 -0
  29. package/dist/assets/fonts/implementations/system-fallbacks-provider.d.ts +11 -0
  30. package/dist/assets/fonts/implementations/system-fallbacks-provider.js +74 -0
  31. package/dist/assets/fonts/implementations/url-proxy-content-resolver.d.ts +5 -0
  32. package/dist/assets/fonts/implementations/url-proxy-content-resolver.js +28 -0
  33. package/dist/assets/fonts/implementations/url-proxy.d.ts +8 -0
  34. package/dist/assets/fonts/implementations/url-proxy.js +26 -0
  35. package/dist/assets/fonts/logic/extract-unifont-providers.d.ts +10 -0
  36. package/dist/assets/fonts/logic/extract-unifont-providers.js +28 -0
  37. package/dist/assets/fonts/logic/normalize-remote-font-faces.d.ts +6 -0
  38. package/dist/assets/fonts/logic/normalize-remote-font-faces.js +36 -0
  39. package/dist/assets/fonts/logic/optimize-fallbacks.d.ts +17 -0
  40. package/dist/assets/fonts/logic/optimize-fallbacks.js +47 -0
  41. package/dist/assets/fonts/logic/resolve-families.d.ts +17 -0
  42. package/dist/assets/fonts/logic/resolve-families.js +67 -0
  43. package/dist/assets/fonts/orchestrate.d.ts +37 -0
  44. package/dist/assets/fonts/orchestrate.js +125 -0
  45. package/dist/assets/fonts/providers/local.d.ts +6 -7
  46. package/dist/assets/fonts/providers/local.js +26 -29
  47. package/dist/assets/fonts/types.d.ts +32 -2
  48. package/dist/assets/fonts/utils.d.ts +17 -88
  49. package/dist/assets/fonts/utils.js +20 -186
  50. package/dist/assets/fonts/vite-plugin-fonts.js +96 -94
  51. package/dist/content/content-layer.js +3 -3
  52. package/dist/core/constants.js +1 -1
  53. package/dist/core/dev/dev.js +1 -1
  54. package/dist/core/messages.js +2 -2
  55. package/dist/types/public/config.d.ts +2 -2
  56. package/dist/vite-plugin-markdown/images.js +4 -4
  57. package/package.json +4 -4
  58. package/types/content.d.ts +11 -4
  59. package/dist/assets/fonts/load.d.ts +0 -20
  60. package/dist/assets/fonts/load.js +0 -162
  61. package/dist/assets/fonts/metrics.d.ts +0 -10
  62. package/dist/assets/fonts/metrics.js +0 -55
  63. package/dist/assets/fonts/providers/utils.d.ts +0 -9
  64. package/dist/assets/fonts/providers/utils.js +0 -37
@@ -1,55 +0,0 @@
1
- import { fromBuffer } from "@capsizecss/unpack";
2
- import { renderFontFace, renderFontSrc } from "./utils.js";
3
- const metricCache = {};
4
- function filterRequiredMetrics({
5
- ascent,
6
- descent,
7
- lineGap,
8
- unitsPerEm,
9
- xWidthAvg
10
- }) {
11
- return {
12
- ascent,
13
- descent,
14
- lineGap,
15
- unitsPerEm,
16
- xWidthAvg
17
- };
18
- }
19
- async function readMetrics(family, buffer) {
20
- const metrics = await fromBuffer(buffer);
21
- metricCache[family] = filterRequiredMetrics(metrics);
22
- return metricCache[family];
23
- }
24
- function toPercentage(value, fractionDigits = 4) {
25
- const percentage = value * 100;
26
- return `${+percentage.toFixed(fractionDigits)}%`;
27
- }
28
- function generateFallbackFontFace({
29
- metrics,
30
- fallbackMetrics,
31
- name: fallbackName,
32
- font: fallbackFontName,
33
- properties
34
- }) {
35
- const preferredFontXAvgRatio = metrics.xWidthAvg / metrics.unitsPerEm;
36
- const fallbackFontXAvgRatio = fallbackMetrics.xWidthAvg / fallbackMetrics.unitsPerEm;
37
- const sizeAdjust = preferredFontXAvgRatio / fallbackFontXAvgRatio;
38
- const adjustedEmSquare = metrics.unitsPerEm * sizeAdjust;
39
- const ascentOverride = metrics.ascent / adjustedEmSquare;
40
- const descentOverride = Math.abs(metrics.descent) / adjustedEmSquare;
41
- const lineGapOverride = metrics.lineGap / adjustedEmSquare;
42
- return renderFontFace({
43
- "font-family": fallbackName,
44
- src: renderFontSrc([{ name: fallbackFontName }]),
45
- "size-adjust": toPercentage(sizeAdjust),
46
- "ascent-override": toPercentage(ascentOverride),
47
- "descent-override": toPercentage(descentOverride),
48
- "line-gap-override": toPercentage(lineGapOverride),
49
- ...properties
50
- });
51
- }
52
- export {
53
- generateFallbackFontFace,
54
- readMetrics
55
- };
@@ -1,9 +0,0 @@
1
- import type { AstroFontProvider, ResolvedFontProvider } from '../types.js';
2
- export declare function validateMod(mod: any, entrypoint: string): Pick<ResolvedFontProvider, 'provider'>;
3
- export type ResolveMod = (id: string) => Promise<any>;
4
- export interface ResolveProviderOptions {
5
- root: URL;
6
- provider: AstroFontProvider;
7
- resolveMod: ResolveMod;
8
- }
9
- export declare function resolveProvider({ root, provider: { entrypoint, config }, resolveMod, }: ResolveProviderOptions): Promise<ResolvedFontProvider>;
@@ -1,37 +0,0 @@
1
- import { AstroError, AstroErrorData } from "../../../core/errors/index.js";
2
- import { resolveEntrypoint } from "../utils.js";
3
- function validateMod(mod, entrypoint) {
4
- try {
5
- if (typeof mod !== "object" || mod === null) {
6
- throw new Error(`Expected an object for the module, but received ${typeof mod}.`);
7
- }
8
- if (typeof mod.provider !== "function") {
9
- throw new Error(`Invalid provider export in module, expected a function.`);
10
- }
11
- return {
12
- provider: mod.provider
13
- };
14
- } catch (cause) {
15
- throw new AstroError(
16
- {
17
- ...AstroErrorData.CannotLoadFontProvider,
18
- message: AstroErrorData.CannotLoadFontProvider.message(entrypoint)
19
- },
20
- { cause }
21
- );
22
- }
23
- }
24
- async function resolveProvider({
25
- root,
26
- provider: { entrypoint, config },
27
- resolveMod
28
- }) {
29
- const id = resolveEntrypoint(root, entrypoint.toString()).href;
30
- const mod = await resolveMod(id);
31
- const { provider } = validateMod(mod, id);
32
- return { config, provider };
33
- }
34
- export {
35
- resolveProvider,
36
- validateMod
37
- };