summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschneefux <schneefux+commit@schneefux.xyz>2018-06-08 21:26:00 +0200
committerschneefux <schneefux+commit@schneefux.xyz>2018-12-13 17:09:16 +0100
commit505a67dc32206a0c603258d856fcbe00e53fc1f5 (patch)
tree4b5dae6ebdb92897fa04c3c6c98f284c52795ddf
parent97ec1efce2bdffd7eeadbbb024fc6f3ffaebfb1e (diff)
downloadbrokentalents-505a67dc32206a0c603258d856fcbe00e53fc1f5.tar.gz
brokentalents-505a67dc32206a0c603258d856fcbe00e53fc1f5.zip
Upgrade from SW precache to workbox
-rw-r--r--index.html4
-rw-r--r--package-lock.json279
-rw-r--r--package.json4
-rw-r--r--webpack.config.js21
4 files changed, 240 insertions, 68 deletions
diff --git a/index.html b/index.html
index 74e9a79..ab5f62c 100644
--- a/index.html
+++ b/index.html
@@ -21,8 +21,8 @@
<link rel="stylesheet" href="//cdn.materialdesignicons.com/2.3.54/css/materialdesignicons.min.css">
<link rel="manifest" href="/dist/manifest.json">
<link rel="shortcut icon" type="image/x-icon" href="/dist/assets/TalentGrab_square.jpg">
- </head>
+ <link href="/dist/main.css" rel="stylesheet"></head>
<body>
<div id="app"></div>
- <script type="text/javascript" src="dist/build.js"></script></body>
+ <script type="text/javascript" src="/dist/build.js"></script></body>
</html>
diff --git a/package-lock.json b/package-lock.json
index ed466d7..8dbfde8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2578,6 +2578,12 @@
"integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==",
"dev": true
},
+ "common-tags": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz",
+ "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==",
+ "dev": true
+ },
"commondir": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
@@ -4472,6 +4478,17 @@
"readable-stream": "^2.0.0"
}
},
+ "fs-extra": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
+ "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
"fs-minipass": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz",
@@ -7018,6 +7035,23 @@
"integrity": "sha1-Sj6XTsDLqQBNP8bN5yCeppNopiE=",
"dev": true
},
+ "isemail": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.1.2.tgz",
+ "integrity": "sha512-zfRhJn9rFSGhzU5tGZqepRSAj3+g6oTOHxMGGriWNJZzyLPUK8H7VHpqKntegnW8KLyGA9zwuNaCoopl40LTpg==",
+ "dev": true,
+ "requires": {
+ "punycode": "2.x.x"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "dev": true
+ }
+ }
+ },
"isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@@ -7058,6 +7092,17 @@
"is-object": "^1.0.1"
}
},
+ "joi": {
+ "version": "11.4.0",
+ "resolved": "https://registry.npmjs.org/joi/-/joi-11.4.0.tgz",
+ "integrity": "sha512-O7Uw+w/zEWgbL6OcHbyACKSj0PkQeUgmehdoXVSxt92QFCq4+1390Rwh5moI2K/OgC7D8RHRZqHZxT2husMJHA==",
+ "dev": true,
+ "requires": {
+ "hoek": "4.x.x",
+ "isemail": "3.x.x",
+ "topo": "2.x.x"
+ }
+ },
"js-base64": {
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.3.tgz",
@@ -7141,6 +7186,15 @@
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
"integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
},
+ "json-stable-stringify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+ "dev": true,
+ "requires": {
+ "jsonify": "~0.0.0"
+ }
+ },
"json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
@@ -7158,6 +7212,21 @@
"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
"dev": true
},
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "jsonify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
+ "dev": true
+ },
"jsonpointer": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
@@ -12653,59 +12722,6 @@
"sw-precache": "^4.3.0"
}
},
- "sw-precache-webpack-plugin": {
- "version": "0.11.5",
- "resolved": "https://registry.npmjs.org/sw-precache-webpack-plugin/-/sw-precache-webpack-plugin-0.11.5.tgz",
- "integrity": "sha512-K6E52DbYyzGNXGyv2LhI2Duomr3t/2FFMmnGdHZ1Ruk3ulFHDMASJtg3WpA3CXlWODZx189tTaOIO5mWkSKyVg==",
- "dev": true,
- "requires": {
- "del": "^3.0.0",
- "sw-precache": "^5.2.1",
- "uglify-es": "^3.3.9"
- },
- "dependencies": {
- "commander": {
- "version": "2.13.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz",
- "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==",
- "dev": true
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- },
- "sw-precache": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/sw-precache/-/sw-precache-5.2.1.tgz",
- "integrity": "sha512-8FAy+BP/FXE+ILfiVTt+GQJ6UEf4CVHD9OfhzH0JX+3zoy2uFk7Vn9EfXASOtVmmIVbL3jE/W8Z66VgPSZcMhw==",
- "dev": true,
- "requires": {
- "dom-urls": "^1.1.0",
- "es6-promise": "^4.0.5",
- "glob": "^7.1.1",
- "lodash.defaults": "^4.2.0",
- "lodash.template": "^4.4.0",
- "meow": "^3.7.0",
- "mkdirp": "^0.5.1",
- "pretty-bytes": "^4.0.2",
- "sw-toolbox": "^3.4.0",
- "update-notifier": "^2.3.0"
- }
- },
- "uglify-es": {
- "version": "3.3.9",
- "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz",
- "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==",
- "dev": true,
- "requires": {
- "commander": "~2.13.0",
- "source-map": "~0.6.1"
- }
- }
- }
- },
"sw-precache-webpack-plugin-loader": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/sw-precache-webpack-plugin-loader/-/sw-precache-webpack-plugin-loader-1.0.2.tgz",
@@ -12966,6 +12982,15 @@
}
}
},
+ "topo": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/topo/-/topo-2.0.2.tgz",
+ "integrity": "sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI=",
+ "dev": true,
+ "requires": {
+ "hoek": "4.x.x"
+ }
+ },
"toposort": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz",
@@ -13185,6 +13210,12 @@
"crypto-random-string": "^1.0.0"
}
},
+ "universalify": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz",
+ "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=",
+ "dev": true
+ },
"unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
@@ -15272,6 +15303,148 @@
"resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
"integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0="
},
+ "workbox-background-sync": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-3.2.0.tgz",
+ "integrity": "sha512-j8tQCot2RQFMroCyhDkX06093RIqkcAfSXE+8IXYgcnc7IVG9USf4GuWRR0GQUSgiEN9OtWx5QnltgXEmpqIDQ==",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^3.2.0"
+ }
+ },
+ "workbox-broadcast-cache-update": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/workbox-broadcast-cache-update/-/workbox-broadcast-cache-update-3.2.0.tgz",
+ "integrity": "sha512-3dgfx7blGdZfwFZ+VJmG12qa4R8o1LkB57RsEqDz3coUINAh1+e34y/ckHpvC+gYlXpNoSMf/WqYwQp9UhtJgQ==",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^3.2.0"
+ }
+ },
+ "workbox-build": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-3.2.0.tgz",
+ "integrity": "sha512-4UQdrMuUfM0FJTR9mRf4bFvM+l/1oWpOAlDMsZ3dkClxu3hKiJ30aat48DSAh0yQeQESu4cH+h2nmtOXEDG9Tw==",
+ "dev": true,
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "common-tags": "^1.4.0",
+ "fs-extra": "^4.0.2",
+ "glob": "^7.1.2",
+ "joi": "^11.1.1",
+ "lodash.template": "^4.4.0",
+ "pretty-bytes": "^4.0.2",
+ "workbox-background-sync": "^3.2.0",
+ "workbox-broadcast-cache-update": "^3.2.0",
+ "workbox-cache-expiration": "^3.2.0",
+ "workbox-cacheable-response": "^3.2.0",
+ "workbox-core": "^3.2.0",
+ "workbox-google-analytics": "^3.2.0",
+ "workbox-precaching": "^3.2.0",
+ "workbox-range-requests": "^3.2.0",
+ "workbox-routing": "^3.2.0",
+ "workbox-strategies": "^3.2.0",
+ "workbox-streams": "^3.2.0",
+ "workbox-sw": "^3.2.0"
+ }
+ },
+ "workbox-cache-expiration": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/workbox-cache-expiration/-/workbox-cache-expiration-3.2.0.tgz",
+ "integrity": "sha512-CjVhf7vSO2wgnlsrLTEHszNS0jbxu37ZDn/2YP0tOqrfpEUan+TP80gxKnqTxs4L4lddV4L0y0fspLzCUu2AWQ==",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^3.2.0"
+ }
+ },
+ "workbox-cacheable-response": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-3.2.0.tgz",
+ "integrity": "sha512-Xb6WT4e3p8H8Mp6q6RRQCuyCWdmLcx/QvKaOjv+RO/Mh0lf5K3eICXHV8pqYRy/vlo8i2vmccZWWgKDqTiemdw==",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^3.2.0"
+ }
+ },
+ "workbox-core": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-3.2.0.tgz",
+ "integrity": "sha512-r0TggwtndOuQrgyIwtZwinWgsISvHyQloHOSbPxX/jKI8grIZHmoF9ynQ3yDG6ZmZM/pgMDefsn+EkZkwTppTw==",
+ "dev": true
+ },
+ "workbox-google-analytics": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-3.2.0.tgz",
+ "integrity": "sha512-61JQ6bb5kpoRdlALgkveNTK0xaLzDJYHY+WOj0wCKXcsjag7Z6ISHoBeCbT89bnreBb9gSozlGqV/3Q1keMdyw==",
+ "dev": true,
+ "requires": {
+ "workbox-background-sync": "^3.2.0",
+ "workbox-core": "^3.2.0",
+ "workbox-routing": "^3.2.0",
+ "workbox-strategies": "^3.2.0"
+ }
+ },
+ "workbox-precaching": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-3.2.0.tgz",
+ "integrity": "sha512-5dDDgIH6aDFd2eRw1LsF7QOiArB/9/neQsRmLn3fftr4uVQ6uKN7f+SccgxOarqF8bZmumSH6J0LF6wD9SCOQg==",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^3.2.0"
+ }
+ },
+ "workbox-range-requests": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-3.2.0.tgz",
+ "integrity": "sha512-5bJcON1wg4Y3ZcG8fX9u0vyRNpt45JhCq1gUylOjOoUIEg3cCWUCT/ZoVoysuPj0w/2RxXWQ17FD5u5Y+Cq6qg==",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^3.2.0"
+ }
+ },
+ "workbox-routing": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-3.2.0.tgz",
+ "integrity": "sha512-rL8RqXeIvWaprp/m3wj/wxiFoyWQzz1LI41y5YYa1d2Xz4/c6I91HMdbTxOgOkBcQpT7Q8Ot539iLk9MIM2Rxw==",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^3.2.0"
+ }
+ },
+ "workbox-strategies": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-3.2.0.tgz",
+ "integrity": "sha512-7Qey+xrrSXf+wEaLpHsmPywXaqYdtQ82Bi/w9S/V9oIX5rSdgKEW56jqBSu9E1C6vzO3abXKiZ7PwhZPxCiYSw==",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^3.2.0"
+ }
+ },
+ "workbox-streams": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-3.2.0.tgz",
+ "integrity": "sha512-ABDWDxaT90GEh06FnqZh4scq9WogjyrMVPnd8TuiFaOuDVwBLm+vyg3McdoQYpo4i1qEgpZ+i1c+7bskZUFx6w==",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^3.2.0"
+ }
+ },
+ "workbox-sw": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-3.2.0.tgz",
+ "integrity": "sha512-UsPzNCpwcZ1K7ekxVhvUDvAIgoh/f65t1a42NxT+Us2HDrGtduVvFSMB9NCt2wnXhsW5PvEo5LccK/1lBsggtg==",
+ "dev": true
+ },
+ "workbox-webpack-plugin": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-3.2.0.tgz",
+ "integrity": "sha512-zl1/2ChVhwcpSumDd3jSUfbDIk5MtTSW5xc/h/WPkBpYi4dwvfwmQ8KAXc1qBIEoDz++R483zwYTyJQJ0g6f3w==",
+ "dev": true,
+ "requires": {
+ "json-stable-stringify": "^1.0.1",
+ "workbox-build": "^3.2.0"
+ }
+ },
"worker-farm": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz",
diff --git a/package.json b/package.json
index 7982734..80ca201 100644
--- a/package.json
+++ b/package.json
@@ -33,13 +33,13 @@
"optimize-css-assets-webpack-plugin": "^4.0.1",
"purgecss-webpack-plugin": "^1.1.0",
"sass-loader": "^7.0.1",
- "sw-precache-webpack-plugin": "^0.11.5",
"vue-loader": "^15.0.9",
"vue-router": "^3.0.1",
"vue-template-compiler": "^2.5.16",
"webpack": "^4.8.1",
"webpack-cli": "^2.1.3",
- "webpack-dev-server": "^3.1.4"
+ "webpack-dev-server": "^3.1.4",
+ "workbox-webpack-plugin": "^3.2.0"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
diff --git a/webpack.config.js b/webpack.config.js
index 25ad82c..0987ccc 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -5,12 +5,13 @@ const HtmlWebpackPlugin = require('html-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const PurgecssPlugin = require('purgecss-webpack-plugin');
const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');
-const SWPrecacheWebpackPlugin = require('sw-precache-webpack-plugin');
+const workboxPlugin = require('workbox-webpack-plugin');
module.exports = {
entry: path.resolve(__dirname, 'src/index.js'),
output: {
path: path.resolve(__dirname, 'dist/'),
+ publicPath: '/dist/',
filename: 'build.js',
},
module: {
@@ -46,16 +47,14 @@ module.exports = {
}),
new OptimizeCssAssetsPlugin(),
].concat(process.env.NODE_ENV == 'production' ? [
- new SWPrecacheWebpackPlugin({
- cacheId: 'brokentalents-1',
- filepath: './service-worker.js',
- staticFileGlobs: [
- 'index.html',
- 'dist/**/*',
- 'data/*/report.json',
- 'data/*/metadata.json',
- ],
- minify: true,
+ new workboxPlugin.GenerateSW({
+ cacheId: 'brokentalents',
+ swDest: '../service-worker.js',
+ importWorkboxFrom: 'local',
+ clientsClaim: true,
+ skipWaiting: true,
+ globDirectory: '.',
+ globPatterns: ['dist/**/*.{jpg,png}'],
}),
new PurgecssPlugin({
paths: glob.sync([