@sveltejs/kit 1.0.0-next.44 → 1.0.0-next.440

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 (153) hide show
  1. package/README.md +12 -9
  2. package/package.json +94 -63
  3. package/src/cli.js +112 -0
  4. package/src/core/adapt/builder.js +223 -0
  5. package/src/core/adapt/index.js +19 -0
  6. package/src/core/config/index.js +86 -0
  7. package/src/core/config/options.js +488 -0
  8. package/src/core/config/types.d.ts +1 -0
  9. package/src/core/constants.js +5 -0
  10. package/src/core/env.js +97 -0
  11. package/src/core/generate_manifest/index.js +78 -0
  12. package/src/core/prerender/crawl.js +194 -0
  13. package/src/core/prerender/prerender.js +380 -0
  14. package/src/core/prerender/queue.js +80 -0
  15. package/src/core/sync/create_manifest_data/index.js +450 -0
  16. package/src/core/sync/create_manifest_data/types.d.ts +37 -0
  17. package/src/core/sync/sync.js +59 -0
  18. package/src/core/sync/utils.js +33 -0
  19. package/src/core/sync/write_ambient.js +27 -0
  20. package/src/core/sync/write_client_manifest.js +92 -0
  21. package/src/core/sync/write_matchers.js +25 -0
  22. package/src/core/sync/write_root.js +91 -0
  23. package/src/core/sync/write_tsconfig.js +195 -0
  24. package/src/core/sync/write_types/index.js +577 -0
  25. package/src/core/sync/write_types/test/layout/+layout.js +5 -0
  26. package/src/core/sync/write_types/test/layout/+layout.server.js +5 -0
  27. package/src/core/sync/write_types/test/layout/+layout.svelte +0 -0
  28. package/src/core/sync/write_types/test/layout/+page.js +5 -0
  29. package/src/core/sync/write_types/test/layout/+page.server.js +5 -0
  30. package/src/core/sync/write_types/test/layout/+page.svelte +0 -0
  31. package/src/core/sync/write_types/test/layout/_expected/$types.d.ts +67 -0
  32. package/src/core/sync/write_types/test/layout-advanced/(main)/+layout.server.js +5 -0
  33. package/src/core/sync/write_types/test/layout-advanced/(main)/+layout.svelte +0 -0
  34. package/src/core/sync/write_types/test/layout-advanced/(main)/+page.js +5 -0
  35. package/src/core/sync/write_types/test/layout-advanced/(main)/+page@.svelte +0 -0
  36. package/src/core/sync/write_types/test/layout-advanced/(main)/sub/+page.js +5 -0
  37. package/src/core/sync/write_types/test/layout-advanced/(main)/sub/+page.svelte +0 -0
  38. package/src/core/sync/write_types/test/layout-advanced/+layout.js +5 -0
  39. package/src/core/sync/write_types/test/layout-advanced/+layout.svelte +0 -0
  40. package/src/core/sync/write_types/test/layout-advanced/_expected/$types.d.ts +32 -0
  41. package/src/core/sync/write_types/test/layout-advanced/_expected/(main)/$types.d.ts +42 -0
  42. package/src/core/sync/write_types/test/layout-advanced/_expected/(main)/sub/$types.d.ts +32 -0
  43. package/src/core/sync/write_types/test/simple-page-server-and-shared/+page.js +5 -0
  44. package/src/core/sync/write_types/test/simple-page-server-and-shared/+page.server.js +5 -0
  45. package/src/core/sync/write_types/test/simple-page-server-and-shared/+page.svelte +0 -0
  46. package/src/core/sync/write_types/test/simple-page-server-and-shared/_expected/$types.d.ts +44 -0
  47. package/src/core/sync/write_types/test/simple-page-server-only/+page.server.js +5 -0
  48. package/src/core/sync/write_types/test/simple-page-server-only/+page.svelte +0 -0
  49. package/src/core/sync/write_types/test/simple-page-server-only/_expected/$types.d.ts +30 -0
  50. package/src/core/sync/write_types/test/simple-page-shared-only/+page.js +5 -0
  51. package/src/core/sync/write_types/test/simple-page-shared-only/+page.svelte +0 -0
  52. package/src/core/sync/write_types/test/simple-page-shared-only/_expected/$types.d.ts +33 -0
  53. package/src/core/sync/write_types/test/slugs/+layout.js +1 -0
  54. package/src/core/sync/write_types/test/slugs/+layout.svelte +1 -0
  55. package/src/core/sync/write_types/test/slugs/[...rest]/+page.js +3 -0
  56. package/src/core/sync/write_types/test/slugs/[...rest]/+page.svelte +0 -0
  57. package/src/core/sync/write_types/test/slugs/[slug]/+page.js +3 -0
  58. package/src/core/sync/write_types/test/slugs/[slug]/+page.svelte +0 -0
  59. package/src/core/sync/write_types/test/slugs/_expected/$types.d.ts +32 -0
  60. package/src/core/sync/write_types/test/slugs/_expected/[...rest]/$types.d.ts +29 -0
  61. package/src/core/sync/write_types/test/slugs/_expected/[slug]/$types.d.ts +29 -0
  62. package/src/core/sync/write_types/test/slugs-layout-not-all-pages-have-load/+layout.js +1 -0
  63. package/src/core/sync/write_types/test/slugs-layout-not-all-pages-have-load/+layout.svelte +1 -0
  64. package/src/core/sync/write_types/test/slugs-layout-not-all-pages-have-load/_expected/$types.d.ts +30 -0
  65. package/src/core/sync/write_types/test/slugs-layout-not-all-pages-have-load/_expected/nested/$types.d.ts +32 -0
  66. package/src/core/sync/write_types/test/slugs-layout-not-all-pages-have-load/_expected/nested/[...rest]/$types.d.ts +36 -0
  67. package/src/core/sync/write_types/test/slugs-layout-not-all-pages-have-load/_expected/nested/[slug]/$types.d.ts +17 -0
  68. package/src/core/sync/write_types/test/slugs-layout-not-all-pages-have-load/nested/+layout.js +1 -0
  69. package/src/core/sync/write_types/test/slugs-layout-not-all-pages-have-load/nested/+layout.svelte +1 -0
  70. package/src/core/sync/write_types/test/slugs-layout-not-all-pages-have-load/nested/[...rest]/+page.js +3 -0
  71. package/src/core/sync/write_types/test/slugs-layout-not-all-pages-have-load/nested/[...rest]/+page.svelte +0 -0
  72. package/src/core/sync/write_types/test/slugs-layout-not-all-pages-have-load/nested/[slug]/+page@.svelte +0 -0
  73. package/src/core/utils.js +70 -0
  74. package/src/hooks.js +26 -0
  75. package/src/index/index.js +45 -0
  76. package/src/index/private.js +33 -0
  77. package/src/node/index.js +145 -0
  78. package/src/node/polyfills.js +40 -0
  79. package/src/runtime/app/env.js +11 -0
  80. package/src/runtime/app/navigation.js +22 -0
  81. package/src/runtime/app/paths.js +1 -0
  82. package/src/runtime/app/stores.js +102 -0
  83. package/src/runtime/client/ambient.d.ts +18 -0
  84. package/src/runtime/client/client.js +1362 -0
  85. package/src/runtime/client/fetcher.js +60 -0
  86. package/src/runtime/client/parse.js +41 -0
  87. package/src/runtime/client/singletons.js +21 -0
  88. package/src/runtime/client/start.js +46 -0
  89. package/src/runtime/client/types.d.ts +86 -0
  90. package/src/runtime/client/utils.js +113 -0
  91. package/src/runtime/components/error.svelte +16 -0
  92. package/{assets → src/runtime}/components/layout.svelte +0 -0
  93. package/src/runtime/env/dynamic/private.js +1 -0
  94. package/src/runtime/env/dynamic/public.js +1 -0
  95. package/src/runtime/env-private.js +7 -0
  96. package/src/runtime/env-public.js +7 -0
  97. package/src/runtime/env.js +6 -0
  98. package/src/runtime/hash.js +16 -0
  99. package/src/runtime/paths.js +11 -0
  100. package/src/runtime/server/endpoint.js +50 -0
  101. package/src/runtime/server/index.js +489 -0
  102. package/src/runtime/server/page/cookie.js +25 -0
  103. package/src/runtime/server/page/crypto.js +239 -0
  104. package/src/runtime/server/page/csp.js +249 -0
  105. package/src/runtime/server/page/fetch.js +266 -0
  106. package/src/runtime/server/page/index.js +408 -0
  107. package/src/runtime/server/page/load_data.js +168 -0
  108. package/src/runtime/server/page/render.js +361 -0
  109. package/src/runtime/server/page/respond_with_error.js +95 -0
  110. package/src/runtime/server/page/types.d.ts +44 -0
  111. package/src/runtime/server/utils.js +116 -0
  112. package/src/utils/array.js +9 -0
  113. package/src/utils/error.js +22 -0
  114. package/src/utils/escape.js +104 -0
  115. package/src/utils/filesystem.js +108 -0
  116. package/src/utils/functions.js +16 -0
  117. package/src/utils/http.js +55 -0
  118. package/src/utils/misc.js +1 -0
  119. package/src/utils/routing.js +146 -0
  120. package/src/utils/url.js +142 -0
  121. package/src/vite/build/build_server.js +348 -0
  122. package/src/vite/build/build_service_worker.js +90 -0
  123. package/src/vite/build/utils.js +160 -0
  124. package/src/vite/dev/index.js +543 -0
  125. package/src/vite/index.js +578 -0
  126. package/src/vite/preview/index.js +186 -0
  127. package/src/vite/types.d.ts +3 -0
  128. package/src/vite/utils.js +345 -0
  129. package/svelte-kit.js +1 -1
  130. package/types/ambient.d.ts +366 -0
  131. package/types/index.d.ts +345 -0
  132. package/types/internal.d.ts +374 -0
  133. package/types/private.d.ts +209 -0
  134. package/CHANGELOG.md +0 -437
  135. package/assets/components/error.svelte +0 -13
  136. package/assets/runtime/app/env.js +0 -5
  137. package/assets/runtime/app/navigation.js +0 -41
  138. package/assets/runtime/app/paths.js +0 -1
  139. package/assets/runtime/app/stores.js +0 -93
  140. package/assets/runtime/chunks/utils.js +0 -19
  141. package/assets/runtime/internal/singletons.js +0 -23
  142. package/assets/runtime/internal/start.js +0 -770
  143. package/assets/runtime/paths.js +0 -12
  144. package/dist/chunks/index.js +0 -3521
  145. package/dist/chunks/index2.js +0 -587
  146. package/dist/chunks/index3.js +0 -246
  147. package/dist/chunks/index4.js +0 -545
  148. package/dist/chunks/index5.js +0 -761
  149. package/dist/chunks/index6.js +0 -322
  150. package/dist/chunks/standard.js +0 -99
  151. package/dist/chunks/utils.js +0 -83
  152. package/dist/cli.js +0 -546
  153. package/dist/ssr.js +0 -2580
@@ -0,0 +1,5 @@
1
+ export function load() {
2
+ return {
3
+ root: 'root'
4
+ };
5
+ }
@@ -0,0 +1,32 @@
1
+ import type * as Kit from '@sveltejs/kit';
2
+
3
+ type RouteParams = {};
4
+ type MaybeWithVoid<T> = {} extends T ? T | void : T;
5
+ export type RequiredKeys<T> = {
6
+ [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K;
7
+ }[keyof T];
8
+ type OutputDataShape<T> = MaybeWithVoid<
9
+ Omit<App.PageData, RequiredKeys<T>> &
10
+ Partial<Pick<App.PageData, keyof T & keyof App.PageData>> &
11
+ Record<string, any>
12
+ >;
13
+ type EnsureParentData<T> = NonNullable<T> extends never ? {} : T;
14
+ type LayoutParams = RouteParams & {};
15
+ type LayoutParentData = EnsureParentData<{}>;
16
+
17
+ export type LayoutServerData = null;
18
+ export type LayoutLoad<
19
+ OutputData extends (Partial<App.PageData> & Record<string, any>) | void =
20
+ | (Partial<App.PageData> & Record<string, any>)
21
+ | void
22
+ > = Kit.Load<LayoutParams, LayoutServerData, LayoutParentData, OutputData>;
23
+ export type LayoutLoadEvent = Parameters<LayoutLoad>[0];
24
+ export type LayoutData = Omit<
25
+ LayoutParentData,
26
+ keyof Kit.AwaitedProperties<
27
+ Awaited<ReturnType<typeof import('../../../../../../../../+layout.js').load>>
28
+ >
29
+ > &
30
+ Kit.AwaitedProperties<
31
+ Awaited<ReturnType<typeof import('../../../../../../../../+layout.js').load>>
32
+ >;
@@ -0,0 +1,42 @@
1
+ import type * as Kit from '@sveltejs/kit';
2
+
3
+ type RouteParams = {};
4
+ type MaybeWithVoid<T> = {} extends T ? T | void : T;
5
+ export type RequiredKeys<T> = {
6
+ [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K;
7
+ }[keyof T];
8
+ type OutputDataShape<T> = MaybeWithVoid<
9
+ Omit<App.PageData, RequiredKeys<T>> &
10
+ Partial<Pick<App.PageData, keyof T & keyof App.PageData>> &
11
+ Record<string, any>
12
+ >;
13
+ type EnsureParentData<T> = NonNullable<T> extends never ? {} : T;
14
+ type PageParentData = EnsureParentData<import('../$types.js').LayoutData>;
15
+ type LayoutParams = RouteParams & {};
16
+ type LayoutServerParentData = EnsureParentData<import('../$types.js').LayoutServerData>;
17
+ type LayoutParentData = EnsureParentData<import('../$types.js').LayoutData>;
18
+
19
+ export type PageServerData = null;
20
+ export type PageLoad<
21
+ OutputData extends OutputDataShape<PageParentData> = OutputDataShape<PageParentData>
22
+ > = Kit.Load<RouteParams, PageServerData, PageParentData, OutputData>;
23
+ export type PageLoadEvent = Parameters<PageLoad>[0];
24
+ export type PageData = Omit<
25
+ PageParentData,
26
+ keyof Kit.AwaitedProperties<
27
+ Awaited<ReturnType<typeof import('../../../../../../../../../(main)/+page.js').load>>
28
+ >
29
+ > &
30
+ Kit.AwaitedProperties<
31
+ Awaited<ReturnType<typeof import('../../../../../../../../../(main)/+page.js').load>>
32
+ >;
33
+ export type LayoutServerLoad<
34
+ OutputData extends (Partial<App.PageData> & Record<string, any>) | void =
35
+ | (Partial<App.PageData> & Record<string, any>)
36
+ | void
37
+ > = Kit.ServerLoad<LayoutParams, LayoutServerParentData, OutputData>;
38
+ export type LayoutServerLoadEvent = Parameters<LayoutServerLoad>[0];
39
+ export type LayoutServerData = Kit.AwaitedProperties<
40
+ Awaited<ReturnType<typeof import('../../../../../../../../../(main)/+layout.server.js').load>>
41
+ >;
42
+ export type LayoutData = Omit<LayoutParentData, keyof LayoutServerData> & LayoutServerData;
@@ -0,0 +1,32 @@
1
+ import type * as Kit from '@sveltejs/kit';
2
+
3
+ type RouteParams = {};
4
+ type MaybeWithVoid<T> = {} extends T ? T | void : T;
5
+ export type RequiredKeys<T> = {
6
+ [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K;
7
+ }[keyof T];
8
+ type OutputDataShape<T> = MaybeWithVoid<
9
+ Omit<App.PageData, RequiredKeys<T>> &
10
+ Partial<Pick<App.PageData, keyof T & keyof App.PageData>> &
11
+ Record<string, any>
12
+ >;
13
+ type EnsureParentData<T> = NonNullable<T> extends never ? {} : T;
14
+ type PageParentData = EnsureParentData<
15
+ Omit<import('../../$types.js').LayoutData, keyof import('../$types.js').LayoutData> &
16
+ import('../$types.js').LayoutData
17
+ >;
18
+
19
+ export type PageServerData = null;
20
+ export type PageLoad<
21
+ OutputData extends OutputDataShape<PageParentData> = OutputDataShape<PageParentData>
22
+ > = Kit.Load<RouteParams, PageServerData, PageParentData, OutputData>;
23
+ export type PageLoadEvent = Parameters<PageLoad>[0];
24
+ export type PageData = Omit<
25
+ PageParentData,
26
+ keyof Kit.AwaitedProperties<
27
+ Awaited<ReturnType<typeof import('../../../../../../../../../../(main)/sub/+page.js').load>>
28
+ >
29
+ > &
30
+ Kit.AwaitedProperties<
31
+ Awaited<ReturnType<typeof import('../../../../../../../../../../(main)/sub/+page.js').load>>
32
+ >;
@@ -0,0 +1,5 @@
1
+ export function load() {
2
+ return {
3
+ shared: 'shared'
4
+ };
5
+ }
@@ -0,0 +1,5 @@
1
+ export function load() {
2
+ return {
3
+ server: 'server'
4
+ };
5
+ }
@@ -0,0 +1,44 @@
1
+ import type * as Kit from '@sveltejs/kit';
2
+
3
+ type RouteParams = {};
4
+ type MaybeWithVoid<T> = {} extends T ? T | void : T;
5
+ export type RequiredKeys<T> = {
6
+ [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K;
7
+ }[keyof T];
8
+ type OutputDataShape<T> = MaybeWithVoid<
9
+ Omit<App.PageData, RequiredKeys<T>> &
10
+ Partial<Pick<App.PageData, keyof T & keyof App.PageData>> &
11
+ Record<string, any>
12
+ >;
13
+ type EnsureParentData<T> = NonNullable<T> extends never ? {} : T;
14
+ type PageServerParentData = EnsureParentData<LayoutServerData>;
15
+ type PageParentData = EnsureParentData<LayoutData>;
16
+ type LayoutParams = RouteParams & {};
17
+ type LayoutParentData = EnsureParentData<{}>;
18
+
19
+ export type PageServerLoad<
20
+ OutputData extends (Partial<App.PageData> & Record<string, any>) | void =
21
+ | (Partial<App.PageData> & Record<string, any>)
22
+ | void
23
+ > = Kit.ServerLoad<RouteParams, PageServerParentData, OutputData>;
24
+ export type PageServerLoadEvent = Parameters<PageServerLoad>[0];
25
+ export type Errors = null;
26
+ export type PageServerData = Kit.AwaitedProperties<
27
+ Awaited<ReturnType<typeof import('../../../../../../../../+page.server.js').load>>
28
+ >;
29
+ export type PageLoad<
30
+ OutputData extends OutputDataShape<PageParentData> = OutputDataShape<PageParentData>
31
+ > = Kit.Load<RouteParams, PageServerData, PageParentData, OutputData>;
32
+ export type PageLoadEvent = Parameters<PageLoad>[0];
33
+ export type PageData = Omit<
34
+ PageParentData,
35
+ keyof Kit.AwaitedProperties<
36
+ Awaited<ReturnType<typeof import('../../../../../../../../+page.js').load>>
37
+ >
38
+ > &
39
+ Kit.AwaitedProperties<
40
+ Awaited<ReturnType<typeof import('../../../../../../../../+page.js').load>>
41
+ >;
42
+ export type Action = Kit.Action<RouteParams>;
43
+ export type LayoutServerData = null;
44
+ export type LayoutData = LayoutParentData;
@@ -0,0 +1,5 @@
1
+ export function load() {
2
+ return {
3
+ foo: 'bar'
4
+ };
5
+ }
@@ -0,0 +1,30 @@
1
+ import type * as Kit from '@sveltejs/kit';
2
+
3
+ type RouteParams = {};
4
+ type MaybeWithVoid<T> = {} extends T ? T | void : T;
5
+ export type RequiredKeys<T> = {
6
+ [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K;
7
+ }[keyof T];
8
+ type OutputDataShape<T> = MaybeWithVoid<
9
+ Omit<App.PageData, RequiredKeys<T>> &
10
+ Partial<Pick<App.PageData, keyof T & keyof App.PageData>> &
11
+ Record<string, any>
12
+ >;
13
+ type EnsureParentData<T> = NonNullable<T> extends never ? {} : T;
14
+ type PageServerParentData = EnsureParentData<LayoutServerData>;
15
+ type PageParentData = EnsureParentData<LayoutData>;
16
+ type LayoutParams = RouteParams & {};
17
+ type LayoutParentData = EnsureParentData<{}>;
18
+
19
+ export type PageServerLoad<
20
+ OutputData extends OutputDataShape<PageServerParentData> = OutputDataShape<PageServerParentData>
21
+ > = Kit.ServerLoad<RouteParams, PageServerParentData, OutputData>;
22
+ export type PageServerLoadEvent = Parameters<PageServerLoad>[0];
23
+ export type Errors = null;
24
+ export type PageServerData = Kit.AwaitedProperties<
25
+ Awaited<ReturnType<typeof import('../../../../../../../../+page.server.js').load>>
26
+ >;
27
+ export type PageData = Omit<PageParentData, keyof PageServerData> & PageServerData;
28
+ export type Action = Kit.Action<RouteParams>;
29
+ export type LayoutServerData = null;
30
+ export type LayoutData = LayoutParentData;
@@ -0,0 +1,5 @@
1
+ export function load() {
2
+ return {
3
+ shared: 'shared'
4
+ };
5
+ }
@@ -0,0 +1,33 @@
1
+ import type * as Kit from '@sveltejs/kit';
2
+
3
+ type RouteParams = {};
4
+ type MaybeWithVoid<T> = {} extends T ? T | void : T;
5
+ export type RequiredKeys<T> = {
6
+ [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K;
7
+ }[keyof T];
8
+ type OutputDataShape<T> = MaybeWithVoid<
9
+ Omit<App.PageData, RequiredKeys<T>> &
10
+ Partial<Pick<App.PageData, keyof T & keyof App.PageData>> &
11
+ Record<string, any>
12
+ >;
13
+ type EnsureParentData<T> = NonNullable<T> extends never ? {} : T;
14
+ type PageParentData = EnsureParentData<LayoutData>;
15
+ type LayoutParams = RouteParams & {};
16
+ type LayoutParentData = EnsureParentData<{}>;
17
+
18
+ export type PageServerData = null;
19
+ export type PageLoad<
20
+ OutputData extends OutputDataShape<PageParentData> = OutputDataShape<PageParentData>
21
+ > = Kit.Load<RouteParams, PageServerData, PageParentData, OutputData>;
22
+ export type PageLoadEvent = Parameters<PageLoad>[0];
23
+ export type PageData = Omit<
24
+ PageParentData,
25
+ keyof Kit.AwaitedProperties<
26
+ Awaited<ReturnType<typeof import('../../../../../../../../+page.js').load>>
27
+ >
28
+ > &
29
+ Kit.AwaitedProperties<
30
+ Awaited<ReturnType<typeof import('../../../../../../../../+page.js').load>>
31
+ >;
32
+ export type LayoutServerData = null;
33
+ export type LayoutData = LayoutParentData;
@@ -0,0 +1 @@
1
+ export function load() {}
@@ -0,0 +1 @@
1
+ export function load() {}
@@ -0,0 +1,3 @@
1
+ export function load() {
2
+ return { rest: 'rest' };
3
+ }
@@ -0,0 +1,3 @@
1
+ export function load() {
2
+ return { slug: 'slug' };
3
+ }
@@ -0,0 +1,32 @@
1
+ import type * as Kit from '@sveltejs/kit';
2
+
3
+ type RouteParams = {};
4
+ type MaybeWithVoid<T> = {} extends T ? T | void : T;
5
+ export type RequiredKeys<T> = {
6
+ [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K;
7
+ }[keyof T];
8
+ type OutputDataShape<T> = MaybeWithVoid<
9
+ Omit<App.PageData, RequiredKeys<T>> &
10
+ Partial<Pick<App.PageData, keyof T & keyof App.PageData>> &
11
+ Record<string, any>
12
+ >;
13
+ type EnsureParentData<T> = NonNullable<T> extends never ? {} : T;
14
+ type LayoutParams = RouteParams & { rest?: string; slug?: string };
15
+ type LayoutParentData = EnsureParentData<{}>;
16
+
17
+ export type LayoutServerData = null;
18
+ export type LayoutLoad<
19
+ OutputData extends (Partial<App.PageData> & Record<string, any>) | void =
20
+ | (Partial<App.PageData> & Record<string, any>)
21
+ | void
22
+ > = Kit.Load<LayoutParams, LayoutServerData, LayoutParentData, OutputData>;
23
+ export type LayoutLoadEvent = Parameters<LayoutLoad>[0];
24
+ export type LayoutData = Omit<
25
+ LayoutParentData,
26
+ keyof Kit.AwaitedProperties<
27
+ Awaited<ReturnType<typeof import('../../../../../../../../+layout.js').load>>
28
+ >
29
+ > &
30
+ Kit.AwaitedProperties<
31
+ Awaited<ReturnType<typeof import('../../../../../../../../+layout.js').load>>
32
+ >;
@@ -0,0 +1,29 @@
1
+ import type * as Kit from '@sveltejs/kit';
2
+
3
+ type RouteParams = { rest: string };
4
+ type MaybeWithVoid<T> = {} extends T ? T | void : T;
5
+ export type RequiredKeys<T> = {
6
+ [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K;
7
+ }[keyof T];
8
+ type OutputDataShape<T> = MaybeWithVoid<
9
+ Omit<App.PageData, RequiredKeys<T>> &
10
+ Partial<Pick<App.PageData, keyof T & keyof App.PageData>> &
11
+ Record<string, any>
12
+ >;
13
+ type EnsureParentData<T> = NonNullable<T> extends never ? {} : T;
14
+ type PageParentData = EnsureParentData<import('../$types.js').LayoutData>;
15
+
16
+ export type PageServerData = null;
17
+ export type PageLoad<
18
+ OutputData extends OutputDataShape<PageParentData> = OutputDataShape<PageParentData>
19
+ > = Kit.Load<RouteParams, PageServerData, PageParentData, OutputData>;
20
+ export type PageLoadEvent = Parameters<PageLoad>[0];
21
+ export type PageData = Omit<
22
+ PageParentData,
23
+ keyof Kit.AwaitedProperties<
24
+ Awaited<ReturnType<typeof import('../../../../../../../../../[...rest]/+page.js').load>>
25
+ >
26
+ > &
27
+ Kit.AwaitedProperties<
28
+ Awaited<ReturnType<typeof import('../../../../../../../../../[...rest]/+page.js').load>>
29
+ >;
@@ -0,0 +1,29 @@
1
+ import type * as Kit from '@sveltejs/kit';
2
+
3
+ type RouteParams = { slug: string };
4
+ type MaybeWithVoid<T> = {} extends T ? T | void : T;
5
+ export type RequiredKeys<T> = {
6
+ [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K;
7
+ }[keyof T];
8
+ type OutputDataShape<T> = MaybeWithVoid<
9
+ Omit<App.PageData, RequiredKeys<T>> &
10
+ Partial<Pick<App.PageData, keyof T & keyof App.PageData>> &
11
+ Record<string, any>
12
+ >;
13
+ type EnsureParentData<T> = NonNullable<T> extends never ? {} : T;
14
+ type PageParentData = EnsureParentData<import('../$types.js').LayoutData>;
15
+
16
+ export type PageServerData = null;
17
+ export type PageLoad<
18
+ OutputData extends OutputDataShape<PageParentData> = OutputDataShape<PageParentData>
19
+ > = Kit.Load<RouteParams, PageServerData, PageParentData, OutputData>;
20
+ export type PageLoadEvent = Parameters<PageLoad>[0];
21
+ export type PageData = Omit<
22
+ PageParentData,
23
+ keyof Kit.AwaitedProperties<
24
+ Awaited<ReturnType<typeof import('../../../../../../../../../[slug]/+page.js').load>>
25
+ >
26
+ > &
27
+ Kit.AwaitedProperties<
28
+ Awaited<ReturnType<typeof import('../../../../../../../../../[slug]/+page.js').load>>
29
+ >;
@@ -0,0 +1,30 @@
1
+ import type * as Kit from '@sveltejs/kit';
2
+
3
+ type RouteParams = {};
4
+ type MaybeWithVoid<T> = {} extends T ? T | void : T;
5
+ export type RequiredKeys<T> = {
6
+ [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K;
7
+ }[keyof T];
8
+ type OutputDataShape<T> = MaybeWithVoid<
9
+ Omit<App.PageData, RequiredKeys<T>> &
10
+ Partial<Pick<App.PageData, keyof T & keyof App.PageData>> &
11
+ Record<string, any>
12
+ >;
13
+ type EnsureParentData<T> = NonNullable<T> extends never ? {} : T;
14
+ type LayoutParams = RouteParams & { rest?: string; slug?: string };
15
+ type LayoutParentData = EnsureParentData<{}>;
16
+
17
+ export type LayoutServerData = null;
18
+ export type LayoutLoad<
19
+ OutputData extends OutputDataShape<LayoutParentData> = OutputDataShape<LayoutParentData>
20
+ > = Kit.Load<LayoutParams, LayoutServerData, LayoutParentData, OutputData>;
21
+ export type LayoutLoadEvent = Parameters<LayoutLoad>[0];
22
+ export type LayoutData = Omit<
23
+ LayoutParentData,
24
+ keyof Kit.AwaitedProperties<
25
+ Awaited<ReturnType<typeof import('../../../../../../../../+layout.js').load>>
26
+ >
27
+ > &
28
+ Kit.AwaitedProperties<
29
+ Awaited<ReturnType<typeof import('../../../../../../../../+layout.js').load>>
30
+ >;
@@ -0,0 +1,32 @@
1
+ import type * as Kit from '@sveltejs/kit';
2
+
3
+ type RouteParams = {};
4
+ type MaybeWithVoid<T> = {} extends T ? T | void : T;
5
+ export type RequiredKeys<T> = {
6
+ [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K;
7
+ }[keyof T];
8
+ type OutputDataShape<T> = MaybeWithVoid<
9
+ Omit<App.PageData, RequiredKeys<T>> &
10
+ Partial<Pick<App.PageData, keyof T & keyof App.PageData>> &
11
+ Record<string, any>
12
+ >;
13
+ type EnsureParentData<T> = NonNullable<T> extends never ? {} : T;
14
+ type LayoutParams = RouteParams & { rest?: string };
15
+ type LayoutParentData = EnsureParentData<import('../$types.js').LayoutData>;
16
+
17
+ export type LayoutServerData = null;
18
+ export type LayoutLoad<
19
+ OutputData extends (Partial<App.PageData> & Record<string, any>) | void =
20
+ | (Partial<App.PageData> & Record<string, any>)
21
+ | void
22
+ > = Kit.Load<LayoutParams, LayoutServerData, LayoutParentData, OutputData>;
23
+ export type LayoutLoadEvent = Parameters<LayoutLoad>[0];
24
+ export type LayoutData = Omit<
25
+ LayoutParentData,
26
+ keyof Kit.AwaitedProperties<
27
+ Awaited<ReturnType<typeof import('../../../../../../../../../nested/+layout.js').load>>
28
+ >
29
+ > &
30
+ Kit.AwaitedProperties<
31
+ Awaited<ReturnType<typeof import('../../../../../../../../../nested/+layout.js').load>>
32
+ >;
@@ -0,0 +1,36 @@
1
+ import type * as Kit from '@sveltejs/kit';
2
+
3
+ type RouteParams = { rest: string };
4
+ type MaybeWithVoid<T> = {} extends T ? T | void : T;
5
+ export type RequiredKeys<T> = {
6
+ [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K;
7
+ }[keyof T];
8
+ type OutputDataShape<T> = MaybeWithVoid<
9
+ Omit<App.PageData, RequiredKeys<T>> &
10
+ Partial<Pick<App.PageData, keyof T & keyof App.PageData>> &
11
+ Record<string, any>
12
+ >;
13
+ type EnsureParentData<T> = NonNullable<T> extends never ? {} : T;
14
+ type PageParentData = EnsureParentData<
15
+ Omit<import('../../$types.js').LayoutData, keyof import('../$types.js').LayoutData> &
16
+ import('../$types.js').LayoutData
17
+ >;
18
+
19
+ export type PageServerData = null;
20
+ export type PageLoad<
21
+ OutputData extends OutputDataShape<PageParentData> = OutputDataShape<PageParentData>
22
+ > = Kit.Load<RouteParams, PageServerData, PageParentData, OutputData>;
23
+ export type PageLoadEvent = Parameters<PageLoad>[0];
24
+ export type PageData = Omit<
25
+ PageParentData,
26
+ keyof Kit.AwaitedProperties<
27
+ Awaited<
28
+ ReturnType<typeof import('../../../../../../../../../../nested/[...rest]/+page.js').load>
29
+ >
30
+ >
31
+ > &
32
+ Kit.AwaitedProperties<
33
+ Awaited<
34
+ ReturnType<typeof import('../../../../../../../../../../nested/[...rest]/+page.js').load>
35
+ >
36
+ >;
@@ -0,0 +1,17 @@
1
+ import type * as Kit from '@sveltejs/kit';
2
+
3
+ type RouteParams = { slug: string };
4
+ type MaybeWithVoid<T> = {} extends T ? T | void : T;
5
+ export type RequiredKeys<T> = {
6
+ [K in keyof T]-?: {} extends { [P in K]: T[K] } ? never : K;
7
+ }[keyof T];
8
+ type OutputDataShape<T> = MaybeWithVoid<
9
+ Omit<App.PageData, RequiredKeys<T>> &
10
+ Partial<Pick<App.PageData, keyof T & keyof App.PageData>> &
11
+ Record<string, any>
12
+ >;
13
+ type EnsureParentData<T> = NonNullable<T> extends never ? {} : T;
14
+ type PageParentData = EnsureParentData<import('../../$types.js').LayoutData>;
15
+
16
+ export type PageServerData = null;
17
+ export type PageData = PageParentData;
@@ -0,0 +1,3 @@
1
+ export function load() {
2
+ return { rest: 'rest' };
3
+ }
@@ -0,0 +1,70 @@
1
+ import path from 'path';
2
+ import colors from 'kleur';
3
+ import { fileURLToPath } from 'url';
4
+ import { posixify } from '../utils/filesystem.js';
5
+
6
+ /**
7
+ * Resolved path of the `runtime` directory
8
+ *
9
+ * TODO Windows issue:
10
+ * Vite or sth else somehow sets the driver letter inconsistently to lower or upper case depending on the run environment.
11
+ * In playwright debug mode run through VS Code this a root-to-lowercase conversion is needed in order for the tests to run.
12
+ * If we do this conversion in other cases it has the opposite effect though and fails.
13
+ */
14
+ export const runtime_directory = posixify(fileURLToPath(new URL('../runtime', import.meta.url)));
15
+
16
+ /** Prefix for the `runtime` directory, for use with import declarations */
17
+ export const runtime_prefix = posixify_path(runtime_directory);
18
+
19
+ /**
20
+ * This allows us to import SvelteKit internals that aren't exposed via `pkg.exports` in a
21
+ * way that works whether `@sveltejs/kit` is installed inside the project's `node_modules`
22
+ * or in a workspace root
23
+ */
24
+ export const runtime_base = runtime_directory.startsWith(process.cwd())
25
+ ? `/${path.relative('.', runtime_directory)}`
26
+ : `/@fs${
27
+ // Windows/Linux separation - Windows starts with a drive letter, we need a / in front there
28
+ runtime_directory.startsWith('/') ? '' : '/'
29
+ }${runtime_directory}`;
30
+
31
+ /** @param {string} str */
32
+ function posixify_path(str) {
33
+ const parsed = path.parse(str);
34
+ return `/${parsed.dir.slice(parsed.root.length).split(path.sep).join('/')}/${parsed.base}`;
35
+ }
36
+
37
+ function noop() {}
38
+
39
+ /** @param {{ verbose: boolean }} opts */
40
+ export function logger({ verbose }) {
41
+ /** @type {import('types').Logger} */
42
+ const log = (msg) => console.log(msg.replace(/^/gm, ' '));
43
+
44
+ /** @param {string} msg */
45
+ const err = (msg) => console.error(msg.replace(/^/gm, ' '));
46
+
47
+ log.success = (msg) => log(colors.green(`✔ ${msg}`));
48
+ log.error = (msg) => err(colors.bold().red(msg));
49
+ log.warn = (msg) => log(colors.bold().yellow(msg));
50
+
51
+ log.minor = verbose ? (msg) => log(colors.grey(msg)) : noop;
52
+ log.info = verbose ? log : noop;
53
+
54
+ return log;
55
+ }
56
+
57
+ /** @param {import('types').ManifestData} manifest_data */
58
+ export function get_mime_lookup(manifest_data) {
59
+ /** @type {Record<string, string>} */
60
+ const mime = {};
61
+
62
+ manifest_data.assets.forEach((asset) => {
63
+ if (asset.type) {
64
+ const ext = path.extname(asset.file);
65
+ mime[ext] = asset.type;
66
+ }
67
+ });
68
+
69
+ return mime;
70
+ }
package/src/hooks.js ADDED
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @param {...import('types').Handle} handlers
3
+ * @returns {import('types').Handle}
4
+ */
5
+ export function sequence(...handlers) {
6
+ const length = handlers.length;
7
+ if (!length) return ({ event, resolve }) => resolve(event);
8
+
9
+ return ({ event, resolve }) => {
10
+ return apply_handle(0, event);
11
+
12
+ /**
13
+ * @param {number} i
14
+ * @param {import('types').RequestEvent} event
15
+ * @returns {import('types').MaybePromise<Response>}
16
+ */
17
+ function apply_handle(i, event) {
18
+ const handle = handlers[i];
19
+
20
+ return handle({
21
+ event,
22
+ resolve: i < length - 1 ? (event) => apply_handle(i + 1, event) : resolve
23
+ });
24
+ }
25
+ };
26
+ }