admin-vben/build/vite/plugin/index.ts

64 lines
1.9 KiB
TypeScript
Raw Normal View History

2023-03-18 13:10:54 +00:00
import { PluginOption } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import progress from 'vite-plugin-progress'
import purgeIcons from 'vite-plugin-purge-icons'
import VitePluginCertificate from 'vite-plugin-mkcert'
import { configPwaConfig } from './pwa'
2023-03-23 06:05:19 +00:00
import { configHtmlPlugin } from './html'
2023-03-18 13:10:54 +00:00
import { configCompressPlugin } from './compress'
import { configStyleImportPlugin } from './styleImport'
import { configVisualizerConfig } from './visualizer'
import { configThemePlugin } from './theme'
import { configSvgIconsPlugin } from './svgSprite'
2023-07-29 08:40:09 +00:00
import UnoCSS from 'unocss/vite'
import { presetTypography, presetUno } from 'unocss'
2023-03-18 13:10:54 +00:00
2023-04-02 13:47:03 +00:00
export async function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) {
2023-03-27 08:56:57 +00:00
const { VITE_BUILD_COMPRESS, VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE } = viteEnv
2023-03-18 13:10:54 +00:00
2023-04-14 06:50:05 +00:00
const vitePlugins: PluginOption[] = [
2023-03-18 13:10:54 +00:00
// have to
vue(),
// have to
vueJsx(),
2023-07-29 08:40:09 +00:00
// UnoCSS
UnoCSS({
presets: [presetUno(), presetTypography()]
}),
2023-03-18 13:10:54 +00:00
// 打包进度条
progress(),
VitePluginCertificate({
source: 'coding'
})
]
2023-03-24 09:39:26 +00:00
// vite-vue-plugin-html
2023-03-23 06:05:19 +00:00
vitePlugins.push(configHtmlPlugin(viteEnv, isBuild))
2023-03-18 13:10:54 +00:00
// vite-plugin-svg-icons
vitePlugins.push(configSvgIconsPlugin(isBuild))
// vite-plugin-purge-icons
vitePlugins.push(purgeIcons())
// rollup-plugin-visualizer
vitePlugins.push(configVisualizerConfig())
// vite-plugin-vben-theme
vitePlugins.push(configThemePlugin(isBuild))
// The following plugins only work in the production environment
if (isBuild) {
2023-03-27 10:57:57 +00:00
// vite-plugin-style-import
vitePlugins.push(configStyleImportPlugin(isBuild))
2023-03-18 13:10:54 +00:00
// rollup-plugin-gzip
vitePlugins.push(configCompressPlugin(VITE_BUILD_COMPRESS, VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE))
// vite-plugin-pwa
vitePlugins.push(configPwaConfig(viteEnv))
}
return vitePlugins
}