@sveltejs/kit 1.0.12 → 1.1.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 (45) hide show
  1. package/package.json +1 -1
  2. package/src/core/adapt/builder.js +1 -1
  3. package/src/core/{prerender → postbuild}/crawl.js +0 -0
  4. package/src/core/{prerender → postbuild}/entities.js +0 -0
  5. package/src/core/{prerender → postbuild}/fallback.js +10 -7
  6. package/src/core/postbuild/index.js +106 -0
  7. package/src/core/{prerender → postbuild}/prerender.js +32 -106
  8. package/src/core/{prerender → postbuild}/queue.js +0 -0
  9. package/src/core/sync/sync.js +10 -0
  10. package/src/core/sync/write_client_manifest.js +1 -1
  11. package/src/core/sync/write_server.js +89 -0
  12. package/src/core/sync/write_tsconfig.js +10 -1
  13. package/src/core/utils.js +0 -9
  14. package/src/exports/vite/build/build_server.js +11 -163
  15. package/src/exports/vite/build/build_service_worker.js +3 -2
  16. package/src/exports/vite/build/utils.js +1 -0
  17. package/src/exports/vite/dev/index.js +72 -114
  18. package/src/exports/vite/index.js +81 -28
  19. package/src/exports/vite/preview/index.js +11 -12
  20. package/src/runtime/app/environment.js +1 -1
  21. package/src/runtime/app/forms.js +5 -1
  22. package/src/runtime/app/paths.js +1 -1
  23. package/src/runtime/client/client.js +1 -1
  24. package/src/runtime/client/start.js +1 -2
  25. package/src/runtime/client/utils.js +1 -2
  26. package/src/runtime/control.js +23 -5
  27. package/src/runtime/server/ambient.d.ts +8 -0
  28. package/src/runtime/server/cookie.js +4 -5
  29. package/src/runtime/server/data/index.js +3 -2
  30. package/src/runtime/server/endpoint.js +5 -5
  31. package/src/runtime/server/fetch.js +11 -9
  32. package/src/runtime/server/index.js +54 -395
  33. package/src/runtime/server/page/csp.js +9 -11
  34. package/src/runtime/server/page/index.js +13 -8
  35. package/src/runtime/server/page/load_data.js +2 -3
  36. package/src/runtime/server/page/render.js +26 -19
  37. package/src/runtime/server/page/respond_with_error.js +20 -13
  38. package/src/runtime/server/page/types.d.ts +0 -1
  39. package/src/runtime/server/respond.js +419 -0
  40. package/src/runtime/server/utils.js +21 -4
  41. package/src/runtime/shared.js +28 -0
  42. package/types/ambient.d.ts +7 -29
  43. package/types/internal.d.ts +23 -37
  44. package/src/runtime/env.js +0 -12
  45. package/src/runtime/paths.js +0 -11
@@ -0,0 +1,28 @@
1
+ export let assets = '';
2
+ export let base = '';
3
+ export let building = false;
4
+ export let version = '';
5
+
6
+ /** @param {string} stack */
7
+ export let fix_stack_trace = (stack) => stack;
8
+
9
+ /** @param {{ base: string, assets: string }} paths */
10
+ export function set_paths(paths) {
11
+ base = paths.base;
12
+ assets = paths.assets || base;
13
+ }
14
+
15
+ /** @param {boolean} value */
16
+ export function set_building(value) {
17
+ building = value;
18
+ }
19
+
20
+ /** @param {string} value */
21
+ export function set_version(value) {
22
+ version = value;
23
+ }
24
+
25
+ /** @param {(stack: string) => string} value */
26
+ export function set_fix_stack_trace(value) {
27
+ fix_stack_trace = value;
28
+ }
@@ -2,41 +2,19 @@
2
2
  * It's possible to tell SvelteKit how to type objects inside your app by declaring the `App` namespace. By default, a new project will have a file called `src/app.d.ts` containing the following:
3
3
  *
4
4
  * ```ts
5
- * /// <reference types="@sveltejs/kit" />
6
- *
7
- * declare namespace App {
8
- * interface Error {}
9
- * interface Locals {}
10
- * interface PageData {}
11
- * interface Platform {}
12
- * }
13
- * ```
14
- *
15
- * By populating these interfaces, you will gain type safety when using `event.locals`, `event.platform`, and `data` from `load` functions.
16
- *
17
- * Note that since it's an ambient declaration file, you have to be careful when using `import` statements. Once you add an `import`
18
- * at the top level, the declaration file is no longer considered ambient and you lose access to these typings in other files.
19
- * To avoid this, either use the `import(...)` function:
20
- *
21
- * ```ts
22
- * interface Locals {
23
- * user: import('$lib/types').User;
24
- * }
25
- * ```
26
- * Or wrap the namespace with `declare global`:
27
- * ```ts
28
- * import { User } from '$lib/types';
29
- *
30
5
  * declare global {
31
6
  * namespace App {
32
- * interface Locals {
33
- * user: User;
34
- * }
35
- * // ...
7
+ * // interface Error {}
8
+ * // interface Locals {}
9
+ * // interface PageData {}
10
+ * // interface Platform {}
36
11
  * }
37
12
  * }
13
+ *
14
+ * export default undefined;
38
15
  * ```
39
16
  *
17
+ * By populating these interfaces, you will gain type safety when using `event.locals`, `event.platform`, and `data` from `load` functions.
40
18
  */
41
19
  declare namespace App {
42
20
  /**
@@ -27,16 +27,13 @@ import {
27
27
 
28
28
  export interface ServerModule {
29
29
  Server: typeof InternalServer;
30
+ }
30
31
 
31
- override(options: {
32
- building: boolean;
33
- paths: {
34
- base: string;
35
- assets: string;
36
- };
37
- protocol?: 'http' | 'https';
38
- read(file: string): Buffer;
39
- }): void;
32
+ export interface ServerInternalModule {
33
+ set_building(building: boolean): void;
34
+ set_paths(paths: { base: string; assets: string }): void;
35
+ set_version(version: string): void;
36
+ set_fix_stack_trace(fix_stack_trace: (stack: string) => string): void;
40
37
  }
41
38
 
42
39
  export interface Asset {
@@ -74,7 +71,7 @@ export interface CSRPageNode {
74
71
  load?: Load;
75
72
  trailingSlash?: TrailingSlash;
76
73
  };
77
- server: boolean;
74
+ has_server_load: boolean;
78
75
  }
79
76
 
80
77
  export type CSRPageNodeLoader = () => Promise<CSRPageNode>;
@@ -109,6 +106,7 @@ export class InternalServer extends Server {
109
106
  request: Request,
110
107
  options: RequestOptions & {
111
108
  prerendering?: PrerenderOptions;
109
+ read: (file: string) => Buffer;
112
110
  }
113
111
  ): Promise<Response>;
114
112
  }
@@ -155,7 +153,12 @@ export type RecursiveRequired<T> = {
155
153
  export type RequiredResolveOptions = Required<ResolveOptions>;
156
154
 
157
155
  export interface Respond {
158
- (request: Request, options: SSROptions, state: SSRState): Promise<Response>;
156
+ (
157
+ request: Request,
158
+ options: SSROptions,
159
+ manifest: SSRManifest,
160
+ state: SSRState
161
+ ): Promise<Response>;
159
162
  }
160
163
 
161
164
  export interface RouteParam {
@@ -294,37 +297,18 @@ export interface SSRNode {
294
297
  export type SSRNodeLoader = () => Promise<SSRNode>;
295
298
 
296
299
  export interface SSROptions {
300
+ app_template_contains_nonce: boolean;
297
301
  csp: ValidatedConfig['kit']['csp'];
298
- csrf: {
299
- check_origin: boolean;
300
- };
301
- dev: boolean;
302
+ csrf_check_origin: boolean;
302
303
  embedded: boolean;
303
- handle_error(error: Error & { frame?: string }, event: RequestEvent): MaybePromise<App.Error>;
304
+ env_public_prefix: string;
304
305
  hooks: ServerHooks;
305
- manifest: SSRManifest;
306
- paths: {
307
- base: string;
308
- assets: string;
309
- };
310
- public_env: Record<string, string>;
311
- read(file: string): Buffer;
312
306
  root: SSRComponent['default'];
313
307
  service_worker: boolean;
314
- app_template({
315
- head,
316
- body,
317
- assets,
318
- nonce
319
- }: {
320
- head: string;
321
- body: string;
322
- assets: string;
323
- nonce: string;
324
- }): string;
325
- app_template_contains_nonce: boolean;
326
- error_template({ message, status }: { message: string; status: number }): string;
327
- version: string;
308
+ templates: {
309
+ app(values: { head: string; body: string; assets: string; nonce: string }): string;
310
+ error(values: { message: string; status: number }): string;
311
+ };
328
312
  }
329
313
 
330
314
  export interface SSRErrorPage {
@@ -362,6 +346,7 @@ export interface SSRState {
362
346
  * prerender option is inherited by the endpoint, unless overridden
363
347
  */
364
348
  prerender_default?: PrerenderOption;
349
+ read?: (file: string) => Buffer;
365
350
  }
366
351
 
367
352
  export type StrictBody = string | ArrayBufferView;
@@ -385,6 +370,7 @@ declare global {
385
370
  const __SVELTEKIT_ADAPTER_NAME__: string;
386
371
  const __SVELTEKIT_APP_VERSION_FILE__: string;
387
372
  const __SVELTEKIT_APP_VERSION_POLL_INTERVAL__: number;
373
+ const __SVELTEKIT_DEV__: boolean;
388
374
  const __SVELTEKIT_EMBEDDED__: boolean;
389
375
  var Bun: object;
390
376
  var Deno: object;
@@ -1,12 +0,0 @@
1
- export let building = false;
2
- export let version = '';
3
-
4
- /** @param {boolean} value */
5
- export function set_building(value) {
6
- building = value;
7
- }
8
-
9
- /** @param {string} value */
10
- export function set_version(value) {
11
- version = value;
12
- }
@@ -1,11 +0,0 @@
1
- /** @type {string} */
2
- export let base = '';
3
-
4
- /** @type {string} */
5
- export let assets = '';
6
-
7
- /** @param {{ base: string, assets: string }} paths */
8
- export function set_paths(paths) {
9
- base = paths.base;
10
- assets = paths.assets || base;
11
- }