@sveltejs/kit 2.43.1 → 2.43.3
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 +1 -1
- package/src/core/postbuild/queue.js +8 -17
- package/src/exports/internal/event.js +18 -2
- package/src/exports/public.d.ts +5 -1
- package/src/runtime/app/forms.js +1 -6
- package/src/runtime/client/client.js +10 -8
- package/src/runtime/client/remote-functions/form.svelte.js +6 -17
- package/src/runtime/client/remote-functions/prerender.svelte.js +3 -6
- package/src/runtime/client/remote-functions/query.svelte.js +6 -11
- package/src/runtime/server/constants.js +3 -0
- package/src/runtime/server/index.js +23 -0
- package/src/runtime/server/page/render.js +10 -1
- package/src/utils/promise.js +29 -0
- package/src/version.js +1 -1
- package/types/index.d.ts +5 -1
- package/types/index.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/** @import { PromiseWithResolvers } from '../../utils/promise.js' */
|
|
2
|
+
import { with_resolvers } from '../../utils/promise.js';
|
|
3
|
+
|
|
1
4
|
/**
|
|
2
5
|
* @typedef {{
|
|
3
6
|
* fn: () => Promise<any>,
|
|
@@ -10,24 +13,12 @@
|
|
|
10
13
|
export function queue(concurrency) {
|
|
11
14
|
/** @type {Task[]} */
|
|
12
15
|
const tasks = [];
|
|
16
|
+
const { promise, resolve, reject } = /** @type {PromiseWithResolvers<void>} */ (with_resolvers());
|
|
13
17
|
|
|
14
18
|
let current = 0;
|
|
15
|
-
|
|
16
|
-
// TODO: Whenever Node >21 is minimum supported version, we can use `Promise.withResolvers` to avoid this ceremony
|
|
17
|
-
/** @type {(value?: any) => void} */
|
|
18
|
-
let fulfil;
|
|
19
|
-
|
|
20
|
-
/** @type {(error: Error) => void} */
|
|
21
|
-
let reject;
|
|
22
|
-
|
|
23
19
|
let closed = false;
|
|
24
20
|
|
|
25
|
-
|
|
26
|
-
fulfil = f;
|
|
27
|
-
reject = r;
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
done.catch(() => {
|
|
21
|
+
promise.catch(() => {
|
|
31
22
|
// this is necessary in case a catch handler is never added
|
|
32
23
|
// to the done promise by the user
|
|
33
24
|
});
|
|
@@ -51,7 +42,7 @@ export function queue(concurrency) {
|
|
|
51
42
|
});
|
|
52
43
|
} else if (current === 0) {
|
|
53
44
|
closed = true;
|
|
54
|
-
|
|
45
|
+
resolve();
|
|
55
46
|
}
|
|
56
47
|
}
|
|
57
48
|
}
|
|
@@ -72,10 +63,10 @@ export function queue(concurrency) {
|
|
|
72
63
|
done: () => {
|
|
73
64
|
if (current === 0) {
|
|
74
65
|
closed = true;
|
|
75
|
-
|
|
66
|
+
resolve();
|
|
76
67
|
}
|
|
77
68
|
|
|
78
|
-
return
|
|
69
|
+
return promise;
|
|
79
70
|
}
|
|
80
71
|
};
|
|
81
72
|
}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
/** @import { RequestStore } from 'types' */
|
|
3
3
|
/** @import { AsyncLocalStorage } from 'node:async_hooks' */
|
|
4
4
|
|
|
5
|
+
import { IN_WEBCONTAINER } from '../../runtime/server/constants.js';
|
|
6
|
+
|
|
5
7
|
/** @type {RequestStore | null} */
|
|
6
8
|
let sync_store = null;
|
|
7
9
|
|
|
@@ -45,7 +47,17 @@ export function getRequestEvent() {
|
|
|
45
47
|
export function get_request_store() {
|
|
46
48
|
const result = try_get_request_store();
|
|
47
49
|
if (!result) {
|
|
48
|
-
|
|
50
|
+
let message = 'Could not get the request store.';
|
|
51
|
+
|
|
52
|
+
if (als) {
|
|
53
|
+
message += ' This is an internal error.';
|
|
54
|
+
} else {
|
|
55
|
+
message +=
|
|
56
|
+
' In environments without `AsyncLocalStorage`, the request store (used by e.g. remote functions) must be accessed synchronously, not after an `await`.' +
|
|
57
|
+
' If it was accessed synchronously then this is an internal error.';
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
throw new Error(message);
|
|
49
61
|
}
|
|
50
62
|
return result;
|
|
51
63
|
}
|
|
@@ -64,6 +76,10 @@ export function with_request_store(store, fn) {
|
|
|
64
76
|
sync_store = store;
|
|
65
77
|
return als ? als.run(store, fn) : fn();
|
|
66
78
|
} finally {
|
|
67
|
-
|
|
79
|
+
// Since AsyncLocalStorage is not working in webcontainers, we don't reset `sync_store`
|
|
80
|
+
// and handle only one request at a time in `src/runtime/server/index.js`.
|
|
81
|
+
if (!IN_WEBCONTAINER) {
|
|
82
|
+
sync_store = null;
|
|
83
|
+
}
|
|
68
84
|
}
|
|
69
85
|
}
|
package/src/exports/public.d.ts
CHANGED
|
@@ -1937,7 +1937,11 @@ export type RemoteForm<Input extends RemoteFormInput | void, Output> = {
|
|
|
1937
1937
|
/** Preflight checks */
|
|
1938
1938
|
preflight(schema: StandardSchemaV1<Input, any>): RemoteForm<Input, Output>;
|
|
1939
1939
|
/** Validate the form contents programmatically */
|
|
1940
|
-
validate(options?: {
|
|
1940
|
+
validate(options?: {
|
|
1941
|
+
includeUntouched?: boolean;
|
|
1942
|
+
/** Perform validation as if the form was submitted by the given button. */
|
|
1943
|
+
submitter?: HTMLButtonElement | HTMLInputElement;
|
|
1944
|
+
}): Promise<void>;
|
|
1941
1945
|
/** The result of the form submission */
|
|
1942
1946
|
get result(): Output | undefined;
|
|
1943
1947
|
/** The number of pending submissions */
|
package/src/runtime/app/forms.js
CHANGED
|
@@ -136,7 +136,7 @@ export function enhance(form_element, submit = () => {}) {
|
|
|
136
136
|
? /** @type {HTMLButtonElement | HTMLInputElement} */ (event.submitter).formEnctype
|
|
137
137
|
: clone(form_element).enctype;
|
|
138
138
|
|
|
139
|
-
const form_data = new FormData(form_element);
|
|
139
|
+
const form_data = new FormData(form_element, event.submitter);
|
|
140
140
|
|
|
141
141
|
if (DEV && enctype !== 'multipart/form-data') {
|
|
142
142
|
for (const value of form_data.values()) {
|
|
@@ -148,11 +148,6 @@ export function enhance(form_element, submit = () => {}) {
|
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
-
const submitter_name = event.submitter?.getAttribute('name');
|
|
152
|
-
if (submitter_name) {
|
|
153
|
-
form_data.append(submitter_name, event.submitter?.getAttribute('value') ?? '');
|
|
154
|
-
}
|
|
155
|
-
|
|
156
151
|
const controller = new AbortController();
|
|
157
152
|
|
|
158
153
|
let cancelled = false;
|
|
@@ -189,7 +189,10 @@ let target;
|
|
|
189
189
|
/** @type {import('./types.js').SvelteKitApp} */
|
|
190
190
|
export let app;
|
|
191
191
|
|
|
192
|
-
/**
|
|
192
|
+
/**
|
|
193
|
+
* Data that was serialized during SSR. This is cleared when the user first navigates
|
|
194
|
+
* @type {Record<string, any>}
|
|
195
|
+
*/
|
|
193
196
|
export let remote_responses = {};
|
|
194
197
|
|
|
195
198
|
/** @type {Array<((url: URL) => boolean)>} */
|
|
@@ -240,7 +243,7 @@ let current = {
|
|
|
240
243
|
|
|
241
244
|
/** this being true means we SSR'd */
|
|
242
245
|
let hydrated = false;
|
|
243
|
-
|
|
246
|
+
let started = false;
|
|
244
247
|
let autoscroll = true;
|
|
245
248
|
let updating = false;
|
|
246
249
|
let is_navigating = false;
|
|
@@ -1488,6 +1491,8 @@ async function navigate({
|
|
|
1488
1491
|
block = noop,
|
|
1489
1492
|
event
|
|
1490
1493
|
}) {
|
|
1494
|
+
remote_responses = {};
|
|
1495
|
+
|
|
1491
1496
|
const prev_token = token;
|
|
1492
1497
|
token = nav_token;
|
|
1493
1498
|
|
|
@@ -2096,6 +2101,8 @@ export function refreshAll({ includeLoadFunctions = true } = {}) {
|
|
|
2096
2101
|
throw new Error('Cannot call refreshAll() on the server');
|
|
2097
2102
|
}
|
|
2098
2103
|
|
|
2104
|
+
remote_responses = {};
|
|
2105
|
+
|
|
2099
2106
|
force_invalidation = true;
|
|
2100
2107
|
return _invalidate(includeLoadFunctions, false);
|
|
2101
2108
|
}
|
|
@@ -2536,12 +2543,7 @@ function _start_router() {
|
|
|
2536
2543
|
event.preventDefault();
|
|
2537
2544
|
event.stopPropagation();
|
|
2538
2545
|
|
|
2539
|
-
const data = new FormData(event_form);
|
|
2540
|
-
|
|
2541
|
-
const submitter_name = submitter?.getAttribute('name');
|
|
2542
|
-
if (submitter_name) {
|
|
2543
|
-
data.append(submitter_name, submitter?.getAttribute('value') ?? '');
|
|
2544
|
-
}
|
|
2546
|
+
const data = new FormData(event_form, submitter);
|
|
2545
2547
|
|
|
2546
2548
|
// @ts-expect-error `URLSearchParams(fd)` is kosher, but typescript doesn't know that
|
|
2547
2549
|
url.search = new URLSearchParams(data).toString();
|
|
@@ -6,14 +6,7 @@ import { app_dir, base } from '$app/paths/internal/client';
|
|
|
6
6
|
import * as devalue from 'devalue';
|
|
7
7
|
import { DEV } from 'esm-env';
|
|
8
8
|
import { HttpError } from '@sveltejs/kit/internal';
|
|
9
|
-
import {
|
|
10
|
-
app,
|
|
11
|
-
remote_responses,
|
|
12
|
-
started,
|
|
13
|
-
_goto,
|
|
14
|
-
set_nearest_error_page,
|
|
15
|
-
invalidateAll
|
|
16
|
-
} from '../client.js';
|
|
9
|
+
import { app, remote_responses, _goto, set_nearest_error_page, invalidateAll } from '../client.js';
|
|
17
10
|
import { tick } from 'svelte';
|
|
18
11
|
import { refresh_queries, release_overrides } from './shared.svelte.js';
|
|
19
12
|
import { createAttachmentKey } from 'svelte/attachments';
|
|
@@ -42,7 +35,7 @@ export function form(id) {
|
|
|
42
35
|
let issues = $state.raw({});
|
|
43
36
|
|
|
44
37
|
/** @type {any} */
|
|
45
|
-
let result = $state.raw(
|
|
38
|
+
let result = $state.raw(remote_responses[action_id]);
|
|
46
39
|
|
|
47
40
|
/** @type {number} */
|
|
48
41
|
let pending_count = $state(0);
|
|
@@ -237,7 +230,7 @@ export function form(id) {
|
|
|
237
230
|
|
|
238
231
|
event.preventDefault();
|
|
239
232
|
|
|
240
|
-
const form_data = new FormData(form);
|
|
233
|
+
const form_data = new FormData(form, event.submitter);
|
|
241
234
|
|
|
242
235
|
if (DEV) {
|
|
243
236
|
validate_form_data(form_data, clone(form).enctype);
|
|
@@ -347,7 +340,7 @@ export function form(id) {
|
|
|
347
340
|
event.stopPropagation();
|
|
348
341
|
event.preventDefault();
|
|
349
342
|
|
|
350
|
-
const form_data = new FormData(form);
|
|
343
|
+
const form_data = new FormData(form, target);
|
|
351
344
|
|
|
352
345
|
if (DEV) {
|
|
353
346
|
const enctype = target.hasAttribute('formenctype')
|
|
@@ -357,10 +350,6 @@ export function form(id) {
|
|
|
357
350
|
validate_form_data(form_data, enctype);
|
|
358
351
|
}
|
|
359
352
|
|
|
360
|
-
if (target.name) {
|
|
361
|
-
form_data.append(target.name, target?.getAttribute('value') ?? '');
|
|
362
|
-
}
|
|
363
|
-
|
|
364
353
|
await handle_submit(form, form_data, callback);
|
|
365
354
|
};
|
|
366
355
|
};
|
|
@@ -429,12 +418,12 @@ export function form(id) {
|
|
|
429
418
|
},
|
|
430
419
|
validate: {
|
|
431
420
|
/** @type {RemoteForm<any, any>['validate']} */
|
|
432
|
-
value: async ({ includeUntouched = false } = {}) => {
|
|
421
|
+
value: async ({ includeUntouched = false, submitter } = {}) => {
|
|
433
422
|
if (!element) return;
|
|
434
423
|
|
|
435
424
|
const id = ++validate_id;
|
|
436
425
|
|
|
437
|
-
const form_data = new FormData(element);
|
|
426
|
+
const form_data = new FormData(element, submitter);
|
|
438
427
|
|
|
439
428
|
/** @type {readonly StandardSchemaV1.Issue[]} */
|
|
440
429
|
let array = [];
|
|
@@ -3,7 +3,7 @@ import { app_dir, base } from '$app/paths/internal/client';
|
|
|
3
3
|
import { version } from '__sveltekit/environment';
|
|
4
4
|
import * as devalue from 'devalue';
|
|
5
5
|
import { DEV } from 'esm-env';
|
|
6
|
-
import { app, remote_responses
|
|
6
|
+
import { app, remote_responses } from '../client.js';
|
|
7
7
|
import { create_remote_function, remote_request } from './shared.svelte.js';
|
|
8
8
|
|
|
9
9
|
// Initialize Cache API for prerender functions
|
|
@@ -117,11 +117,8 @@ class Prerender {
|
|
|
117
117
|
export function prerender(id) {
|
|
118
118
|
return create_remote_function(id, (cache_key, payload) => {
|
|
119
119
|
return new Prerender(async () => {
|
|
120
|
-
if (
|
|
121
|
-
|
|
122
|
-
if (result) {
|
|
123
|
-
return result;
|
|
124
|
-
}
|
|
120
|
+
if (Object.hasOwn(remote_responses, cache_key)) {
|
|
121
|
+
return remote_responses[cache_key];
|
|
125
122
|
}
|
|
126
123
|
|
|
127
124
|
const url = `${base}/${app_dir}/remote/${id}${payload ? `/${payload}` : ''}`;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** @import { RemoteQueryFunction } from '@sveltejs/kit' */
|
|
2
2
|
/** @import { RemoteFunctionResponse } from 'types' */
|
|
3
3
|
import { app_dir, base } from '$app/paths/internal/client';
|
|
4
|
-
import { app, goto, remote_responses
|
|
4
|
+
import { app, goto, remote_responses } from '../client.js';
|
|
5
5
|
import { tick } from 'svelte';
|
|
6
6
|
import { create_remote_function, remote_request } from './shared.svelte.js';
|
|
7
7
|
import * as devalue from 'devalue';
|
|
@@ -14,11 +14,8 @@ import { HttpError, Redirect } from '@sveltejs/kit/internal';
|
|
|
14
14
|
export function query(id) {
|
|
15
15
|
return create_remote_function(id, (cache_key, payload) => {
|
|
16
16
|
return new Query(cache_key, async () => {
|
|
17
|
-
if (
|
|
18
|
-
|
|
19
|
-
if (result) {
|
|
20
|
-
return result;
|
|
21
|
-
}
|
|
17
|
+
if (Object.hasOwn(remote_responses, cache_key)) {
|
|
18
|
+
return remote_responses[cache_key];
|
|
22
19
|
}
|
|
23
20
|
|
|
24
21
|
const url = `${base}/${app_dir}/remote/${id}${payload ? `?payload=${payload}` : ''}`;
|
|
@@ -38,11 +35,8 @@ export function query_batch(id) {
|
|
|
38
35
|
|
|
39
36
|
return create_remote_function(id, (cache_key, payload) => {
|
|
40
37
|
return new Query(cache_key, () => {
|
|
41
|
-
if (
|
|
42
|
-
|
|
43
|
-
if (result) {
|
|
44
|
-
return result;
|
|
45
|
-
}
|
|
38
|
+
if (Object.hasOwn(remote_responses, cache_key)) {
|
|
39
|
+
return remote_responses[cache_key];
|
|
46
40
|
}
|
|
47
41
|
|
|
48
42
|
// Collect all the calls to the same query in the same macrotask,
|
|
@@ -277,6 +271,7 @@ export class Query {
|
|
|
277
271
|
* @returns {Promise<void>}
|
|
278
272
|
*/
|
|
279
273
|
refresh() {
|
|
274
|
+
delete remote_responses[this._key];
|
|
280
275
|
return (this.#promise = this.#run());
|
|
281
276
|
}
|
|
282
277
|
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/** @import { PromiseWithResolvers } from '../../utils/promise.js' */
|
|
2
|
+
import { with_resolvers } from '../../utils/promise.js';
|
|
3
|
+
import { IN_WEBCONTAINER } from './constants.js';
|
|
1
4
|
import { respond } from './respond.js';
|
|
2
5
|
import { set_private_env, set_public_env } from '../shared-server.js';
|
|
3
6
|
import { options, get_hooks } from '__SERVER__/internal.js';
|
|
@@ -23,6 +26,26 @@ export class Server {
|
|
|
23
26
|
this.#options = options;
|
|
24
27
|
this.#manifest = manifest;
|
|
25
28
|
|
|
29
|
+
// Since AsyncLocalStorage is not working in webcontainers, we don't reset `sync_store`
|
|
30
|
+
// in `src/exports/internal/event.js` and handle only one request at a time.
|
|
31
|
+
if (IN_WEBCONTAINER) {
|
|
32
|
+
const respond = this.respond.bind(this);
|
|
33
|
+
|
|
34
|
+
/** @type {Promise<void> | null} */
|
|
35
|
+
let current = null;
|
|
36
|
+
|
|
37
|
+
/** @type {typeof respond} */
|
|
38
|
+
this.respond = async (...args) => {
|
|
39
|
+
const { promise, resolve } = /** @type {PromiseWithResolvers<void>} */ (with_resolvers());
|
|
40
|
+
|
|
41
|
+
const previous = current;
|
|
42
|
+
current = promise;
|
|
43
|
+
|
|
44
|
+
await previous;
|
|
45
|
+
return respond(...args).finally(resolve);
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
|
|
26
49
|
set_manifest(manifest);
|
|
27
50
|
}
|
|
28
51
|
|
|
@@ -205,7 +205,16 @@ export async function render_response({
|
|
|
205
205
|
// portable as possible, but reset afterwards
|
|
206
206
|
if (paths.relative) paths.override({ base, assets });
|
|
207
207
|
|
|
208
|
-
const
|
|
208
|
+
const maybe_promise = options.root.render(props, render_opts);
|
|
209
|
+
// We have to invoke .then eagerly here in order to kick off rendering: it's only starting on access,
|
|
210
|
+
// and `await maybe_promise` would eagerly access the .then property but call its function only after a tick, which is too late
|
|
211
|
+
// for the paths.reset() below and for any eager getRequestEvent() calls during rendering without AsyncLocalStorage available.
|
|
212
|
+
const rendered =
|
|
213
|
+
options.async && 'then' in maybe_promise
|
|
214
|
+
? /** @type {ReturnType<typeof options.root.render> & Promise<any>} */ (
|
|
215
|
+
maybe_promise
|
|
216
|
+
).then((r) => r)
|
|
217
|
+
: maybe_promise;
|
|
209
218
|
|
|
210
219
|
// TODO 3.0 remove options.async
|
|
211
220
|
if (options.async) {
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** @see https://github.com/microsoft/TypeScript/blob/904e7dd97dc8da1352c8e05d70829dff17c73214/src/lib/es2024.promise.d.ts */
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @template T
|
|
5
|
+
* @typedef {{
|
|
6
|
+
* promise: Promise<T>;
|
|
7
|
+
* resolve: (value: T | PromiseLike<T>) => void;
|
|
8
|
+
* reject: (reason?: any) => void;
|
|
9
|
+
* }} PromiseWithResolvers<T>
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* TODO: Whenever Node >21 is minimum supported version, we can use `Promise.withResolvers` to avoid this ceremony
|
|
14
|
+
*
|
|
15
|
+
* @template T
|
|
16
|
+
* @returns {PromiseWithResolvers<T>}
|
|
17
|
+
*/
|
|
18
|
+
export function with_resolvers() {
|
|
19
|
+
let resolve;
|
|
20
|
+
let reject;
|
|
21
|
+
|
|
22
|
+
const promise = new Promise((res, rej) => {
|
|
23
|
+
resolve = res;
|
|
24
|
+
reject = rej;
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
// @ts-expect-error `resolve` and `reject` are assigned!
|
|
28
|
+
return { promise, resolve, reject };
|
|
29
|
+
}
|
package/src/version.js
CHANGED
package/types/index.d.ts
CHANGED
|
@@ -1913,7 +1913,11 @@ declare module '@sveltejs/kit' {
|
|
|
1913
1913
|
/** Preflight checks */
|
|
1914
1914
|
preflight(schema: StandardSchemaV1<Input, any>): RemoteForm<Input, Output>;
|
|
1915
1915
|
/** Validate the form contents programmatically */
|
|
1916
|
-
validate(options?: {
|
|
1916
|
+
validate(options?: {
|
|
1917
|
+
includeUntouched?: boolean;
|
|
1918
|
+
/** Perform validation as if the form was submitted by the given button. */
|
|
1919
|
+
submitter?: HTMLButtonElement | HTMLInputElement;
|
|
1920
|
+
}): Promise<void>;
|
|
1917
1921
|
/** The result of the form submission */
|
|
1918
1922
|
get result(): Output | undefined;
|
|
1919
1923
|
/** The number of pending submissions */
|
package/types/index.d.ts.map
CHANGED
|
@@ -201,6 +201,6 @@
|
|
|
201
201
|
null,
|
|
202
202
|
null
|
|
203
203
|
],
|
|
204
|
-
"mappings": "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
|
|
204
|
+
"mappings": "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",
|
|
205
205
|
"ignoreList": []
|
|
206
206
|
}
|