Home / File/ config.ts — vite Source File

config.ts — vite Source File

Architecture documentation for config.ts, a typescript file in the vite codebase. 5 imports, 0 dependents.

File typescript ViteCore ConfigEngine 5 imports 3 functions

Entity Profile

Dependency Diagram

graph LR
  619c54d8_1524_a0a6_3878_3d778fea55f6["config.ts"]
  7da774f9_eca5_d54e_6e01_6bee7d460a2b["config.ts"]
  619c54d8_1524_a0a6_3878_3d778fea55f6 --> 7da774f9_eca5_d54e_6e01_6bee7d460a2b
  7c04af49_085c_b514_6df6_5be262b4ed8c["defineConfig"]
  619c54d8_1524_a0a6_3878_3d778fea55f6 --> 7c04af49_085c_b514_6df6_5be262b4ed8c
  031bc221_67a8_c579_f2bf_bb30a08beeb2["utils.ts"]
  619c54d8_1524_a0a6_3878_3d778fea55f6 --> 031bc221_67a8_c579_f2bf_bb30a08beeb2
  657661b0_3b17_9113_8464_fda5dfafd706["mergeConfig"]
  619c54d8_1524_a0a6_3878_3d778fea55f6 --> 657661b0_3b17_9113_8464_fda5dfafd706
  467ed05a_7598_0637_2ccd_6d636455972a["utils"]
  619c54d8_1524_a0a6_3878_3d778fea55f6 --> 467ed05a_7598_0637_2ccd_6d636455972a
  style 619c54d8_1524_a0a6_3878_3d778fea55f6 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/* eslint-disable @typescript-eslint/ban-ts-comment */
/* eslint-disable @typescript-eslint/no-unused-vars */
import type { Equal, ExpectTrue } from '@type-challenges/utils'
import {
  type UserConfig,
  type UserConfigExport,
  type UserConfigFn,
  type UserConfigFnObject,
  type UserConfigFnPromise,
  defineConfig,
} from '../config'
import { mergeConfig } from '../utils'

const configObjectDefined = defineConfig({})
const configObjectPromiseDefined = defineConfig(Promise.resolve({}))
const configFnObjectDefined = defineConfig(() => ({}))
const configFnPromiseDefined = defineConfig(async () => ({}))
const configFnDefined = defineConfig(() =>
  // TypeScript requires both non-promise config and
  // promise config to have at least one property
  Math.random() > 0.5 ? { base: '' } : Promise.resolve({ base: '/' }),
)
const configExportDefined = defineConfig({} as UserConfigExport)

export type cases1 = [
  ExpectTrue<Equal<typeof configObjectDefined, UserConfig>>,
  ExpectTrue<Equal<typeof configObjectPromiseDefined, Promise<UserConfig>>>,
  ExpectTrue<Equal<typeof configFnObjectDefined, UserConfigFnObject>>,
  ExpectTrue<Equal<typeof configFnPromiseDefined, UserConfigFnPromise>>,
  ExpectTrue<Equal<typeof configFnDefined, UserConfigFn>>,
  ExpectTrue<Equal<typeof configExportDefined, UserConfigExport>>,
]

defineConfig({
  base: '',
  // @ts-expect-error
  unknownProperty: 1,
})

mergeConfig(defineConfig({}), defineConfig({}))
mergeConfig(
  // @ts-expect-error
  defineConfig(() => ({})),
  defineConfig({}),
)

export {}

Domain

Subdomains

Types

Frequently Asked Questions

What does config.ts do?
config.ts is a source file in the vite codebase, written in typescript. It belongs to the ViteCore domain, ConfigEngine subdomain.
What functions are defined in config.ts?
config.ts defines 3 function(s): configFnDefined, configFnObjectDefined, configFnPromiseDefined.
What does config.ts depend on?
config.ts imports 5 module(s): config.ts, defineConfig, mergeConfig, utils, utils.ts.
Where is config.ts in the architecture?
config.ts is located at packages/vite/src/node/__tests_dts__/config.ts (domain: ViteCore, subdomain: ConfigEngine, directory: packages/vite/src/node/__tests_dts__).

Analyze Your Own Codebase

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

Try Supermodel Free