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