index.ts — astro Source File
Architecture documentation for index.ts, a typescript file in the astro codebase. 2 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 76f011f1_a2d3_4582_43a6_a49689b75157["index.ts"] ecbf8c7e_1e7c_bbc1_bb90_f11927786610["../types/astro.js"] 76f011f1_a2d3_4582_43a6_a49689b75157 --> ecbf8c7e_1e7c_bbc1_bb90_f11927786610 c37acbe0_a1f7_8d3e_adac_72ec13ae7735["vite"] 76f011f1_a2d3_4582_43a6_a49689b75157 --> c37acbe0_a1f7_8d3e_adac_72ec13ae7735 style 76f011f1_a2d3_4582_43a6_a49689b75157 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import type { Plugin as VitePlugin } from 'vite';
import type { AstroSettings } from '../types/astro.js';
export const ASTRO_RENDERERS_MODULE_ID = 'virtual:astro:renderers';
const RESOLVED_ASTRO_RENDERERS_MODULE_ID = `\0${ASTRO_RENDERERS_MODULE_ID}`;
interface PluginOptions {
settings: AstroSettings;
}
export default function vitePluginRenderers(options: PluginOptions): VitePlugin {
const renderers = options.settings.renderers;
return {
name: 'astro:plugin-renderers',
enforce: 'pre',
resolveId: {
filter: {
id: new RegExp(`^${ASTRO_RENDERERS_MODULE_ID}$`),
},
handler() {
return RESOLVED_ASTRO_RENDERERS_MODULE_ID;
},
},
load: {
filter: {
id: new RegExp(`^${RESOLVED_ASTRO_RENDERERS_MODULE_ID}$`),
},
handler() {
if (renderers.length > 0) {
const imports: string[] = [];
const exports: string[] = [];
let i = 0;
let rendererItems = '';
for (const renderer of renderers) {
const variable = `_renderer${i}`;
imports.push(`import ${variable} from ${JSON.stringify(renderer.serverEntrypoint)};`);
rendererItems += `Object.assign(${JSON.stringify(renderer)}, { ssr: ${variable} }),`;
i++;
}
exports.push(`export const renderers = [${rendererItems}];`);
return { code: `${imports.join('\n')}\n${exports.join('\n')}` };
}
return { code: `export const renderers = [];` };
},
},
};
}
Domain
Subdomains
Functions
Types
Dependencies
- ../types/astro.js
- vite
Source
Frequently Asked Questions
What does index.ts do?
index.ts is a source file in the astro codebase, written in typescript. It belongs to the MultiFrameworkAdapters domain, AstroRenderer subdomain.
What functions are defined in index.ts?
index.ts defines 1 function(s): vitePluginRenderers.
What does index.ts depend on?
index.ts imports 2 module(s): ../types/astro.js, vite.
Where is index.ts in the architecture?
index.ts is located at packages/astro/src/vite-plugin-renderers/index.ts (domain: MultiFrameworkAdapters, subdomain: AstroRenderer, directory: packages/astro/src/vite-plugin-renderers).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free