1
0
mirror of https://github.com/lana-k/sqliteviz.git synced 2025-12-06 18:18:53 +08:00
Files
sqliteviz/vue.config.js
2024-10-13 16:12:21 +02:00

62 lines
1.6 KiB
JavaScript

const { defineConfig } = require('@vue/cli-service')
const CopyPlugin = require('copy-webpack-plugin')
const WorkboxPlugin = require('workbox-webpack-plugin')
module.exports = defineConfig({
transpileDependencies: true,
publicPath: '',
// Workaround for https://github.com/vuejs/vue-cli/issues/5399 as described
// in https://stackoverflow.com/a/63185174
lintOnSave: process.env.NODE_ENV === 'development',
configureWebpack: {
plugins: [
new CopyPlugin({
patterns: [
// This wasm file will be fetched dynamically when we initialize sql.js
// It is important that we do not change its name,
// and that it is in the same folder as the js
{ from: 'node_modules/sql.js/dist/sql-wasm.wasm', to: 'js/' },
{ from: 'LICENSE', to: './' }
]
}),
new WorkboxPlugin.GenerateSW({
exclude: [/\.map$/, 'LICENSE', 'inquiries.json'],
clientsClaim: true,
skipWaiting: false,
maximumFileSizeToCacheInBytes: 40000000
})
],
resolve: {
fallback: {
asset: require.resolve('assert'),
stream: require.resolve('stream-browserify')
}
}
},
chainWebpack: config => {
config.module
.rule('images')
.set('parser', {
dataUrlCondition: {
maxSize: 10000
}
})
config.module
.rule('worker')
.test(/worker\.js$/)
.use('worker-loader')
.loader('worker-loader')
.end()
config.module.rule('js').exclude.add(/worker\.js$/)
config
.plugin('html')
.tap(args => {
args[0].minify = false
return args
})
}
})