Home / File/ index.ts — vite Source File

index.ts — vite Source File

Architecture documentation for index.ts, a typescript file in the vite codebase. 51 imports, 4 dependents.

File typescript PluginSystem AssetManagement 51 imports 4 dependents 7 functions

Entity Profile

Dependency Diagram

graph LR
  3bf7f0de_2a9f_6f04_cead_0321b3b7af01["index.ts"]
  7da774f9_eca5_d54e_6e01_6bee7d460a2b["config.ts"]
  3bf7f0de_2a9f_6f04_cead_0321b3b7af01 --> 7da774f9_eca5_d54e_6e01_6bee7d460a2b
  dc2b73ac_ba85_f64f_7a13_c75051b44355["PluginHookUtils"]
  3bf7f0de_2a9f_6f04_cead_0321b3b7af01 --> dc2b73ac_ba85_f64f_7a13_c75051b44355
  eb5604c2_58e1_1c00_5a1a_5d97ea5236ad["ResolvedConfig"]
  3bf7f0de_2a9f_6f04_cead_0321b3b7af01 --> eb5604c2_58e1_1c00_5a1a_5d97ea5236ad
  5abb8c87_ffcb_f2d4_7421_e36705d9e5c7["plugin.ts"]
  3bf7f0de_2a9f_6f04_cead_0321b3b7af01 --> 5abb8c87_ffcb_f2d4_7421_e36705d9e5c7
  dff9cadb_1e8c_7fc9_4119_a173f1f21cbd["packages.ts"]
  3bf7f0de_2a9f_6f04_cead_0321b3b7af01 --> dff9cadb_1e8c_7fc9_4119_a173f1f21cbd
  19079986_f2b8_99fb_9d98_03f44722e17c["watchPackageDataPlugin"]
  3bf7f0de_2a9f_6f04_cead_0321b3b7af01 --> 19079986_f2b8_99fb_9d98_03f44722e17c
  dcff87b0_a8ea_57a2_3b29_a7b8f19986f3["resolve.ts"]
  3bf7f0de_2a9f_6f04_cead_0321b3b7af01 --> dcff87b0_a8ea_57a2_3b29_a7b8f19986f3
  0ac6860f_bc2f_9818_86d4_22179cc9c8ba["oxcResolvePlugin"]
  3bf7f0de_2a9f_6f04_cead_0321b3b7af01 --> 0ac6860f_bc2f_9818_86d4_22179cc9c8ba
  1ad5c135_fc65_cc8f_2918_6f109d7fd644["optimizedDeps.ts"]
  3bf7f0de_2a9f_6f04_cead_0321b3b7af01 --> 1ad5c135_fc65_cc8f_2918_6f109d7fd644
  daaf9cbf_e2ae_6c47_2a70_91fb6babc950["optimizedDepsPlugin"]
  3bf7f0de_2a9f_6f04_cead_0321b3b7af01 --> daaf9cbf_e2ae_6c47_2a70_91fb6babc950
  5a7b98e4_4eb1_dfca_508b_2d43e2a077e6["importAnalysis.ts"]
  3bf7f0de_2a9f_6f04_cead_0321b3b7af01 --> 5a7b98e4_4eb1_dfca_508b_2d43e2a077e6
  a1fc1de5_905b_efe7_d960_3597604fbdfe["importAnalysisPlugin"]
  3bf7f0de_2a9f_6f04_cead_0321b3b7af01 --> a1fc1de5_905b_efe7_d960_3597604fbdfe
  c3eb47df_971b_0616_6c9f_29b3ded72224["css.ts"]
  3bf7f0de_2a9f_6f04_cead_0321b3b7af01 --> c3eb47df_971b_0616_6c9f_29b3ded72224
  946fc4c1_3a7b_9d6a_6a0f_ab4355ad25c9["cssAnalysisPlugin"]
  3bf7f0de_2a9f_6f04_cead_0321b3b7af01 --> 946fc4c1_3a7b_9d6a_6a0f_ab4355ad25c9
  style 3bf7f0de_2a9f_6f04_cead_0321b3b7af01 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import aliasPlugin, { type ResolverFunction } from '@rollup/plugin-alias'
import type { ObjectHook } from 'rolldown'
import {
  viteAliasPlugin as nativeAliasPlugin,
  viteJsonPlugin as nativeJsonPlugin,
  viteWasmFallbackPlugin as nativeWasmFallbackPlugin,
} from 'rolldown/experimental'
import type { PluginHookUtils, ResolvedConfig } from '../config'
import {
  type HookHandler,
  type Plugin,
  type PluginWithRequiredHook,
} from '../plugin'
import { watchPackageDataPlugin } from '../packages'
import { oxcResolvePlugin } from './resolve'
import { optimizedDepsPlugin } from './optimizedDeps'
import { importAnalysisPlugin } from './importAnalysis'
import { cssAnalysisPlugin, cssPlugin, cssPostPlugin } from './css'
import { assetPlugin } from './asset'
import { clientInjectionsPlugin } from './clientInjections'
import { buildHtmlPlugin, htmlInlineProxyPlugin } from './html'
import { wasmHelperPlugin } from './wasm'
import { modulePreloadPolyfillPlugin } from './modulePreloadPolyfill'
import { webWorkerPlugin } from './worker'
import { preAliasPlugin } from './preAlias'
import { definePlugin } from './define'
import { workerImportMetaUrlPlugin } from './workerImportMetaUrl'
import { assetImportMetaUrlPlugin } from './assetImportMetaUrl'
import { dynamicImportVarsPlugin } from './dynamicImportVars'
import { importGlobPlugin } from './importMetaGlob'
import {
  type PluginFilter,
  type TransformHookFilter,
  createFilterForTransform,
  createIdFilter,
} from './pluginFilter'
import { oxcPlugin } from './oxc'
import { esbuildBannerFooterCompatPlugin } from './esbuildBannerFooterCompatPlugin'

export async function resolvePlugins(
  config: ResolvedConfig,
  prePlugins: Plugin[],
  normalPlugins: Plugin[],
  postPlugins: Plugin[],
): Promise<Plugin[]> {
  const isBuild = config.command === 'build'
  const isBundled = config.isBundled
  const isWorker = config.isWorker
  const buildPlugins = isBundled
    ? await (await import('../build')).resolveBuildPlugins(config)
    : { pre: [], post: [] }
  const { modulePreload } = config.build
  const enableNativePluginV1 = config.nativePluginEnabledLevel >= 1

  return [
    !isBundled ? optimizedDepsPlugin() : null,
    !isWorker ? watchPackageDataPlugin(config.packageCache) : null,
    !isBundled ? preAliasPlugin(config) : null,
    isBundled &&
    enableNativePluginV1 &&
// ... (199 more lines)

Domain

Subdomains

Frequently Asked Questions

What does index.ts do?
index.ts is a source file in the vite codebase, written in typescript. It belongs to the PluginSystem domain, AssetManagement subdomain.
What functions are defined in index.ts?
index.ts defines 7 function(s): createPluginHookUtils, extractFilter, getCachedFilterForPlugin, getHookHandler, getSortedPluginsByHook, resolvePlugins, viteAliasCustomResolver.
What does index.ts depend on?
index.ts imports 51 module(s): PluginHookUtils, ResolvedConfig, asset.ts, assetImportMetaUrl.ts, assetImportMetaUrlPlugin, assetPlugin, buildHtmlPlugin, clientInjections.ts, and 43 more.
What files import index.ts?
index.ts is imported by 4 file(s): build.ts, config.ts, hmr.ts, pluginContainer.ts.
Where is index.ts in the architecture?
index.ts is located at packages/vite/src/node/plugins/index.ts (domain: PluginSystem, subdomain: AssetManagement, directory: packages/vite/src/node/plugins).

Analyze Your Own Codebase

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

Try Supermodel Free