pluginConverter.ts — vite Source File
Architecture documentation for pluginConverter.ts, a typescript file in the vite codebase. 3 imports, 1 dependents.
Entity Profile
Dependency Diagram
graph LR b8dcab0c_e45e_1664_f34c_62cebf0403f4["pluginConverter.ts"] 51e96894_3556_ed5c_1ede_97d449867adf["node:path"] b8dcab0c_e45e_1664_f34c_62cebf0403f4 --> 51e96894_3556_ed5c_1ede_97d449867adf ad02d466_758f_96b8_f6f8_1ea08b652ceb["esbuild"] b8dcab0c_e45e_1664_f34c_62cebf0403f4 --> ad02d466_758f_96b8_f6f8_1ea08b652ceb 693ca867_249b_3e5a_0ce1_8930413b7fcd["rolldown"] b8dcab0c_e45e_1664_f34c_62cebf0403f4 --> 693ca867_249b_3e5a_0ce1_8930413b7fcd 7da774f9_eca5_d54e_6e01_6bee7d460a2b["config.ts"] 7da774f9_eca5_d54e_6e01_6bee7d460a2b --> b8dcab0c_e45e_1664_f34c_62cebf0403f4 style b8dcab0c_e45e_1664_f34c_62cebf0403f4 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { dirname } from 'node:path'
import type * as esbuild from 'esbuild'
import type {
ImportKind,
LoadResult,
PartialResolvedId,
PluginContext,
ResolveIdResult,
Plugin as RolldownPlugin,
RolldownPluginOption,
} from 'rolldown'
type MaybePromise<T> = T | Promise<T>
type EsbuildOnResolveCallback = (
args: esbuild.OnResolveArgs,
) => MaybePromise<esbuild.OnResolveResult | null | undefined>
type EsbuildOnLoadCallback = (
args: esbuild.OnLoadArgs,
) => MaybePromise<esbuild.OnLoadResult | null | undefined>
type ResolveIdHandler = (
this: PluginContext,
id: string,
importer: string | undefined,
opts: { kind: ImportKind },
) => MaybePromise<
| (PartialResolvedId & { namespace?: string })
| Exclude<ResolveIdResult, PartialResolvedId>
>
type LoadHandler = (this: PluginContext, id: string) => MaybePromise<LoadResult>
export function convertEsbuildPluginToRolldownPlugin(
esbuildPlugin: esbuild.Plugin,
): RolldownPlugin {
const onStartCallbacks: Array<() => void> = []
const onEndCallbacks: Array<(buildResult: esbuild.BuildResult) => void> = []
const onDisposeCallbacks: Array<() => void> = []
let resolveIdHandlers: ResolveIdHandler[]
let loadHandlers: LoadHandler[]
let isSetupDone = false
const setup = async (
plugins: RolldownPluginOption[],
platform: 'browser' | 'node' | 'neutral',
) => {
const onResolveCallbacks: Array<
[options: esbuild.OnResolveOptions, callback: EsbuildOnResolveCallback]
> = []
const onLoadCallbacks: Array<
[options: esbuild.OnLoadOptions, callback: EsbuildOnLoadCallback]
> = []
const pluginBuild: esbuild.PluginBuild = {
initialOptions: new Proxy(
{
platform,
plugins:
plugins?.flatMap((p) =>
p && 'name' in p
? [
{
// ... (252 more lines)
Domain
Subdomains
Functions
Dependencies
- esbuild
- node:path
- rolldown
Imported By
Source
Frequently Asked Questions
What does pluginConverter.ts do?
pluginConverter.ts is a source file in the vite codebase, written in typescript. It belongs to the DependencyOptimizer domain, Scanner subdomain.
What functions are defined in pluginConverter.ts?
pluginConverter.ts defines 6 function(s): args, convertEsbuildPluginToRolldownPlugin, createLoadHandler, createResolveIdHandler, id, idToPathAndNamespace.
What does pluginConverter.ts depend on?
pluginConverter.ts imports 3 module(s): esbuild, node:path, rolldown.
What files import pluginConverter.ts?
pluginConverter.ts is imported by 1 file(s): config.ts.
Where is pluginConverter.ts in the architecture?
pluginConverter.ts is located at packages/vite/src/node/optimizer/pluginConverter.ts (domain: DependencyOptimizer, subdomain: Scanner, directory: packages/vite/src/node/optimizer).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free