Home / File/ index.ts — astro Source File

index.ts — astro Source File

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

File typescript CoreAstro CoreMiddleware 10 imports 1 functions

Entity Profile

Dependency Diagram

graph LR
  d7f21d8e_8654_15c7_404c_a3504df3849c["index.ts"]
  c9aa2253_0f1b_910d_46ca_6a5562f68a48["./runtime/index.js"]
  d7f21d8e_8654_15c7_404c_a3504df3849c --> c9aa2253_0f1b_910d_46ca_6a5562f68a48
  eda9bb18_dc7e_2d22_8ac4_4f2697d51221["./consts.js"]
  d7f21d8e_8654_15c7_404c_a3504df3849c --> eda9bb18_dc7e_2d22_8ac4_4f2697d51221
  4039de0e_047e_ad2b_18ab_f22b89b8a4fc["../db-client/libsql-local.js"]
  d7f21d8e_8654_15c7_404c_a3504df3849c --> 4039de0e_047e_ad2b_18ab_f22b89b8a4fc
  2ccf236c_b2f8_cdff_d260_11fea0f1fc10["../db-client/libsql-node.js"]
  d7f21d8e_8654_15c7_404c_a3504df3849c --> 2ccf236c_b2f8_cdff_d260_11fea0f1fc10
  57319c2a_db71_c5b3_0171_5f4c55721d69["./errors.js"]
  d7f21d8e_8654_15c7_404c_a3504df3849c --> 57319c2a_db71_c5b3_0171_5f4c55721d69
  97fa73a6_cf67_73a5_b60d_d52bfb00c7d8["./core/types.js"]
  d7f21d8e_8654_15c7_404c_a3504df3849c --> 97fa73a6_cf67_73a5_b60d_d52bfb00c7d8
  6ae6435e_1314_7d59_4826_25e9a2ada03f["./utils.js"]
  d7f21d8e_8654_15c7_404c_a3504df3849c --> 6ae6435e_1314_7d59_4826_25e9a2ada03f
  f16d8c76_2866_6150_bd14_0347b59abfe9["astro"]
  d7f21d8e_8654_15c7_404c_a3504df3849c --> f16d8c76_2866_6150_bd14_0347b59abfe9
  5e5ea2f4_4ff1_f558_0bea_0b3ded79b0ac["drizzle-orm"]
  d7f21d8e_8654_15c7_404c_a3504df3849c --> 5e5ea2f4_4ff1_f558_0bea_0b3ded79b0ac
  efd0f150_4239_ba62_fbb9_bcf24bd27236["yargs-parser"]
  d7f21d8e_8654_15c7_404c_a3504df3849c --> efd0f150_4239_ba62_fbb9_bcf24bd27236
  style d7f21d8e_8654_15c7_404c_a3504df3849c fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import type { AstroConfig } from 'astro';
import { sql } from 'drizzle-orm';
import type { Arguments } from 'yargs-parser';
import { normalizeDatabaseUrl } from '../../../../runtime/index.js';
import { DB_PATH } from '../../../consts.js';
import { createClient as createLocalDatabaseClient } from '../../../db-client/libsql-local.js';
import { createClient as createRemoteDatabaseClient } from '../../../db-client/libsql-node.js';
import { SHELL_QUERY_MISSING_ERROR } from '../../../errors.js';
import type { DBConfigInput } from '../../../types.js';
import { getAstroEnv, getRemoteDatabaseInfo, resolveDbAppToken } from '../../../utils.js';

export async function cmd({
	flags,
	astroConfig,
}: {
	dbConfig: DBConfigInput;
	astroConfig: AstroConfig;
	flags: Arguments;
}) {
	const query = flags.query;
	if (!query) {
		console.error(SHELL_QUERY_MISSING_ERROR);
		process.exit(1);
	}
	const dbInfo = getRemoteDatabaseInfo();
	if (flags.remote) {
		const appToken = resolveDbAppToken(flags, dbInfo.token);
		const db = createRemoteDatabaseClient({ ...dbInfo, token: appToken });
		const result = await db.run(sql.raw(query));
		console.log(result);
	} else {
		const { ASTRO_DATABASE_FILE } = getAstroEnv();
		const dbUrl = normalizeDatabaseUrl(
			ASTRO_DATABASE_FILE,
			new URL(DB_PATH, astroConfig.root).href,
		);
		const db = createLocalDatabaseClient({ url: dbUrl });
		const result = await db.run(sql.raw(query));
		console.log(result);
	}
}

Domain

Subdomains

Functions

Dependencies

  • ../db-client/libsql-local.js
  • ../db-client/libsql-node.js
  • ./consts.js
  • ./core/types.js
  • ./errors.js
  • ./runtime/index.js
  • ./utils.js
  • astro
  • drizzle-orm
  • 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 1 function(s): cmd.
What does index.ts depend on?
index.ts imports 10 module(s): ../db-client/libsql-local.js, ../db-client/libsql-node.js, ./consts.js, ./core/types.js, ./errors.js, ./runtime/index.js, ./utils.js, astro, and 2 more.
Where is index.ts in the architecture?
index.ts is located at packages/db/src/core/cli/commands/shell/index.ts (domain: CoreAstro, subdomain: CoreMiddleware, directory: packages/db/src/core/cli/commands/shell).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free