summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.changeset/swift-buttons-drum.md5
-rw-r--r--packages/astro/src/core/build/generate.ts18
2 files changed, 18 insertions, 5 deletions
diff --git a/.changeset/swift-buttons-drum.md b/.changeset/swift-buttons-drum.md
new file mode 100644
index 000000000..bf40b0478
--- /dev/null
+++ b/.changeset/swift-buttons-drum.md
@@ -0,0 +1,5 @@
+---
+'astro': patch
+---
+
+Prettifies generated route names injected by integrations
diff --git a/packages/astro/src/core/build/generate.ts b/packages/astro/src/core/build/generate.ts
index 99912ba27..486fac9fb 100644
--- a/packages/astro/src/core/build/generate.ts
+++ b/packages/astro/src/core/build/generate.ts
@@ -296,11 +296,7 @@ async function generatePage(
route.type === 'page' || route.type === 'redirect' || route.type === 'fallback'
? green('▶')
: magenta('λ');
- if (isRelativePath(route.component)) {
- logger.info(null, `${icon} ${route.route}`);
- } else {
- logger.info(null, `${icon} ${route.component}`);
- }
+ logger.info(null, `${icon} ${getPrettyRouteName(route)}`);
// Get paths for the route, calling getStaticPaths if needed.
const paths = await getPathsForRoute(route, pageModule, pipeline, builtPaths);
let timeStart = performance.now();
@@ -612,6 +608,18 @@ async function generatePath(
await fs.promises.writeFile(outFile, body);
}
+function getPrettyRouteName(route: RouteData): string {
+ if (isRelativePath(route.component)) {
+ return route.route;
+ } else if (route.component.includes('node_modules/')) {
+ // For routes from node_modules (usually injected by integrations),
+ // prettify it by only grabbing the part after the last `node_modules/`
+ return route.component.match(/.*node_modules\/(.+)/)?.[1] ?? route.component;
+ } else {
+ return route.component;
+ }
+}
+
/**
* It creates a `SSRManifest` from the `AstroSettings`.
*