50 lines
1.0 KiB
JavaScript
50 lines
1.0 KiB
JavaScript
"use strict";
|
|
|
|
const webpack = require("webpack");
|
|
const helpers = require("./helpers");
|
|
const TerserPlugin = require("terser-webpack-plugin");
|
|
|
|
const ServiceWorkerConfig = {
|
|
resolve: {
|
|
extensions: [".js", ".vue"]
|
|
},
|
|
entry: {
|
|
serviceWorker: [helpers.root("frontend/service-worker", "service-worker")]
|
|
},
|
|
optimization: {
|
|
minimizer: []
|
|
},
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.js$/,
|
|
loader: "babel-loader",
|
|
include: [helpers.root("frontend/service-worker", "service-worker")]
|
|
}
|
|
]
|
|
},
|
|
mode: "production",
|
|
output: {
|
|
path: helpers.root("public/sw"),
|
|
publicPath: "/",
|
|
filename: "[name].js"
|
|
//filename: "js/[name].bundle.js"
|
|
},
|
|
optimization: {
|
|
minimize: true,
|
|
minimizer: [
|
|
new TerserPlugin({
|
|
test: /\.js(\?.*)?$/i,
|
|
})
|
|
]
|
|
},
|
|
plugins: [
|
|
new webpack.DefinePlugin({
|
|
__DATE__: new Date().getTime(),
|
|
__PUBLICKEY__: JSON.stringify(require("./defaults/push").publicKey)
|
|
})
|
|
]
|
|
};
|
|
|
|
module.exports = ServiceWorkerConfig;
|