@sveltejs/kit 3.0.0-next.21 → 3.0.0-next.23

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 (47) hide show
  1. package/package.json +1 -5
  2. package/src/core/postbuild/prerender.js +19 -19
  3. package/src/core/sync/write_types/index.js +1 -3
  4. package/src/exports/hooks/public.d.ts +1 -2
  5. package/src/exports/hooks/sequence.js +1 -1
  6. package/src/exports/index.js +10 -0
  7. package/src/exports/internal/server/event.js +1 -1
  8. package/src/exports/public.d.ts +205 -2
  9. package/src/exports/vite/dev/index.js +1 -2
  10. package/src/exports/vite/index.js +2 -2
  11. package/src/runtime/app/server/public.d.ts +480 -168
  12. package/src/runtime/app/server/remote/command.js +1 -1
  13. package/src/runtime/app/server/remote/form.js +5 -5
  14. package/src/runtime/app/server/remote/prerender.js +1 -1
  15. package/src/runtime/app/server/remote/query.js +2 -2
  16. package/src/runtime/app/server/remote/requested.js +3 -3
  17. package/src/runtime/app/server/remote/shared.js +1 -1
  18. package/src/runtime/client/remote-functions/command.svelte.js +1 -1
  19. package/src/runtime/client/remote-functions/form.svelte.js +1 -1
  20. package/src/runtime/client/remote-functions/prerender.svelte.js +1 -1
  21. package/src/runtime/client/remote-functions/query/index.js +1 -1
  22. package/src/runtime/client/remote-functions/query/instance.svelte.js +2 -1
  23. package/src/runtime/client/remote-functions/query-batch.svelte.js +1 -1
  24. package/src/runtime/client/remote-functions/query-live/index.js +1 -1
  25. package/src/runtime/client/remote-functions/query-live/instance.svelte.js +4 -3
  26. package/src/runtime/client/remote-functions/shared.svelte.js +1 -1
  27. package/src/runtime/server/cookie.js +2 -2
  28. package/src/runtime/server/data/index.js +1 -1
  29. package/src/runtime/server/endpoint.js +3 -3
  30. package/src/runtime/server/errors.js +2 -2
  31. package/src/runtime/server/fetch.js +1 -1
  32. package/src/runtime/server/page/actions.js +1 -2
  33. package/src/runtime/server/page/data_serializer.js +2 -2
  34. package/src/runtime/server/page/index.js +1 -2
  35. package/src/runtime/server/page/load_data.js +3 -3
  36. package/src/runtime/server/page/render.js +1 -1
  37. package/src/runtime/server/page/respond_with_error.js +1 -1
  38. package/src/runtime/server/remote-functions.js +2 -3
  39. package/src/runtime/server/respond.js +2 -2
  40. package/src/runtime/server/utils.js +1 -1
  41. package/src/types/internal.d.ts +2 -2
  42. package/src/utils/promise.js +25 -0
  43. package/src/version.js +1 -1
  44. package/types/index.d.ts +750 -762
  45. package/types/index.d.ts.map +46 -50
  46. package/src/exports/remote/index.js +0 -11
  47. package/src/exports/remote/public.d.ts +0 -519
@@ -1,4 +1,4 @@
1
- /** @import { RemoteCommand } from '@sveltejs/kit/remote' */
1
+ /** @import { RemoteCommand } from '$app/server' */
2
2
  /** @import { MaybePromise, RemoteCommandInternals } from 'types' */
3
3
  /** @import { StandardSchemaV1 } from '@standard-schema/spec' */
4
4
  import { get_request_store } from '@sveltejs/kit/internal/server';
@@ -1,4 +1,4 @@
1
- /** @import { RemoteFormInput, RemoteForm, InvalidField } from '@sveltejs/kit/remote' */
1
+ /** @import { RemoteFormInput, RemoteForm, RemoteFormInvalidField } from '$app/server' */
2
2
  /** @import { InternalRemoteFormIssue, MaybePromise, HasNonOptionalBoolean, RemoteFormInternals } from 'types' */
3
3
  /** @import { StandardSchemaV1 } from '@standard-schema/spec' */
4
4
  import { get_request_store } from '@sveltejs/kit/internal/server';
@@ -33,7 +33,7 @@ import { ValidationError } from '@sveltejs/kit/internal';
33
33
  * @template Output
34
34
  * @overload
35
35
  * @param {'unchecked'} validate
36
- * @param {(data: Input, issue: InvalidField<Input>) => MaybePromise<Output>} fn
36
+ * @param {(data: Input, issue: RemoteFormInvalidField<Input>) => MaybePromise<Output>} fn
37
37
  * @returns {RemoteForm<Input, Output>}
38
38
  * @since 2.27
39
39
  */
@@ -46,7 +46,7 @@ import { ValidationError } from '@sveltejs/kit/internal';
46
46
  * @template Output
47
47
  * @overload
48
48
  * @param {true extends HasNonOptionalBoolean<StandardSchemaV1.InferInput<Schema>> ? 'Error: All booleans in form schemas must be optional (e.g. `v.optional(v.boolean(), false)`) because checkbox inputs do not send a false value when unchecked.' : Schema} validate
49
- * @param {(data: StandardSchemaV1.InferOutput<Schema>, issue: InvalidField<StandardSchemaV1.InferInput<Schema>>) => MaybePromise<Output>} fn
49
+ * @param {(data: StandardSchemaV1.InferOutput<Schema>, issue: RemoteFormInvalidField<StandardSchemaV1.InferInput<Schema>>) => MaybePromise<Output>} fn
50
50
  * @returns {RemoteForm<StandardSchemaV1.InferInput<Schema>, Output>}
51
51
  * @since 2.27
52
52
  */
@@ -293,10 +293,10 @@ function handle_issues(output, issues, form_data, form_id) {
293
293
 
294
294
  /**
295
295
  * Creates an invalid function that can be used to imperatively mark form fields as invalid
296
- * @returns {InvalidField<any>}
296
+ * @returns {RemoteFormInvalidField<any>}
297
297
  */
298
298
  function create_issues() {
299
- return /** @type {InvalidField<any>} */ (
299
+ return /** @type {RemoteFormInvalidField<any>} */ (
300
300
  new Proxy(
301
301
  /** @param {string} message */
302
302
  (message) => {
@@ -1,4 +1,4 @@
1
- /** @import { RemoteResource, RemotePrerenderFunction } from '@sveltejs/kit/remote' */
1
+ /** @import { RemoteResource, RemotePrerenderFunction } from '$app/server' */
2
2
  /** @import { RemoteFunctionResponse, RemotePrerenderInputsGenerator, RemotePrerenderInternals, MaybePromise } from 'types' */
3
3
  /** @import { StandardSchemaV1 } from '@standard-schema/spec' */
4
4
  import { json } from '@sveltejs/kit';
@@ -1,5 +1,5 @@
1
- /** @import { RemoteLiveQuery, RemoteLiveQueryFunction, RemoteQuery, RemoteQueryFunction } from '@sveltejs/kit/remote' */
2
- /** @import { RequestEvent } from '$app/server' */
1
+ /** @import { RemoteLiveQuery, RemoteLiveQueryFunction, RemoteQuery, RemoteQueryFunction } from '$app/server' */
2
+ /** @import { RequestEvent } from '@sveltejs/kit' */
3
3
  /** @import { RemoteInternals, MaybePromise, RequestState, RemoteQueryLiveInternals, RemoteQueryBatchInternals, RemoteQueryInternals, RemoteLiveQueryUserFunctionReturnType } from 'types' */
4
4
  /** @import { StandardSchemaV1 } from '@standard-schema/spec' */
5
5
  import { get_request_store } from '@sveltejs/kit/internal/server';
@@ -1,4 +1,4 @@
1
- /** @import { RemoteLiveQuery, RemoteLiveQueryFunction, RemoteQuery, RemoteQueryFunction, RequestedResult, QueryRequestedResult, LiveQueryRequestedResult } from '@sveltejs/kit/remote' */
1
+ /** @import { RemoteLiveQuery, RemoteLiveQueryFunction, RemoteQuery, RemoteQueryFunction, RequestedResult, RemoteQueryRequestedResult, RemoteLiveQueryRequestedResult } from '$app/server' */
2
2
  /** @import { MaybePromise, RemoteAnyQueryInternals } from 'types' */
3
3
  import { HttpError } from '@sveltejs/kit/internal';
4
4
  import { get_request_store } from '@sveltejs/kit/internal/server';
@@ -53,7 +53,7 @@ import { refresh } from './query.js';
53
53
  * @overload
54
54
  * @param {RemoteQueryFunction<Input, Output, Validated>} query
55
55
  * @param {number} limit
56
- * @returns {QueryRequestedResult<Validated, Output>}
56
+ * @returns {RemoteQueryRequestedResult<Validated, Output>}
57
57
  */
58
58
  /**
59
59
  * Inside a remote `command` or `form` callback, returns an iterable
@@ -91,7 +91,7 @@ import { refresh } from './query.js';
91
91
  * @overload
92
92
  * @param {RemoteLiveQueryFunction<Input, Output, Validated>} query
93
93
  * @param {number} limit
94
- * @returns {LiveQueryRequestedResult<Validated, Output>}
94
+ * @returns {RemoteLiveQueryRequestedResult<Validated, Output>}
95
95
  */
96
96
  /**
97
97
  * @template Input
@@ -1,4 +1,4 @@
1
- /** @import { RequestEvent } from '$app/server' */
1
+ /** @import { RequestEvent } from '@sveltejs/kit' */
2
2
  /** @import { MaybePromise, RequestState, RemoteInternals, RequestStore, RemoteLiveQueryUserFunctionReturnType } from 'types' */
3
3
  import { error } from '@sveltejs/kit';
4
4
  import { ValidationError } from '@sveltejs/kit/internal';
@@ -1,4 +1,4 @@
1
- /** @import { RemoteCommand, RemoteQueryUpdate } from '@sveltejs/kit/remote' */
1
+ /** @import { RemoteCommand, RemoteQueryUpdate } from '$app/server' */
2
2
  import { app_dir, base } from '#app/paths';
3
3
  import { stringify_command_arg } from '../../shared.js';
4
4
  import { get_remote_request_headers, categorize_updates, remote_request } from './shared.svelte.js';
@@ -1,5 +1,5 @@
1
1
  /** @import { StandardSchemaV1 } from '@standard-schema/spec' */
2
- /** @import { RemoteFormInput, RemoteForm, RemoteQueryUpdate } from '@sveltejs/kit/remote' */
2
+ /** @import { RemoteFormInput, RemoteForm, RemoteQueryUpdate } from '$app/server' */
3
3
  /** @import { InternalRemoteFormIssue } from 'types' */
4
4
  import { app_dir, base } from '#app/paths';
5
5
  import { DEV } from 'esm-env';
@@ -1,4 +1,4 @@
1
- /** @import { RemotePrerenderFunction } from '@sveltejs/kit/remote' */
1
+ /** @import { RemotePrerenderFunction } from '$app/server' */
2
2
  import { app_dir, base } from '#app/paths';
3
3
  import { version } from '$app/env';
4
4
  import * as devalue from 'devalue';
@@ -1,4 +1,4 @@
1
- /** @import { RemoteQueryFunction } from '@sveltejs/kit/remote' */
1
+ /** @import { RemoteQueryFunction } from '$app/server' */
2
2
  import { app_dir, base } from '#app/paths';
3
3
  import { _goto, query_map } from '../../client.js';
4
4
  import { QUERY_FUNCTION_ID, remote_request } from '../shared.svelte.js';
@@ -3,6 +3,7 @@ import { query_responses, handle_error } from '../../client.js';
3
3
  import { HandledHttpError } from '@sveltejs/kit/internal';
4
4
  import { QUERY_OVERRIDE_KEY } from '../shared.svelte.js';
5
5
  import { noop } from '../../../../utils/functions.js';
6
+ import { with_resolvers } from '../../../../utils/promise.js';
6
7
  import { tick, untrack } from 'svelte';
7
8
 
8
9
  /**
@@ -101,7 +102,7 @@ export class Query {
101
102
  #run() {
102
103
  this.#loading = true;
103
104
 
104
- const { promise, resolve, reject } = Promise.withResolvers();
105
+ const { promise, resolve, reject } = with_resolvers();
105
106
 
106
107
  // the rejection is surfaced via `.error` / the `then` getter for awaiting
107
108
  // consumers — a purely reactive consumer (`.current`) attaches no handler,
@@ -1,4 +1,4 @@
1
- /** @import { RemoteQueryFunction } from '@sveltejs/kit/remote' */
1
+ /** @import { RemoteQueryFunction } from '$app/server' */
2
2
  import { app_dir, base } from '#app/paths';
3
3
  import { _goto } from '../client.js';
4
4
  import { QUERY_FUNCTION_ID, remote_request } from './shared.svelte.js';
@@ -1,4 +1,4 @@
1
- /** @import { RemoteLiveQuery, RemoteLiveQueryFunction } from '@sveltejs/kit/remote' */
1
+ /** @import { RemoteLiveQuery, RemoteLiveQueryFunction } from '$app/server' */
2
2
  import { live_query_map } from '../../client.js';
3
3
  import { QUERY_FUNCTION_ID } from '../shared.svelte.js';
4
4
  import { DEV } from 'esm-env';
@@ -1,6 +1,7 @@
1
1
  import { query_responses, handle_error } from '../../client.js';
2
2
  import { HttpError, Redirect, HandledHttpError } from '@sveltejs/kit/internal';
3
3
  import { noop, once } from '../../../../utils/functions.js';
4
+ import { with_resolvers } from '../../../../utils/promise.js';
4
5
  import { SharedIterator } from '../../../../utils/shared-iterator.js';
5
6
  import { tick } from 'svelte';
6
7
  import { create_live_iterator } from './iterator.js';
@@ -78,7 +79,7 @@ export class LiveQuery {
78
79
  // the semantics of awaiting a live query are a bit weird, but it's basically:
79
80
  // - It's a promise that resolves to the first value from the server
80
81
  // - Thereafter, it's a promise that immediately resolves to the current value
81
- const { promise, resolve, reject } = Promise.withResolvers();
82
+ const { promise, resolve, reject } = with_resolvers();
82
83
  this.#promise = $state.raw(promise);
83
84
  this.#resolve_first = resolve;
84
85
  this.#reject_first = reject;
@@ -121,7 +122,7 @@ export class LiveQuery {
121
122
  if (this.#interrupt) return;
122
123
 
123
124
  /** @type {PromiseWithResolvers<void>} */
124
- const { promise: stopped, resolve: on_stop } = Promise.withResolvers();
125
+ const { promise: stopped, resolve: on_stop } = with_resolvers();
125
126
  let connected = false;
126
127
 
127
128
  while (!this.#done) {
@@ -352,7 +353,7 @@ export class LiveQuery {
352
353
  async reconnect() {
353
354
  await this.#interrupt?.();
354
355
  /** @type {PromiseWithResolvers<void>} */
355
- const { promise, resolve: on_connect, reject: on_connect_failed } = Promise.withResolvers();
356
+ const { promise, resolve: on_connect, reject: on_connect_failed } = with_resolvers();
356
357
  promise.catch(noop);
357
358
  this.#done = false;
358
359
  this.#attempt = 0;
@@ -1,5 +1,5 @@
1
1
  /** @import { RemoteFunctionResponse, RemoteFunctionData, RemoteFunctionDataNode } from 'types' */
2
- /** @import { RemoteQueryUpdate } from '@sveltejs/kit/remote' */
2
+ /** @import { RemoteQueryUpdate } from '$app/server' */
3
3
  /** @import { CacheEntry } from './cache.svelte.js' */
4
4
  import * as devalue from 'devalue';
5
5
  import { app, _goto, live_query_map, query_map, query_responses } from '../client.js';
@@ -76,11 +76,11 @@ export function get_cookies(request, url) {
76
76
  secure: !__SVELTEKIT_DEV__ && !(url.hostname === 'localhost' && url.protocol === 'http:')
77
77
  };
78
78
 
79
- /** @type {import('$app/server').Cookies} */
79
+ /** @type {import('@sveltejs/kit').Cookies} */
80
80
  const cookies = {
81
81
  // The JSDoc param annotations appearing below for get, set and delete
82
82
  // are necessary to expose the `cookie` library types to
83
- // typescript users. `@type {import('$app/server').Cookies}` above is not
83
+ // typescript users. `@type {import('@sveltejs/kit').Cookies}` above is not
84
84
  // sufficient to do so.
85
85
 
86
86
  get(name, opts) {
@@ -10,7 +10,7 @@ import { text_encoder } from '../../utils.js';
10
10
  import { with_version_header } from '../utils.js';
11
11
 
12
12
  /**
13
- * @param {import('$app/server').RequestEvent} event
13
+ * @param {import('@sveltejs/kit').RequestEvent} event
14
14
  * @param {import('types').RequestState} state
15
15
  * @param {import('types').SSRRoute} route
16
16
  * @param {import('types').SSROptions} options
@@ -5,7 +5,7 @@ import { negotiate } from '../../utils/http.js';
5
5
  import { method_not_allowed } from './utils.js';
6
6
 
7
7
  /**
8
- * @param {import('$app/server').RequestEvent} event
8
+ * @param {import('@sveltejs/kit').RequestEvent} event
9
9
  * @param {import('types').RequestState} state
10
10
  * @param {import('types').SSREndpoint} mod
11
11
  * @returns {Promise<Response>}
@@ -42,7 +42,7 @@ export async function render_endpoint(event, state, mod) {
42
42
 
43
43
  try {
44
44
  const response = await with_request_store({ event, state }, () =>
45
- handler(/** @type {import('$app/server').RequestEvent<Record<string, any>>} */ (event))
45
+ handler(/** @type {import('@sveltejs/kit').RequestEvent<Record<string, any>>} */ (event))
46
46
  );
47
47
 
48
48
  if (!(response instanceof Response)) {
@@ -89,7 +89,7 @@ export async function render_endpoint(event, state, mod) {
89
89
  }
90
90
 
91
91
  /**
92
- * @param {import('$app/server').RequestEvent} event
92
+ * @param {import('@sveltejs/kit').RequestEvent} event
93
93
  */
94
94
  export function is_endpoint_request(event) {
95
95
  const { method, headers } = event.request;
@@ -12,7 +12,7 @@ import { fix_stack_trace } from './internal.js';
12
12
  import { escape_html } from '../../utils/escape.js';
13
13
 
14
14
  /**
15
- * @param {import('$app/server').RequestEvent} event
15
+ * @param {import('@sveltejs/kit').RequestEvent} event
16
16
  * @param {import('types').RequestState} state
17
17
  * @param {import('types').SSROptions} options
18
18
  * @param {unknown} error
@@ -37,7 +37,7 @@ export async function handle_fatal_error(event, state, options, error) {
37
37
  }
38
38
 
39
39
  /**
40
- * @param {import('$app/server').RequestEvent} event
40
+ * @param {import('@sveltejs/kit').RequestEvent} event
41
41
  * @param {import('types').RequestState} state
42
42
  * @param {import('types').SSROptions} options
43
43
  * @param {any} error
@@ -8,7 +8,7 @@ import { fork_state_for_subrequest } from './state.js';
8
8
 
9
9
  /**
10
10
  * @param {{
11
- * event: import('$app/server').RequestEvent;
11
+ * event: import('@sveltejs/kit').RequestEvent;
12
12
  * options: import('types').SSROptions;
13
13
  * manifest: import('@sveltejs/kit').SSRManifest;
14
14
  * state: import('types').RequestState;
@@ -1,5 +1,4 @@
1
- /** @import { Actions } from '@sveltejs/kit' */
2
- /** @import { RequestEvent } from '$app/server' */
1
+ /** @import { RequestEvent, Actions } from '@sveltejs/kit' */
3
2
  /** @import { ActionResult } from '$app/forms' */
4
3
  /** @import { SSROptions, SSRNode, ServerNode } from 'types' */
5
4
  import { DEV } from 'esm-env';
@@ -8,7 +8,7 @@ import { encoders } from '#app/internal/transport';
8
8
  /**
9
9
  * If the serialized data contains promises, `chunks` will be an
10
10
  * async iterable containing their resolutions
11
- * @param {import('$app/server').RequestEvent} event
11
+ * @param {import('@sveltejs/kit').RequestEvent} event
12
12
  * @param {import('types').RequestState} state
13
13
  * @param {import('types').SSROptions} options
14
14
  * @returns {import('./types.js').ServerDataSerializer}
@@ -125,7 +125,7 @@ export function server_data_serializer(event, state, options) {
125
125
  /**
126
126
  * If the serialized data contains promises, `chunks` will be an
127
127
  * async iterable containing their resolutions
128
- * @param {import('$app/server').RequestEvent} event
128
+ * @param {import('@sveltejs/kit').RequestEvent} event
129
129
  * @param {import('types').RequestState} state
130
130
  * @param {import('types').SSROptions} options
131
131
  * @returns {import('./types.js').ServerDataSerializerJson}
@@ -1,6 +1,5 @@
1
1
  /** @import { Component } from 'svelte' */
2
- /** @import { SSRManifest } from '@sveltejs/kit' */
3
- /** @import { RequestEvent } from '$app/server' */
2
+ /** @import { RequestEvent, SSRManifest } from '@sveltejs/kit' */
4
3
  /** @import { ActionResult } from '$app/forms' */
5
4
  /** @import { PageNodeIndexes, RequestState, RequiredResolveOptions, ServerDataNode, SSRNode, SSROptions } from 'types' */
6
5
  import { text } from '@sveltejs/kit';
@@ -10,7 +10,7 @@ import { get_node_type } from '../utils.js';
10
10
  /**
11
11
  * Calls the user's server `load` function.
12
12
  * @param {{
13
- * event: import('$app/server').RequestEvent;
13
+ * event: import('@sveltejs/kit').RequestEvent;
14
14
  * state: import('types').RequestState;
15
15
  * node: import('types').SSRNode | undefined;
16
16
  * parent: () => Promise<Record<string, any>>;
@@ -191,7 +191,7 @@ export async function load_server_data({ event, state, node, parent }) {
191
191
  /**
192
192
  * Calls the user's `load` function.
193
193
  * @param {{
194
- * event: import('$app/server').RequestEvent;
194
+ * event: import('@sveltejs/kit').RequestEvent;
195
195
  * state: import('types').RequestState;
196
196
  * fetched: import('./types.js').Fetched[];
197
197
  * node: import('types').SSRNode | undefined;
@@ -256,7 +256,7 @@ export async function load_data({
256
256
  }
257
257
 
258
258
  /**
259
- * @param {Pick<import('$app/server').RequestEvent, 'fetch' | 'url' | 'request' | 'route'>} event
259
+ * @param {Pick<import('@sveltejs/kit').RequestEvent, 'fetch' | 'url' | 'request' | 'route'>} event
260
260
  * @param {import('types').PrerenderOptions | undefined} prerendering
261
261
  * @param {import('./types.js').Fetched[]} fetched
262
262
  * @param {boolean} csr
@@ -40,7 +40,7 @@ import { has_custom_transporters, uneval } from '#app/internal/transport';
40
40
  * page_config: { ssr: boolean; csr: boolean };
41
41
  * status: number;
42
42
  * error: App.Error | null;
43
- * event: import('$app/server').RequestEvent;
43
+ * event: import('@sveltejs/kit').RequestEvent;
44
44
  * state: import('types').RequestState;
45
45
  * resolve_opts: import('types').RequiredResolveOptions;
46
46
  * action_result?: import('$app/forms').ActionResult;
@@ -12,7 +12,7 @@ import { server_data_serializer } from './data_serializer.js';
12
12
 
13
13
  /**
14
14
  * @param {{
15
- * event: import('$app/server').RequestEvent;
15
+ * event: import('@sveltejs/kit').RequestEvent;
16
16
  * state: import('types').RequestState;
17
17
  * options: import('types').SSROptions;
18
18
  * manifest: import('@sveltejs/kit').SSRManifest;
@@ -1,6 +1,5 @@
1
- /** @import { SSRManifest } from '@sveltejs/kit' */
2
- /** @import { RemoteForm } from '@sveltejs/kit/remote' */
3
- /** @import { RequestEvent } from '$app/server' */
1
+ /** @import { RequestEvent, SSRManifest } from '@sveltejs/kit' */
2
+ /** @import { RemoteForm } from '$app/server' */
4
3
  /** @import { ActionResult } from '$app/forms' */
5
4
  /** @import { RemoteFormInternals, RemoteFunctionData, RemoteFunctionResponse, RemoteInternals, RequestState, SSROptions } from 'types' */
6
5
 
@@ -183,7 +183,7 @@ export async function internal_respond(request, options, manifest, state) {
183
183
  url
184
184
  );
185
185
 
186
- /** @type {import('$app/server').RequestEvent} */
186
+ /** @type {import('@sveltejs/kit').RequestEvent} */
187
187
  const event = {
188
188
  cookies,
189
189
  // @ts-expect-error `fetch` needs to be created after the `event` itself
@@ -574,7 +574,7 @@ export async function internal_respond(request, options, manifest, state) {
574
574
  }
575
575
 
576
576
  /**
577
- * @param {import('$app/server').RequestEvent} event
577
+ * @param {import('@sveltejs/kit').RequestEvent} event
578
578
  * @param {PageNodes | undefined} page_nodes
579
579
  * @param {import('@sveltejs/kit/hooks').ResolveOptions} [opts]
580
580
  */
@@ -59,7 +59,7 @@ export function with_version_header(response) {
59
59
  }
60
60
 
61
61
  /**
62
- * @param {import('$app/server').RequestEvent} event
62
+ * @param {import('@sveltejs/kit').RequestEvent} event
63
63
  * @param {Error & { path: string }} error
64
64
  */
65
65
  export function clarify_devalue_error(event, error) {
@@ -6,12 +6,12 @@ import {
6
6
  Server,
7
7
  ServerInitOptions,
8
8
  Actions,
9
+ RequestEvent,
9
10
  SSRManifest,
10
11
  Emulator
11
12
  } from '@sveltejs/kit';
12
- import { RemoteFormIssue, RemoteQuery, RemoteLiveQuery } from '@sveltejs/kit/remote';
13
+ import { RemoteFormIssue, RemoteQuery, RemoteLiveQuery } from '$app/server';
13
14
  import { Config } from '@sveltejs/kit/vite';
14
- import { RequestEvent } from '$app/server';
15
15
  import {
16
16
  ClientInit,
17
17
  Handle,
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Replacement for `Promise.withResolvers()` that does not require the native
3
+ * static method, which only shipped in Safari 17.4 / Chrome 119 / Firefox 121.
4
+ *
5
+ * The client remote-function runtime is bundled and shipped to browsers verbatim
6
+ * (Vite 8's default build target is Safari 16.4 / Chrome 111) and is not
7
+ * polyfilled, so it must not assume `Promise.withResolvers` exists. The
8
+ * server-side and build-time call sites run on Node 22+ and keep using the
9
+ * native method.
10
+ *
11
+ * @template T
12
+ * @returns {PromiseWithResolvers<T>}
13
+ */
14
+ export function with_resolvers() {
15
+ let resolve;
16
+ let reject;
17
+
18
+ const promise = new Promise((res, rej) => {
19
+ resolve = res;
20
+ reject = rej;
21
+ });
22
+
23
+ // @ts-expect-error `resolve` and `reject` are assigned!
24
+ return { promise, resolve, reject };
25
+ }
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 = '3.0.0-next.21';
4
+ export const VERSION = '3.0.0-next.23';