summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.changeset/modern-schools-fold.md5
-rw-r--r--packages/astro/src/core/util.ts9
2 files changed, 9 insertions, 5 deletions
diff --git a/.changeset/modern-schools-fold.md b/.changeset/modern-schools-fold.md
new file mode 100644
index 000000000..9f2cadb21
--- /dev/null
+++ b/.changeset/modern-schools-fold.md
@@ -0,0 +1,5 @@
+---
+'astro': patch
+---
+
+Production build logging - Only log `[code].html` instead of `[code]/index.html` for 404 and 500 routes
diff --git a/packages/astro/src/core/util.ts b/packages/astro/src/core/util.ts
index 408794380..3c74b5580 100644
--- a/packages/astro/src/core/util.ts
+++ b/packages/astro/src/core/util.ts
@@ -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? */