Files
2026-08-13 16:16:32 +02:00

41 lines
1.1 KiB
TypeScript

import { fileURLToPath, URL } from 'node:url'
import tailwindcss from '@tailwindcss/vite'
import vue from '@vitejs/plugin-vue'
import { defineConfig } from 'vite'
export default defineConfig({
base: './',
build: {
assetsDir: 'assets',
// Keep the published NUI compatible with the Chromium 103 CEF runtime.
cssMinify: 'lightningcss',
cssTarget: 'chrome103',
emptyOutDir: true,
outDir: 'dist',
target: 'chrome103',
rollupOptions: {
output: {
assetFileNames: 'assets/sky-[name]-[hash].[ext]',
chunkFileNames: 'assets/sky-[name]-[hash].js',
entryFileNames: 'assets/sky-[name]-[hash].js',
},
},
},
plugins: [tailwindcss(), vue()],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
},
},
server: {
fs: {
allow: [fileURLToPath(new URL('.', import.meta.url))],
strict: false,
},
// Bind one loopback family so strictPort also rejects a second dev server.
// Open the UI through localhost so embeds still receive that page origin.
host: '127.0.0.1',
},
})