1
0
mirror of https://github.com/lana-k/sqliteviz.git synced 2025-12-06 10:08:52 +08:00
Files
sqliteviz/vite.config.js
2025-03-20 22:04:15 +01:00

59 lines
1.4 KiB
JavaScript

import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { nodePolyfills } from 'vite-plugin-node-polyfills'
import { viteStaticCopy } from 'vite-plugin-static-copy'
import { VitePWA } from 'vite-plugin-pwa'
// https://vitejs.dev/config/
export default defineConfig({
base: './',
plugins: [
vue(),
nodePolyfills({
include: ['process', 'util', 'stream', 'buffer'],
globals: { global: true, process: true }
}),
viteStaticCopy({
targets: [
{
src: 'LICENSE',
dest: './'
}
]
}),
VitePWA({
filename: 'service-worker.js',
manifest: false,
injectRegister: false,
workbox: {
globPatterns: ['**\/*.{js,wasm,css,html,woff2,png}'],
globIgnores: ['*.map', 'LICENSE', 'inquiries.json'],
clientsClaim: true,
skipWaiting: false,
maximumFileSizeToCacheInBytes: 40000000
}
})
],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url))
},
extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue']
},
optimizeDeps: {
include: ['sql.js'],
esbuildOptions: {
define: {
global: 'globalThis'
}
}
},
build: {
assetsInlineLimit: 10000,
commonjsOptions: {
include: ['sql.js', /sql-wasm.js/, /node_modules/]
}
}
})