@sveltejs/kit 2.56.1 → 2.57.0
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 +2 -2
- package/src/core/config/index.js +22 -2
- package/src/core/config/options.js +20 -4
- package/src/core/postbuild/prerender.js +2 -1
- package/src/core/sync/utils.js +8 -1
- package/src/core/utils.js +1 -2
- package/src/exports/node/index.js +2 -1
- package/src/exports/public.d.ts +24 -17
- package/src/exports/vite/build/build_service_worker.js +1 -1
- package/src/exports/vite/build/remote.js +126 -0
- package/src/exports/vite/dev/index.js +21 -8
- package/src/exports/vite/index.js +35 -22
- package/src/exports/vite/preview/index.js +5 -1
- package/src/exports/vite/utils.js +18 -0
- package/src/runtime/app/forms.js +2 -1
- package/src/runtime/app/server/remote/prerender.js +2 -1
- package/src/runtime/app/server/remote/query.js +2 -4
- package/src/runtime/app/server/remote/requested.js +3 -2
- package/src/runtime/app/server/remote/shared.js +2 -1
- package/src/runtime/client/client.js +7 -8
- package/src/runtime/client/fetcher.js +2 -1
- package/src/runtime/client/remote-functions/form.svelte.js +10 -5
- package/src/runtime/client/remote-functions/query.svelte.js +3 -2
- package/src/runtime/client/utils.js +2 -1
- package/src/runtime/server/fetch.js +4 -3
- package/src/runtime/server/index.js +3 -2
- package/src/runtime/server/page/index.js +3 -2
- package/src/runtime/server/page/load_data.js +4 -3
- package/src/runtime/server/page/render.js +7 -1
- package/src/runtime/server/respond.js +0 -17
- package/src/utils/functions.js +2 -0
- package/src/version.js +1 -1
- package/types/index.d.ts +26 -18
- package/types/index.d.ts.map +1 -1
|
@@ -7,7 +7,7 @@ import { loadEnv, normalizePath } from 'vite';
|
|
|
7
7
|
import { createReadableStream, getRequest, setResponse } from '../../../exports/node/index.js';
|
|
8
8
|
import { installPolyfills } from '../../../exports/node/polyfills.js';
|
|
9
9
|
import { SVELTE_KIT_ASSETS } from '../../../constants.js';
|
|
10
|
-
import { not_found } from '../utils.js';
|
|
10
|
+
import { is_chrome_devtools_request, not_found } from '../utils.js';
|
|
11
11
|
|
|
12
12
|
/** @typedef {import('http').IncomingMessage} Req */
|
|
13
13
|
/** @typedef {import('http').ServerResponse} Res */
|
|
@@ -102,6 +102,10 @@ export async function preview(vite, vite_config, svelte_config) {
|
|
|
102
102
|
return;
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
+
if (is_chrome_devtools_request(pathname, res)) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
|
|
105
109
|
if (pathname.startsWith(base)) {
|
|
106
110
|
next();
|
|
107
111
|
} else {
|
|
@@ -76,6 +76,24 @@ export function get_env(env_config, mode) {
|
|
|
76
76
|
};
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
+
/**
|
|
80
|
+
* Silently respond with 404 for Chrome DevTools workspaces request.
|
|
81
|
+
* Chrome always requests this at the root, regardless of base path.
|
|
82
|
+
* Users who want workspaces can install `vite-plugin-devtools-json`,
|
|
83
|
+
* which takes precedence as Vite plugin middleware runs first.
|
|
84
|
+
* @param {string} pathname
|
|
85
|
+
* @param {import('http').ServerResponse} res
|
|
86
|
+
* @returns {boolean} `true` if the request was handled
|
|
87
|
+
*/
|
|
88
|
+
export function is_chrome_devtools_request(pathname, res) {
|
|
89
|
+
if (pathname === '/.well-known/appspecific/com.chrome.devtools.json') {
|
|
90
|
+
res.writeHead(404);
|
|
91
|
+
res.end('not found');
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
|
|
79
97
|
/**
|
|
80
98
|
* @param {import('http').IncomingMessage} req
|
|
81
99
|
* @param {import('http').ServerResponse} res
|
package/src/runtime/app/forms.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as devalue from 'devalue';
|
|
2
2
|
import { BROWSER, DEV } from 'esm-env';
|
|
3
|
+
import { noop } from '../../utils/functions.js';
|
|
3
4
|
import { invalidateAll } from './navigation.js';
|
|
4
5
|
import { app as client_app, applyAction } from '../client/client.js';
|
|
5
6
|
import { app as server_app } from '../server/app.js';
|
|
@@ -76,7 +77,7 @@ function clone(element) {
|
|
|
76
77
|
* @param {HTMLFormElement} form_element The form element
|
|
77
78
|
* @param {import('@sveltejs/kit').SubmitFunction<Success, Failure>} submit Submit callback
|
|
78
79
|
*/
|
|
79
|
-
export function enhance(form_element, submit =
|
|
80
|
+
export function enhance(form_element, submit = noop) {
|
|
80
81
|
if (DEV && clone(form_element).method !== 'post') {
|
|
81
82
|
throw new Error('use:enhance can only be used on <form> fields with method="POST"');
|
|
82
83
|
}
|
|
@@ -5,6 +5,7 @@ import { error, json } from '@sveltejs/kit';
|
|
|
5
5
|
import { DEV } from 'esm-env';
|
|
6
6
|
import { get_request_store } from '@sveltejs/kit/internal/server';
|
|
7
7
|
import { stringify, stringify_remote_arg } from '../../../shared.js';
|
|
8
|
+
import { noop } from '../../../../utils/functions.js';
|
|
8
9
|
import { app_dir, base } from '$app/paths/internal/server';
|
|
9
10
|
import {
|
|
10
11
|
create_validator,
|
|
@@ -153,7 +154,7 @@ export function prerender(validate_or_fn, fn_or_options, maybe_options) {
|
|
|
153
154
|
return result;
|
|
154
155
|
})();
|
|
155
156
|
|
|
156
|
-
promise.catch(
|
|
157
|
+
promise.catch(noop);
|
|
157
158
|
|
|
158
159
|
return /** @type {RemoteResource<Output>} */ (promise);
|
|
159
160
|
};
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { get_request_store } from '@sveltejs/kit/internal/server';
|
|
5
5
|
import { create_remote_key, stringify, stringify_remote_arg } from '../../../shared.js';
|
|
6
6
|
import { prerendering } from '__sveltekit/environment';
|
|
7
|
+
import { noop } from '../../../../utils/functions.js';
|
|
7
8
|
import { create_validator, get_cache, get_response, run_remote_function } from './shared.js';
|
|
8
9
|
import { handle_error_and_jsonify } from '../../../server/utils.js';
|
|
9
10
|
import { HttpError, SvelteKitError } from '@sveltejs/kit/internal';
|
|
@@ -382,8 +383,5 @@ function update_refresh_value(
|
|
|
382
383
|
refreshes[refreshes_key] = promise;
|
|
383
384
|
}
|
|
384
385
|
|
|
385
|
-
return promise.then(
|
|
386
|
-
() => {},
|
|
387
|
-
() => {}
|
|
388
|
-
);
|
|
386
|
+
return promise.then(noop, noop);
|
|
389
387
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
/** @import { MaybePromise, RemoteQueryInternals } from 'types' */
|
|
3
3
|
import { get_request_store } from '@sveltejs/kit/internal/server';
|
|
4
4
|
import { create_remote_key, parse_remote_arg } from '../../../shared.js';
|
|
5
|
+
import { noop } from '../../../../utils/functions.js';
|
|
5
6
|
import { mark_argument_validated } from './query.js';
|
|
6
7
|
|
|
7
8
|
/**
|
|
@@ -55,7 +56,7 @@ export function requested(query, limit = Infinity) {
|
|
|
55
56
|
*/
|
|
56
57
|
const record_failure = (payload, error) => {
|
|
57
58
|
const promise = Promise.reject(error);
|
|
58
|
-
promise.catch(
|
|
59
|
+
promise.catch(noop);
|
|
59
60
|
|
|
60
61
|
const key = create_remote_key(internals.id, payload);
|
|
61
62
|
refreshes[key] = promise;
|
|
@@ -156,7 +157,7 @@ async function* race_all(array, fn) {
|
|
|
156
157
|
value: result
|
|
157
158
|
}));
|
|
158
159
|
|
|
159
|
-
promise.catch(
|
|
160
|
+
promise.catch(noop);
|
|
160
161
|
pending.add(promise);
|
|
161
162
|
}
|
|
162
163
|
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { parse } from 'devalue';
|
|
4
4
|
import { error } from '@sveltejs/kit';
|
|
5
5
|
import { with_request_store, get_request_store } from '@sveltejs/kit/internal/server';
|
|
6
|
+
import { noop } from '../../../../utils/functions.js';
|
|
6
7
|
import {
|
|
7
8
|
stringify_remote_arg,
|
|
8
9
|
create_remote_key,
|
|
@@ -93,7 +94,7 @@ export async function get_response(internals, arg, state, get_result) {
|
|
|
93
94
|
.then((value) => {
|
|
94
95
|
void unfriendly_hydratable(remote_key, () => stringify(value, state.transport));
|
|
95
96
|
})
|
|
96
|
-
.catch(
|
|
97
|
+
.catch(noop);
|
|
97
98
|
}
|
|
98
99
|
|
|
99
100
|
return entry.data;
|
|
@@ -39,6 +39,7 @@ import {
|
|
|
39
39
|
PAGE_URL_KEY
|
|
40
40
|
} from './constants.js';
|
|
41
41
|
import { validate_page_exports } from '../../utils/exports.js';
|
|
42
|
+
import { noop } from '../../utils/functions.js';
|
|
42
43
|
import { compact } from '../../utils/array.js';
|
|
43
44
|
import {
|
|
44
45
|
INVALIDATED_PARAM,
|
|
@@ -166,7 +167,7 @@ function native_navigation(url, replace = false) {
|
|
|
166
167
|
} else {
|
|
167
168
|
location.href = url.href;
|
|
168
169
|
}
|
|
169
|
-
return new Promise(
|
|
170
|
+
return new Promise(noop);
|
|
170
171
|
}
|
|
171
172
|
|
|
172
173
|
/**
|
|
@@ -182,8 +183,6 @@ async function update_service_worker() {
|
|
|
182
183
|
}
|
|
183
184
|
}
|
|
184
185
|
|
|
185
|
-
function noop() {}
|
|
186
|
-
|
|
187
186
|
/** @type {import('types').CSRRoute[]} All routes of the app. Only available when kit.router.resolution=client */
|
|
188
187
|
let routes;
|
|
189
188
|
/** @type {import('types').CSRPageNodeLoader} */
|
|
@@ -940,7 +939,7 @@ async function load_node({ loader, parent, url, params, route, server_data_node
|
|
|
940
939
|
|
|
941
940
|
return promise;
|
|
942
941
|
},
|
|
943
|
-
setHeaders:
|
|
942
|
+
setHeaders: noop,
|
|
944
943
|
depends,
|
|
945
944
|
parent() {
|
|
946
945
|
if (is_tracking) {
|
|
@@ -1118,8 +1117,8 @@ async function load_route({ id, invalidating, url, params, route, preload }) {
|
|
|
1118
1117
|
// preload modules to avoid waterfall, but handle rejections
|
|
1119
1118
|
// so they don't get reported to Sentry et al (we don't need
|
|
1120
1119
|
// to act on the failures at this point)
|
|
1121
|
-
errors.forEach((loader) => loader?.().catch(
|
|
1122
|
-
loaders.forEach((loader) => loader?.[1]().catch(
|
|
1120
|
+
errors.forEach((loader) => loader?.().catch(noop));
|
|
1121
|
+
loaders.forEach((loader) => loader?.[1]().catch(noop));
|
|
1123
1122
|
|
|
1124
1123
|
/** @type {import('types').ServerNodesResponse | import('types').ServerRedirectNode | null} */
|
|
1125
1124
|
let server_data = null;
|
|
@@ -1232,7 +1231,7 @@ async function load_route({ id, invalidating, url, params, route, preload }) {
|
|
|
1232
1231
|
});
|
|
1233
1232
|
|
|
1234
1233
|
// if we don't do this, rejections will be unhandled
|
|
1235
|
-
for (const p of branch_promises) p.catch(
|
|
1234
|
+
for (const p of branch_promises) p.catch(noop);
|
|
1236
1235
|
|
|
1237
1236
|
/** @type {Array<import('./types.js').BranchNode | undefined>} */
|
|
1238
1237
|
const branch = [];
|
|
@@ -3229,7 +3228,7 @@ function create_navigation(current, intent, url, type, target_scroll = null) {
|
|
|
3229
3228
|
});
|
|
3230
3229
|
|
|
3231
3230
|
// Handle any errors off-chain so that it doesn't show up as an unhandled rejection
|
|
3232
|
-
complete.catch(
|
|
3231
|
+
complete.catch(noop);
|
|
3233
3232
|
|
|
3234
3233
|
/** @type {(import('@sveltejs/kit').Navigation | import('@sveltejs/kit').AfterNavigate) & { type: T }} */
|
|
3235
3234
|
const navigation = /** @type {any} */ ({
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { BROWSER, DEV } from 'esm-env';
|
|
2
|
+
import { noop } from '../../utils/functions.js';
|
|
2
3
|
import { hash } from '../../utils/hash.js';
|
|
3
4
|
import { base64_decode } from '../utils.js';
|
|
4
5
|
|
|
5
6
|
let loading = 0;
|
|
6
7
|
|
|
7
8
|
/** @type {typeof fetch} */
|
|
8
|
-
const native_fetch = BROWSER ? window.fetch : /** @type {any} */ (
|
|
9
|
+
const native_fetch = BROWSER ? window.fetch : /** @type {any} */ (noop);
|
|
9
10
|
|
|
10
11
|
export function lock_fetch() {
|
|
11
12
|
loading += 1;
|
|
@@ -156,6 +156,7 @@ export function form(id) {
|
|
|
156
156
|
}
|
|
157
157
|
|
|
158
158
|
try {
|
|
159
|
+
// eslint-disable-next-line @typescript-eslint/await-thenable -- `callback` is typed as returning `void` to allow returning e.g. `Promise<boolean>`
|
|
159
160
|
await callback({
|
|
160
161
|
form,
|
|
161
162
|
data,
|
|
@@ -172,7 +173,7 @@ export function form(id) {
|
|
|
172
173
|
|
|
173
174
|
/**
|
|
174
175
|
* @param {FormData} data
|
|
175
|
-
* @returns {Promise<
|
|
176
|
+
* @returns {Promise<boolean> & { updates: (...args: any[]) => Promise<boolean> }}
|
|
176
177
|
*/
|
|
177
178
|
function submit(data) {
|
|
178
179
|
// Store a reference to the current instance and increment the usage count for the duration
|
|
@@ -193,7 +194,7 @@ export function form(id) {
|
|
|
193
194
|
/** @type {Error | undefined} */
|
|
194
195
|
let updates_error;
|
|
195
196
|
|
|
196
|
-
/** @type {Promise<
|
|
197
|
+
/** @type {Promise<boolean> & { updates: (...args: RemoteQueryUpdate[]) => Promise<boolean> }} */
|
|
197
198
|
const promise = (async () => {
|
|
198
199
|
try {
|
|
199
200
|
await Promise.resolve();
|
|
@@ -230,14 +231,17 @@ export function form(id) {
|
|
|
230
231
|
|
|
231
232
|
if (form_result.type === 'result') {
|
|
232
233
|
({ issues: raw_issues = [], result } = devalue.parse(form_result.result, app.decoders));
|
|
234
|
+
const succeeded = raw_issues.length === 0;
|
|
233
235
|
|
|
234
|
-
if (
|
|
236
|
+
if (succeeded) {
|
|
235
237
|
if (form_result.refreshes) {
|
|
236
238
|
apply_refreshes(form_result.refreshes);
|
|
237
239
|
} else {
|
|
238
240
|
void invalidateAll();
|
|
239
241
|
}
|
|
240
242
|
}
|
|
243
|
+
|
|
244
|
+
return succeeded;
|
|
241
245
|
} else if (form_result.type === 'redirect') {
|
|
242
246
|
const stringified_refreshes = form_result.refreshes ?? '';
|
|
243
247
|
if (stringified_refreshes) {
|
|
@@ -245,6 +249,7 @@ export function form(id) {
|
|
|
245
249
|
}
|
|
246
250
|
// Use internal version to allow redirects to external URLs
|
|
247
251
|
void _goto(form_result.location, { invalidateAll: !stringified_refreshes }, 0);
|
|
252
|
+
return true;
|
|
248
253
|
} else {
|
|
249
254
|
throw new HttpError(form_result.status ?? 500, form_result.error);
|
|
250
255
|
}
|
|
@@ -460,8 +465,8 @@ export function form(id) {
|
|
|
460
465
|
|
|
461
466
|
instance[createAttachmentKey()] = create_attachment(
|
|
462
467
|
form_onsubmit(({ submit, form }) =>
|
|
463
|
-
submit().then(() => {
|
|
464
|
-
if (
|
|
468
|
+
submit().then((succeeded) => {
|
|
469
|
+
if (succeeded) {
|
|
465
470
|
form.reset();
|
|
466
471
|
}
|
|
467
472
|
})
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
import * as devalue from 'devalue';
|
|
13
13
|
import { HttpError, Redirect } from '@sveltejs/kit/internal';
|
|
14
14
|
import { DEV } from 'esm-env';
|
|
15
|
+
import { noop } from '../../../utils/functions.js';
|
|
15
16
|
import { with_resolvers } from '../../../utils/promise.js';
|
|
16
17
|
import { tick, untrack } from 'svelte';
|
|
17
18
|
import { create_remote_key, stringify_remote_arg, unfriendly_hydratable } from '../../shared.js';
|
|
@@ -30,7 +31,7 @@ import { create_remote_key, stringify_remote_arg, unfriendly_hydratable } from '
|
|
|
30
31
|
*/
|
|
31
32
|
function is_in_effect() {
|
|
32
33
|
try {
|
|
33
|
-
$effect.pre(
|
|
34
|
+
$effect.pre(noop);
|
|
34
35
|
return true;
|
|
35
36
|
} catch {
|
|
36
37
|
return false;
|
|
@@ -371,7 +372,7 @@ export class Query {
|
|
|
371
372
|
|
|
372
373
|
const promise = Promise.reject(error);
|
|
373
374
|
|
|
374
|
-
promise.catch(
|
|
375
|
+
promise.catch(noop);
|
|
375
376
|
this.#promise = promise;
|
|
376
377
|
}
|
|
377
378
|
|
|
@@ -2,6 +2,7 @@ import { BROWSER, DEV } from 'esm-env';
|
|
|
2
2
|
import { writable } from 'svelte/store';
|
|
3
3
|
import { assets } from '$app/paths';
|
|
4
4
|
import { version } from '__sveltekit/environment';
|
|
5
|
+
import { noop } from '../../utils/functions.js';
|
|
5
6
|
import { PRELOAD_PRIORITIES } from './constants.js';
|
|
6
7
|
|
|
7
8
|
/* global __SVELTEKIT_APP_VERSION_FILE__, __SVELTEKIT_APP_VERSION_POLL_INTERVAL__ */
|
|
@@ -242,7 +243,7 @@ export function notifiable_store(value) {
|
|
|
242
243
|
}
|
|
243
244
|
|
|
244
245
|
export const updated_listener = {
|
|
245
|
-
v:
|
|
246
|
+
v: noop
|
|
246
247
|
};
|
|
247
248
|
|
|
248
249
|
export function create_updated_store() {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as set_cookie_parser from 'set-cookie-parser';
|
|
2
|
+
import { noop } from '../../utils/functions.js';
|
|
2
3
|
import { respond } from './respond.js';
|
|
3
4
|
import * as paths from '$app/paths/internal/server';
|
|
4
5
|
import { read_implementation } from '__sveltekit/server';
|
|
@@ -175,11 +176,11 @@ export function create_fetch({ event, options, manifest, state, get_cookie_heade
|
|
|
175
176
|
};
|
|
176
177
|
|
|
177
178
|
// Don't make this function `async`! Otherwise, the user has to `catch` promises they use for streaming responses or else
|
|
178
|
-
// it will be an unhandled rejection. Instead, we add a `.catch(
|
|
179
|
+
// it will be an unhandled rejection. Instead, we add a `.catch(noop)` ourselves below to prevent this from happening.
|
|
179
180
|
return (input, init) => {
|
|
180
181
|
// See docs in fetch.js for why we need to do this
|
|
181
182
|
const response = server_fetch(input, init);
|
|
182
|
-
response.catch(
|
|
183
|
+
response.catch(noop);
|
|
183
184
|
return response;
|
|
184
185
|
};
|
|
185
186
|
}
|
|
@@ -210,7 +211,7 @@ async function internal_fetch(request, options, manifest, state) {
|
|
|
210
211
|
throw new DOMException('The operation was aborted.', 'AbortError');
|
|
211
212
|
}
|
|
212
213
|
|
|
213
|
-
let remove_abort_listener =
|
|
214
|
+
let remove_abort_listener = noop;
|
|
214
215
|
/** @type {Promise<never>} */
|
|
215
216
|
const abort_promise = new Promise((_, reject) => {
|
|
216
217
|
const on_abort = () => {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/** @import { PromiseWithResolvers } from '../../utils/promise.js' */
|
|
2
|
+
import { noop } from '../../utils/functions.js';
|
|
2
3
|
import { with_resolvers } from '../../utils/promise.js';
|
|
3
4
|
import { IN_WEBCONTAINER } from './constants.js';
|
|
4
5
|
import { respond } from './respond.js';
|
|
@@ -126,7 +127,7 @@ export class Server {
|
|
|
126
127
|
console.error('Remote function schema validation failed:', issues);
|
|
127
128
|
return { message: 'Bad Request' };
|
|
128
129
|
}),
|
|
129
|
-
reroute: module.reroute ||
|
|
130
|
+
reroute: module.reroute || noop,
|
|
130
131
|
transport: module.transport || {}
|
|
131
132
|
};
|
|
132
133
|
|
|
@@ -150,7 +151,7 @@ export class Server {
|
|
|
150
151
|
handleValidationError: () => {
|
|
151
152
|
return { message: 'Bad Request' };
|
|
152
153
|
},
|
|
153
|
-
reroute:
|
|
154
|
+
reroute: noop,
|
|
154
155
|
transport: {}
|
|
155
156
|
};
|
|
156
157
|
|
|
@@ -2,6 +2,7 @@ import { text } from '@sveltejs/kit';
|
|
|
2
2
|
import { HttpError, Redirect } from '@sveltejs/kit/internal';
|
|
3
3
|
import { compact } from '../../../utils/array.js';
|
|
4
4
|
import { get_status, normalize_error } from '../../../utils/error.js';
|
|
5
|
+
import { noop } from '../../../utils/functions.js';
|
|
5
6
|
import { add_data_suffix } from '../../pathname.js';
|
|
6
7
|
import { redirect_response, static_error_page, handle_error_and_jsonify } from '../utils.js';
|
|
7
8
|
import {
|
|
@@ -239,8 +240,8 @@ export async function render_page(
|
|
|
239
240
|
});
|
|
240
241
|
|
|
241
242
|
// if we don't do this, rejections will be unhandled
|
|
242
|
-
for (const p of server_promises) p.catch(
|
|
243
|
-
for (const p of load_promises) p.catch(
|
|
243
|
+
for (const p of server_promises) p.catch(noop);
|
|
244
|
+
for (const p of load_promises) p.catch(noop);
|
|
244
245
|
|
|
245
246
|
for (let i = 0; i < nodes.data.length; i += 1) {
|
|
246
247
|
const node = nodes.data[i];
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DEV } from 'esm-env';
|
|
2
|
+
import { noop } from '../../../utils/functions.js';
|
|
2
3
|
import { disable_search, make_trackable } from '../../../utils/url.js';
|
|
3
4
|
import { validate_depends, validate_load_response } from '../../shared.js';
|
|
4
5
|
import { with_request_store, merge_tracing } from '@sveltejs/kit/internal/server';
|
|
@@ -243,7 +244,7 @@ export async function load_data({
|
|
|
243
244
|
route: event.route,
|
|
244
245
|
fetch: create_universal_fetch(event, state, fetched, csr, resolve_opts),
|
|
245
246
|
setHeaders: event.setHeaders,
|
|
246
|
-
depends:
|
|
247
|
+
depends: noop,
|
|
247
248
|
parent,
|
|
248
249
|
untrack: (fn) => fn(),
|
|
249
250
|
tracing: traced_event.tracing
|
|
@@ -477,11 +478,11 @@ export function create_universal_fetch(event, state, fetched, csr, resolve_opts)
|
|
|
477
478
|
};
|
|
478
479
|
|
|
479
480
|
// Don't make this function `async`! Otherwise, the user has to `catch` promises they use for streaming responses or else
|
|
480
|
-
// it will be an unhandled rejection. Instead, we add a `.catch(
|
|
481
|
+
// it will be an unhandled rejection. Instead, we add a `.catch(noop)` ourselves below to this from happening.
|
|
481
482
|
return (input, init) => {
|
|
482
483
|
// See docs in fetch.js for why we need to do this
|
|
483
484
|
const response = universal_fetch(input, init);
|
|
484
|
-
response.catch(
|
|
485
|
+
response.catch(noop);
|
|
485
486
|
return response;
|
|
486
487
|
};
|
|
487
488
|
}
|
|
@@ -614,8 +614,14 @@ export async function render_response({
|
|
|
614
614
|
// we use an anonymous function instead of an arrow function to support
|
|
615
615
|
// older browsers (https://github.com/sveltejs/kit/pull/5417)
|
|
616
616
|
blocks.push(`if ('serviceWorker' in navigator) {
|
|
617
|
+
const script_url = '${prefixed('service-worker.js')}';
|
|
618
|
+
const policy = globalThis?.window?.trustedTypes?.createPolicy(
|
|
619
|
+
'sveltekit-trusted-url',
|
|
620
|
+
{ createScriptURL(url) { return url; } }
|
|
621
|
+
);
|
|
622
|
+
const sanitised = policy?.createScriptURL(script_url) ?? script_url;
|
|
617
623
|
addEventListener('load', function () {
|
|
618
|
-
navigator.serviceWorker.register(
|
|
624
|
+
navigator.serviceWorker.register(sanitised${opts});
|
|
619
625
|
});
|
|
620
626
|
}`);
|
|
621
627
|
}
|
|
@@ -55,8 +55,6 @@ const page_methods = new Set(['GET', 'HEAD', 'POST']);
|
|
|
55
55
|
|
|
56
56
|
const allowed_page_methods = new Set(['GET', 'HEAD', 'OPTIONS']);
|
|
57
57
|
|
|
58
|
-
let warned_on_devtools_json_request = false;
|
|
59
|
-
|
|
60
58
|
export const respond = propagate_context(internal_respond);
|
|
61
59
|
|
|
62
60
|
/**
|
|
@@ -676,21 +674,6 @@ export async function internal_respond(request, options, manifest, state) {
|
|
|
676
674
|
// if this request came direct from the user, rather than
|
|
677
675
|
// via our own `fetch`, render a 404 page
|
|
678
676
|
if (state.depth === 0) {
|
|
679
|
-
// In local development, Chrome requests this file for its 'automatic workspace folders' feature,
|
|
680
|
-
// causing console spam. If users want to serve this file they can install
|
|
681
|
-
// https://svelte.dev/docs/cli/devtools-json
|
|
682
|
-
if (DEV && event.url.pathname === '/.well-known/appspecific/com.chrome.devtools.json') {
|
|
683
|
-
if (!warned_on_devtools_json_request) {
|
|
684
|
-
console.log(
|
|
685
|
-
`\nGoogle Chrome is requesting ${event.url.pathname} to automatically configure devtools project settings. To learn why, and how to prevent this message, see https://svelte.dev/docs/cli/devtools-json\n`
|
|
686
|
-
);
|
|
687
|
-
|
|
688
|
-
warned_on_devtools_json_request = true;
|
|
689
|
-
}
|
|
690
|
-
|
|
691
|
-
return new Response(undefined, { status: 404 });
|
|
692
|
-
}
|
|
693
|
-
|
|
694
677
|
return await respond_with_error({
|
|
695
678
|
event,
|
|
696
679
|
event_state,
|
package/src/utils/functions.js
CHANGED
package/src/version.js
CHANGED
package/types/index.d.ts
CHANGED
|
@@ -1867,28 +1867,35 @@ declare module '@sveltejs/kit' {
|
|
|
1867
1867
|
get files(): FileList | null;
|
|
1868
1868
|
set files(v: FileList | null);
|
|
1869
1869
|
}
|
|
1870
|
-
: T extends 'select'
|
|
1870
|
+
: T extends 'select'
|
|
1871
1871
|
? {
|
|
1872
1872
|
name: string;
|
|
1873
|
-
multiple: T extends 'select' ? false : true;
|
|
1874
1873
|
'aria-invalid': boolean | 'false' | 'true' | undefined;
|
|
1875
|
-
get value(): string
|
|
1876
|
-
set value(v: string
|
|
1874
|
+
get value(): string;
|
|
1875
|
+
set value(v: string);
|
|
1877
1876
|
}
|
|
1878
|
-
: T extends '
|
|
1877
|
+
: T extends 'select multiple'
|
|
1879
1878
|
? {
|
|
1880
1879
|
name: string;
|
|
1880
|
+
multiple: true;
|
|
1881
1881
|
'aria-invalid': boolean | 'false' | 'true' | undefined;
|
|
1882
|
-
get value(): string
|
|
1883
|
-
set value(v: string
|
|
1882
|
+
get value(): string[];
|
|
1883
|
+
set value(v: string[]);
|
|
1884
1884
|
}
|
|
1885
|
-
:
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1885
|
+
: T extends 'text'
|
|
1886
|
+
? {
|
|
1887
|
+
name: string;
|
|
1888
|
+
'aria-invalid': boolean | 'false' | 'true' | undefined;
|
|
1889
|
+
get value(): string | number;
|
|
1890
|
+
set value(v: string | number);
|
|
1891
|
+
}
|
|
1892
|
+
: {
|
|
1893
|
+
name: string;
|
|
1894
|
+
type: T;
|
|
1895
|
+
'aria-invalid': boolean | 'false' | 'true' | undefined;
|
|
1896
|
+
get value(): string | number;
|
|
1897
|
+
set value(v: string | number);
|
|
1898
|
+
};
|
|
1892
1899
|
|
|
1893
1900
|
type RemoteFormFieldMethods<T> = {
|
|
1894
1901
|
/** The values that will be submitted */
|
|
@@ -2049,10 +2056,10 @@ declare module '@sveltejs/kit' {
|
|
|
2049
2056
|
callback: (opts: {
|
|
2050
2057
|
form: HTMLFormElement;
|
|
2051
2058
|
data: Input;
|
|
2052
|
-
submit: () => Promise<
|
|
2053
|
-
updates: (...updates: RemoteQueryUpdate[]) => Promise<
|
|
2059
|
+
submit: () => Promise<boolean> & {
|
|
2060
|
+
updates: (...updates: RemoteQueryUpdate[]) => Promise<boolean>;
|
|
2054
2061
|
};
|
|
2055
|
-
}) => void
|
|
2062
|
+
}) => void
|
|
2056
2063
|
): {
|
|
2057
2064
|
method: 'POST';
|
|
2058
2065
|
action: string;
|
|
@@ -2928,10 +2935,11 @@ declare module '@sveltejs/kit/node/polyfills' {
|
|
|
2928
2935
|
}
|
|
2929
2936
|
|
|
2930
2937
|
declare module '@sveltejs/kit/vite' {
|
|
2938
|
+
import type { Plugin } from 'vite';
|
|
2931
2939
|
/**
|
|
2932
2940
|
* Returns the SvelteKit Vite plugins.
|
|
2933
2941
|
* */
|
|
2934
|
-
export function sveltekit(): Promise<
|
|
2942
|
+
export function sveltekit(): Promise<Plugin[]>;
|
|
2935
2943
|
|
|
2936
2944
|
export {};
|
|
2937
2945
|
}
|
package/types/index.d.ts.map
CHANGED
|
@@ -232,6 +232,6 @@
|
|
|
232
232
|
null,
|
|
233
233
|
null
|
|
234
234
|
],
|
|
235
|
-
"mappings": "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
|
|
235
|
+
"mappings": "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",
|
|
236
236
|
"ignoreList": []
|
|
237
237
|
}
|