diff --git a/src/presets/netlify.ts b/src/presets/netlify.ts index 2b335bb115..875e0439a2 100644 --- a/src/presets/netlify.ts +++ b/src/presets/netlify.ts @@ -84,8 +84,9 @@ async function writeRedirects(nitro: Nitro) { const redirectsPath = join(nitro.options.output.publicDir, "_redirects"); let contents = "/* /.netlify/functions/server 200"; - const rules = Object.entries(nitro.options.routeRules) - .sort((a, b) => a[0].split(/\/(?!\*)/).length - b[0].split(/\/(?!\*)/).length) + const rules = Object.entries(nitro.options.routeRules).sort( + (a, b) => a[0].split(/\/(?!\*)/).length - b[0].split(/\/(?!\*)/).length + ); // Rewrite static cached paths to builder functions for (const [key] of rules.filter( @@ -96,7 +97,9 @@ async function writeRedirects(nitro: Nitro) { `${key.replace("/**", "/*")}\t/.netlify/builders/server 200\n` + contents; } - for (const [key, routeRules] of rules.filter(([_, routeRules]) => routeRules.redirect)) { + for (const [key, routeRules] of rules.filter( + ([_, routeRules]) => routeRules.redirect + )) { // TODO: Remove map when netlify support 307/308 let code = routeRules.redirect.statusCode; code = { 307: 302, 308: 301 }[code] || code; @@ -126,10 +129,13 @@ async function writeHeaders(nitro: Nitro) { const headersPath = join(nitro.options.output.publicDir, "_headers"); let contents = ""; - const rules = Object.entries(nitro.options.routeRules) - .sort((a, b) => b[0].split(/\/(?!\*)/).length - a[0].split(/\/(?!\*)/).length) + const rules = Object.entries(nitro.options.routeRules).sort( + (a, b) => b[0].split(/\/(?!\*)/).length - a[0].split(/\/(?!\*)/).length + ); - for (const [path, routeRules] of rules.filter(([_, routeRules]) => routeRules.headers)) { + for (const [path, routeRules] of rules.filter( + ([_, routeRules]) => routeRules.headers + )) { const headers = [ path.replace("/**", "/*"), ...Object.entries({ ...routeRules.headers }).map( diff --git a/src/presets/vercel.ts b/src/presets/vercel.ts index 297932c862..da3e5a5ff9 100644 --- a/src/presets/vercel.ts +++ b/src/presets/vercel.ts @@ -43,8 +43,9 @@ export const vercel = defineNitroPreset({ ); // Write prerender functions - const rules = Object.entries(nitro.options.routeRules) - .filter(([_, value]) => value.cache && (value.cache.swr || value.cache.static)) + const rules = Object.entries(nitro.options.routeRules).filter( + ([_, value]) => value.cache && (value.cache.swr || value.cache.static) + ); for (const [key, value] of rules) { if (!value.cache) { @@ -120,8 +121,9 @@ export const vercelEdge = defineNitroPreset({ }); function generateBuildConfig(nitro: Nitro) { - const rules = Object.entries(nitro.options.routeRules) - .sort((a, b) => b[0].split(/\/(?!\*)/).length - a[0].split(/\/(?!\*)/).length) + const rules = Object.entries(nitro.options.routeRules).sort( + (a, b) => b[0].split(/\/(?!\*)/).length - a[0].split(/\/(?!\*)/).length + ); return defu(nitro.options.vercel?.config, { version: 3, @@ -175,11 +177,17 @@ function generateBuildConfig(nitro: Nitro) { })), // If we are using a prerender function as a fallback, then we do not need to output // the below fallback route as well - ...(!nitro.options.routeRules['/**']?.cache || !(nitro.options.routeRules['/**'].cache.swr || nitro.options.routeRules['/**']?.cache.static) - ? [{ - src: "/(.*)", - dest: "/__nitro", - }] + ...(!nitro.options.routeRules["/**"]?.cache || + !( + nitro.options.routeRules["/**"].cache.swr || + nitro.options.routeRules["/**"]?.cache.static + ) + ? [ + { + src: "/(.*)", + dest: "/__nitro", + }, + ] : []), ], });