2022-01-03 22:20:10 +08:00
|
|
|
import type { ConfigEnv, PluginOption } from 'vite';
|
2021-09-20 02:48:53 +08:00
|
|
|
import vue from './vue';
|
2021-05-28 02:22:49 +08:00
|
|
|
import html from './html';
|
|
|
|
import iconify from './iconify';
|
2021-11-03 00:25:01 +08:00
|
|
|
import windicss from './windicss';
|
2021-12-25 01:23:44 +08:00
|
|
|
import mock from './mock';
|
2022-01-03 22:20:10 +08:00
|
|
|
import visualizer from './visualizer';
|
|
|
|
|
2022-03-05 01:55:21 +08:00
|
|
|
/**
|
|
|
|
* vite插件
|
|
|
|
* @param configEnv - 环境
|
|
|
|
* @param srcPath - src路径
|
|
|
|
* @param viteEnv - 环境变量配置
|
|
|
|
*/
|
|
|
|
export function setupVitePlugins(
|
|
|
|
configEnv: ConfigEnv,
|
|
|
|
srcPath: string,
|
|
|
|
viteEnv: ImportMetaEnv
|
|
|
|
): (PluginOption | PluginOption[])[] {
|
|
|
|
const plugins = [vue, html(configEnv), ...iconify(srcPath), windicss, mock];
|
2021-05-28 02:22:49 +08:00
|
|
|
|
2022-03-05 01:55:21 +08:00
|
|
|
if (configEnv.command === 'build' && viteEnv.VITE_VISUALIZER === 'true') {
|
2022-01-03 22:20:10 +08:00
|
|
|
plugins.push(visualizer);
|
|
|
|
}
|
2021-05-28 02:22:49 +08:00
|
|
|
|
2022-01-03 22:20:10 +08:00
|
|
|
return plugins;
|
|
|
|
}
|