Home / File/ index.ts — astro Source File

index.ts — astro Source File

Architecture documentation for index.ts, a typescript file in the astro codebase. 19 imports, 0 dependents.

File typescript CoreAstro CoreMiddleware 19 imports 5 functions

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

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

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