You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
1.7 KiB
JavaScript

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: {},
}),
],
})