Home / File/ vite-plugin-db.ts — astro Source File

vite-plugin-db.ts — astro Source File

Architecture documentation for vite-plugin-db.ts, a typescript file in the astro codebase. 12 imports, 0 dependents.

File typescript CoreAstro CoreMiddleware 12 imports 11 functions

Entity Profile

Dependency Diagram

graph LR
  10c96ff6_9978_85bd_85f5_ced507d506e2["vite-plugin-db.ts"]
  c9aa2253_0f1b_910d_46ca_6a5562f68a48["./runtime/index.js"]
  10c96ff6_9978_85bd_85f5_ced507d506e2 --> c9aa2253_0f1b_910d_46ca_6a5562f68a48
  eda9bb18_dc7e_2d22_8ac4_4f2697d51221["./consts.js"]
  10c96ff6_9978_85bd_85f5_ced507d506e2 --> eda9bb18_dc7e_2d22_8ac4_4f2697d51221
  4039de0e_047e_ad2b_18ab_f22b89b8a4fc["../db-client/libsql-local.js"]
  10c96ff6_9978_85bd_85f5_ced507d506e2 --> 4039de0e_047e_ad2b_18ab_f22b89b8a4fc
  49fbaf05_0dfa_cb97_d06e_040957f39092["../load-file.js"]
  10c96ff6_9978_85bd_85f5_ced507d506e2 --> 49fbaf05_0dfa_cb97_d06e_040957f39092
  396126f6_4f3c_520f_3045_346f0bccf809["../queries.js"]
  10c96ff6_9978_85bd_85f5_ced507d506e2 --> 396126f6_4f3c_520f_3045_346f0bccf809
  97fa73a6_cf67_73a5_b60d_d52bfb00c7d8["./core/types.js"]
  10c96ff6_9978_85bd_85f5_ced507d506e2 --> 97fa73a6_cf67_73a5_b60d_d52bfb00c7d8
  6ae6435e_1314_7d59_4826_25e9a2ada03f["./utils.js"]
  10c96ff6_9978_85bd_85f5_ced507d506e2 --> 6ae6435e_1314_7d59_4826_25e9a2ada03f
  e16a223b_37f3_6b25_1ee1_2b7bcb9d9415["node:fs"]
  10c96ff6_9978_85bd_85f5_ced507d506e2 --> e16a223b_37f3_6b25_1ee1_2b7bcb9d9415
  d9a92db9_c95e_9165_13ac_24b3d859d946["node:url"]
  10c96ff6_9978_85bd_85f5_ced507d506e2 --> d9a92db9_c95e_9165_13ac_24b3d859d946
  f16d8c76_2866_6150_bd14_0347b59abfe9["astro"]
  10c96ff6_9978_85bd_85f5_ced507d506e2 --> f16d8c76_2866_6150_bd14_0347b59abfe9
  5e5ea2f4_4ff1_f558_0bea_0b3ded79b0ac["drizzle-orm"]
  10c96ff6_9978_85bd_85f5_ced507d506e2 --> 5e5ea2f4_4ff1_f558_0bea_0b3ded79b0ac
  fb1af543_c710_bc94_95c6_6f94e01b66dd["sqlite-core"]
  10c96ff6_9978_85bd_85f5_ced507d506e2 --> fb1af543_c710_bc94_95c6_6f94e01b66dd
  style 10c96ff6_9978_85bd_85f5_ced507d506e2 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { existsSync } from 'node:fs';
import { fileURLToPath } from 'node:url';
import type { AstroConfig, AstroIntegrationLogger } from 'astro';
import { type SQL, sql } from 'drizzle-orm';
import { SQLiteAsyncDialect } from 'drizzle-orm/sqlite-core';
import { normalizeDatabaseUrl } from '../../runtime/index.js';
import {
	DB_CLIENTS,
	DB_PATH,
	RUNTIME_IMPORT,
	RUNTIME_VIRTUAL_IMPORT,
	VIRTUAL_CLIENT_MODULE_ID,
	VIRTUAL_MODULE_ID,
} from '../consts.js';
import { createClient } from '../db-client/libsql-local.js';
import { getResolvedFileUrl } from '../load-file.js';
import { getCreateIndexQueries, getCreateTableQuery, SEED_DEV_FILE_NAME } from '../queries.js';
import type { DBTables } from '../types.js';
import {
	getAstroEnv,
	getDbDirectoryUrl,
	getRemoteDatabaseInfo,
	type VitePlugin,
} from '../utils.js';

const resolved = {
	module: '\0' + VIRTUAL_MODULE_ID,
	importedFromSeedFile: '\0' + VIRTUAL_MODULE_ID + ':seed',
};

export type LateTables = {
	get: () => DBTables;
};
export type LateSeedFiles = {
	get: () => Array<string | URL>;
};
export type SeedHandler = {
	inProgress: boolean;
	execute: (fileUrl: URL) => Promise<void>;
};

type VitePluginDBParams =
	| {
			connectToRemote: false;
			tables: LateTables;
			seedFiles: LateSeedFiles;
			srcDir: URL;
			root: URL;
			logger?: AstroIntegrationLogger;
			output: AstroConfig['output'];
			seedHandler: SeedHandler;
	  }
	| {
			connectToRemote: true;
			tables: LateTables;
			appToken: string;
			srcDir: URL;
			root: URL;
			output: AstroConfig['output'];
			seedHandler: SeedHandler;
// ... (229 more lines)

Domain

Subdomains

Dependencies

  • ../db-client/libsql-local.js
  • ../load-file.js
  • ../queries.js
  • ./consts.js
  • ./core/types.js
  • ./runtime/index.js
  • ./utils.js
  • astro
  • drizzle-orm
  • node:fs
  • node:url
  • sqlite-core

Frequently Asked Questions

What does vite-plugin-db.ts do?
vite-plugin-db.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 vite-plugin-db.ts?
vite-plugin-db.ts defines 11 function(s): Array, DBTables, fileUrl, getConfigVirtualModContents, getDBModule, getLocalVirtualModContents, getRemoteVirtualModContents, getResolvedSeedFiles, getStringifiedTableExports, recreateTables, and 1 more.
What does vite-plugin-db.ts depend on?
vite-plugin-db.ts imports 12 module(s): ../db-client/libsql-local.js, ../load-file.js, ../queries.js, ./consts.js, ./core/types.js, ./runtime/index.js, ./utils.js, astro, and 4 more.
Where is vite-plugin-db.ts in the architecture?
vite-plugin-db.ts is located at packages/db/src/core/integration/vite-plugin-db.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