createInjectedRoutes() — astro Function Reference
Architecture documentation for the createInjectedRoutes() function in create.ts from the astro codebase.
Entity Profile
Dependency Diagram
graph TD 45eeb620_478e_aa03_8346_e477fdcca943["createInjectedRoutes()"] a7eed989_9f2b_5163_ecdf_85920a8b973f["create.ts"] 45eeb620_478e_aa03_8346_e477fdcca943 -->|defined in| a7eed989_9f2b_5163_ecdf_85920a8b973f 980f5a1b_85ee_0217_7a04_888abfb8f70f["createRoutesList()"] 980f5a1b_85ee_0217_7a04_888abfb8f70f -->|calls| 45eeb620_478e_aa03_8346_e477fdcca943 46b89a4d_e243_6e0b_33b0_9fc5feb3e14f["resolveInjectedRoute()"] 45eeb620_478e_aa03_8346_e477fdcca943 -->|calls| 46b89a4d_e243_6e0b_33b0_9fc5feb3e14f 1238e67c_a57d_fa2d_67fb_033b7f31b2ba["getParts()"] 45eeb620_478e_aa03_8346_e477fdcca943 -->|calls| 1238e67c_a57d_fa2d_67fb_033b7f31b2ba 1b408d2e_6c62_4027_ae00_57b93199c0e0["trailingSlashForPath()"] 45eeb620_478e_aa03_8346_e477fdcca943 -->|calls| 1b408d2e_6c62_4027_ae00_57b93199c0e0 83ef6580_f43d_b634_d2ed_d70e0633249d["joinSegments()"] 45eeb620_478e_aa03_8346_e477fdcca943 -->|calls| 83ef6580_f43d_b634_d2ed_d70e0633249d style 45eeb620_478e_aa03_8346_e477fdcca943 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/astro/src/core/routing/manifest/create.ts lines 267–316
function createInjectedRoutes({ settings, cwd }: CreateRouteManifestParams): RouteData[] {
const { config } = settings;
const prerender = getPrerenderDefault(config);
const routes: RouteData[] = [];
for (const injectedRoute of settings.injectedRoutes) {
const { pattern: name, entrypoint, prerender: prerenderInjected, origin } = injectedRoute;
const { resolved, component } = resolveInjectedRoute(entrypoint.toString(), config.root, cwd);
const segments = removeLeadingForwardSlash(name)
.split(path.posix.sep)
.filter(Boolean)
.map((s: string) => {
validateSegment(s);
return getParts(s, component);
});
const type = resolved.endsWith('.astro') ? 'page' : 'endpoint';
const pathname = segments.every((segment) => segment.length === 1 && !segment[0].dynamic)
? `/${segments.map((segment) => segment[0].content).join('/')}`
: null;
const trailingSlash = trailingSlashForPath(pathname, config);
const pattern = getPattern(segments, settings.config.base, trailingSlash);
const params = segments
.flat()
.filter((p) => p.dynamic)
.map((p) => p.content);
const route = joinSegments(segments);
routes.push({
type,
// For backwards compatibility, an injected route is never considered an index route.
isIndex: false,
route,
pattern,
segments,
params,
component,
pathname: pathname || void 0,
prerender: prerenderInjected ?? prerender,
fallbackRoutes: [],
distURL: [],
origin,
});
}
return routes;
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does createInjectedRoutes() do?
createInjectedRoutes() is a function in the astro codebase, defined in packages/astro/src/core/routing/manifest/create.ts.
Where is createInjectedRoutes() defined?
createInjectedRoutes() is defined in packages/astro/src/core/routing/manifest/create.ts at line 267.
What does createInjectedRoutes() call?
createInjectedRoutes() calls 4 function(s): getParts, joinSegments, resolveInjectedRoute, trailingSlashForPath.
What calls createInjectedRoutes()?
createInjectedRoutes() is called by 1 function(s): createRoutesList.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free