@sveltejs/kit 3.0.0-next.25 → 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 (59) hide show
  1. package/package.json +5 -7
  2. package/src/core/adapt/builder.js +127 -31
  3. package/src/core/adapt/index.js +3 -0
  4. package/src/core/config/index.js +4 -7
  5. package/src/core/env.js +36 -8
  6. package/src/core/generate_manifest/index.js +42 -43
  7. package/src/core/postbuild/analyse.js +4 -4
  8. package/src/core/postbuild/fallback.js +1 -1
  9. package/src/core/postbuild/prerender.js +2 -2
  10. package/src/core/sync/create_manifest_data/index.js +0 -1
  11. package/src/core/sync/write_app_manifest.js +3 -2
  12. package/src/exports/public.d.ts +100 -48
  13. package/src/exports/vite/build/index.js +1173 -0
  14. package/src/exports/vite/build/remote.js +4 -4
  15. package/src/exports/vite/dev/generate_manifest.js +308 -0
  16. package/src/exports/vite/dev/index.js +28 -284
  17. package/src/exports/vite/index.js +117 -1308
  18. package/src/exports/vite/plugins/env-vars.js +11 -34
  19. package/src/exports/vite/plugins/guard.js +19 -7
  20. package/src/exports/vite/plugins/remote.js +237 -0
  21. package/src/exports/vite/preview/index.js +8 -8
  22. package/src/exports/vite/static_analysis/index.js +15 -15
  23. package/src/exports/vite/utils.js +1 -1
  24. package/src/runner.js +4 -3
  25. package/src/runtime/app/paths/server.js +2 -2
  26. package/src/runtime/app/server/index.js +3 -3
  27. package/src/runtime/app/server/public.d.ts +114 -57
  28. package/src/runtime/app/server/remote/requested.js +31 -15
  29. package/src/runtime/app/state/client.svelte.js +3 -1
  30. package/src/runtime/client/client.js +39 -194
  31. package/src/runtime/client/fetcher.js +6 -6
  32. package/src/runtime/client/focus.js +120 -0
  33. package/src/runtime/client/remote-functions/command.svelte.js +20 -9
  34. package/src/runtime/client/remote-functions/form.svelte.js +12 -7
  35. package/src/runtime/client/remote-functions/query/instance.svelte.js +19 -5
  36. package/src/runtime/client/remote-functions/shared.svelte.js +22 -1
  37. package/src/runtime/client/scroll.js +39 -0
  38. package/src/runtime/client/utils.js +28 -0
  39. package/src/runtime/form-utils.js +243 -245
  40. package/src/runtime/server/data/index.js +3 -10
  41. package/src/runtime/server/fetch.js +13 -15
  42. package/src/runtime/server/index.js +8 -7
  43. package/src/runtime/server/internal.js +1 -2
  44. package/src/runtime/server/page/index.js +10 -15
  45. package/src/runtime/server/page/load_data.js +2 -2
  46. package/src/runtime/server/page/render.js +8 -13
  47. package/src/runtime/server/page/respond_with_error.js +4 -5
  48. package/src/runtime/server/page/server_routing.js +21 -27
  49. package/src/runtime/server/remote-functions.js +14 -14
  50. package/src/runtime/server/respond.js +17 -40
  51. package/src/runtime/server/state.js +1 -0
  52. package/src/runtime/server/utils.js +4 -4
  53. package/src/runtime/shared.js +9 -0
  54. package/src/types/ambient-private.d.ts +1 -2
  55. package/src/types/internal.d.ts +49 -6
  56. package/src/utils/filesystem.js +43 -27
  57. package/src/version.js +1 -1
  58. package/types/index.d.ts +215 -92
  59. package/types/index.d.ts.map +6 -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.
@@ -151,8 +190,9 @@ declare module '@sveltejs/kit' {
151
190
  /**
152
191
  * Generate a server-side manifest to initialise the SvelteKit [server](https://svelte.dev/docs/kit/@sveltejs-kit#Server) with.
153
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
  /**
@@ -1530,7 +1596,7 @@ declare module '@sveltejs/kit/params' {
1530
1596
  declare module '@sveltejs/kit/vite' {
1531
1597
  import type { Adapter } from '@sveltejs/kit';
1532
1598
  import type { Options } from '@sveltejs/vite-plugin-svelte';
1533
- import type { Plugin } from 'vite';
1599
+ import * as vite from 'vite';
1534
1600
  // this indirection helps make the docs look pretty
1535
1601
  type VitePluginSvelteOptions = Omit<Options, 'experimental'>;
1536
1602
  type VitePluginSvelteOptionsExperimental = Options['experimental'];
@@ -2918,6 +2984,14 @@ declare module '$app/paths' {
2918
2984
  declare module '$app/server' {
2919
2985
  import type { StandardSchemaV1 } from '@standard-schema/spec';
2920
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
+
2921
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
2922
2996
  type WillRecurseIndefinitely<T> = unknown extends T ? true : string extends keyof T ? true : false;
2923
2997
 
@@ -2944,7 +3018,7 @@ declare module '$app/server' {
2944
3018
  submit: string | number | boolean;
2945
3019
  button: string;
2946
3020
  reset: string;
2947
- image: string;
3021
+ image: ImageInputValue;
2948
3022
  select: string;
2949
3023
  'select multiple': string[];
2950
3024
  'file multiple': File[];
@@ -2956,7 +3030,7 @@ declare module '$app/server' {
2956
3030
  }[keyof InputTypeMap];
2957
3031
 
2958
3032
  // Input element properties based on type
2959
- type InputElementProps<T extends keyof InputTypeMap> = T extends 'checkbox' | 'radio'
3033
+ type InputElementProps<T extends keyof InputTypeMap, Value> = T extends 'checkbox' | 'radio'
2960
3034
  ? {
2961
3035
  name: string;
2962
3036
  type: T;
@@ -2966,45 +3040,51 @@ declare module '$app/server' {
2966
3040
  set checked(value: boolean);
2967
3041
  readonly defaultChecked?: boolean;
2968
3042
  }
2969
- : T extends 'file'
3043
+ : T extends 'image'
2970
3044
  ? {
2971
3045
  name: string;
2972
- type: 'file';
3046
+ type: 'image';
2973
3047
  'aria-invalid': boolean | 'false' | 'true' | undefined;
2974
- get files(): FileList | null;
2975
- set files(v: FileList | null);
2976
3048
  }
2977
- : T extends 'select'
3049
+ : T extends 'file'
2978
3050
  ? {
2979
3051
  name: string;
3052
+ type: 'file';
2980
3053
  'aria-invalid': boolean | 'false' | 'true' | undefined;
2981
- get value(): string;
2982
- set value(v: string);
3054
+ get files(): FileList | null;
3055
+ set files(v: FileList | null);
2983
3056
  }
2984
- : T extends 'select multiple'
3057
+ : T extends 'select'
2985
3058
  ? {
2986
3059
  name: string;
2987
- multiple: true;
2988
3060
  'aria-invalid': boolean | 'false' | 'true' | undefined;
2989
- get value(): string[];
2990
- set value(v: string[]);
3061
+ get value(): string;
3062
+ set value(v: string);
2991
3063
  }
2992
- : T extends 'text'
3064
+ : T extends 'select multiple'
2993
3065
  ? {
2994
3066
  name: string;
3067
+ multiple: true;
2995
3068
  'aria-invalid': boolean | 'false' | 'true' | undefined;
2996
- get value(): string | number;
2997
- set value(v: string | number);
2998
- readonly defaultValue?: string | number;
3069
+ get value(): string[];
3070
+ set value(v: string[]);
2999
3071
  }
3000
- : {
3001
- name: string;
3002
- type: T;
3003
- 'aria-invalid': boolean | 'false' | 'true' | undefined;
3004
- get value(): string | number;
3005
- set value(v: string | number);
3006
- readonly defaultValue?: string | number;
3007
- };
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
+ };
3008
3088
 
3009
3089
  type RemoteFormFieldMethods<T> = {
3010
3090
  /** The values that will be submitted */
@@ -3028,23 +3108,34 @@ declare module '$app/server' {
3028
3108
  : never
3029
3109
  : never;
3030
3110
 
3031
- 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;
3032
3119
 
3033
3120
  type AsArgs<Type extends keyof InputTypeMap, Value> = Type extends 'checkbox'
3034
3121
  ? Value extends string[]
3035
- ? [type: Type, value: Value[number] | (string & {})]
3122
+ ? [type: Type, value: Value[number] | (string & {}), checked?: boolean]
3036
3123
  : Value extends boolean
3037
- ? [type: Type] | [type: Type, value: boolean]
3038
- : [type: Type] | [type: Type, value: Value | (string & {})]
3039
- : Type extends 'submit' | 'hidden'
3040
- ? Value extends string
3041
- ? [type: Type, value: Value | (string & {})]
3042
- : [type: Type, value: Value]
3043
- : Type extends 'radio'
3044
- ? [type: Type, value: Value | (string & {})]
3045
- : Type extends 'file' | 'file multiple'
3046
- ? [type: Type]
3047
- : [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;
3048
3139
 
3049
3140
  /**
3050
3141
  * Form field accessor type that provides name(), value(), and issues() methods
@@ -3060,7 +3151,9 @@ declare module '$app/server' {
3060
3151
  * <input {...myForm.fields.myBoolean.as('checkbox')} />
3061
3152
  * ```
3062
3153
  */
3063
- 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>>;
3064
3157
  };
3065
3158
 
3066
3159
  type RemoteFormFieldContainer<Value> = RemoteFormFieldMethods<Value> & {
@@ -3081,12 +3174,15 @@ declare module '$app/server' {
3081
3174
  * <input {...myForm.fields.myBoolean.as('checkbox')} />
3082
3175
  * ```
3083
3176
  */
3084
- as<T extends RemoteFormFieldType<Value>>(...args: AsArgs<T, Value>): InputElementProps<T>;
3177
+ as<T extends RemoteFormFieldType<Value>>(...args: AsArgs<T, Value>): InputElementProps<T, Value>;
3085
3178
  } & {
3086
3179
  [key: string | number]: UnknownField<any>;
3087
3180
  };
3088
3181
 
3089
- type RemoteFormFieldsRoot<Input extends RemoteFormInput | void> =
3182
+ type RemoteFormFieldsRoot<
3183
+ Input extends RemoteFormInput | void,
3184
+ Original extends [RemoteFormInput | void] = [Input]
3185
+ > =
3090
3186
  IsAny<Input> extends true
3091
3187
  ? RecursiveFormFields
3092
3188
  : Input extends void
@@ -3096,7 +3192,11 @@ declare module '$app/server' {
3096
3192
  /** Validation issues belonging to this or any of the fields that belong to it, if any */
3097
3193
  allIssues(): RemoteFormIssue[] | undefined;
3098
3194
  }
3099
- : 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
+ };
3100
3200
 
3101
3201
  /**
3102
3202
  * Recursive type to build form fields structure with proxy access
@@ -3106,20 +3206,25 @@ declare module '$app/server' {
3106
3206
  ? RecursiveFormFields
3107
3207
  : NonNullable<T> extends string | number | boolean | File
3108
3208
  ? RemoteFormField<NonNullable<T>>
3109
- : // [NonNullable<T>] is used to prevent distributing over union while still allowing
3110
- // nullable wrappers (e.g. `string[] | undefined` from a schema with `.default([])`)
3111
- // to be treated as arrays; only the last condition should distribute over unions
3112
- [NonNullable<T>] extends [string[] | File[]]
3113
- ? RemoteFormField<NonNullable<T>> & {
3114
- [K in number]: RemoteFormField<NonNullable<T>[number]>;
3115
- }
3116
- : [NonNullable<T>] extends [Array<infer U>]
3117
- ? RemoteFormFieldContainer<NonNullable<T>> & {
3118
- [K in number]: RemoteFormFields<U>;
3119
- }
3120
- : RemoteFormFieldContainer<T> & {
3209
+ : IsImageInputValue<NonNullable<T>> extends true
3210
+ ? RemoteFormField<NonNullable<T> & ImageInputValue> &
3211
+ Pick<RemoteFormFieldContainer<T>, 'allIssues'> & {
3121
3212
  [K in KeysOfUnion<T>]-?: RemoteFormFields<ValueOfUnionKey<T, K>>;
3122
- };
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
+ };
3123
3228
 
3124
3229
  // By breaking this out into its own type, we avoid the TS recursion depth limit
3125
3230
  type RecursiveFormFields = RemoteFormFieldContainer<any> & {
@@ -3188,7 +3293,17 @@ declare module '$app/server' {
3188
3293
  /**
3189
3294
  * The type of a remote `form` function. See [Remote functions](https://svelte.dev/docs/kit/remote-functions#form) for full documentation.
3190
3295
  */
3191
- 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
+ > = {
3192
3307
  /** Attachment that sets up an event handler that intercepts the form submission on the client to prevent a full page reload */
3193
3308
  [attachment: symbol]: (node: HTMLFormElement) => void;
3194
3309
  method: 'POST';
@@ -3242,7 +3357,7 @@ declare module '$app/server' {
3242
3357
  /** True if the form has been submitted at least once, and hasn't been reset since */
3243
3358
  get submitted(): boolean;
3244
3359
  /** Access form fields using object notation */
3245
- fields: RemoteFormFieldsRoot<Input>;
3360
+ fields: RemoteFormFieldsRoot<Input, Original>;
3246
3361
  };
3247
3362
 
3248
3363
  /**
@@ -3374,6 +3489,8 @@ declare module '$app/server' {
3374
3489
  export type RequestedEntry<Validated, Output> = {
3375
3490
  arg: Validated;
3376
3491
  query: RemoteQuery<Output>;
3492
+ /** Explicitly ignore this requested update. */
3493
+ ignore: () => void;
3377
3494
  };
3378
3495
 
3379
3496
  /**
@@ -3385,6 +3502,8 @@ declare module '$app/server' {
3385
3502
  export type RemoteLiveQueryRequestedEntry<Validated, Output> = {
3386
3503
  arg: Validated;
3387
3504
  query: RemoteLiveQuery<Output>;
3505
+ /** Explicitly ignore this requested update. */
3506
+ ignore: () => void;
3388
3507
  };
3389
3508
 
3390
3509
  export type RemoteQueryRequestedResult<Validated, Output> = Iterable<
@@ -3403,6 +3522,8 @@ declare module '$app/server' {
3403
3522
  * ```
3404
3523
  */
3405
3524
  refreshAll: () => Promise<void>;
3525
+ /** Explicitly ignore all updates selected by this `requested` invocation. */
3526
+ ignoreAll: () => Promise<void>;
3406
3527
  };
3407
3528
 
3408
3529
  export type RemoteLiveQueryRequestedResult<Validated, Output> = Iterable<
@@ -3421,6 +3542,8 @@ declare module '$app/server' {
3421
3542
  * ```
3422
3543
  */
3423
3544
  reconnectAll: () => Promise<void>;
3545
+ /** Explicitly ignore all updates selected by this `requested` invocation. */
3546
+ ignoreAll: () => Promise<void>;
3424
3547
  };
3425
3548
 
3426
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",
@@ -140,6 +140,8 @@
140
140
  "match",
141
141
  "StripSearchOrHash",
142
142
  "ResolveArgs",
143
+ "ImageInputValue",
144
+ "IsImageInputValue",
143
145
  "WillRecurseIndefinitely",
144
146
  "InputTypeMap",
145
147
  "RemoteFormFieldType",
@@ -149,6 +151,7 @@
149
151
  "ValueOfUnionKey",
150
152
  "RemoteFormFieldValue",
151
153
  "AsArgs",
154
+ "WidenLiteralString",
152
155
  "RemoteFormField",
153
156
  "RemoteFormFieldContainer",
154
157
  "UnknownField",
@@ -163,6 +166,7 @@
163
166
  "RemoteFormEnhanceInstance",
164
167
  "RemoteFormEnhanceCallback",
165
168
  "RemoteForm",
169
+ "RemoteForm_",
166
170
  "RemoteCommand",
167
171
  "RemoteQueryUpdate",
168
172
  "RemoteResource",
@@ -254,6 +258,6 @@
254
258
  null,
255
259
  null
256
260
  ],
257
- "mappings": "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",
261
+ "mappings": "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",
258
262
  "ignoreList": []
259
263
  }