Home / File/ index.ts — astro Source File

index.ts — astro Source File

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

File typescript CoreAstro RenderingEngine 25 imports 19 functions

Entity Profile

Dependency Diagram

graph LR
  9151bb3d_ee1e_da42_752a_45a9db1dd918["index.ts"]
  87f38a7c_f7a0_ed67_259c_0706f02399a6["../config/index.js"]
  9151bb3d_ee1e_da42_752a_45a9db1dd918 --> 87f38a7c_f7a0_ed67_259c_0706f02399a6
  8553f8df_4d06_7e90_1fbb_4d832af79e06["../core/config/tsconfig.js"]
  9151bb3d_ee1e_da42_752a_45a9db1dd918 --> 8553f8df_4d06_7e90_1fbb_4d832af79e06
  d3861967_b647_84d2_ff48_15013353bd56["../core/logger/core.js"]
  9151bb3d_ee1e_da42_752a_45a9db1dd918 --> d3861967_b647_84d2_ff48_15013353bd56
  8db17b08_b9e5_db7e_cd39_46be76c6d5ad["../core/messages.js"]
  9151bb3d_ee1e_da42_752a_45a9db1dd918 --> 8db17b08_b9e5_db7e_cd39_46be76c6d5ad
  7e4494c0_5563_4329_1bff_a84be66e1bc2["../core/path.js"]
  9151bb3d_ee1e_da42_752a_45a9db1dd918 --> 7e4494c0_5563_4329_1bff_a84be66e1bc2
  f68003f1_292f_ca44_03ce_21af87a33c7b["../core/util.js"]
  9151bb3d_ee1e_da42_752a_45a9db1dd918 --> f68003f1_292f_ca44_03ce_21af87a33c7b
  e62808d9_0c55_b3a9_00c0_ce588f164dab["../events/index.js"]
  9151bb3d_ee1e_da42_752a_45a9db1dd918 --> e62808d9_0c55_b3a9_00c0_ce588f164dab
  2463eb24_f776_899f_90b4_a169465ba014["./exec.js"]
  9151bb3d_ee1e_da42_752a_45a9db1dd918 --> 2463eb24_f776_899f_90b4_a169465ba014
  9323e55c_9236_cd3d_d0b3_e20df52a4e84["../flags.js"]
  9151bb3d_ee1e_da42_752a_45a9db1dd918 --> 9323e55c_9236_cd3d_d0b3_e20df52a4e84
  5f310fba_45ef_87f3_baa6_5e93f993468e["../../cli/install-package.js"]
  9151bb3d_ee1e_da42_752a_45a9db1dd918 --> 5f310fba_45ef_87f3_baa6_5e93f993468e
  e16a223b_37f3_6b25_1ee1_2b7bcb9d9415["node:fs"]
  9151bb3d_ee1e_da42_752a_45a9db1dd918 --> e16a223b_37f3_6b25_1ee1_2b7bcb9d9415
  3955a637_4c78_0528_fe7c_92190a232cb0["node:module"]
  9151bb3d_ee1e_da42_752a_45a9db1dd918 --> 3955a637_4c78_0528_fe7c_92190a232cb0
  c52a5f83_66e3_37d7_9ebb_767f7129bc62["node:path"]
  9151bb3d_ee1e_da42_752a_45a9db1dd918 --> c52a5f83_66e3_37d7_9ebb_767f7129bc62
  d9a92db9_c95e_9165_13ac_24b3d859d946["node:url"]
  9151bb3d_ee1e_da42_752a_45a9db1dd918 --> d9a92db9_c95e_9165_13ac_24b3d859d946
  style 9151bb3d_ee1e_da42_752a_45a9db1dd918 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import fsMod, { existsSync, promises as fs } from 'node:fs';
import { createRequire } from 'node:module';
import path from 'node:path';
import { fileURLToPath, pathToFileURL } from 'node:url';
import { assertValidPackageName } from '@astrojs/internal-helpers/cli';
import boxen from 'boxen';
import { diffWords } from 'diff';
import { type ASTNode, builders, generateCode, loadFile, type ProxifiedModule } from 'magicast';
import { getDefaultExportOptions } from 'magicast/helpers';
import { detect, resolveCommand } from 'package-manager-detector';
import colors from 'piccolore';
import prompts from 'prompts';
import maxSatisfying from 'semver/ranges/max-satisfying.js';
import type yargsParser from 'yargs-parser';
import yoctoSpinner from 'yocto-spinner';
import {
	loadTSConfig,
	resolveConfig,
	resolveConfigPath,
	resolveRoot,
} from '../../core/config/index.js';
import {
	defaultTSConfig,
	type frameworkWithTSSettings,
	presets,
	updateTSConfigForFramework,
} from '../../core/config/tsconfig.js';
import type { Logger } from '../../core/logger/core.js';
import * as msg from '../../core/messages.js';
import { printHelp } from '../../core/messages.js';
import { appendForwardSlash } from '../../core/path.js';
import { ensureProcessNodeEnv, parseNpmName } from '../../core/util.js';
import { eventCliSession, telemetry } from '../../events/index.js';
import { exec } from '../exec.js';
import { createLoggerFromFlags, type Flags, flagsToAstroInlineConfig } from '../flags.js';
import { fetchPackageJson, fetchPackageVersions } from '../install-package.js';

const { bold, cyan, dim, green, magenta, red, yellow } = colors;

interface AddOptions {
	flags: Flags;
}

interface IntegrationInfo {
	id: string;
	packageName: string;
	integrationName: string;
	dependencies: [name: string, version: string][];
	type: 'integration' | 'adapter';
}

const ALIASES = new Map([
	['solid', 'solid-js'],
	['tailwindcss', 'tailwind'],
]);

const STUBS = {
	ASTRO_CONFIG: `import { defineConfig } from 'astro/config';\n// https://astro.build/config\nexport default defineConfig({});`,
	TAILWIND_GLOBAL_CSS: `@import "tailwindcss";`,
	SVELTE_CONFIG: `\
// ... (1168 more lines)

Domain

Subdomains

Dependencies

  • ../../cli/install-package.js
  • ../config/index.js
  • ../core/config/tsconfig.js
  • ../core/logger/core.js
  • ../core/messages.js
  • ../core/path.js
  • ../core/util.js
  • ../events/index.js
  • ../flags.js
  • ./exec.js
  • boxen
  • cli
  • diff
  • helpers
  • magicast
  • max-satisfying.js
  • node:fs
  • node:module
  • node:path
  • node:url
  • package-manager-detector
  • piccolore
  • prompts
  • yargs-parser
  • yocto-spinner

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 19 function(s): STUBS.CLOUDFLARE_WRANGLER_CONFIG, add, addIntegration, addVitePlugin, askToContinue, convertIntegrationsToInstallSpecifiers, createPrettyError, getDiffContent, isAdapter, parseIntegrationName, and 9 more.
What does index.ts depend on?
index.ts imports 25 module(s): ../../cli/install-package.js, ../config/index.js, ../core/config/tsconfig.js, ../core/logger/core.js, ../core/messages.js, ../core/path.js, ../core/util.js, ../events/index.js, and 17 more.
Where is index.ts in the architecture?
index.ts is located at packages/astro/src/cli/add/index.ts (domain: CoreAstro, subdomain: RenderingEngine, directory: packages/astro/src/cli/add).

Analyze Your Own Codebase

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

Try Supermodel Free