import { defineConfig } from 'vite' import path from 'node:path' import electron from 'vite-plugin-electron/simple' import Vue from '@vitejs/plugin-vue' import Pages from 'vite-plugin-pages' import Layouts from 'vite-plugin-vue-layouts' import Components from 'unplugin-vue-components/vite' import AutoImport from 'unplugin-auto-import/vite' import {ElementPlusResolver} from 'unplugin-vue-components/resolvers' import {viteCommonjs} from '@originjs/vite-plugin-commonjs' import Unocss from 'unocss/vite' import {presetAttributify, presetUno, presetIcons} from 'unocss' export default defineConfig({ resolve: { alias: { '~/': `${path.resolve(__dirname, 'src')}/` } }, plugins: [ Vue({ reactivityTransform: true }), viteCommonjs(), Pages(), Layouts(), AutoImport({ resolvers: [ElementPlusResolver()], imports: [ 'vue', 'vue/macros', 'vue-router', '@vueuse/core' ], }), Components({ resolvers: [ElementPlusResolver()] }), Unocss({ presets: [ presetAttributify({}), presetUno(), presetIcons({ warn: true, })], }), electron({ main: { // Shortcut of `build.lib.entry`. entry: 'electron/main.js', }, preload: { // Shortcut of `build.rollupOptions.input`. // Preload scripts may contain Web assets, so use the `build.rollupOptions.input` instead `build.lib.entry`. input: path.join(__dirname, 'electron/preload.js'), }, // Ployfill the Electron and Node.js built-in modules for Renderer process. // See 👉 https://github.com/electron-vite/vite-plugin-electron-renderer renderer: {}, }), ], })