index.ts — astro Source File
Architecture documentation for index.ts, a typescript file in the astro codebase. 25 imports, 0 dependents.
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
Functions
- STUBS.CLOUDFLARE_WRANGLER_CONFIG()
- add()
- addIntegration()
- addVitePlugin()
- askToContinue()
- convertIntegrationsToInstallSpecifiers()
- createPrettyError()
- getDiffContent()
- isAdapter()
- parseIntegrationName()
- resolveRangeToInstallSpecifier()
- setAdapter()
- setupIntegrationConfig()
- toIdent()
- tryToInstallIntegrations()
- updateAstroConfig()
- updatePackageJsonScripts()
- updateTSConfig()
- validateIntegrations()
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
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, 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