UNPKG

pacvue-cli

Version:

67 lines (60 loc) 2.05 kB
import pacvuePlugin from './pacvuePlugin'; import viteSvgIcons from '@pacvue/vite-plugin-svg-icons'; import * as path from 'path' import { createVuePlugin } from 'vite-plugin-vue2-cust' // import * as fs from "fs"; import { merge } from 'webpack-merge' // try{ // fs.statSync(path.resolve(process.cwd(), './vite.config.js')); // }catch(e) { // fs.writeFileSync(path.resolve(process.cwd(), './vite.config.js'), ` // import { defineConfig } from 'vite' // export default defineConfig({ // });`, 'utf8') // } function metaReplace() { return { name: 'metaReplace', enforce: 'pre', transform: function (code) { code = code.replace(/process.env.VUE_/g, 'import.meta.env.VITE_') code = code.replace(/process.env\./g, 'import.meta.env.') code = code.replace(/\/deep\//g, '.deepCustomSass') return code } } } export default function exportDefaultConfig(config: any) { const configResult = merge({ base: '/', css: { preprocessorOptions: { scss: { additionalData: `@import "@/define.scss";` } } }, resolve: { alias: { '~@/pacvue': path.resolve(process.cwd(), './node_modules/@pacvue/frame-vue/src/pacvue'), '~': path.resolve(process.cwd(), './node_modules'), '~@pacvue/element-ui': path.resolve(process.cwd(), './node_modules/@pacvue/element-ui'), '@': path.resolve(process.cwd(), './src'), '../node_modules': path.resolve(process.cwd(), './node_modules'), }, extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] }, plugins: [ viteSvgIcons({ // Specify the icon folder to be cached iconDirs: config?.svg?.iconDirs ? config.svg.iconDirs : [path.resolve(process.cwd(), 'src/assets/icons/svg')], // Specify symbolId format symbolId: config?.svg?.symbolId ? config.svg.symbolId : '[name]', }), metaReplace(), pacvuePlugin(), createVuePlugin({ jsx: true }), ], }, config) return configResult; }