keanu-weblite/vue.config.js

62 lines
1.6 KiB
JavaScript

const CopyWebpackPlugin = require("copy-webpack-plugin");
const webpack = require("webpack");
//const fs = require('fs')
module.exports = {
transpileDependencies: ["vuetify"],
publicPath: process.env.NODE_ENV === "production" ? "./" : "./",
chainWebpack: (config) => {
config.plugin("html").tap((args) => {
var c = require("./src/assets/config.json");
args[0].title = c.appName;
return args;
});
},
configureWebpack: {
devtool: "source-map",
resolve: {
fallback: {
"path": require.resolve("path-browserify"),
"crypto": require.resolve("crypto-browserify"),
"stream": require.resolve("stream-browserify"),
"fs": require.resolve("browserify-fs"),
"buffer": require.resolve("buffer")
}
},
plugins: [
new webpack.ProvidePlugin({
Buffer: ['buffer', 'Buffer'],
}),
new webpack.ProvidePlugin({
process: 'process/browser',
}),
new CopyWebpackPlugin({patterns: [
{
from: "./src/assets/config.json",
to: "./",
},
{
from: "./node_modules/@matrix-org/olm/olm.wasm",
to: "./js/olm.wasm",
},
]}),
],
},
devServer: {
//https: true,
/***
* For testing notification via service worker in Mobile
* Run your site locally with secure HTTPS using mkcert
* https://web.dev/how-to-use-local-https/#running-your-site-locally-with-https-using-mkcert-recommended
*/
// https: {
// key: fs.readFileSync('./your-local-ip-address-key.pem'),
// cert: fs.readFileSync('./your-local-ip-address.pem'),
// }
}
};