Skip to content

Commit

Permalink
feat(esbuild): add user esbuild plugins support
Browse files Browse the repository at this point in the history
  • Loading branch information
qnp committed Apr 6, 2021
1 parent 0dc6e37 commit 7bcbe90
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 3 deletions.
8 changes: 7 additions & 1 deletion packages/vite/src/node/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ import {
PluginContainer
} from './server/pluginContainer'
import aliasPlugin from '@rollup/plugin-alias'
import { build } from 'esbuild'
import { Plugin as EsbuildPlugin, build } from 'esbuild'

const debug = createDebugger('vite:config')

Expand Down Expand Up @@ -110,6 +110,10 @@ export interface UserConfig {
* Or set to `false` to disable esbuild.
*/
esbuild?: ESBuildOptions | false
/**
* Array of esbuild plugins to use.
*/
esbuildPlugins?: EsbuildPlugin[]
/**
* Specify additional files to be treated as static assets.
*/
Expand Down Expand Up @@ -178,6 +182,7 @@ export type ResolvedConfig = Readonly<
alias: Alias[]
}
plugins: readonly Plugin[]
esbuildPlugins: readonly EsbuildPlugin[]
server: ServerOptions
build: ResolvedBuildOptions
assetsInclude: (file: string) => boolean
Expand Down Expand Up @@ -352,6 +357,7 @@ export async function resolveConfig(
isProduction,
optimizeCacheDir,
plugins: userPlugins,
esbuildPlugins: config.esbuildPlugins || [],
server: config.server || {},
build: resolvedBuildOptions,
env: {
Expand Down
5 changes: 4 additions & 1 deletion packages/vite/src/node/optimizer/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,10 @@ export async function optimizeDeps(
treeShaking: 'ignore-annotations',
metafile: true,
define,
plugins: [esbuildDepPlugin(flatIdDeps, flatIdToExports, config)]
plugins: [
esbuildDepPlugin(flatIdDeps, flatIdToExports, config),
...config.esbuildPlugins
]
})

const meta = result.metafile!
Expand Down
2 changes: 1 addition & 1 deletion packages/vite/src/node/optimizer/scan.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ export async function scanImports(
format: 'esm',
logLevel: 'error',
outdir: tempDir,
plugins: [plugin]
plugins: [plugin, ...config.esbuildPlugins]
})
)
)
Expand Down

0 comments on commit 7bcbe90

Please sign in to comment.