|
1 | 1 | import type { NetlifyConfig } from '@netlify/build'
|
2 | 2 | import { yellowBright } from 'chalk'
|
3 |
| -import destr from 'destr' |
4 | 3 | import { readJSON } from 'fs-extra'
|
5 | 4 | import type { NextConfig } from 'next'
|
6 | 5 | import type { PrerenderManifest, SsgRoute } from 'next/dist/build'
|
@@ -212,43 +211,47 @@ export const generateDynamicRewrites = ({
|
212 | 211 | const dynamicRewrites: NetlifyConfig['redirects'] = []
|
213 | 212 | const dynamicRoutesThatMatchMiddleware: Array<string> = []
|
214 | 213 |
|
215 |
| - dynamicRoutes.forEach((route) => { |
216 |
| - if (isApiRoute(route.page) || is404Route(route.page, i18n)) { |
217 |
| - return |
218 |
| - } |
219 |
| - if (route.page in prerenderedDynamicRoutes) { |
220 |
| - if (matchesMiddleware(middleware, route.page)) { |
221 |
| - dynamicRoutesThatMatchMiddleware.push(route.page) |
222 |
| - } else if (isAppDirRoute(route.page, appPathRoutes)) { |
223 |
| - dynamicRewrites.push( |
224 |
| - ...redirectsForNextRoute({ |
225 |
| - route: route.page, |
226 |
| - buildId, |
227 |
| - basePath, |
228 |
| - to: ODB_FUNCTION_PATH, |
229 |
| - i18n, |
230 |
| - dataRoute: prerenderedDynamicRoutes[route.page].dataRoute, |
231 |
| - withData: true, |
232 |
| - }), |
233 |
| - ) |
234 |
| - } else if ( |
235 |
| - prerenderedDynamicRoutes[route.page].fallback === false && |
236 |
| - !is404Isr && |
237 |
| - !destr(process.env.LEGACY_FALLBACK_FALSE) |
238 |
| - ) { |
239 |
| - dynamicRewrites.push(...redirectsForNext404Route({ route: route.page, buildId, basePath, i18n })) |
| 214 | + const dynamicR = async() => { |
| 215 | + const destr = await import('destr') |
| 216 | + dynamicRoutes.forEach((route) => { |
| 217 | + if (isApiRoute(route.page) || is404Route(route.page, i18n)) { |
| 218 | + return |
| 219 | + } |
| 220 | + if (route.page in prerenderedDynamicRoutes) { |
| 221 | + if (matchesMiddleware(middleware, route.page)) { |
| 222 | + dynamicRoutesThatMatchMiddleware.push(route.page) |
| 223 | + } else if (isAppDirRoute(route.page, appPathRoutes)) { |
| 224 | + dynamicRewrites.push( |
| 225 | + ...redirectsForNextRoute({ |
| 226 | + route: route.page, |
| 227 | + buildId, |
| 228 | + basePath, |
| 229 | + to: ODB_FUNCTION_PATH, |
| 230 | + i18n, |
| 231 | + dataRoute: prerenderedDynamicRoutes[route.page].dataRoute, |
| 232 | + withData: true, |
| 233 | + }), |
| 234 | + ) |
| 235 | + } else if ( |
| 236 | + prerenderedDynamicRoutes[route.page].fallback === false && |
| 237 | + !is404Isr && |
| 238 | + !destr.destr(process.env.LEGACY_FALLBACK_FALSE) |
| 239 | + ) { |
| 240 | + dynamicRewrites.push(...redirectsForNext404Route({ route: route.page, buildId, basePath, i18n })) |
| 241 | + } else { |
| 242 | + dynamicRewrites.push( |
| 243 | + ...redirectsForNextRoute({ route: route.page, buildId, basePath, to: ODB_FUNCTION_PATH, i18n }), |
| 244 | + ) |
| 245 | + } |
240 | 246 | } else {
|
| 247 | + // If the route isn't prerendered, it's SSR |
241 | 248 | dynamicRewrites.push(
|
242 |
| - ...redirectsForNextRoute({ route: route.page, buildId, basePath, to: ODB_FUNCTION_PATH, i18n }), |
| 249 | + ...redirectsForNextRoute({ route: route.page, buildId, basePath, to: HANDLER_FUNCTION_PATH, i18n }), |
243 | 250 | )
|
244 | 251 | }
|
245 |
| - } else { |
246 |
| - // If the route isn't prerendered, it's SSR |
247 |
| - dynamicRewrites.push( |
248 |
| - ...redirectsForNextRoute({ route: route.page, buildId, basePath, to: HANDLER_FUNCTION_PATH, i18n }), |
249 |
| - ) |
250 |
| - } |
251 |
| - }) |
| 252 | + }) |
| 253 | + } |
| 254 | + dynamicR() |
252 | 255 | return {
|
253 | 256 | dynamicRoutesThatMatchMiddleware,
|
254 | 257 | dynamicRewrites,
|
|
0 commit comments