MCPcopy
hub / github.com/vitejs/vite / perEnvironmentOrWorkerPlugin

Function perEnvironmentOrWorkerPlugin

packages/vite/src/node/plugins/resolve.ts:182–221  ·  view source on GitHub ↗
(
  name: string,
  overrideEnvConfig: (ResolvedConfig & ResolvedEnvironmentOptions) | undefined,
  f: (
    env: {
      name: string
      config: ResolvedConfig & ResolvedEnvironmentOptions
    },
    getEnvironment: () => Environment,
  ) => Plugin,
)

Source from the content-addressed store, hash-verified

180 extends ResolveOptions, ResolvePluginOptions {}
181
182const perEnvironmentOrWorkerPlugin = (
183 name: string,
184 overrideEnvConfig: (ResolvedConfig & ResolvedEnvironmentOptions) | undefined,
185 f: (
186 env: {
187 name: string
188 config: ResolvedConfig & ResolvedEnvironmentOptions
189 },
190 getEnvironment: () => Environment,
191 ) => Plugin,
192): Plugin[] => {
193 const envs: Record<string, Environment> = {}
194 const getEnvironmentPlugin: Plugin = {
195 name: `${name}:get-environment`,
196 buildStart() {
197 envs[this.environment.name] = this.environment
198 },
199 perEnvironmentStartEndDuringDev: true,
200 }
201 const createGetEnvironment = (name: string) => () => envs[name]
202
203 if (overrideEnvConfig) {
204 return [
205 getEnvironmentPlugin,
206 f(
207 { name: 'client', config: overrideEnvConfig },
208 createGetEnvironment('client'),
209 ),
210 ]
211 }
212 return [
213 getEnvironmentPlugin,
214 {
215 name,
216 applyToEnvironment(environment) {
217 return f(environment, createGetEnvironment(environment.name))
218 },
219 },
220 ]
221}
222
223export function oxcResolvePlugin(
224 resolveOptions: ResolvePluginOptionsWithOverrides,

Callers 1

oxcResolvePluginFunction · 0.85

Calls 2

createGetEnvironmentFunction · 0.85
fFunction · 0.50

Tested by

no test coverage detected