Version-handling
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,6 +1,7 @@
|
|||||||
.DS_Store
|
.DS_Store
|
||||||
|
|
||||||
public/index.html
|
public/index.html
|
||||||
|
public/sw/
|
||||||
|
|
||||||
# Logs
|
# Logs
|
||||||
logs
|
logs
|
||||||
|
|||||||
49
config/service-worker.config.js
Normal file
49
config/service-worker.config.js
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
"use strict";
|
||||||
|
|
||||||
|
const webpack = require("webpack");
|
||||||
|
const helpers = require("./helpers");
|
||||||
|
const UglifyJSPlugin = require("uglifyjs-webpack-plugin");
|
||||||
|
|
||||||
|
const ServiceWorkerConfig = {
|
||||||
|
resolve: {
|
||||||
|
extensions: [".js", ".vue"]
|
||||||
|
},
|
||||||
|
entry: {
|
||||||
|
serviceWorker: [helpers.root("public", "service-worker")]
|
||||||
|
},
|
||||||
|
optimization: {
|
||||||
|
minimizer: []
|
||||||
|
},
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
test: /\.js$/,
|
||||||
|
loader: "babel-loader",
|
||||||
|
include: [helpers.root("public", "service-worker")]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
mode: "production",
|
||||||
|
output: {
|
||||||
|
path: helpers.root("public/sw"),
|
||||||
|
publicPath: "/",
|
||||||
|
filename: "[name].js"
|
||||||
|
//filename: "js/[name].bundle.js"
|
||||||
|
},
|
||||||
|
optimization: {
|
||||||
|
minimizer: [
|
||||||
|
new UglifyJSPlugin({
|
||||||
|
cache: true,
|
||||||
|
parallel: false,
|
||||||
|
sourceMap: false
|
||||||
|
})
|
||||||
|
]
|
||||||
|
},
|
||||||
|
plugins: [
|
||||||
|
new webpack.DefinePlugin({
|
||||||
|
__DATE__: new Date().getTime()
|
||||||
|
})
|
||||||
|
]
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = ServiceWorkerConfig;
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
const { CleanWebpackPlugin } = require("clean-webpack-plugin");
|
const { CleanWebpackPlugin } = require("clean-webpack-plugin");
|
||||||
|
const path = require("path");
|
||||||
const webpack = require("webpack");
|
const webpack = require("webpack");
|
||||||
const merge = require("webpack-merge");
|
const merge = require("webpack-merge");
|
||||||
const OptimizeCSSAssetsPlugin = require("optimize-css-assets-webpack-plugin");
|
const OptimizeCSSAssetsPlugin = require("optimize-css-assets-webpack-plugin");
|
||||||
@@ -19,7 +20,7 @@ const webpackConfig = merge(commonConfig(false), {
|
|||||||
path: helpers.root("public/dist"),
|
path: helpers.root("public/dist"),
|
||||||
publicPath: "/dist/",
|
publicPath: "/dist/",
|
||||||
filename: "js/[name].bundle.[hash:7].js"
|
filename: "js/[name].bundle.[hash:7].js"
|
||||||
//filename: 'js/[name].bundle.js'
|
//filename: "js/[name].bundle.js"
|
||||||
},
|
},
|
||||||
optimization: {
|
optimization: {
|
||||||
splitChunks: {
|
splitChunks: {
|
||||||
@@ -50,6 +51,7 @@ const webpackConfig = merge(commonConfig(false), {
|
|||||||
new webpack.EnvironmentPlugin(environment),
|
new webpack.EnvironmentPlugin(environment),
|
||||||
new MiniCSSExtractPlugin({
|
new MiniCSSExtractPlugin({
|
||||||
filename: "css/[name].[hash:7].css"
|
filename: "css/[name].[hash:7].css"
|
||||||
|
//filename: "css/[name].css"
|
||||||
})
|
})
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
var version = "v1.0";
|
var version = "v1.0" + __DATE__;
|
||||||
var cacheName = "::vinlottis";
|
var cacheName = "vinlottis";
|
||||||
var CACHE_NAME = version + cacheName;
|
var CACHE_NAME = cacheName;
|
||||||
var CACHE_NAME_API = version + cacheName + "::api";
|
var CACHE_NAME_API = cacheName + "::api";
|
||||||
var STATIC_CACHE_URLS = ["/"];
|
var STATIC_CACHE_URLS = ["/"];
|
||||||
|
|
||||||
|
console.log("Nåværende versjon:", version);
|
||||||
self.addEventListener("activate", event => {
|
self.addEventListener("activate", event => {
|
||||||
event.waitUntil(
|
event.waitUntil(
|
||||||
caches
|
caches
|
||||||
@@ -12,7 +13,7 @@ self.addEventListener("activate", event => {
|
|||||||
.then(keys =>
|
.then(keys =>
|
||||||
Promise.all(
|
Promise.all(
|
||||||
keys.map(key => {
|
keys.map(key => {
|
||||||
console.log(`Deleting cache ${key}`);
|
console.log(`Sletter mellom-lager på nøkkel ${key}`);
|
||||||
return caches.delete(key);
|
return caches.delete(key);
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
@@ -25,18 +26,29 @@ self.addEventListener("activate", event => {
|
|||||||
.then(keys =>
|
.then(keys =>
|
||||||
Promise.all(
|
Promise.all(
|
||||||
keys.map(key => {
|
keys.map(key => {
|
||||||
console.log(`Deleting cache ${key}`);
|
console.log(`Sletter mellom-lager på nøkkel ${key}`);
|
||||||
return caches.delete(key);
|
return caches.delete(key);
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
event.waitUntil(
|
||||||
|
caches.open(CACHE_NAME).then(cache => {
|
||||||
|
console.log("Legger til cache", cache);
|
||||||
|
return cache.addAll(STATIC_CACHE_URLS);
|
||||||
|
})
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
self.addEventListener("install", event => {
|
self.addEventListener("install", event => {
|
||||||
console.log("Arbeids arbeideren installerer seg.");
|
console.log("Arbeids arbeideren installerer seg.");
|
||||||
|
self.skipWaiting();
|
||||||
event.waitUntil(
|
event.waitUntil(
|
||||||
caches.open(CACHE_NAME).then(cache => cache.addAll(STATIC_CACHE_URLS))
|
caches.open(CACHE_NAME).then(cache => {
|
||||||
|
console.log("Legger til cache", cache);
|
||||||
|
return cache.addAll(STATIC_CACHE_URLS);
|
||||||
|
})
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ app.use("/api/", updateApi);
|
|||||||
app.use("/api/", retrieveApi);
|
app.use("/api/", retrieveApi);
|
||||||
|
|
||||||
app.use("/service-worker.js", function(req, res) {
|
app.use("/service-worker.js", function(req, res) {
|
||||||
res.sendFile(path.join(__dirname, "public/service-worker.js"));
|
res.sendFile(path.join(__dirname, "public/sw/serviceWorker.js"));
|
||||||
});
|
});
|
||||||
|
|
||||||
app.listen(30030);
|
app.listen(30030);
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ if (environment === "development") {
|
|||||||
let prodConfig = require("./config/webpack.config.prod");
|
let prodConfig = require("./config/webpack.config.prod");
|
||||||
|
|
||||||
prodConfig = merge(prodConfig, require("./config/vinlottis.config.js"));
|
prodConfig = merge(prodConfig, require("./config/vinlottis.config.js"));
|
||||||
|
let serviceWorkerConfig = require("./config/service-worker.config.js");
|
||||||
|
|
||||||
module.exports = prodConfig;
|
module.exports = [prodConfig, serviceWorkerConfig];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user