UNPKG

@neosjs/cli

Version:

Neos(奈欧斯)是一个帮助开发者快速地创建 Vue3 应用并自动配置项目编译的脚手架

39 lines (37 loc) 1.71 kB
import type { PluginOption } from 'vite' import vue from '@vitejs/plugin-vue' import vueJsx from '@vitejs/plugin-vue-jsx' import VueSetupExtend from 'vite-plugin-vue-setup-extend' import VitePluginCertificate from 'vite-plugin-mkcert'; import { svgIconsPlugin } from './svgSprite' <% if(userAnswer.needsUnocss) {%>import { unocssPlugin } from './unocss'<% } %> <% if(userAnswer.needsAutoImport) {%>import { autoImportPlugin, autoComponentsPlugin } from './autoImport'<% } %> <% if(userAnswer.needsPwa) {%>import { pwaPlugin } from './pwa'<% } %> <% if(userAnswer.template === 'h5') {%>import { vConsolePlugin } from './vConsole'<% } %> <% if(userAnswer.needsMock) {%>import { mockPlugin } from './mock'<% } %> export const createVitePlugins = (viteEnv: ViteEnv, isBuild: boolean) => { <% if(userAnswer.needsPwa) {%>const { VITE_USE_PWA, VITE_TITLE } = viteEnv<% } %> <% if(userAnswer.template === 'h5') {%>const { VITE_ENV } = viteEnv<% } %> const vitePlugins: (PluginOption | PluginOption[])[] = [ vue({ reactivityTransform: true }), vueJsx(), VitePluginCertificate({ source: 'coding', }), svgIconsPlugin(isBuild), isBuild && VueSetupExtend() ] <% if(userAnswer.needsUnocss) {%>vitePlugins.push(unocssPlugin())<%}%> <% if(userAnswer.needsAutoImport) {%>vitePlugins.push(autoImportPlugin()) vitePlugins.push(autoComponentsPlugin())<%}%> <% if(userAnswer.needsPwa) {%>vitePlugins.push(pwaPlugin(VITE_USE_PWA, VITE_TITLE))<%}%> <% if(userAnswer.needsMock) {%>vitePlugins.push(mockPlugin(isBuild))<%}%> <% if(userAnswer.template === 'h5') {%> if (VITE_ENV !== 'production') { vitePlugins.push(vConsolePlugin()) } <% } %> return vitePlugins }