Home / Function/ resolvePlugins() — vite Function Reference

resolvePlugins() — vite Function Reference

Architecture documentation for the resolvePlugins() function in index.ts from the vite codebase.

Entity Profile

Dependency Diagram

graph TD
  b1b40b5b_3e43_2197_dea0_d36389d312a1["resolvePlugins()"]
  3bf7f0de_2a9f_6f04_cead_0321b3b7af01["index.ts"]
  b1b40b5b_3e43_2197_dea0_d36389d312a1 -->|defined in| 3bf7f0de_2a9f_6f04_cead_0321b3b7af01
  58c4a210_68fe_1b4d_ed49_d59203f97ef1["resolveConfig()"]
  58c4a210_68fe_1b4d_ed49_d59203f97ef1 -->|calls| b1b40b5b_3e43_2197_dea0_d36389d312a1
  daaf9cbf_e2ae_6c47_2a70_91fb6babc950["optimizedDepsPlugin()"]
  b1b40b5b_3e43_2197_dea0_d36389d312a1 -->|calls| daaf9cbf_e2ae_6c47_2a70_91fb6babc950
  19079986_f2b8_99fb_9d98_03f44722e17c["watchPackageDataPlugin()"]
  b1b40b5b_3e43_2197_dea0_d36389d312a1 -->|calls| 19079986_f2b8_99fb_9d98_03f44722e17c
  200356af_4305_31b8_b090_47f38784e182["preAliasPlugin()"]
  b1b40b5b_3e43_2197_dea0_d36389d312a1 -->|calls| 200356af_4305_31b8_b090_47f38784e182
  0ea86def_0529_bcb2_7c6a_c492d76eb972["modulePreloadPolyfillPlugin()"]
  b1b40b5b_3e43_2197_dea0_d36389d312a1 -->|calls| 0ea86def_0529_bcb2_7c6a_c492d76eb972
  0ac6860f_bc2f_9818_86d4_22179cc9c8ba["oxcResolvePlugin()"]
  b1b40b5b_3e43_2197_dea0_d36389d312a1 -->|calls| 0ac6860f_bc2f_9818_86d4_22179cc9c8ba
  56d5206c_a723_42ea_4f49_df56f7014fb9["htmlInlineProxyPlugin()"]
  b1b40b5b_3e43_2197_dea0_d36389d312a1 -->|calls| 56d5206c_a723_42ea_4f49_df56f7014fb9
  157cb972_609e_022e_1ec5_3ed6f7e4f45c["cssPlugin()"]
  b1b40b5b_3e43_2197_dea0_d36389d312a1 -->|calls| 157cb972_609e_022e_1ec5_3ed6f7e4f45c
  3168f37c_e1d2_c968_a409_e850ae573541["esbuildBannerFooterCompatPlugin()"]
  b1b40b5b_3e43_2197_dea0_d36389d312a1 -->|calls| 3168f37c_e1d2_c968_a409_e850ae573541
  d06e795b_d030_62c2_8aca_d422635f9891["oxcPlugin()"]
  b1b40b5b_3e43_2197_dea0_d36389d312a1 -->|calls| d06e795b_d030_62c2_8aca_d422635f9891
  488c94be_f327_5956_a885_8d97686ca66e["wasmHelperPlugin()"]
  b1b40b5b_3e43_2197_dea0_d36389d312a1 -->|calls| 488c94be_f327_5956_a885_8d97686ca66e
  1a156a4f_5015_f60f_3a54_6eb2168861ca["webWorkerPlugin()"]
  b1b40b5b_3e43_2197_dea0_d36389d312a1 -->|calls| 1a156a4f_5015_f60f_3a54_6eb2168861ca
  2b04bf20_6455_3250_24f8_b60c71116be3["assetPlugin()"]
  b1b40b5b_3e43_2197_dea0_d36389d312a1 -->|calls| 2b04bf20_6455_3250_24f8_b60c71116be3
  style b1b40b5b_3e43_2197_dea0_d36389d312a1 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/vite/src/node/plugins/index.ts lines 40–130

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 &&
    !config.resolve.alias.some((v) => v.customResolver)
      ? nativeAliasPlugin({
          entries: config.resolve.alias.map((item) => {
            return {
              find: item.find,
              replacement: item.replacement,
            }
          }),
        })
      : aliasPlugin({
          // @ts-expect-error aliasPlugin receives rollup types
          entries: config.resolve.alias,
          customResolver: viteAliasCustomResolver,
        }),

    ...prePlugins,

    modulePreload !== false && modulePreload.polyfill
      ? modulePreloadPolyfillPlugin(config)
      : null,
    ...oxcResolvePlugin(
      {
        root: config.root,
        isProduction: config.isProduction,
        isBuild,
        packageCache: config.packageCache,
        asSrc: true,
        optimizeDeps: true,
        externalize: true,
        legacyInconsistentCjsInterop: config.legacy?.inconsistentCjsInterop,
      },
      isWorker
        ? { ...config, consumer: 'client', optimizeDepsPluginNames: [] }
        : undefined,
    ),
    htmlInlineProxyPlugin(config),
    cssPlugin(config),
    esbuildBannerFooterCompatPlugin(config),
    config.oxc !== false ? oxcPlugin(config) : null,
    nativeJsonPlugin({ ...config.json, minify: isBuild }),
    wasmHelperPlugin(),
    webWorkerPlugin(config),
    assetPlugin(config),

    ...normalPlugins,

    nativeWasmFallbackPlugin(),
    definePlugin(config),
    cssPostPlugin(config),
    isBundled && buildHtmlPlugin(config),
    workerImportMetaUrlPlugin(config),
    assetImportMetaUrlPlugin(config),
    ...buildPlugins.pre,
    dynamicImportVarsPlugin(config),
    importGlobPlugin(config),

    ...postPlugins,

    ...buildPlugins.post,

Domain

Subdomains

Called By

Frequently Asked Questions

What does resolvePlugins() do?
resolvePlugins() is a function in the vite codebase, defined in packages/vite/src/node/plugins/index.ts.
Where is resolvePlugins() defined?
resolvePlugins() is defined in packages/vite/src/node/plugins/index.ts at line 40.
What does resolvePlugins() call?
resolvePlugins() calls 22 function(s): assetImportMetaUrlPlugin, assetPlugin, buildHtmlPlugin, clientInjectionsPlugin, cssAnalysisPlugin, cssPlugin, cssPostPlugin, definePlugin, and 14 more.
What calls resolvePlugins()?
resolvePlugins() is called by 1 function(s): resolveConfig.

Analyze Your Own Codebase

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

Try Supermodel Free