toRoutingStrategy() — astro Function Reference
Architecture documentation for the toRoutingStrategy() function in common.ts from the astro codebase.
Entity Profile
Dependency Diagram
graph TD 2ba084a0_1044_b34b_6df5_6b2543f08789["toRoutingStrategy()"] 068dc89e_9fd0_297e_43a8_0a310f749aeb["common.ts"] 2ba084a0_1044_b34b_6df5_6b2543f08789 -->|defined in| 068dc89e_9fd0_297e_43a8_0a310f749aeb style 2ba084a0_1044_b34b_6df5_6b2543f08789 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/astro/src/core/app/common.ts lines 12–45
export function toRoutingStrategy(
routing: NonNullable<AstroConfig['i18n']>['routing'],
domains: NonNullable<AstroConfig['i18n']>['domains'],
): RoutingStrategies {
let strategy: RoutingStrategies;
const hasDomains = domains ? Object.keys(domains).length > 0 : false;
if (routing === 'manual') {
strategy = 'manual';
} else {
if (!hasDomains) {
if (routing?.prefixDefaultLocale === true) {
if (routing.redirectToDefaultLocale) {
strategy = 'pathname-prefix-always';
} else {
strategy = 'pathname-prefix-always-no-redirect';
}
} else {
strategy = 'pathname-prefix-other-locales';
}
} else {
if (routing?.prefixDefaultLocale === true) {
if (routing.redirectToDefaultLocale) {
strategy = 'domains-prefix-always';
} else {
strategy = 'domains-prefix-always-no-redirect';
}
} else {
strategy = 'domains-prefix-other-locales';
}
}
}
return strategy;
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does toRoutingStrategy() do?
toRoutingStrategy() is a function in the astro codebase, defined in packages/astro/src/core/app/common.ts.
Where is toRoutingStrategy() defined?
toRoutingStrategy() is defined in packages/astro/src/core/app/common.ts at line 12.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free