esbuildPlugin() — vite Function Reference
Architecture documentation for the esbuildPlugin() function in esbuild.ts from the vite codebase.
Entity Profile
Dependency Diagram
graph TD 2c458bfa_10fc_ba71_1db1_819ac600e615["esbuildPlugin()"] 926e3b98_b813_2ff8_abb3_16447ab95544["esbuild.ts"] 2c458bfa_10fc_ba71_1db1_819ac600e615 -->|defined in| 926e3b98_b813_2ff8_abb3_16447ab95544 10b9dea8_362c_1af2_93be_afa4dd9aed9e["cleanUrl()"] 2c458bfa_10fc_ba71_1db1_819ac600e615 -->|calls| 10b9dea8_362c_1af2_93be_afa4dd9aed9e bf4a41be_9dbf_35be_2072_4283cd478ae7["transformWithEsbuild()"] 2c458bfa_10fc_ba71_1db1_819ac600e615 -->|calls| bf4a41be_9dbf_35be_2072_4283cd478ae7 b8ca3f28_b158_ad31_7286_a8412bc7e4cd["prettifyMessage()"] 2c458bfa_10fc_ba71_1db1_819ac600e615 -->|calls| b8ca3f28_b158_ad31_7286_a8412bc7e4cd style 2c458bfa_10fc_ba71_1db1_819ac600e615 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/vite/src/node/plugins/esbuild.ts lines 280–339
export function esbuildPlugin(config: ResolvedConfig): Plugin {
const options = config.esbuild as ESBuildOptions
const { jsxInject, include, exclude, ...esbuildTransformOptions } = options
const filter = createFilter(include || /\.(m?ts|[jt]sx)$/, exclude || /\.js$/)
// Remove optimization options for dev as we only need to transpile them,
// and for build as the final optimization is in `buildEsbuildPlugin`
const transformOptions: EsbuildTransformOptions = {
target: 'esnext',
...esbuildTransformOptions,
minify: false,
minifyIdentifiers: false,
minifySyntax: false,
minifyWhitespace: false,
treeShaking: false,
// keepNames is not needed when minify is disabled.
// Also transforming multiple times with keepNames enabled breaks
// tree-shaking. (#9164)
keepNames: false,
supported: {
...defaultEsbuildSupported,
...esbuildTransformOptions.supported,
},
}
let server: ViteDevServer | undefined
return {
name: 'vite:esbuild',
configureServer(_server) {
server = _server
},
async transform(code, id) {
if (filter(id) || filter(cleanUrl(id))) {
const result = await transformWithEsbuild(
code,
id,
transformOptions,
undefined,
config,
server?.watcher,
)
if (result.warnings.length) {
result.warnings.forEach((m) => {
this.warn(prettifyMessage(m, code))
})
}
if (jsxInject && jsxExtensionsRE.test(id)) {
result.code = jsxInject + ';' + result.code
}
return {
code: result.code,
map: result.map,
moduleType: 'js',
}
}
},
}
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does esbuildPlugin() do?
esbuildPlugin() is a function in the vite codebase, defined in packages/vite/src/node/plugins/esbuild.ts.
Where is esbuildPlugin() defined?
esbuildPlugin() is defined in packages/vite/src/node/plugins/esbuild.ts at line 280.
What does esbuildPlugin() call?
esbuildPlugin() calls 3 function(s): cleanUrl, prettifyMessage, transformWithEsbuild.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free