DevUrlResolver Class — astro Architecture
Architecture documentation for the DevUrlResolver class in dev-url-resolver.ts from the astro codebase.
Entity Profile
Dependency Diagram
graph TD 4df4711d_e5fd_c55f_138c_4977d523f9f9["DevUrlResolver"] 1a8d00c2_d60e_a3ed_34dc_da2290c22401["dev-url-resolver.ts"] 4df4711d_e5fd_c55f_138c_4977d523f9f9 -->|defined in| 1a8d00c2_d60e_a3ed_34dc_da2290c22401 276af4f5_a76b_9c2e_1c3b_45eef2af07d7["constructor()"] 4df4711d_e5fd_c55f_138c_4977d523f9f9 -->|method| 276af4f5_a76b_9c2e_1c3b_45eef2af07d7 5c0a3caf_a753_ad29_ff5a_3f4fe25e3e5a["resolve()"] 4df4711d_e5fd_c55f_138c_4977d523f9f9 -->|method| 5c0a3caf_a753_ad29_ff5a_3f4fe25e3e5a 5650cf04_e1f2_0a3e_1fc0_c7a843afe682["cspResources()"] 4df4711d_e5fd_c55f_138c_4977d523f9f9 -->|method| 5650cf04_e1f2_0a3e_1fc0_c7a843afe682
Relationship Graph
Source Code
packages/astro/src/assets/fonts/infra/dev-url-resolver.ts lines 5–37
export class DevUrlResolver implements UrlResolver {
#resolved = false;
readonly #base: string;
readonly #searchParams: URLSearchParams;
constructor({
base,
searchParams,
}: {
base: string;
searchParams: URLSearchParams;
}) {
this.#base = base;
this.#searchParams = searchParams;
}
resolve(id: string): string {
this.#resolved ||= true;
const urlPath = prependForwardSlash(joinPaths(this.#base, id));
const url = createPlaceholderURL(urlPath);
// Append searchParams if available (for adapter-level tracking like skew protection)
this.#searchParams.forEach((value, key) => {
url.searchParams.set(key, value);
});
return stringifyPlaceholderURL(url);
}
get cspResources(): Array<string> {
return this.#resolved ? ["'self'"] : [];
}
}
Domain
Source
Frequently Asked Questions
What is the DevUrlResolver class?
DevUrlResolver is a class in the astro codebase, defined in packages/astro/src/assets/fonts/infra/dev-url-resolver.ts.
Where is DevUrlResolver defined?
DevUrlResolver is defined in packages/astro/src/assets/fonts/infra/dev-url-resolver.ts at line 5.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free