@@ -126,6 +126,7 @@ export default defineNuxtConfig({
126
126
homePageSearch ?: any [ ] ;
127
127
homePageNotifs ?: any [ ] ;
128
128
products ?: any [ ] ;
129
+ errors ?: number [ ] ;
129
130
} = { } ;
130
131
131
132
try {
@@ -157,6 +158,14 @@ export default defineNuxtConfig({
157
158
} ,
158
159
} ;
159
160
161
+ const caughtErrorCodes = new Set < number > ( ) ;
162
+
163
+ function handleFetchError ( err : any , defaultValue : any ) {
164
+ console . error ( "Error generating state: " , err ) ;
165
+ caughtErrorCodes . add ( err . status ) ;
166
+ return defaultValue ;
167
+ }
168
+
160
169
const [
161
170
categories ,
162
171
loaders ,
@@ -168,15 +177,25 @@ export default defineNuxtConfig({
168
177
homePageNotifs ,
169
178
products ,
170
179
] = await Promise . all ( [
171
- $fetch ( `${ API_URL } tag/category` , headers ) ,
172
- $fetch ( `${ API_URL } tag/loader` , headers ) ,
173
- $fetch ( `${ API_URL } tag/game_version` , headers ) ,
174
- $fetch ( `${ API_URL } tag/donation_platform` , headers ) ,
175
- $fetch ( `${ API_URL } tag/report_type` , headers ) ,
176
- $fetch ( `${ API_URL } projects_random?count=60` , headers ) ,
177
- $fetch ( `${ API_URL } search?limit=3&query=leave&index=relevance` , headers ) ,
178
- $fetch ( `${ API_URL } search?limit=3&query=&index=updated` , headers ) ,
179
- $fetch ( `${ API_URL . replace ( "/v2/" , "/_internal/" ) } billing/products` , headers ) ,
180
+ $fetch ( `${ API_URL } tag/category` , headers ) . catch ( ( err ) => handleFetchError ( err , [ ] ) ) ,
181
+ $fetch ( `${ API_URL } tag/loader` , headers ) . catch ( ( err ) => handleFetchError ( err , [ ] ) ) ,
182
+ $fetch ( `${ API_URL } tag/game_version` , headers ) . catch ( ( err ) => handleFetchError ( err , [ ] ) ) ,
183
+ $fetch ( `${ API_URL } tag/donation_platform` , headers ) . catch ( ( err ) =>
184
+ handleFetchError ( err , [ ] ) ,
185
+ ) ,
186
+ $fetch ( `${ API_URL } tag/report_type` , headers ) . catch ( ( err ) => handleFetchError ( err , [ ] ) ) ,
187
+ $fetch ( `${ API_URL } projects_random?count=60` , headers ) . catch ( ( err ) =>
188
+ handleFetchError ( err , [ ] ) ,
189
+ ) ,
190
+ $fetch ( `${ API_URL } search?limit=3&query=leave&index=relevance` , headers ) . catch ( ( err ) =>
191
+ handleFetchError ( err , { } ) ,
192
+ ) ,
193
+ $fetch ( `${ API_URL } search?limit=3&query=&index=updated` , headers ) . catch ( ( err ) =>
194
+ handleFetchError ( err , { } ) ,
195
+ ) ,
196
+ $fetch ( `${ API_URL . replace ( "/v2/" , "/_internal/" ) } billing/products` , headers ) . catch ( ( err ) =>
197
+ handleFetchError ( err , [ ] ) ,
198
+ ) ,
180
199
] ) ;
181
200
182
201
state . categories = categories ;
@@ -188,6 +207,7 @@ export default defineNuxtConfig({
188
207
state . homePageSearch = homePageSearch ;
189
208
state . homePageNotifs = homePageNotifs ;
190
209
state . products = products ;
210
+ state . errors = [ ...caughtErrorCodes ] ;
191
211
192
212
await fs . writeFile ( "./src/generated/state.json" , JSON . stringify ( state ) ) ;
193
213
0 commit comments