@@ -3,7 +3,7 @@ import babel from '@rollup/plugin-babel'
33import browserslistToEsbuild from 'browserslist-to-esbuild'
44import preserveDirectives from 'rollup-plugin-preserve-directives'
55import { PluginVisualizerOptions , visualizer } from 'rollup-plugin-visualizer'
6- import { BuildOptions , defineConfig , Plugin } from 'vite'
6+ import { BuildOptions , defineConfig , Plugin , UserConfig } from 'vite'
77
88import { getBrowserslistConfig } from './browserslist'
99import { getExternalDependencies } from './dependencies'
@@ -70,6 +70,12 @@ export interface ViteConfigProps {
7070 * @see https://ko.vite.dev/config/build-options
7171 */
7272 options ?: BuildOptions
73+
74+ /**
75+ * Vite plugins
76+ * @see https://vite.dev/guide/using-plugins
77+ */
78+ vitePlugins ?: UserConfig [ 'plugins' ]
7379}
7480
7581export function createViteConfig ( {
@@ -84,6 +90,7 @@ export function createViteConfig({
8490 publint : { severity = 'error' } = { } ,
8591 includeRequiredPolyfill = [ ] ,
8692 skipRequiredPolyfillCheck = [ ] ,
93+ vitePlugins = [ ] ,
8794 options,
8895} : ViteConfigProps ) {
8996 const browserslistConfig = getBrowserslistConfig ( cwd )
@@ -184,7 +191,10 @@ export function createViteConfig({
184191 ...restOptions ,
185192 }
186193
187- const plugins = [ vitePluginTsup ( { formats, entry, outDir : { esm : esmDir , cjs : cjsDir } } ) ]
194+ const plugins : UserConfig [ 'plugins' ] = [
195+ vitePluginTsup ( { formats, entry, outDir : { esm : esmDir , cjs : cjsDir } } ) ,
196+ ...vitePlugins ,
197+ ]
188198
189199 return defineConfig ( { build, plugins} )
190200}
0 commit comments