Home / Function/ perEnvironmentOrWorkerPlugin() — vite Function Reference

perEnvironmentOrWorkerPlugin() — vite Function Reference

Architecture documentation for the perEnvironmentOrWorkerPlugin() function in resolve.ts from the vite codebase.

Entity Profile

Dependency Diagram

graph TD
  5884032b_dafc_4317_ee11_1cfd5feff2ba["perEnvironmentOrWorkerPlugin()"]
  dcff87b0_a8ea_57a2_3b29_a7b8f19986f3["resolve.ts"]
  5884032b_dafc_4317_ee11_1cfd5feff2ba -->|defined in| dcff87b0_a8ea_57a2_3b29_a7b8f19986f3
  0ac6860f_bc2f_9818_86d4_22179cc9c8ba["oxcResolvePlugin()"]
  0ac6860f_bc2f_9818_86d4_22179cc9c8ba -->|calls| 5884032b_dafc_4317_ee11_1cfd5feff2ba
  style 5884032b_dafc_4317_ee11_1cfd5feff2ba fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/vite/src/node/plugins/resolve.ts lines 183–222

const perEnvironmentOrWorkerPlugin = (
  name: string,
  overrideEnvConfig: (ResolvedConfig & ResolvedEnvironmentOptions) | undefined,
  f: (
    env: {
      name: string
      config: ResolvedConfig & ResolvedEnvironmentOptions
    },
    getEnvironment: () => Environment,
  ) => Plugin,
): Plugin[] => {
  const envs: Record<string, Environment> = {}
  const getEnvironmentPlugin: Plugin = {
    name: `${name}:get-environment`,
    buildStart() {
      envs[this.environment.name] = this.environment
    },
    perEnvironmentStartEndDuringDev: true,
  }
  const createGetEnvironment = (name: string) => () => envs[name]

  if (overrideEnvConfig) {
    return [
      getEnvironmentPlugin,
      f(
        { name: 'client', config: overrideEnvConfig },
        createGetEnvironment('client'),
      ),
    ]
  }
  return [
    getEnvironmentPlugin,
    {
      name,
      applyToEnvironment(environment) {
        return f(environment, createGetEnvironment(environment.name))
      },
    },
  ]
}

Domain

Subdomains

Called By

Frequently Asked Questions

What does perEnvironmentOrWorkerPlugin() do?
perEnvironmentOrWorkerPlugin() is a function in the vite codebase, defined in packages/vite/src/node/plugins/resolve.ts.
Where is perEnvironmentOrWorkerPlugin() defined?
perEnvironmentOrWorkerPlugin() is defined in packages/vite/src/node/plugins/resolve.ts at line 183.
What calls perEnvironmentOrWorkerPlugin()?
perEnvironmentOrWorkerPlugin() is called by 1 function(s): oxcResolvePlugin.

Analyze Your Own Codebase

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

Try Supermodel Free