@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.
Files changed (34) hide show
  1. package/package.json +2 -2
  2. package/src/core/config/index.js +22 -2
  3. package/src/core/config/options.js +20 -4
  4. package/src/core/postbuild/prerender.js +2 -1
  5. package/src/core/sync/utils.js +8 -1
  6. package/src/core/utils.js +1 -2
  7. package/src/exports/node/index.js +2 -1
  8. package/src/exports/public.d.ts +24 -17
  9. package/src/exports/vite/build/build_service_worker.js +1 -1
  10. package/src/exports/vite/build/remote.js +126 -0
  11. package/src/exports/vite/dev/index.js +21 -8
  12. package/src/exports/vite/index.js +35 -22
  13. package/src/exports/vite/preview/index.js +5 -1
  14. package/src/exports/vite/utils.js +18 -0
  15. package/src/runtime/app/forms.js +2 -1
  16. package/src/runtime/app/server/remote/prerender.js +2 -1
  17. package/src/runtime/app/server/remote/query.js +2 -4
  18. package/src/runtime/app/server/remote/requested.js +3 -2
  19. package/src/runtime/app/server/remote/shared.js +2 -1
  20. package/src/runtime/client/client.js +7 -8
  21. package/src/runtime/client/fetcher.js +2 -1
  22. package/src/runtime/client/remote-functions/form.svelte.js +10 -5
  23. package/src/runtime/client/remote-functions/query.svelte.js +3 -2
  24. package/src/runtime/client/utils.js +2 -1
  25. package/src/runtime/server/fetch.js +4 -3
  26. package/src/runtime/server/index.js +3 -2
  27. package/src/runtime/server/page/index.js +3 -2
  28. package/src/runtime/server/page/load_data.js +4 -3
  29. package/src/runtime/server/page/render.js +7 -1
  30. package/src/runtime/server/respond.js +0 -17
  31. package/src/utils/functions.js +2 -0
  32. package/src/version.js +1 -1
  33. package/types/index.d.ts +26 -18
  34. 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
@@ -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: () => {}, // noop
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<any> & { updates: (...args: any[]) => any }}
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<any> & { updates: (...args: RemoteQueryUpdate[]) => Promise<any> }} */
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 (!issues.$) {
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 (!issues.$) {
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(() => {})` ourselves below to prevent this from happening.
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(() => {})` ourselves below to this from happening.
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('${prefixed('service-worker.js')}'${opts});
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,
@@ -1,3 +1,5 @@
1
+ export function noop() {}
2
+
1
3
  /**
2
4
  * @template T
3
5
  * @param {() => T} fn
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.56.1';
4
+ export const VERSION = '2.57.0';
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' | 'select multiple'
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 | number;
1876
- set value(v: string | number);
1874
+ get value(): string;
1875
+ set value(v: string);
1877
1876
  }
1878
- : T extends 'text'
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 | number;
1883
- set value(v: string | number);
1882
+ get value(): string[];
1883
+ set value(v: string[]);
1884
1884
  }
1885
- : {
1886
- name: string;
1887
- type: T;
1888
- 'aria-invalid': boolean | 'false' | 'true' | undefined;
1889
- get value(): string | number;
1890
- set value(v: string | number);
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<void> & {
2053
- updates: (...updates: RemoteQueryUpdate[]) => Promise<void>;
2059
+ submit: () => Promise<boolean> & {
2060
+ updates: (...updates: RemoteQueryUpdate[]) => Promise<boolean>;
2054
2061
  };
2055
- }) => void | Promise<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<import("vite").Plugin[]>;
2942
+ export function sveltekit(): Promise<Plugin[]>;
2935
2943
 
2936
2944
  export {};
2937
2945
  }
@@ -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
  }