Only print file output only for 404 and 500 routes (#4497)
* fix: print file output only for 404 and 500 routes * chore: changeset
This commit is contained in:
parent
839f3e955a
commit
78e06c8ec0
2 changed files with 9 additions and 5 deletions
5
.changeset/modern-schools-fold.md
Normal file
5
.changeset/modern-schools-fold.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
'astro': patch
|
||||
---
|
||||
|
||||
Production build logging - Only log `[code].html` instead of `[code]/index.html` for 404 and 500 routes
|
|
@ -26,7 +26,7 @@ export function padMultilineString(source: string, n = 2) {
|
|||
return lines.map((l) => ` `.repeat(n) + l).join(`\n`);
|
||||
}
|
||||
|
||||
const STATUS_CODE_REGEXP = /^\/?[0-9]{3}$/;
|
||||
const REGEXP_404_OR_500_ROUTE = /(404)|(500)\/?$/;
|
||||
|
||||
/**
|
||||
* Get the correct output filename for a route, based on your config.
|
||||
|
@ -37,14 +37,13 @@ export function getOutputFilename(astroConfig: AstroConfig, name: string, type:
|
|||
if (type === 'endpoint') {
|
||||
return name;
|
||||
}
|
||||
|
||||
if (name === '/' || name === '') {
|
||||
return path.posix.join(name, 'index.html');
|
||||
}
|
||||
if (astroConfig.build.format === 'directory' && !STATUS_CODE_REGEXP.test(name)) {
|
||||
return path.posix.join(name, 'index.html');
|
||||
if (astroConfig.build.format === 'file' || REGEXP_404_OR_500_ROUTE.test(name)) {
|
||||
return `${removeTrailingForwardSlash(name || 'index')}.html`;
|
||||
}
|
||||
return `${removeTrailingForwardSlash(name || 'index')}.html`;
|
||||
return path.posix.join(name, 'index.html');
|
||||
}
|
||||
|
||||
/** is a specifier an npm package? */
|
||||
|
|
Loading…
Reference in a new issue