@sveltejs/kit 3.0.0-next.24 → 3.0.0-next.27

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 (71) hide show
  1. package/package.json +16 -10
  2. package/src/constants.js +6 -0
  3. package/src/core/adapt/builder.js +128 -33
  4. package/src/core/adapt/index.js +3 -0
  5. package/src/core/config/index.js +4 -7
  6. package/src/core/env.js +39 -14
  7. package/src/core/generate_manifest/index.js +42 -43
  8. package/src/core/postbuild/analyse.js +4 -4
  9. package/src/core/postbuild/fallback.js +1 -1
  10. package/src/core/postbuild/prerender.js +4 -4
  11. package/src/core/sync/create_manifest_data/index.js +0 -1
  12. package/src/core/sync/write_app_manifest.js +3 -2
  13. package/src/core/sync/write_server.js +3 -17
  14. package/src/core/utils.js +10 -0
  15. package/src/exports/adapter.js +22 -0
  16. package/src/exports/public.d.ts +101 -49
  17. package/src/exports/vite/build/index.js +1173 -0
  18. package/src/exports/vite/build/remote.js +4 -4
  19. package/src/exports/vite/build/service-worker.js +98 -0
  20. package/src/exports/vite/dev/generate_manifest.js +308 -0
  21. package/src/exports/vite/dev/index.js +40 -282
  22. package/src/exports/vite/index.js +156 -1717
  23. package/src/exports/vite/plugins/env-vars.js +53 -34
  24. package/src/exports/vite/plugins/guard.js +217 -0
  25. package/src/exports/vite/plugins/remote.js +237 -0
  26. package/src/exports/vite/preview/index.js +8 -8
  27. package/src/exports/vite/static_analysis/index.js +15 -15
  28. package/src/exports/vite/utils.js +98 -1
  29. package/src/runner.js +4 -3
  30. package/src/runtime/app/paths/server.js +2 -2
  31. package/src/runtime/app/server/index.js +3 -3
  32. package/src/runtime/app/server/public.d.ts +114 -57
  33. package/src/runtime/app/server/remote/query.js +2 -2
  34. package/src/runtime/app/server/remote/requested.js +31 -15
  35. package/src/runtime/app/state/client.svelte.js +3 -1
  36. package/src/runtime/client/client.js +43 -198
  37. package/src/runtime/client/fetcher.js +6 -6
  38. package/src/runtime/client/focus.js +120 -0
  39. package/src/runtime/client/remote-functions/command.svelte.js +20 -9
  40. package/src/runtime/client/remote-functions/form.svelte.js +12 -7
  41. package/src/runtime/client/remote-functions/query/instance.svelte.js +19 -5
  42. package/src/runtime/client/remote-functions/shared.svelte.js +22 -1
  43. package/src/runtime/client/scroll.js +39 -0
  44. package/src/runtime/client/utils.js +28 -0
  45. package/src/runtime/form-utils.js +254 -264
  46. package/src/runtime/server/data/index.js +14 -36
  47. package/src/runtime/server/errors.js +7 -10
  48. package/src/runtime/server/fetch.js +21 -25
  49. package/src/runtime/server/index.js +35 -31
  50. package/src/runtime/server/internal.js +34 -5
  51. package/src/runtime/server/page/actions.js +6 -8
  52. package/src/runtime/server/page/data_serializer.js +6 -10
  53. package/src/runtime/server/page/index.js +18 -28
  54. package/src/runtime/server/page/load_data.js +2 -2
  55. package/src/runtime/server/page/render.js +22 -40
  56. package/src/runtime/server/page/respond_with_error.js +10 -13
  57. package/src/runtime/server/page/server_routing.js +21 -27
  58. package/src/runtime/server/remote-functions.js +136 -136
  59. package/src/runtime/server/respond.js +66 -64
  60. package/src/runtime/server/state.js +2 -0
  61. package/src/runtime/server/utils.js +4 -11
  62. package/src/runtime/shared.js +9 -0
  63. package/src/runtime/utils.js +41 -0
  64. package/src/types/ambient-private.d.ts +1 -2
  65. package/src/types/global-private.d.ts +8 -0
  66. package/src/types/internal.d.ts +56 -17
  67. package/src/utils/filesystem.js +44 -28
  68. package/src/utils/streaming.js +5 -15
  69. package/src/version.js +1 -1
  70. package/types/index.d.ts +235 -93
  71. package/types/index.d.ts.map +9 -2
package/types/index.d.ts CHANGED
@@ -5,6 +5,7 @@ declare module '@sveltejs/kit' {
5
5
  import type { Plugin } from 'vite';
6
6
  import type { RouteId as AppRouteId, LayoutParams as AppLayoutParams } from '$app/types';
7
7
  import type { StandardSchemaV1 } from '@standard-schema/spec';
8
+ import type { getRequest, setResponse } from '@sveltejs/kit/node';
8
9
  import type { Config } from '@sveltejs/kit/vite';
9
10
  // @ts-ignore this is an optional peer dependency so could be missing. Written like this so dts-buddy preserves the ts-ignore
10
11
  type Span = import('@opentelemetry/api').Span;
@@ -43,20 +44,47 @@ declare module '@sveltejs/kit' {
43
44
  * during dev, build and prerendering.
44
45
  */
45
46
  emulate?: () => MaybePromise<Emulator>;
46
- vite?: {
47
- plugins?: {
48
- /**
49
- * Vite plugins placed before any of SvelteKit's own plugins.
50
- * @since 3.0.0
51
- */
52
- pre?: Plugin[];
53
- /**
54
- * Vite plugins placed after any of SvelteKit's own plugins.
55
- * @since 3.0.0
56
- */
57
- post?: Plugin[];
58
- };
59
- };
47
+ /**
48
+ * Options for configuring and interacting with Vite
49
+ * @since 3.0.0
50
+ */
51
+ vite?: AdapterViteConfig | ((ctx: { config: ValidatedConfig }) => AdapterViteConfig);
52
+ }
53
+
54
+ export interface AdapterViteConfig {
55
+ /**
56
+ * This function overrides the default behavior during Vite's dev and preview modes
57
+ * to convert an `http.IncomingMessage` to a `Request` object.
58
+ * To call the original `setRequest` function, import it from `@sveltejs/kit/node`.
59
+ * @since 3.0.0
60
+ */
61
+ getRequest?: typeof getRequest;
62
+ /**
63
+ * This function overrides the default behavior in Vite's dev and preview modes
64
+ * to write a `Response` object to a `http.ServerResponse`.
65
+ * To call the original `setResponse` function, import it from `@sveltejs/kit/node`.
66
+ * @since 3.0.0
67
+ */
68
+ setResponse?: typeof setResponse;
69
+ /**
70
+ * Vite plugins injected by the adapter. By default,
71
+ * they are placed before SvelteKit's plugins.
72
+ * @since 3.0.0
73
+ */
74
+ plugins?:
75
+ | Plugin[]
76
+ | {
77
+ /**
78
+ * Vite plugins placed before any of SvelteKit's own plugins.
79
+ * @since 3.0.0
80
+ */
81
+ pre?: Plugin[];
82
+ /**
83
+ * Vite plugins placed after any of SvelteKit's own plugins.
84
+ * @since 3.0.0
85
+ */
86
+ post?: Plugin[];
87
+ };
60
88
  }
61
89
 
62
90
  export type LoadProperties<input extends Record<string, any> | void> = input extends void
@@ -125,6 +153,17 @@ declare module '@sveltejs/kit' {
125
153
  prerendered: Prerendered;
126
154
  /** An array of all routes (including prerendered) */
127
155
  routes: RouteDefinition[];
156
+ /**
157
+ * The value of the `$app/manifest` module.
158
+ * The only difference is `manifest.assets` also includes the service worker, if it exists.
159
+ * @since 3.0.0
160
+ */
161
+ manifest: typeof import('$app/manifest');
162
+ /**
163
+ * A record of file extensions to MIME types
164
+ * @since 3.0.0
165
+ */
166
+ mimeTypes: Record<string, string>;
128
167
 
129
168
  /**
130
169
  * Create separate functions that map to one or more routes of your app.
@@ -150,9 +189,10 @@ declare module '@sveltejs/kit' {
150
189
 
151
190
  /**
152
191
  * Generate a server-side manifest to initialise the SvelteKit [server](https://svelte.dev/docs/kit/@sveltejs-kit#Server) with.
153
- * @param opts.relativePath A relative path to the base directory of the server build output
192
+ * @param opts.relativePath A relative path to the base directory of the server build output
193
+ * @deprecated removed in 3.0. Use `builder.generateServerInstance` or `builder.manifest` instead
154
194
  */
155
- generateManifest: (opts: { relativePath: string; routes?: RouteDefinition[] }) => string;
195
+ generateManifest?: (opts: { relativePath: string; routes?: RouteDefinition[] }) => string;
156
196
 
157
197
  /**
158
198
  * Resolve a path to the `name` directory inside `outDir`, e.g. `/path/to/.svelte-kit/my-adapter`.
@@ -166,6 +206,19 @@ declare module '@sveltejs/kit' {
166
206
  /** Get the application path including any configured `base` path, e.g. `my-base-path/_app`. */
167
207
  getAppPath: () => string;
168
208
 
209
+ /**
210
+ * Generates a module exposing a SvelteKit [Server](https://svelte.dev/docs/kit/@sveltejs-kit#Server) instance.
211
+ * @param opts.routes A subset of the routes to include in the server's manifest
212
+ * @param opts.serverDirectory The directory containing the server code. Defaults to `getServerDirectory()`.
213
+ * @since 3.0.0
214
+ */
215
+ generateServerInstance: (
216
+ dest: string,
217
+ opts?: {
218
+ routes?: RouteDefinition[];
219
+ serverDirectory?: string;
220
+ }
221
+ ) => void;
169
222
  /**
170
223
  * Write client assets to `dest`.
171
224
  * @param dest the destination folder
@@ -184,6 +237,23 @@ declare module '@sveltejs/kit' {
184
237
  * @returns an array of files written to `dest`
185
238
  */
186
239
  writeServer: (dest: string) => string[];
240
+
241
+ /**
242
+ * Generate an initializer that populates `$env/dynamic/private` before server instrumentation
243
+ * runs. Include the returned module in any subsequent bundling or tracing step.
244
+ * @param options an object containing the following properties:
245
+ * @param options.outputDirectory the directory in which to create the initializer.
246
+ * @param options.environment the contents of a module whose default export contains the platform's environment variables. If omitted, `process.env` is used.
247
+ * @param options.serverDirectory the directory containing the server build output. Defaults to `getServerDirectory()`.
248
+ * @returns the filesystem path to the generated initializer.
249
+ * @since 3.0.0
250
+ */
251
+ createInstrumentationInitializer: (options: {
252
+ outputDirectory: string;
253
+ environment?: string;
254
+ serverDirectory?: string;
255
+ }) => string;
256
+
187
257
  /**
188
258
  * Copy a file or directory.
189
259
  * @param from the source file or directory
@@ -215,6 +285,9 @@ declare module '@sveltejs/kit' {
215
285
  * `entrypoint` which imports `instrumentation` and then dynamically imports `start`. This allows
216
286
  * the module hooks necessary for instrumentation libraries to be loaded prior to any application code.
217
287
  *
288
+ * `initializer` is a module generated by `createInstrumentationInitializer`. It must be included
289
+ * in any bundling or tracing step before calling this method.
290
+ *
218
291
  * Caveats:
219
292
  * - "Live exports" will not work. If your adapter uses live exports, your users will need to manually import the server instrumentation on startup.
220
293
  * - If `tla` is `false`, OTEL auto-instrumentation may not work properly. Use it if your environment supports it.
@@ -224,20 +297,26 @@ declare module '@sveltejs/kit' {
224
297
  * @param options.entrypoint the path to the entrypoint to trace.
225
298
  * @param options.instrumentation the path to the instrumentation file.
226
299
  * @param options.start the name of the start file. This is what `entrypoint` will be renamed to.
300
+ * @param options.initializer the filesystem path to the bundled or copied instrumentation initializer.
227
301
  * @param options.module configuration for the resulting entrypoint module.
228
- * @param options.module.generateText a function that receives the relative paths to the instrumentation and start files, and generates the text of the module to be traced. If not provided, the default implementation will be used, which uses top-level await.
229
- * @since 2.31.0
302
+ * @param options.module.generateText a function that receives the relative paths to the initializer, instrumentation and start files, and generates the text of the module to be traced. It must import `initializer` before `instrumentation`, and dynamically import `start` after instrumentation has run. If not provided, the default implementation will be used, which uses top-level await.
303
+ * @since 3.0.0
230
304
  */
231
305
  instrument: (args: {
232
306
  entrypoint: string;
233
307
  instrumentation: string;
234
308
  start?: string;
309
+ initializer: string;
235
310
  module?:
236
311
  | {
237
312
  exports: string[];
238
313
  }
239
314
  | {
240
- generateText: (args: { instrumentation: string; start: string }) => string;
315
+ generateText: (args: {
316
+ instrumentation: string;
317
+ start: string;
318
+ initializer: string;
319
+ }) => string;
241
320
  };
242
321
  }) => void;
243
322
 
@@ -640,8 +719,7 @@ declare module '@sveltejs/kit' {
640
719
  config: Config;
641
720
  }
642
721
 
643
- export class Server {
644
- constructor(manifest: SSRManifest);
722
+ export interface Server {
645
723
  init(options: ServerInitOptions): Promise<void>;
646
724
  respond(request: Request, options: RequestOptions): Promise<Response>;
647
725
  }
@@ -653,19 +731,6 @@ declare module '@sveltejs/kit' {
653
731
  read?: (file: string) => MaybePromise<ReadableStream | null>;
654
732
  }
655
733
 
656
- /**
657
- * Information required to instantiate a new `Server` instance.
658
- */
659
- export interface SSRManifest {
660
- /** The directory where SvelteKit keeps its stuff, including static assets (such as JS and CSS) and internally-used routes. */
661
- appDir: string;
662
- /** The `base` and `appDir` settings combined without a leading slash. */
663
- appPath: string;
664
- /** Static files from `config.files.assets` and the service worker (if any). */
665
- assets: Set<string>;
666
- mimeTypes: Record<string, string>;
667
- }
668
-
669
734
  /**
670
735
  * The generic form of `PageServerLoad` and `LayoutServerLoad`. You should import those from `./$types` (see [generated types](https://svelte.dev/docs/kit/types#Generated-types))
671
736
  * rather than using `ServerLoad` directly.
@@ -905,7 +970,8 @@ declare module '@sveltejs/kit' {
905
970
  : T[K]; // Use the exact type for everything else
906
971
  };
907
972
 
908
- type ValidatedConfig = RecursiveRequired<Omit<Config, 'preprocess'>> & {
973
+ type ValidatedConfig = RecursiveRequired<Omit<Config, 'preprocess' | 'adapter'>> & {
974
+ adapter: Adapter & { vite?: AdapterViteConfig };
909
975
  preprocess: Config['preprocess'];
910
976
  };
911
977
  /**
@@ -1065,6 +1131,25 @@ declare module '@sveltejs/kit' {
1065
1131
  export {};
1066
1132
  }
1067
1133
 
1134
+ declare module '@sveltejs/kit/adapter' {
1135
+ /**
1136
+ * Helps a catch-all request handler pass the request to a different handler if
1137
+ * the `reroute` hook has returned a URL pathname that's different from the
1138
+ * incoming request.
1139
+ *
1140
+ * If your adapter is capable of deploying multiple serverless functions, it's a
1141
+ * good idea to also deploy a "catch-all" one to handle uncaught requests.
1142
+ * Running this in that function allows the app's `reroute` hook to rewrite
1143
+ * the request URL and invoke the next appropriate serverless function, if any.
1144
+ * @param response The response returned from the SvelteKit `server.respond` function
1145
+ * @param next Your platform-specific implementation for invoking the next handler with a different request URL
1146
+ * @since 3.0.0
1147
+ */
1148
+ export function applyReroute(response: Response, next: (url: URL) => Response | Promise<Response>): Response | Promise<Response>;
1149
+
1150
+ export {};
1151
+ }
1152
+
1068
1153
  declare module '@sveltejs/kit/env' {
1069
1154
  import type { StandardSchemaV1 } from '@standard-schema/spec';
1070
1155
  /**
@@ -1511,7 +1596,7 @@ declare module '@sveltejs/kit/params' {
1511
1596
  declare module '@sveltejs/kit/vite' {
1512
1597
  import type { Adapter } from '@sveltejs/kit';
1513
1598
  import type { Options } from '@sveltejs/vite-plugin-svelte';
1514
- import type { Plugin } from 'vite';
1599
+ import * as vite from 'vite';
1515
1600
  // this indirection helps make the docs look pretty
1516
1601
  type VitePluginSvelteOptions = Omit<Options, 'experimental'>;
1517
1602
  type VitePluginSvelteOptionsExperimental = Options['experimental'];
@@ -2899,6 +2984,14 @@ declare module '$app/paths' {
2899
2984
  declare module '$app/server' {
2900
2985
  import type { StandardSchemaV1 } from '@standard-schema/spec';
2901
2986
  import type { RequestEvent } from '@sveltejs/kit';
2987
+ type ImageInputValue = { x: number; y: number };
2988
+
2989
+ type IsImageInputValue<T> = T extends ImageInputValue
2990
+ ? Exclude<keyof T, keyof ImageInputValue> extends never
2991
+ ? true
2992
+ : false
2993
+ : false;
2994
+
2902
2995
  // If T is unknown or has an index signature, the types below will recurse indefinitely and create giant unions that TS can't handle
2903
2996
  type WillRecurseIndefinitely<T> = unknown extends T ? true : string extends keyof T ? true : false;
2904
2997
 
@@ -2925,7 +3018,7 @@ declare module '$app/server' {
2925
3018
  submit: string | number | boolean;
2926
3019
  button: string;
2927
3020
  reset: string;
2928
- image: string;
3021
+ image: ImageInputValue;
2929
3022
  select: string;
2930
3023
  'select multiple': string[];
2931
3024
  'file multiple': File[];
@@ -2937,7 +3030,7 @@ declare module '$app/server' {
2937
3030
  }[keyof InputTypeMap];
2938
3031
 
2939
3032
  // Input element properties based on type
2940
- type InputElementProps<T extends keyof InputTypeMap> = T extends 'checkbox' | 'radio'
3033
+ type InputElementProps<T extends keyof InputTypeMap, Value> = T extends 'checkbox' | 'radio'
2941
3034
  ? {
2942
3035
  name: string;
2943
3036
  type: T;
@@ -2947,45 +3040,51 @@ declare module '$app/server' {
2947
3040
  set checked(value: boolean);
2948
3041
  readonly defaultChecked?: boolean;
2949
3042
  }
2950
- : T extends 'file'
3043
+ : T extends 'image'
2951
3044
  ? {
2952
3045
  name: string;
2953
- type: 'file';
3046
+ type: 'image';
2954
3047
  'aria-invalid': boolean | 'false' | 'true' | undefined;
2955
- get files(): FileList | null;
2956
- set files(v: FileList | null);
2957
3048
  }
2958
- : T extends 'select'
3049
+ : T extends 'file'
2959
3050
  ? {
2960
3051
  name: string;
3052
+ type: 'file';
2961
3053
  'aria-invalid': boolean | 'false' | 'true' | undefined;
2962
- get value(): string;
2963
- set value(v: string);
3054
+ get files(): FileList | null;
3055
+ set files(v: FileList | null);
2964
3056
  }
2965
- : T extends 'select multiple'
3057
+ : T extends 'select'
2966
3058
  ? {
2967
3059
  name: string;
2968
- multiple: true;
2969
3060
  'aria-invalid': boolean | 'false' | 'true' | undefined;
2970
- get value(): string[];
2971
- set value(v: string[]);
3061
+ get value(): string;
3062
+ set value(v: string);
2972
3063
  }
2973
- : T extends 'text'
3064
+ : T extends 'select multiple'
2974
3065
  ? {
2975
3066
  name: string;
3067
+ multiple: true;
2976
3068
  'aria-invalid': boolean | 'false' | 'true' | undefined;
2977
- get value(): string | number;
2978
- set value(v: string | number);
2979
- readonly defaultValue?: string | number;
3069
+ get value(): string[];
3070
+ set value(v: string[]);
2980
3071
  }
2981
- : {
2982
- name: string;
2983
- type: T;
2984
- 'aria-invalid': boolean | 'false' | 'true' | undefined;
2985
- get value(): string | number;
2986
- set value(v: string | number);
2987
- readonly defaultValue?: string | number;
2988
- };
3072
+ : T extends 'text'
3073
+ ? {
3074
+ name: string;
3075
+ 'aria-invalid': boolean | 'false' | 'true' | undefined;
3076
+ get value(): Value extends string ? string : string | number;
3077
+ set value(v: Value extends string ? string : string | number);
3078
+ readonly defaultValue?: Value extends string ? string : string | number;
3079
+ }
3080
+ : {
3081
+ name: string;
3082
+ type: T;
3083
+ 'aria-invalid': boolean | 'false' | 'true' | undefined;
3084
+ get value(): string | number;
3085
+ set value(v: string | number);
3086
+ readonly defaultValue?: string | number;
3087
+ };
2989
3088
 
2990
3089
  type RemoteFormFieldMethods<T> = {
2991
3090
  /** The values that will be submitted */
@@ -3009,23 +3108,34 @@ declare module '$app/server' {
3009
3108
  : never
3010
3109
  : never;
3011
3110
 
3012
- export type RemoteFormFieldValue = string | string[] | number | boolean | File | File[];
3111
+ export type RemoteFormFieldValue =
3112
+ | string
3113
+ | string[]
3114
+ | number
3115
+ | boolean
3116
+ | File
3117
+ | File[]
3118
+ | ImageInputValue;
3013
3119
 
3014
3120
  type AsArgs<Type extends keyof InputTypeMap, Value> = Type extends 'checkbox'
3015
3121
  ? Value extends string[]
3016
- ? [type: Type, value: Value[number] | (string & {})]
3122
+ ? [type: Type, value: Value[number] | (string & {}), checked?: boolean]
3017
3123
  : Value extends boolean
3018
- ? [type: Type] | [type: Type, value: boolean]
3019
- : [type: Type] | [type: Type, value: Value | (string & {})]
3020
- : Type extends 'submit' | 'hidden'
3021
- ? Value extends string
3022
- ? [type: Type, value: Value | (string & {})]
3023
- : [type: Type, value: Value]
3024
- : Type extends 'radio'
3025
- ? [type: Type, value: Value | (string & {})]
3026
- : Type extends 'file' | 'file multiple'
3027
- ? [type: Type]
3028
- : [type: Type] | [type: Type, value: Value | undefined];
3124
+ ? [type: Type, value?: boolean]
3125
+ : [type: Type, value?: Value]
3126
+ : Type extends 'image'
3127
+ ? [type: Type]
3128
+ : Type extends 'submit' | 'hidden'
3129
+ ? Value extends string
3130
+ ? [type: Type, value: Value | (string & {})]
3131
+ : [type: Type, value: Value]
3132
+ : Type extends 'radio'
3133
+ ? [type: Type, value: Value | (string & {}), checked?: boolean]
3134
+ : Type extends 'file' | 'file multiple'
3135
+ ? [type: Type]
3136
+ : [type: Type, value?: Value];
3137
+
3138
+ type WidenLiteralString<T> = T extends string ? (string extends T ? T : string) : T;
3029
3139
 
3030
3140
  /**
3031
3141
  * Form field accessor type that provides name(), value(), and issues() methods
@@ -3041,7 +3151,9 @@ declare module '$app/server' {
3041
3151
  * <input {...myForm.fields.myBoolean.as('checkbox')} />
3042
3152
  * ```
3043
3153
  */
3044
- as<T extends RemoteFormFieldType<Value>>(...args: AsArgs<T, Value>): InputElementProps<T>;
3154
+ as<T extends RemoteFormFieldType<Value>>(
3155
+ ...args: AsArgs<T, Value>
3156
+ ): InputElementProps<T, WidenLiteralString<Value>>;
3045
3157
  };
3046
3158
 
3047
3159
  type RemoteFormFieldContainer<Value> = RemoteFormFieldMethods<Value> & {
@@ -3062,12 +3174,15 @@ declare module '$app/server' {
3062
3174
  * <input {...myForm.fields.myBoolean.as('checkbox')} />
3063
3175
  * ```
3064
3176
  */
3065
- as<T extends RemoteFormFieldType<Value>>(...args: AsArgs<T, Value>): InputElementProps<T>;
3177
+ as<T extends RemoteFormFieldType<Value>>(...args: AsArgs<T, Value>): InputElementProps<T, Value>;
3066
3178
  } & {
3067
3179
  [key: string | number]: UnknownField<any>;
3068
3180
  };
3069
3181
 
3070
- type RemoteFormFieldsRoot<Input extends RemoteFormInput | void> =
3182
+ type RemoteFormFieldsRoot<
3183
+ Input extends RemoteFormInput | void,
3184
+ Original extends [RemoteFormInput | void] = [Input]
3185
+ > =
3071
3186
  IsAny<Input> extends true
3072
3187
  ? RecursiveFormFields
3073
3188
  : Input extends void
@@ -3077,7 +3192,11 @@ declare module '$app/server' {
3077
3192
  /** Validation issues belonging to this or any of the fields that belong to it, if any */
3078
3193
  allIssues(): RemoteFormIssue[] | undefined;
3079
3194
  }
3080
- : RemoteFormFields<Input>;
3195
+ : WillRecurseIndefinitely<Input> extends true
3196
+ ? RecursiveFormFields
3197
+ : RemoteFormFieldContainer<Original[0]> & {
3198
+ [K in KeysOfUnion<Original[0]>]-?: RemoteFormFields<ValueOfUnionKey<Original[0], K>>;
3199
+ };
3081
3200
 
3082
3201
  /**
3083
3202
  * Recursive type to build form fields structure with proxy access
@@ -3087,20 +3206,25 @@ declare module '$app/server' {
3087
3206
  ? RecursiveFormFields
3088
3207
  : NonNullable<T> extends string | number | boolean | File
3089
3208
  ? RemoteFormField<NonNullable<T>>
3090
- : // [NonNullable<T>] is used to prevent distributing over union while still allowing
3091
- // nullable wrappers (e.g. `string[] | undefined` from a schema with `.default([])`)
3092
- // to be treated as arrays; only the last condition should distribute over unions
3093
- [NonNullable<T>] extends [string[] | File[]]
3094
- ? RemoteFormField<NonNullable<T>> & {
3095
- [K in number]: RemoteFormField<NonNullable<T>[number]>;
3096
- }
3097
- : [NonNullable<T>] extends [Array<infer U>]
3098
- ? RemoteFormFieldContainer<NonNullable<T>> & {
3099
- [K in number]: RemoteFormFields<U>;
3100
- }
3101
- : RemoteFormFieldContainer<T> & {
3209
+ : IsImageInputValue<NonNullable<T>> extends true
3210
+ ? RemoteFormField<NonNullable<T> & ImageInputValue> &
3211
+ Pick<RemoteFormFieldContainer<T>, 'allIssues'> & {
3102
3212
  [K in KeysOfUnion<T>]-?: RemoteFormFields<ValueOfUnionKey<T, K>>;
3103
- };
3213
+ }
3214
+ : // [NonNullable<T>] is used to prevent distributing over union while still allowing
3215
+ // nullable wrappers (e.g. `string[] | undefined` from a schema with `.default([])`)
3216
+ // to be treated as arrays; only the last condition should distribute over unions
3217
+ [NonNullable<T>] extends [string[] | File[]]
3218
+ ? RemoteFormField<NonNullable<T>> & {
3219
+ [K in number]: RemoteFormField<NonNullable<T>[number]>;
3220
+ }
3221
+ : [NonNullable<T>] extends [Array<infer U>]
3222
+ ? RemoteFormFieldContainer<NonNullable<T>> & {
3223
+ [K in number]: RemoteFormFields<U>;
3224
+ }
3225
+ : RemoteFormFieldContainer<T> & {
3226
+ [K in KeysOfUnion<T>]-?: RemoteFormFields<ValueOfUnionKey<T, K>>;
3227
+ };
3104
3228
 
3105
3229
  // By breaking this out into its own type, we avoid the TS recursion depth limit
3106
3230
  type RecursiveFormFields = RemoteFormFieldContainer<any> & {
@@ -3169,7 +3293,17 @@ declare module '$app/server' {
3169
3293
  /**
3170
3294
  * The type of a remote `form` function. See [Remote functions](https://svelte.dev/docs/kit/remote-functions#form) for full documentation.
3171
3295
  */
3172
- export type RemoteForm<Input extends RemoteFormInput | void, Output> = {
3296
+ export type RemoteForm<Input extends RemoteFormInput | void, Output> = RemoteForm_<
3297
+ Input,
3298
+ Output,
3299
+ [Input]
3300
+ >;
3301
+
3302
+ type RemoteForm_<
3303
+ Input extends RemoteFormInput | void,
3304
+ Output,
3305
+ Original extends [RemoteFormInput | void]
3306
+ > = {
3173
3307
  /** Attachment that sets up an event handler that intercepts the form submission on the client to prevent a full page reload */
3174
3308
  [attachment: symbol]: (node: HTMLFormElement) => void;
3175
3309
  method: 'POST';
@@ -3223,7 +3357,7 @@ declare module '$app/server' {
3223
3357
  /** True if the form has been submitted at least once, and hasn't been reset since */
3224
3358
  get submitted(): boolean;
3225
3359
  /** Access form fields using object notation */
3226
- fields: RemoteFormFieldsRoot<Input>;
3360
+ fields: RemoteFormFieldsRoot<Input, Original>;
3227
3361
  };
3228
3362
 
3229
3363
  /**
@@ -3355,6 +3489,8 @@ declare module '$app/server' {
3355
3489
  export type RequestedEntry<Validated, Output> = {
3356
3490
  arg: Validated;
3357
3491
  query: RemoteQuery<Output>;
3492
+ /** Explicitly ignore this requested update. */
3493
+ ignore: () => void;
3358
3494
  };
3359
3495
 
3360
3496
  /**
@@ -3366,6 +3502,8 @@ declare module '$app/server' {
3366
3502
  export type RemoteLiveQueryRequestedEntry<Validated, Output> = {
3367
3503
  arg: Validated;
3368
3504
  query: RemoteLiveQuery<Output>;
3505
+ /** Explicitly ignore this requested update. */
3506
+ ignore: () => void;
3369
3507
  };
3370
3508
 
3371
3509
  export type RemoteQueryRequestedResult<Validated, Output> = Iterable<
@@ -3384,6 +3522,8 @@ declare module '$app/server' {
3384
3522
  * ```
3385
3523
  */
3386
3524
  refreshAll: () => Promise<void>;
3525
+ /** Explicitly ignore all updates selected by this `requested` invocation. */
3526
+ ignoreAll: () => Promise<void>;
3387
3527
  };
3388
3528
 
3389
3529
  export type RemoteLiveQueryRequestedResult<Validated, Output> = Iterable<
@@ -3402,6 +3542,8 @@ declare module '$app/server' {
3402
3542
  * ```
3403
3543
  */
3404
3544
  reconnectAll: () => Promise<void>;
3545
+ /** Explicitly ignore all updates selected by this `requested` invocation. */
3546
+ ignoreAll: () => Promise<void>;
3405
3547
  };
3406
3548
 
3407
3549
  export type RequestedResult<Validated, Output> =
@@ -4,6 +4,7 @@
4
4
  "names": [
5
5
  "Span",
6
6
  "Adapter",
7
+ "AdapterViteConfig",
7
8
  "LoadProperties",
8
9
  "AwaitedActions",
9
10
  "OptionalUnion",
@@ -22,7 +23,6 @@
22
23
  "RouteDefinition",
23
24
  "Server",
24
25
  "ServerInitOptions",
25
- "SSRManifest",
26
26
  "ServerLoad",
27
27
  "ServerLoadEvent",
28
28
  "Action",
@@ -50,6 +50,7 @@
50
50
  "isValidationError",
51
51
  "normalizeUrl",
52
52
  "VERSION",
53
+ "applyReroute",
53
54
  "EnvVarConfig",
54
55
  "DefinedEnvVars",
55
56
  "EnvVarEntry",
@@ -139,6 +140,8 @@
139
140
  "match",
140
141
  "StripSearchOrHash",
141
142
  "ResolveArgs",
143
+ "ImageInputValue",
144
+ "IsImageInputValue",
142
145
  "WillRecurseIndefinitely",
143
146
  "InputTypeMap",
144
147
  "RemoteFormFieldType",
@@ -148,6 +151,7 @@
148
151
  "ValueOfUnionKey",
149
152
  "RemoteFormFieldValue",
150
153
  "AsArgs",
154
+ "WidenLiteralString",
151
155
  "RemoteFormField",
152
156
  "RemoteFormFieldContainer",
153
157
  "UnknownField",
@@ -162,6 +166,7 @@
162
166
  "RemoteFormEnhanceInstance",
163
167
  "RemoteFormEnhanceCallback",
164
168
  "RemoteForm",
169
+ "RemoteForm_",
165
170
  "RemoteCommand",
166
171
  "RemoteQueryUpdate",
167
172
  "RemoteResource",
@@ -197,6 +202,7 @@
197
202
  "../src/types/internal.d.ts",
198
203
  "../src/exports/index.js",
199
204
  "../src/version.js",
205
+ "../src/exports/adapter.js",
200
206
  "../src/exports/env/public.d.ts",
201
207
  "../src/exports/env/index.js",
202
208
  "../src/exports/hooks/public.d.ts",
@@ -249,8 +255,9 @@
249
255
  null,
250
256
  null,
251
257
  null,
258
+ null,
252
259
  null
253
260
  ],
254
- "mappings": "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",
261
+ "mappings": "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",
255
262
  "ignoreList": []
256
263
  }