jellyfin-vue/frontend/vite.config.ts

59 lines
1.5 KiB
TypeScript
Raw Normal View History

import { defineConfig } from 'vite';
2022-09-08 22:31:13 +00:00
import vue from '@vitejs/plugin-vue';
import path from 'path';
import Pages from 'vite-plugin-pages';
import Layouts from 'vite-plugin-vue-layouts';
import Icons from 'unplugin-icons/vite';
import IconsResolver from 'unplugin-icons/resolver';
import Components from 'unplugin-vue-components/vite';
2022-09-08 22:31:13 +00:00
import {
Vuetify3Resolver,
VueUseComponentsResolver
} from 'unplugin-vue-components/resolvers';
import { VitePWA } from 'vite-plugin-pwa';
// https://vitejs.dev/config/
export default defineConfig({
server: {
port: 3000
},
2022-09-08 20:33:29 +00:00
define: {
__COMMIT_HASH__: JSON.stringify(
process.env.COMMIT_HASH || process.env.CF_PAGES_COMMIT_SHA || ''
)
},
plugins: [
2022-09-08 22:31:13 +00:00
vue(),
Pages({
routeStyle: 'nuxt'
}),
Layouts(),
// This plugin allows to autoimport vue components
Components({
/**
* The icons resolver finds icons components from 'unplugin-icons' using this convenction:
* {prefix}-{collection}-{icon} e.g. <i-mdi-thumb-up />
*/
2022-09-08 22:31:13 +00:00
resolvers: [
IconsResolver(),
Vuetify3Resolver(),
VueUseComponentsResolver()
]
}),
/**
* This plugin allows to use all icons from Iconify as vue components
* See: https://github.com/antfu/unplugin-icons
*/
Icons({
2022-09-08 22:31:13 +00:00
compiler: 'vue3'
}),
VitePWA()
],
resolve: {
alias: {
'@/': `${path.resolve(__dirname, './src')}/`,
'~/': `${path.resolve(__dirname, './src')}/`
}
}
});