1
+ import { UserConfig as ViteConfig } from 'vite' ;
2
+ import { RecursiveRequired } from './helper' ;
1
3
import { ServerRequest } from './hooks' ;
2
4
import { Logger , TrailingSlash } from './internal' ;
3
- import { UserConfig as ViteConfig } from 'vite' ;
4
5
5
6
export interface AdapterUtils {
6
7
log : Logger ;
@@ -11,20 +12,12 @@ export interface AdapterUtils {
11
12
copy_static_files : ( dest : string ) => void ;
12
13
copy : ( from : string , to : string , filter ?: ( basename : string ) => boolean ) => void ;
13
14
update_ignores : ( { patterns, log } : { patterns : string [ ] ; log ?: boolean } ) => void ;
14
- prerender : ( {
15
- all,
16
- dest,
17
- fallback
18
- } : {
19
- all ?: boolean ;
20
- dest : string ;
21
- fallback ?: string ;
22
- } ) => Promise < void > ;
15
+ prerender : ( options : { all ?: boolean ; dest : string ; fallback ?: string } ) => Promise < void > ;
23
16
}
24
17
25
18
export interface Adapter {
26
19
name : string ;
27
- adapt : ( { utils , config } : { utils : AdapterUtils ; config : ValidatedConfig } ) => Promise < void > ;
20
+ adapt : ( context : { utils : AdapterUtils ; config : ValidatedConfig } ) => Promise < void > ;
28
21
}
29
22
30
23
export interface PageOpts {
@@ -41,6 +34,17 @@ export interface PageOptsContext {
41
34
42
35
export type ScriptablePageOpt < T > = T | ( ( { request, page } : PageOptsContext ) => Promise < T > ) ;
43
36
37
+ export interface PrerenderErrorHandler {
38
+ ( details : {
39
+ status : number ;
40
+ path : string ;
41
+ referrer : string | null ;
42
+ referenceType : 'linked' | 'fetched' ;
43
+ } ) : void ;
44
+ }
45
+
46
+ export type PrerenderOnErrorValue = 'fail' | 'continue' | PrerenderErrorHandler ;
47
+
44
48
export interface Config {
45
49
compilerOptions ?: any ;
46
50
extensions ?: string [ ] ;
@@ -79,7 +83,7 @@ export interface Config {
79
83
prerender ?: {
80
84
crawl ?: boolean ;
81
85
enabled ?: ScriptablePageOpt < boolean > ;
82
- force ?: boolean ;
86
+ onError ?: PrerenderOnErrorValue ;
83
87
pages ?: string [ ] ;
84
88
} ;
85
89
router ?: ScriptablePageOpt < boolean > ;
@@ -94,65 +98,6 @@ export interface Config {
94
98
preprocess ?: any ;
95
99
}
96
100
97
- export type PrerenderErrorHandler = ( errorDetails : {
98
- status : number ;
99
- path : string ;
100
- referrer : string | null ;
101
- referenceType : 'linked' | 'fetched' ;
102
- } ) => void | never ;
103
-
104
- export type PrerenderOnErrorValue = 'fail' | 'continue' | PrerenderErrorHandler ;
105
-
106
- export interface ValidatedConfig {
107
- compilerOptions : any ;
108
- extensions : string [ ] ;
109
- kit : {
110
- adapter : Adapter ;
111
- amp : boolean ;
112
- appDir : string ;
113
- files : {
114
- assets : string ;
115
- hooks : string ;
116
- lib : string ;
117
- routes : string ;
118
- serviceWorker : string ;
119
- setup : string ;
120
- template : string ;
121
- } ;
122
- floc : boolean ;
123
- host : string ;
124
- hostHeader : string ;
125
- hydrate : ScriptablePageOpt < boolean > ;
126
- package : {
127
- dir : string ;
128
- emitTypes : boolean ;
129
- exports : {
130
- include : string [ ] ;
131
- exclude : string [ ] ;
132
- } ;
133
- files : {
134
- include : string [ ] ;
135
- exclude : string [ ] ;
136
- } ;
137
- } ;
138
- paths : {
139
- assets : string ;
140
- base : string ;
141
- } ;
142
- prerender : {
143
- crawl : boolean ;
144
- enabled : ScriptablePageOpt < boolean > ;
145
- onError : PrerenderOnErrorValue ;
146
- pages : string [ ] ;
147
- } ;
148
- router : ScriptablePageOpt < boolean > ;
149
- serviceWorker : {
150
- exclude : string [ ] ;
151
- } ;
152
- ssr : ScriptablePageOpt < boolean > ;
153
- target : string ;
154
- trailingSlash : TrailingSlash ;
155
- vite : ( ) => ViteConfig ;
156
- } ;
157
- preprocess : any ;
158
- }
101
+ export type ValidatedConfig = RecursiveRequired < Config > & {
102
+ kit : { files : { setup : string } } ; // only for validated
103
+ } ;
0 commit comments