index.ts — astro Source File
Architecture documentation for index.ts, a typescript file in the astro codebase. 5 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR cc8fbb35_1ca2_28c0_bb28_ec7e616c6eee["index.ts"] ea387312_d0a2_bb52_dafc_3872f7307f95["../../src/assets/fonts/types.js"] cc8fbb35_1ca2_28c0_bb28_ec7e616c6eee --> ea387312_d0a2_bb52_dafc_3872f7307f95 bf5441b3_b825_f070_aed3_a0f2ac54caa3["../core/routing/manifest/create.js"] cc8fbb35_1ca2_28c0_bb28_ec7e616c6eee --> bf5441b3_b825_f070_aed3_a0f2ac54caa3 e6591dc4_f998_7dbc_3c66_06ac5ec7fba0["../../core/session/types.js"] cc8fbb35_1ca2_28c0_bb28_ec7e616c6eee --> e6591dc4_f998_7dbc_3c66_06ac5ec7fba0 c32d12e2_d85e_28c0_eea7_9b29629857e0["../types/public/config.js"] cc8fbb35_1ca2_28c0_bb28_ec7e616c6eee --> c32d12e2_d85e_28c0_eea7_9b29629857e0 263e522e_1aa5_ebc3_e7d6_45ebc51671f7["vite"] cc8fbb35_1ca2_28c0_bb28_ec7e616c6eee --> 263e522e_1aa5_ebc3_e7d6_45ebc51671f7 style cc8fbb35_1ca2_28c0_bb28_ec7e616c6eee fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import type { UserConfig as ViteUserConfig, UserConfigFn as ViteUserConfigFn } from 'vite';
import type { FontProvider } from '../assets/fonts/types.js';
import { createRoutesList } from '../core/routing/manifest/create.js';
import type { SessionDriverConfig, SessionDriverName } from '../core/session/types.js';
import type { AstroInlineConfig, AstroUserConfig, Locales } from '../types/public/config.js';
/**
* See the full Astro Configuration API Documentation
* https://astro.build/config
*/
export function defineConfig<
const TLocales extends Locales = never,
const TDriver extends SessionDriverName | SessionDriverConfig = never,
const TFontProviders extends Array<FontProvider> = never,
>(config: AstroUserConfig<TLocales, TDriver, TFontProviders>) {
return config;
}
/**
* Use Astro to generate a fully resolved Vite config
*/
export function getViteConfig(
userViteConfig: ViteUserConfig,
inlineAstroConfig: AstroInlineConfig = {},
): ViteUserConfigFn {
// Return an async Vite config getter which exposes a resolved `mode` and `command`
return async ({ mode, command }) => {
// Vite `command` is `serve | build`, but Astro uses `dev | build`
const cmd = command === 'serve' ? 'dev' : 'build';
// Use dynamic import to avoid pulling in deps unless used
const [
{ mergeConfig },
{ createNodeLogger },
{ resolveConfig, createSettings },
{ createVite },
{ runHookConfigSetup, runHookConfigDone },
] = await Promise.all([
import('vite'),
import('../core/config/logging.js'),
import('../core/config/index.js'),
import('../core/create-vite.js'),
import('../integrations/hooks.js'),
]);
const logger = createNodeLogger(inlineAstroConfig);
const { astroConfig: config } = await resolveConfig(inlineAstroConfig, cmd);
let settings = await createSettings(config, inlineAstroConfig.logLevel, userViteConfig.root);
settings = await runHookConfigSetup({ settings, command: cmd, logger });
const routesList = await createRoutesList(
{
settings,
},
logger,
{ dev: true, skipBuildOutputAssignment: false },
);
const viteConfig = await createVite(
{},
{ routesList, settings, command: cmd, logger, mode, sync: false },
);
await runHookConfigDone({ settings, logger });
return mergeConfig(viteConfig, userViteConfig);
};
}
Domain
Subdomains
Functions
Dependencies
- ../../core/session/types.js
- ../../src/assets/fonts/types.js
- ../core/routing/manifest/create.js
- ../types/public/config.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 CoreAstro domain, RenderingEngine subdomain.
What functions are defined in index.ts?
index.ts defines 2 function(s): defineConfig, getViteConfig.
What does index.ts depend on?
index.ts imports 5 module(s): ../../core/session/types.js, ../../src/assets/fonts/types.js, ../core/routing/manifest/create.js, ../types/public/config.js, vite.
Where is index.ts in the architecture?
index.ts is located at packages/astro/src/config/index.ts (domain: CoreAstro, subdomain: RenderingEngine, directory: packages/astro/src/config).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free