UNPKG

create-iking-admin

Version:

金合技术中台脚手架

74 lines (72 loc) 2.18 kB
/* * @Author : wfl * @LastEditors : wfl * @description : * @updateInfo : * @Date : 2024-02-29 14:41:18 * @LastEditTime : 2024-03-18 17:33:47 */ import type { PluginOption } from 'vite' import vue from '@vitejs/plugin-vue' import vueJsx from '@vitejs/plugin-vue-jsx' import vueLegacy from '@vitejs/plugin-legacy' import { createHtmlPlugin } from 'vite-plugin-html' import appInfo from './app-info' import createDevtools from './devtools' import createAutoImport from './auto-import' import createComponents from './components' import createUnocss from './unocss' import createSvgIcon from './svg-icon' import createI18n from './i18n' import createLayouts from './layouts' import createPages from './pages' import createCompression from './compression' import createArchiver from './archiver' import createConsole from './console' import createBanner from './banner' export default function createVitePlugins(viteEnv, isBuild = false) { const vitePlugins: (PluginOption | PluginOption[])[] = [ appInfo(), vue({ template: { transformAssetUrls: { source: ['/main-app/', '/micro-app/'], }, }, }), vueJsx(), vueLegacy({ renderLegacyChunks: false, modernPolyfills: [ 'es.array.at', 'es.array.find-last', ], }), createHtmlPlugin({ // viteNext: true, minify: true, entry: '../../micro-app/micro.ts', template: 'main-app/index.html', inject: { data: { title: viteEnv.VITE_APP_TITLE, icon: viteEnv.VITE_APP_ICON, downloadUrl: viteEnv.VITE_APP_DOWNLOAD_URL, }, }, }), ] // vitePlugins.push(createDevtools(viteEnv)) vitePlugins.push(createAutoImport()) vitePlugins.push(createComponents()) vitePlugins.push(createUnocss()) vitePlugins.push(createSvgIcon(isBuild)) vitePlugins.push(createI18n()) vitePlugins.push(createLayouts()) vitePlugins.push(createPages()) vitePlugins.push(...createCompression(viteEnv, isBuild)) vitePlugins.push(createArchiver(viteEnv)) vitePlugins.push(createConsole()) vitePlugins.push(createBanner()) return vitePlugins }