index.ts — astro Source File
Architecture documentation for index.ts, a typescript file in the astro codebase. 19 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 74eaede6_604c_f153_5a03_fab5555699d5["index.ts"] e4a7cb59_3c1e_4823_8146_150431eedb41["./utils.js"] 74eaede6_604c_f153_5a03_fab5555699d5 --> e4a7cb59_3c1e_4823_8146_150431eedb41 eda9bb18_dc7e_2d22_8ac4_4f2697d51221["./consts.js"] 74eaede6_604c_f153_5a03_fab5555699d5 --> eda9bb18_dc7e_2d22_8ac4_4f2697d51221 57319c2a_db71_c5b3_0171_5f4c55721d69["./errors.js"] 74eaede6_604c_f153_5a03_fab5555699d5 --> 57319c2a_db71_c5b3_0171_5f4c55721d69 49fbaf05_0dfa_cb97_d06e_040957f39092["../load-file.js"] 74eaede6_604c_f153_5a03_fab5555699d5 --> 49fbaf05_0dfa_cb97_d06e_040957f39092 396126f6_4f3c_520f_3045_346f0bccf809["../queries.js"] 74eaede6_604c_f153_5a03_fab5555699d5 --> 396126f6_4f3c_520f_3045_346f0bccf809 6ae6435e_1314_7d59_4826_25e9a2ada03f["./utils.js"] 74eaede6_604c_f153_5a03_fab5555699d5 --> 6ae6435e_1314_7d59_4826_25e9a2ada03f 61852db0_32bf_e14a_d881_27be7d01d00e["./file-url.js"] 74eaede6_604c_f153_5a03_fab5555699d5 --> 61852db0_32bf_e14a_d881_27be7d01d00e 7fa656ba_2e4d_1d1e_5125_68aa32915359["./typegen.js"] 74eaede6_604c_f153_5a03_fab5555699d5 --> 7fa656ba_2e4d_1d1e_5125_68aa32915359 b81d717b_ec28_afd6_a1fc_5f065ee1b5a2["./integration/vite-plugin-db.js"] 74eaede6_604c_f153_5a03_fab5555699d5 --> b81d717b_ec28_afd6_a1fc_5f065ee1b5a2 16e03877_b947_cc39_ab6d_dd0133c5705d["./vite-plugin-db-client.js"] 74eaede6_604c_f153_5a03_fab5555699d5 --> 16e03877_b947_cc39_ab6d_dd0133c5705d e16a223b_37f3_6b25_1ee1_2b7bcb9d9415["node:fs"] 74eaede6_604c_f153_5a03_fab5555699d5 --> e16a223b_37f3_6b25_1ee1_2b7bcb9d9415 5d6d1861_a18d_b246_cd94_08889ab7e74c["promises"] 74eaede6_604c_f153_5a03_fab5555699d5 --> 5d6d1861_a18d_b246_cd94_08889ab7e74c c52a5f83_66e3_37d7_9ebb_767f7129bc62["node:path"] 74eaede6_604c_f153_5a03_fab5555699d5 --> c52a5f83_66e3_37d7_9ebb_767f7129bc62 d9a92db9_c95e_9165_13ac_24b3d859d946["node:url"] 74eaede6_604c_f153_5a03_fab5555699d5 --> d9a92db9_c95e_9165_13ac_24b3d859d946 style 74eaede6_604c_f153_5a03_fab5555699d5 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { existsSync } from 'node:fs';
import { mkdir, writeFile } from 'node:fs/promises';
import { dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
import type { AstroIntegration, HookParameters } from 'astro';
import colors from 'piccolore';
import {
createServer,
type HotPayload,
loadEnv,
mergeConfig,
type RunnableDevEnvironment,
type UserConfig,
type ViteDevServer,
} from 'vite';
import parseArgs from 'yargs-parser';
import * as z from 'zod/v4';
import { AstroDbError, isDbError } from '../../runtime/utils.js';
import { CONFIG_FILE_NAMES, DB_PATH, VIRTUAL_MODULE_ID } from '../consts.js';
import { EXEC_DEFAULT_EXPORT_ERROR, EXEC_ERROR } from '../errors.js';
import { resolveDbConfig } from '../load-file.js';
import { SEED_DEV_FILE_NAME } from '../queries.js';
import { getDbDirectoryUrl, getRemoteDatabaseInfo, type VitePlugin } from '../utils.js';
import { fileURLIntegration } from './file-url.js';
import { getDtsContent } from './typegen.js';
import {
type LateSeedFiles,
type LateTables,
type SeedHandler,
vitePluginDb,
} from './vite-plugin-db.js';
import { vitePluginDbClient } from './vite-plugin-db-client.js';
const astroDBConfigSchema = z
.object({
/**
* Sets the mode of the underlying `@libsql/client` connection.
*
* In most cases, the default 'node' mode is sufficient. On platforms like Cloudflare, or Deno, you may need to set this to 'web'.
*
* @default 'node'
*/
mode: z
.union([z.literal('node'), z.literal('web')])
.optional()
.default('node'),
})
.optional()
.prefault({});
export type AstroDBConfig = z.infer<typeof astroDBConfigSchema>;
function astroDBIntegration(options?: AstroDBConfig): AstroIntegration {
const resolvedConfig = astroDBConfigSchema.parse(options);
let connectToRemote = false;
let configFileDependencies: string[] = [];
let root: URL;
// Used during production builds to load seed files.
let tempViteServer: ViteDevServer | undefined;
// ... (207 more lines)
Domain
Subdomains
Functions
Types
Dependencies
- ../load-file.js
- ../queries.js
- ./consts.js
- ./errors.js
- ./file-url.js
- ./integration/vite-plugin-db.js
- ./typegen.js
- ./utils.js
- ./utils.js
- ./vite-plugin-db-client.js
- astro
- node:fs
- node:path
- node:url
- piccolore
- promises
- v4
- vite
- yargs-parser
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, CoreMiddleware subdomain.
What functions are defined in index.ts?
index.ts defines 5 function(s): astroDBIntegration, databaseFileEnvDefined, executeSeedFile, getTempViteServer, integration.
What does index.ts depend on?
index.ts imports 19 module(s): ../load-file.js, ../queries.js, ./consts.js, ./errors.js, ./file-url.js, ./integration/vite-plugin-db.js, ./typegen.js, ./utils.js, and 11 more.
Where is index.ts in the architecture?
index.ts is located at packages/db/src/core/integration/index.ts (domain: CoreAstro, subdomain: CoreMiddleware, directory: packages/db/src/core/integration).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free