@sveltejs/kit 2.4.0 → 2.4.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sveltejs/kit",
3
- "version": "2.4.0",
3
+ "version": "2.4.2",
4
4
  "description": "The fastest way to build Svelte apps",
5
5
  "repository": {
6
6
  "type": "git",
@@ -25,7 +25,7 @@
25
25
  "tiny-glob": "^0.2.9"
26
26
  },
27
27
  "devDependencies": {
28
- "@playwright/test": "1.30.0",
28
+ "@playwright/test": "^1.41.0",
29
29
  "@sveltejs/vite-plugin-svelte": "^3.0.1",
30
30
  "@types/connect": "^3.4.38",
31
31
  "@types/node": "^18.19.3",
@@ -97,7 +97,7 @@ async function analyse({ manifest_path, manifest_data, server_manifest, tracked_
97
97
  }
98
98
  }
99
99
 
100
- const route_config = page?.config ?? endpoint?.config;
100
+ const route_config = page?.config ?? endpoint?.config ?? {};
101
101
  const prerender = page?.prerender ?? endpoint?.prerender;
102
102
 
103
103
  if (prerender !== true) {
@@ -109,7 +109,10 @@ export async function getRequest({ request, base, bodySizeLimit }) {
109
109
  duplex: 'half',
110
110
  method: request.method,
111
111
  headers: /** @type {Record<string, string>} */ (request.headers),
112
- body: get_raw_body(request, bodySizeLimit)
112
+ body:
113
+ request.method === 'POST' || request.method === 'PUT' || request.method === 'PATCH'
114
+ ? get_raw_body(request, bodySizeLimit)
115
+ : undefined
113
116
  });
114
117
  }
115
118
 
@@ -645,7 +645,7 @@ async function kit({ svelte_config }) {
645
645
  preserveEntrySignatures: 'strict'
646
646
  },
647
647
  ssrEmitAssets: true,
648
- target: ssr ? 'node18.13' : 'es2022'
648
+ target: ssr ? 'node18.13' : undefined
649
649
  },
650
650
  publicDir: kit.files.assets,
651
651
  worker: {
@@ -1,6 +1,7 @@
1
1
  import { read_implementation, manifest } from '__sveltekit/server';
2
2
  import { base } from '__sveltekit/paths';
3
3
  import { DEV } from 'esm-env';
4
+ import { b64_decode } from '../../utils.js';
4
5
 
5
6
  /**
6
7
  * Read the contents of an imported asset from the filesystem
@@ -30,7 +31,18 @@ export function read(asset) {
30
31
  const [prelude, data] = asset.split(';');
31
32
  const type = prelude.slice(5) || 'application/octet-stream';
32
33
 
33
- const decoded = data.startsWith('base64,') ? atob(data.slice(7)) : decodeURIComponent(data);
34
+ if (data.startsWith('base64,')) {
35
+ const decoded = b64_decode(data.slice(7));
36
+
37
+ return new Response(decoded, {
38
+ headers: {
39
+ 'Content-Length': decoded.byteLength.toString(),
40
+ 'Content-Type': type
41
+ }
42
+ });
43
+ }
44
+
45
+ const decoded = decodeURIComponent(data);
34
46
 
35
47
  return new Response(decoded, {
36
48
  headers: {
@@ -1330,7 +1330,7 @@ async function navigate({
1330
1330
  fn(/** @type {import('@sveltejs/kit').OnNavigate} */ (nav.navigation))
1331
1331
  )
1332
1332
  )
1333
- ).filter((value) => typeof value === 'function');
1333
+ ).filter(/** @returns {value is () => void} */ (value) => typeof value === 'function');
1334
1334
 
1335
1335
  if (after_navigate.length > 0) {
1336
1336
  function cleanup() {
@@ -1341,9 +1341,7 @@ async function navigate({
1341
1341
  }
1342
1342
 
1343
1343
  after_navigate.push(cleanup);
1344
-
1345
- // @ts-ignore
1346
- callbacks.after_navigate.push(...after_navigate);
1344
+ after_navigate_callbacks.push(...after_navigate);
1347
1345
  }
1348
1346
 
1349
1347
  root.$set(navigation_result.props);
@@ -1,5 +1,6 @@
1
1
  import { BROWSER, DEV } from 'esm-env';
2
2
  import { hash } from '../hash.js';
3
+ import { b64_decode } from '../utils.js';
3
4
 
4
5
  let loading = 0;
5
6
 
@@ -77,22 +78,6 @@ if (DEV && BROWSER) {
77
78
 
78
79
  const cache = new Map();
79
80
 
80
- /**
81
- * @param {string} text
82
- * @returns {ArrayBufferLike}
83
- */
84
- function b64_decode(text) {
85
- const d = atob(text);
86
-
87
- const u8 = new Uint8Array(d.length);
88
-
89
- for (let i = 0; i < d.length; i++) {
90
- u8[i] = d.charCodeAt(i);
91
- }
92
-
93
- return u8.buffer;
94
- }
95
-
96
81
  /**
97
82
  * Should be called on the initial run of load functions that hydrate the page.
98
83
  * Saves any requests with cache-control max-age to the cache.
@@ -1,6 +1,7 @@
1
1
  import { DEV } from 'esm-env';
2
2
  import { disable_search, make_trackable } from '../../../utils/url.js';
3
3
  import { validate_depends } from '../../shared.js';
4
+ import { b64_encode } from '../../utils.js';
4
5
 
5
6
  /**
6
7
  * Calls the user's server `load` function.
@@ -207,25 +208,6 @@ export async function load_data({
207
208
  return result ?? null;
208
209
  }
209
210
 
210
- /**
211
- * @param {ArrayBuffer} buffer
212
- * @returns {string}
213
- */
214
- function b64_encode(buffer) {
215
- if (globalThis.Buffer) {
216
- return Buffer.from(buffer).toString('base64');
217
- }
218
-
219
- const little_endian = new Uint8Array(new Uint16Array([1]).buffer)[0] > 0;
220
-
221
- // The Uint16Array(Uint8Array(...)) ensures the code points are padded with 0's
222
- return btoa(
223
- new TextDecoder(little_endian ? 'utf-16le' : 'utf-16be').decode(
224
- new Uint16Array(new Uint8Array(buffer))
225
- )
226
- );
227
- }
228
-
229
211
  /**
230
212
  * @param {Pick<import('@sveltejs/kit').RequestEvent, 'fetch' | 'url' | 'request' | 'route'>} event
231
213
  * @param {import('types').SSRState} state
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @param {string} text
3
+ * @returns {ArrayBufferLike}
4
+ */
5
+ export function b64_decode(text) {
6
+ const d = atob(text);
7
+
8
+ const u8 = new Uint8Array(d.length);
9
+
10
+ for (let i = 0; i < d.length; i++) {
11
+ u8[i] = d.charCodeAt(i);
12
+ }
13
+
14
+ return u8.buffer;
15
+ }
16
+
17
+ /**
18
+ * @param {ArrayBuffer} buffer
19
+ * @returns {string}
20
+ */
21
+ export function b64_encode(buffer) {
22
+ if (globalThis.Buffer) {
23
+ return Buffer.from(buffer).toString('base64');
24
+ }
25
+
26
+ const little_endian = new Uint8Array(new Uint16Array([1]).buffer)[0] > 0;
27
+
28
+ // The Uint16Array(Uint8Array(...)) ensures the code points are padded with 0's
29
+ return btoa(
30
+ new TextDecoder(little_endian ? 'utf-16le' : 'utf-16be').decode(
31
+ new Uint16Array(new Uint8Array(buffer))
32
+ )
33
+ );
34
+ }
package/src/version.js CHANGED
@@ -1,4 +1,4 @@
1
1
  // generated during release, do not modify
2
2
 
3
3
  /** @type {string} */
4
- export const VERSION = '2.4.0';
4
+ export const VERSION = '2.4.2';
@@ -152,5 +152,5 @@
152
152
  null,
153
153
  null
154
154
  ],
155
- "mappings": "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"
155
+ "mappings": "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"
156
156
  }