astro 5.16.5 → 5.16.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 (82) hide show
  1. package/components/Code.astro +2 -2
  2. package/components/Image.astro +2 -2
  3. package/components/Picture.astro +1 -1
  4. package/dist/assets/build/remote.js +1 -1
  5. package/dist/assets/endpoint/dev.js +40 -11
  6. package/dist/assets/fonts/config.d.ts +3 -0
  7. package/dist/assets/fonts/config.js +3 -2
  8. package/dist/assets/fonts/constants.js +2 -1
  9. package/dist/assets/fonts/core/resolve-families.js +1 -0
  10. package/dist/assets/fonts/definitions.d.ts +10 -2
  11. package/dist/assets/fonts/infra/remote-font-provider-resolver.d.ts +2 -2
  12. package/dist/assets/fonts/infra/unifont-font-resolver.d.ts +24 -0
  13. package/dist/assets/fonts/infra/unifont-font-resolver.js +59 -0
  14. package/dist/assets/fonts/orchestrate.d.ts +6 -4
  15. package/dist/assets/fonts/orchestrate.js +16 -32
  16. package/dist/assets/fonts/providers/entrypoints/bunny.d.ts +1 -1
  17. package/dist/assets/fonts/providers/entrypoints/fontshare.d.ts +1 -1
  18. package/dist/assets/fonts/providers/entrypoints/fontsource.d.ts +1 -1
  19. package/dist/assets/fonts/providers/index.d.ts +6 -8
  20. package/dist/assets/fonts/providers/index.js +10 -14
  21. package/dist/assets/fonts/types.d.ts +17 -4
  22. package/dist/assets/fonts/vite-plugin-fonts.js +6 -1
  23. package/dist/assets/services/noop.js +10 -5
  24. package/dist/assets/services/service.d.ts +1 -1
  25. package/dist/assets/services/service.js +55 -51
  26. package/dist/assets/types.d.ts +2 -2
  27. package/dist/assets/utils/index.d.ts +1 -1
  28. package/dist/assets/utils/index.js +8 -8
  29. package/dist/assets/utils/vendor/image-size/detector.d.ts +1 -1
  30. package/dist/assets/utils/vendor/image-size/detector.js +2 -1
  31. package/dist/assets/utils/vendor/image-size/types/bmp.js +1 -1
  32. package/dist/assets/utils/vendor/image-size/types/gif.js +1 -1
  33. package/dist/assets/utils/vendor/image-size/types/heif.js +51 -29
  34. package/dist/assets/utils/vendor/image-size/types/icns.js +13 -14
  35. package/dist/assets/utils/vendor/image-size/types/ico.js +5 -5
  36. package/dist/assets/utils/vendor/image-size/types/index.d.ts +3 -3
  37. package/dist/assets/utils/vendor/image-size/types/index.js +4 -0
  38. package/dist/assets/utils/vendor/image-size/types/interface.d.ts +6 -6
  39. package/dist/assets/utils/vendor/image-size/types/j2c.js +2 -2
  40. package/dist/assets/utils/vendor/image-size/types/jp2.js +5 -3
  41. package/dist/assets/utils/vendor/image-size/types/jpg.js +4 -4
  42. package/dist/assets/utils/vendor/image-size/types/jxl-stream.d.ts +2 -0
  43. package/dist/assets/utils/vendor/image-size/types/jxl-stream.js +36 -0
  44. package/dist/assets/utils/vendor/image-size/types/jxl.d.ts +2 -0
  45. package/dist/assets/utils/vendor/image-size/types/jxl.js +57 -0
  46. package/dist/assets/utils/vendor/image-size/types/ktx.js +1 -1
  47. package/dist/assets/utils/vendor/image-size/types/png.js +1 -1
  48. package/dist/assets/utils/vendor/image-size/types/pnm.js +5 -7
  49. package/dist/assets/utils/vendor/image-size/types/psd.js +1 -1
  50. package/dist/assets/utils/vendor/image-size/types/tiff.js +93 -40
  51. package/dist/assets/utils/vendor/image-size/types/utils.d.ts +3 -2
  52. package/dist/assets/utils/vendor/image-size/types/utils.js +24 -22
  53. package/dist/assets/utils/vendor/image-size/types/webp.js +5 -6
  54. package/dist/assets/utils/vendor/image-size/utils/bit-reader.d.ts +10 -0
  55. package/dist/assets/utils/vendor/image-size/utils/bit-reader.js +41 -0
  56. package/dist/assets/vite-plugin-assets.js +7 -0
  57. package/dist/cli/infra/build-time-astro-version-provider.js +1 -1
  58. package/dist/config/entrypoint.d.ts +1 -2
  59. package/dist/config/entrypoint.js +1 -2
  60. package/dist/content/content-layer.js +3 -3
  61. package/dist/content/utils.js +9 -2
  62. package/dist/core/app/index.d.ts +1 -1
  63. package/dist/core/app/index.js +1 -1
  64. package/dist/core/config/schemas/base.d.ts +7 -0
  65. package/dist/core/config/schemas/relative.d.ts +9 -0
  66. package/dist/core/constants.js +1 -1
  67. package/dist/core/dev/dev.js +1 -1
  68. package/dist/core/messages.js +2 -2
  69. package/dist/runtime/server/render/astro/render.js +26 -3
  70. package/dist/runtime/server/render/common.d.ts +1 -0
  71. package/dist/runtime/server/render/common.js +8 -0
  72. package/dist/transitions/router.js +2 -0
  73. package/dist/types/public/config.d.ts +2 -2
  74. package/dist/types/public/context.d.ts +303 -284
  75. package/dist/types/public/extendables.d.ts +2 -0
  76. package/package.json +18 -18
  77. package/dist/assets/fonts/core/dedupe-font-faces.d.ts +0 -2
  78. package/dist/assets/fonts/core/dedupe-font-faces.js +0 -30
  79. package/dist/assets/fonts/core/extract-unifont-providers.d.ts +0 -10
  80. package/dist/assets/fonts/core/extract-unifont-providers.js +0 -28
  81. package/dist/assets/utils/remotePattern.d.ts +0 -1
  82. package/dist/assets/utils/remotePattern.js +0 -16
@@ -1,6 +1,11 @@
1
1
  import { AstroError, AstroErrorData } from "../../../../core/errors/index.js";
2
2
  import { isPromise } from "../../util.js";
3
- import { chunkToByteArray, chunkToString, encoder } from "../common.js";
3
+ import {
4
+ chunkToByteArray,
5
+ chunkToByteArrayOrString,
6
+ chunkToString,
7
+ encoder
8
+ } from "../common.js";
4
9
  import { promiseWithResolvers } from "../util.js";
5
10
  import { isHeadAndContent } from "./head-and-content.js";
6
11
  import { isRenderTemplateResult } from "./render-template.js";
@@ -162,13 +167,31 @@ async function renderToAsyncIterable(result, componentFactory, props, children,
162
167
  throw error;
163
168
  }
164
169
  let length = 0;
170
+ let stringToEncode = "";
165
171
  for (let i = 0, len = buffer.length; i < len; i++) {
166
- length += buffer[i].length;
172
+ const bufferEntry = buffer[i];
173
+ if (typeof bufferEntry === "string") {
174
+ const nextIsString = i + 1 < len && typeof buffer[i + 1] === "string";
175
+ stringToEncode += bufferEntry;
176
+ if (!nextIsString) {
177
+ const encoded = encoder.encode(stringToEncode);
178
+ length += encoded.length;
179
+ stringToEncode = "";
180
+ buffer[i] = encoded;
181
+ } else {
182
+ buffer[i] = "";
183
+ }
184
+ } else {
185
+ length += bufferEntry.length;
186
+ }
167
187
  }
168
188
  let mergedArray = new Uint8Array(length);
169
189
  let offset = 0;
170
190
  for (let i = 0, len = buffer.length; i < len; i++) {
171
191
  const item = buffer[i];
192
+ if (item === "") {
193
+ continue;
194
+ }
172
195
  mergedArray.set(item, offset);
173
196
  offset += item.length;
174
197
  }
@@ -198,7 +221,7 @@ async function renderToAsyncIterable(result, componentFactory, props, children,
198
221
  if (chunk instanceof Response) {
199
222
  throw new AstroError(AstroErrorData.ResponseSentError);
200
223
  }
201
- const bytes = chunkToByteArray(result, chunk);
224
+ const bytes = chunkToByteArrayOrString(result, chunk);
202
225
  if (bytes.length > 0) {
203
226
  buffer.push(bytes);
204
227
  next?.resolve();
@@ -27,4 +27,5 @@ export declare const encoder: TextEncoder;
27
27
  export declare const decoder: TextDecoder;
28
28
  export declare function chunkToString(result: SSRResult, chunk: Exclude<RenderDestinationChunk, Response>): string;
29
29
  export declare function chunkToByteArray(result: SSRResult, chunk: Exclude<RenderDestinationChunk, Response>): Uint8Array;
30
+ export declare function chunkToByteArrayOrString(result: SSRResult, chunk: Exclude<RenderDestinationChunk, Response>): Uint8Array | string;
30
31
  export declare function isRenderInstance(obj: unknown): obj is RenderInstance;
@@ -92,6 +92,13 @@ function chunkToByteArray(result, chunk) {
92
92
  return encoder.encode(stringified.toString());
93
93
  }
94
94
  }
95
+ function chunkToByteArrayOrString(result, chunk) {
96
+ if (ArrayBuffer.isView(chunk)) {
97
+ return chunk;
98
+ } else {
99
+ return stringifyChunk(result, chunk).toString();
100
+ }
101
+ }
95
102
  function isRenderInstance(obj) {
96
103
  return !!obj && typeof obj === "object" && "render" in obj && typeof obj.render === "function";
97
104
  }
@@ -99,6 +106,7 @@ export {
99
106
  Fragment,
100
107
  Renderer,
101
108
  chunkToByteArray,
109
+ chunkToByteArrayOrString,
102
110
  chunkToString,
103
111
  decoder,
104
112
  encoder,
@@ -283,7 +283,9 @@ async function transition(direction, from, to, options, historyState) {
283
283
  preparationEvent.preventDefault();
284
284
  return;
285
285
  }
286
+ const fragment = preparationEvent.to.hash;
286
287
  preparationEvent.to = redirectedTo;
288
+ preparationEvent.to.hash = fragment;
287
289
  }
288
290
  parser ??= new DOMParser();
289
291
  preparationEvent.newDocument = parser.parseFromString(response.html, response.mediaType);
@@ -4,7 +4,7 @@ import type { RehypePlugins, RemarkPlugins, RemarkRehype, ShikiConfig, SyntaxHig
4
4
  import type { Config as SvgoConfig } from 'svgo';
5
5
  import type { BuiltinDriverName, BuiltinDriverOptions, Driver, Storage } from 'unstorage';
6
6
  import type { UserConfig as OriginalViteUserConfig, SSROptions as ViteSSROptions } from 'vite';
7
- import type { AstroFontProvider, FontFamily } from '../../assets/fonts/types.js';
7
+ import type { FontFamily, FontProvider } from '../../assets/fonts/types.js';
8
8
  import type { ImageFit, ImageLayout } from '../../assets/types.js';
9
9
  import type { AssetsPrefix } from '../../core/app/types.js';
10
10
  import type { AstroConfigType } from '../../core/config/schemas/index.js';
@@ -18,7 +18,7 @@ export type Locales = (string | {
18
18
  codes: [string, ...string[]];
19
19
  path: string;
20
20
  })[];
21
- export type { AstroFontProvider as FontProvider };
21
+ export type { FontProvider };
22
22
  export type { CspAlgorithm };
23
23
  export type { RemotePattern };
24
24
  type NormalizeLocales<T extends Locales> = {