From 3947adbab40429c7740ec53454591baef485508f Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 2 Apr 2019 15:38:14 -0700 Subject: [PATCH] Upgrade workbox to v4 (#3053) * Upgrade workbox to v4 * Update dmeo config --- demo/webpack.config.js | 2 +- package.json | 2 +- src/entrypoints/{app.js => app.ts} | 0 .../{authorize.js => authorize.ts} | 0 .../{compatibility.js => compatibility.ts} | 10 +- .../{hass-icons.js => hass-icons.ts} | 0 src/entrypoints/service-worker-hass.js | 14 +- src/util/show-new-frontend-toast.js | 2 +- webpack.config.js | 35 +-- yarn.lock | 236 +++++++++--------- 10 files changed, 157 insertions(+), 144 deletions(-) rename src/entrypoints/{app.js => app.ts} (100%) rename src/entrypoints/{authorize.js => authorize.ts} (100%) rename src/entrypoints/{compatibility.js => compatibility.ts} (86%) rename src/entrypoints/{hass-icons.js => hass-icons.ts} (100%) diff --git a/demo/webpack.config.js b/demo/webpack.config.js index 63ac853147..35c1ccdc93 100644 --- a/demo/webpack.config.js +++ b/demo/webpack.config.js @@ -19,7 +19,7 @@ module.exports = { devtool: isProd ? "cheap-source-map" : "inline-source-map", entry: { main: "./src/entrypoint.ts", - compatibility: "../src/entrypoints/compatibility.js", + compatibility: "../src/entrypoints/compatibility.ts", }, module: { rules: [ diff --git a/package.json b/package.json index 2005ae97d1..06ba277552 100644 --- a/package.json +++ b/package.json @@ -161,7 +161,7 @@ "webpack": "^4.29.6", "webpack-cli": "^3.3.0", "webpack-dev-server": "^3.2.1", - "workbox-webpack-plugin": "^3.5.0" + "workbox-webpack-plugin": "^4.1.1" }, "resolutions": { "@polymer/polymer": "3.2.0", diff --git a/src/entrypoints/app.js b/src/entrypoints/app.ts similarity index 100% rename from src/entrypoints/app.js rename to src/entrypoints/app.ts diff --git a/src/entrypoints/authorize.js b/src/entrypoints/authorize.ts similarity index 100% rename from src/entrypoints/authorize.js rename to src/entrypoints/authorize.ts diff --git a/src/entrypoints/compatibility.js b/src/entrypoints/compatibility.ts similarity index 86% rename from src/entrypoints/compatibility.js rename to src/entrypoints/compatibility.ts index 22609aeb0c..2a005ddbd3 100644 --- a/src/entrypoints/compatibility.js +++ b/src/entrypoints/compatibility.ts @@ -6,14 +6,12 @@ import objAssign from "es6-object-assign"; objAssign.polyfill(); if (Object.values === undefined) { - Object.values = function(target) { - return Object.keys(target).map(function(key) { - return target[key]; - }); + Object.values = (target) => { + return Object.keys(target).map((key) => target[key]); }; } -/* eslint-disable */ +/* tslint:disable */ // https://github.com/uxitten/polyfill/blob/master/string.polyfill.js // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart if (!String.prototype.padStart) { @@ -31,4 +29,4 @@ if (!String.prototype.padStart) { } }; } -/* eslint-enable */ +/* tslint:enable */ diff --git a/src/entrypoints/hass-icons.js b/src/entrypoints/hass-icons.ts similarity index 100% rename from src/entrypoints/hass-icons.js rename to src/entrypoints/hass-icons.ts diff --git a/src/entrypoints/service-worker-hass.js b/src/entrypoints/service-worker-hass.js index a19a3cef40..80eea35497 100644 --- a/src/entrypoints/service-worker-hass.js +++ b/src/entrypoints/service-worker-hass.js @@ -6,13 +6,13 @@ function initRouting() { // Cache static content (including translations) on first access. workbox.routing.registerRoute( new RegExp(`${location.host}/(static|frontend_latest|frontend_es5)/.+`), - workbox.strategies.cacheFirst() + new workbox.strategies.CacheFirst() ); // Get api from network. workbox.routing.registerRoute( new RegExp(`${location.host}/api/.*`), - workbox.strategies.networkOnly() + new workbox.strategies.NetworkOnly() ); // Get manifest and service worker from network. @@ -20,7 +20,7 @@ function initRouting() { new RegExp( `${location.host}/(service_worker.js|service_worker_es5.js|manifest.json)` ), - workbox.strategies.networkOnly() + new workbox.strategies.NetworkOnly() ); // For rest of the files (on Home Assistant domain only) try both cache and network. @@ -29,7 +29,7 @@ function initRouting() { // file. workbox.routing.registerRoute( new RegExp(`${location.host}/.*`), - workbox.strategies.staleWhileRevalidate() + new workbox.strategies.StaleWhileRevalidate() ); } @@ -147,6 +147,12 @@ function initPushNotifications() { }); } +self.addEventListener("install", (event) => { + // Delete all runtime caching, so that index.html has to be refetched. + const cacheName = workbox.core.cacheNames.runtime; + event.waitUntil(caches.delete(cacheName)); +}); + self.addEventListener("message", (message) => { if (message.data.type === "skipWaiting") { self.skipWaiting(); diff --git a/src/util/show-new-frontend-toast.js b/src/util/show-new-frontend-toast.js index af27ddbab1..a089245bda 100644 --- a/src/util/show-new-frontend-toast.js +++ b/src/util/show-new-frontend-toast.js @@ -13,7 +13,7 @@ export default (installingWorker) => { ); button.style.color = "var(--primary-color)"; button.style.fontWeight = "bold"; - button.innerHTML = "reload"; + button.label = "reload"; toast.appendChild(button); document.body.appendChild(toast); diff --git a/webpack.config.js b/webpack.config.js index 7e61e7f290..43305047c5 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -34,18 +34,27 @@ const generateJSPage = (entrypoint, latestBuild) => { }); }; +// Create an object mapping browser urls to their paths during build +const workBoxTranslationsTemplatedURLs = {}; +const englishFP = translationMetadata["translations"]["en"]["fingerprints"]; +Object.keys(englishFP).forEach((key) => { + workBoxTranslationsTemplatedURLs[ + `/static/translations/${englishFP[key]}` + ] = `build-translations/output/${key}.json`; +}); + function createConfig(isProdBuild, latestBuild) { const buildPath = latestBuild ? "hass_frontend/" : "hass_frontend_es5/"; const publicPath = latestBuild ? "/frontend_latest/" : "/frontend_es5/"; const entry = { - app: "./src/entrypoints/app.js", - authorize: "./src/entrypoints/authorize.js", + app: "./src/entrypoints/app.ts", + authorize: "./src/entrypoints/authorize.ts", onboarding: "./src/entrypoints/onboarding.ts", core: "./src/entrypoints/core.ts", - compatibility: "./src/entrypoints/compatibility.js", + compatibility: "./src/entrypoints/compatibility.ts", "custom-panel": "./src/entrypoints/custom-panel.ts", - "hass-icons": "./src/entrypoints/hass-icons.js", + "hass-icons": "./src/entrypoints/hass-icons.ts", }; if (latestBuild) { @@ -153,17 +162,9 @@ function createConfig(isProdBuild, latestBuild) { swSrc: "./src/entrypoints/service-worker-bootstrap.js", swDest: "service_worker.js", importWorkboxFrom: "local", - include: [ - /core.ts$/, - /app.js$/, - /custom-panel.ts$/, - /hass-icons.js$/, - /\.chunk\.js$/, - ], - templatedUrls: { - [`/static/translations/${ - translationMetadata["translations"]["en"]["fingerprints"]["en"] - }`]: "build-translations/output/en.json", + include: [/\.js$/], + templatedURLs: { + ...workBoxTranslationsTemplatedURLs, "/static/icons/favicon-192x192.png": "public/icons/favicon-192x192.png", "/static/fonts/roboto/Roboto-Light.ttf": @@ -185,11 +186,11 @@ function createConfig(isProdBuild, latestBuild) { "service-worker-hass", ]); if (!isProdBuild || dontHash.has(chunk.name)) return `${chunk.name}.js`; - return `${chunk.name}-${chunk.hash.substr(0, 8)}.js`; + return `${chunk.name}.${chunk.hash.substr(0, 8)}.js`; }, chunkFilename: isProdBuild && !isStatsBuild - ? "[chunkhash].chunk.js" + ? "chunk.[chunkhash].js" : "[name].chunk.js", path: path.resolve(__dirname, buildPath), publicPath, diff --git a/yarn.lock b/yarn.lock index f76a101ad5..c841748a93 100644 --- a/yarn.lock +++ b/yarn.lock @@ -679,7 +679,7 @@ dependencies: regenerator-runtime "^0.12.0" -"@babel/runtime@^7.1.2", "@babel/runtime@^7.1.5": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.1.5", "@babel/runtime@^7.3.4": version "7.4.2" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.4.2.tgz#f5ab6897320f16decd855eed70b705908a313fe8" integrity sha512-7Bl2rALb7HpvXFL7TETNzKSAeBVCPHELzc0C//9FCxN8nsiueWSJBqaF+2oIJScyILStASR/Cx5WMkXGYTiJFA== @@ -4334,7 +4334,7 @@ commander@^2.12.1, commander@^2.14.1, commander@^2.19.0, commander@^2.9.0, comma resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== -common-tags@^1.4.0: +common-tags@^1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== @@ -7211,10 +7211,10 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoek@4.x.x: - version "4.2.1" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb" - integrity sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA== +hoek@6.x.x: + version "6.1.3" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-6.1.3.tgz#73b7d33952e01fe27a38b0457294b79dd8da242c" + integrity sha512-YXXAAhmF9zpQbC7LEcREFtXfGq5K1fmd+4PHkBq8NUqmzW3G+Dq10bI/i0KucLRwss3YYFQ0fSfoxBZYiGUqtQ== home-assistant-js-websocket@^3.4.0: version "3.4.0" @@ -8091,14 +8091,14 @@ jest-docblock@^21.0.0: resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414" integrity sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw== -joi@^11.1.1: - version "11.4.0" - resolved "https://registry.yarnpkg.com/joi/-/joi-11.4.0.tgz#f674897537b625e9ac3d0b7e1604c828ad913ccb" - integrity sha512-O7Uw+w/zEWgbL6OcHbyACKSj0PkQeUgmehdoXVSxt92QFCq4+1390Rwh5moI2K/OgC7D8RHRZqHZxT2husMJHA== +joi@^14.3.1: + version "14.3.1" + resolved "https://registry.yarnpkg.com/joi/-/joi-14.3.1.tgz#164a262ec0b855466e0c35eea2a885ae8b6c703c" + integrity sha512-LQDdM+pkOrpAn4Lp+neNIFV3axv1Vna3j38bisbQhETPMANYRbFJFUyOZcOClYvM/hppMhGWuKSFEK9vjrB+bQ== dependencies: - hoek "4.x.x" + hoek "6.x.x" isemail "3.x.x" - topo "2.x.x" + topo "3.x.x" "jquery@>= 1.4.1", jquery@^3.3.1: version "3.3.1" @@ -12477,7 +12477,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -stringify-object@^3.2.2: +stringify-object@^3.2.2, stringify-object@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== @@ -12990,12 +12990,12 @@ to-through@^2.0.0: dependencies: through2 "^2.0.3" -topo@2.x.x: - version "2.0.2" - resolved "https://registry.yarnpkg.com/topo/-/topo-2.0.2.tgz#cd5615752539057c0dc0491a621c3bc6fbe1d182" - integrity sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI= +topo@3.x.x: + version "3.0.3" + resolved "https://registry.yarnpkg.com/topo/-/topo-3.0.3.tgz#d5a67fb2e69307ebeeb08402ec2a2a6f5f7ad95c" + integrity sha512-IgpPtvD4kjrJ7CRA3ov2FhWQADwv+Tdqbsf1ZnPUSAtCJ9e1Z44MmoSGDXGk4IppoZA7jd/QRkNddlLJWlUZsQ== dependencies: - hoek "4.x.x" + hoek "6.x.x" toposort@^1.0.0: version "1.0.7" @@ -14077,132 +14077,140 @@ wordwrapjs@^3.0.0: reduce-flatten "^1.0.1" typical "^2.6.1" -workbox-background-sync@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-3.6.3.tgz#6609a0fac9eda336a7c52e6aa227ba2ae532ad94" - integrity sha512-ypLo0B6dces4gSpaslmDg5wuoUWrHHVJfFWwl1udvSylLdXvnrfhFfriCS42SNEe5lsZtcNZF27W/SMzBlva7Q== +workbox-background-sync@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-4.1.1.tgz#0d4439d9e364854f4030ad8f44c8b34b0bbce2e7" + integrity sha512-z8iKAx7f3cfQpGaRrrl2CpP4dGe+vHk05vJbzscwA7e1K8vyNl6zALBtIyyAvEZzMsofsiGEZqt2g/8CfyfQ5g== dependencies: - workbox-core "^3.6.3" + workbox-core "^4.1.1" -workbox-broadcast-cache-update@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-broadcast-cache-update/-/workbox-broadcast-cache-update-3.6.3.tgz#3f5dff22ada8c93e397fb38c1dc100606a7b92da" - integrity sha512-pJl4lbClQcvp0SyTiEw0zLSsVYE1RDlCPtpKnpMjxFtu8lCFTAEuVyzxp9w7GF4/b3P4h5nyQ+q7V9mIR7YzGg== +workbox-broadcast-update@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-4.1.1.tgz#93a2b455673f6b73027890cb362f66156a3701f1" + integrity sha512-gq83a8F6ESQobfltaxzoUTz0mEpTOsXHmy9Po9kKMT1UjXTWh/4NDF3HwQYaxJckOER9NITB3BuoXlXr3tI8aA== dependencies: - workbox-core "^3.6.3" + workbox-core "^4.1.1" -workbox-build@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-3.6.3.tgz#77110f9f52dc5d82fa6c1c384c6f5e2225adcbd8" - integrity sha512-w0clZ/pVjL8VXy6GfthefxpEXs0T8uiRuopZSFVQ8ovfbH6c6kUpEh6DcYwm/Y6dyWPiCucdyAZotgjz+nRz8g== +workbox-build@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-4.1.1.tgz#d75d9f4ff70ba5c960be4043bfc4c25c62f22a45" + integrity sha512-+QRtNFKDq7RlIpigsh26joUNoEN+c3pQ+yT8Rs29RtpM50S1nKggFUQY0HoRvN7tzvuzIgxCrx3osxOQ8hmj7Q== dependencies: - babel-runtime "^6.26.0" - common-tags "^1.4.0" + "@babel/runtime" "^7.3.4" + common-tags "^1.8.0" fs-extra "^4.0.2" - glob "^7.1.2" - joi "^11.1.1" + glob "^7.1.3" + joi "^14.3.1" lodash.template "^4.4.0" - pretty-bytes "^4.0.2" - stringify-object "^3.2.2" + pretty-bytes "^5.1.0" + stringify-object "^3.3.0" strip-comments "^1.0.2" - workbox-background-sync "^3.6.3" - workbox-broadcast-cache-update "^3.6.3" - workbox-cache-expiration "^3.6.3" - workbox-cacheable-response "^3.6.3" - workbox-core "^3.6.3" - workbox-google-analytics "^3.6.3" - workbox-navigation-preload "^3.6.3" - workbox-precaching "^3.6.3" - workbox-range-requests "^3.6.3" - workbox-routing "^3.6.3" - workbox-strategies "^3.6.3" - workbox-streams "^3.6.3" - workbox-sw "^3.6.3" + workbox-background-sync "^4.1.1" + workbox-broadcast-update "^4.1.1" + workbox-cacheable-response "^4.1.1" + workbox-core "^4.1.1" + workbox-expiration "^4.1.1" + workbox-google-analytics "^4.1.1" + workbox-navigation-preload "^4.1.1" + workbox-precaching "^4.1.1" + workbox-range-requests "^4.1.1" + workbox-routing "^4.1.1" + workbox-strategies "^4.1.1" + workbox-streams "^4.1.1" + workbox-sw "^4.1.1" + workbox-window "^4.1.1" -workbox-cache-expiration@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-cache-expiration/-/workbox-cache-expiration-3.6.3.tgz#4819697254a72098a13f94b594325a28a1e90372" - integrity sha512-+ECNph/6doYx89oopO/UolYdDmQtGUgo8KCgluwBF/RieyA1ZOFKfrSiNjztxOrGJoyBB7raTIOlEEwZ1LaHoA== +workbox-cacheable-response@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-4.1.1.tgz#f01032f0a08f2eedb9c420f1267b4738c6dfd58e" + integrity sha512-uc1zkeidJgAMXHvUbspKJt3NzXHAcb5D+7sX6HrCZIMneS4ZxMvdB86giIR3bveV4PaOssqIYVrWUJvIehK/NA== dependencies: - workbox-core "^3.6.3" + workbox-core "^4.1.1" -workbox-cacheable-response@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-3.6.3.tgz#869f1a68fce9063f6869ddbf7fa0a2e0a868b3aa" - integrity sha512-QpmbGA9SLcA7fklBLm06C4zFg577Dt8u3QgLM0eMnnbaVv3rhm4vbmDpBkyTqvgK/Ly8MBDQzlXDtUCswQwqqg== +workbox-core@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-4.1.1.tgz#eaad7132762727373377ca1c8a2130cfa641cc90" + integrity sha512-RbzMWnDW7UvfstwOs8ERDFTH6zr7akm4wIbIednFs1TnAvZbN3gpIBoEv53kaMr0uMYDSXI2KxaLmmz9WX1PXA== + +workbox-expiration@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-4.1.1.tgz#d676fc24dd99576d4f62372d342ed7cea6bd968a" + integrity sha512-N/fbypqCbFrrKDhVnTyGXhkFTgjA8aRUydkxCpgJM1ajf7udQYD4XWTQxXosPJC2UVsa2/kPCBYFQOQ1Fu/2TA== dependencies: - workbox-core "^3.6.3" + workbox-core "^4.1.1" -workbox-core@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-3.6.3.tgz#69abba70a4f3f2a5c059295a6f3b7c62bd00e15c" - integrity sha512-cx9cx0nscPkIWs8Pt98HGrS9/aORuUcSkWjG25GqNWdvD/pSe7/5Oh3BKs0fC+rUshCiyLbxW54q0hA+GqZeSQ== - -workbox-google-analytics@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-3.6.3.tgz#99df2a3d70d6e91961e18a6752bac12e91fbf727" - integrity sha512-RQBUo/6SXtIaQTRFj4RQZ9e1gAl7D8oS5S+Hi173Kk70/BgJjzPwXpC5A249Jv5YfkCOLMQCeF9A27BiD0b0ig== +workbox-google-analytics@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-4.1.1.tgz#e3901d9edc00ce269db1a86aef8d2e12b3fca222" + integrity sha512-ByZYHv61u4dFQXQAXZZ1bNgcJ45yA85C8OAlSDGwqOuv72dZoybG3EMtJo/0ChO6irxWI1pictF2pTW7JxcCkQ== dependencies: - workbox-background-sync "^3.6.3" - workbox-core "^3.6.3" - workbox-routing "^3.6.3" - workbox-strategies "^3.6.3" + workbox-background-sync "^4.1.1" + workbox-core "^4.1.1" + workbox-routing "^4.1.1" + workbox-strategies "^4.1.1" -workbox-navigation-preload@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-3.6.3.tgz#a2c34eb7c17e7485b795125091215f757b3c4964" - integrity sha512-dd26xTX16DUu0i+MhqZK/jQXgfIitu0yATM4jhRXEmpMqQ4MxEeNvl2CgjDMOHBnCVMax+CFZQWwxMx/X/PqCw== +workbox-navigation-preload@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-4.1.1.tgz#0990ffe94b2110141d48f2b516084c363f538d4e" + integrity sha512-U+QEpcOgakBFZ6Aiv438DTvkZQX518qxfu280kEPZnFU88wIFBAK9V4MmJcoX60fk1INTD//YnfSxI0cLy1N+g== dependencies: - workbox-core "^3.6.3" + workbox-core "^4.1.1" -workbox-precaching@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-3.6.3.tgz#5341515e9d5872c58ede026a31e19bafafa4e1c1" - integrity sha512-aBqT66BuMFviPTW6IpccZZHzpA8xzvZU2OM1AdhmSlYDXOJyb1+Z6blVD7z2Q8VNtV1UVwQIdImIX+hH3C3PIw== +workbox-precaching@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-4.1.1.tgz#05ddbe82d06f5c07b3cf077389d451ec4df5d157" + integrity sha512-GuoBH85MzVpzmF8c5Sql1i9HYdOqcpRDdNPLrIkWEfuvURO5M/jT+cGcyfFq35Xo7xRb4kE79H4hnF3EnCkFRw== dependencies: - workbox-core "^3.6.3" + workbox-core "^4.1.1" -workbox-range-requests@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-3.6.3.tgz#3cc21cba31f2dd8c43c52a196bcc8f6cdbcde803" - integrity sha512-R+yLWQy7D9aRF9yJ3QzwYnGFnGDhMUij4jVBUVtkl67oaVoP1ymZ81AfCmfZro2kpPRI+vmNMfxxW531cqdx8A== +workbox-range-requests@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-4.1.1.tgz#01f81716f86b04e398bfd11df2a34cd73d52e4bc" + integrity sha512-i9i7tRTcXveCJdi4lK7XstgHweTwkqEGR7GPauYIDGAZplWrxDOAOUDSvkH8ibOxEgO6f0VFhyYY6fPB6u+oSA== dependencies: - workbox-core "^3.6.3" + workbox-core "^4.1.1" -workbox-routing@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-3.6.3.tgz#659cd8f9274986cfa98fda0d050de6422075acf7" - integrity sha512-bX20i95OKXXQovXhFOViOK63HYmXvsIwZXKWbSpVeKToxMrp0G/6LZXnhg82ijj/S5yhKNRf9LeGDzaqxzAwMQ== +workbox-routing@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-4.1.1.tgz#c31d663c6c4c0e9a6f03b5a6fdfe79fb6ee7f29d" + integrity sha512-slOb+2Nfn8V3fG/TtN0c0k4OOyuwLSnZUv+zyZeJafSU3MrQPC58bPeG7HOZZDwoQAsBG9VSukjRDFR0F1lXKg== dependencies: - workbox-core "^3.6.3" + workbox-core "^4.1.1" -workbox-strategies@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-3.6.3.tgz#11a0dc249a7bc23d3465ec1322d28fa6643d64a0" - integrity sha512-Pg5eulqeKet2y8j73Yw6xTgLdElktcWExGkzDVCGqfV9JCvnGuEpz5eVsCIK70+k4oJcBCin9qEg3g3CwEIH3g== +workbox-strategies@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-4.1.1.tgz#5289b977dbc56ef97f17a3a99722f174b8cf6933" + integrity sha512-ejmRqmjwn9DYsl1QVZkRb1V/iaBzhsh3YwJelfXQk68JpB36WjwY9csFQ2gSvlLCCg3d4MVFFxKfmHVyVnhwAA== dependencies: - workbox-core "^3.6.3" + workbox-core "^4.1.1" -workbox-streams@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-3.6.3.tgz#beaea5d5b230239836cc327b07d471aa6101955a" - integrity sha512-rqDuS4duj+3aZUYI1LsrD2t9hHOjwPqnUIfrXSOxSVjVn83W2MisDF2Bj+dFUZv4GalL9xqErcFW++9gH+Z27w== +workbox-streams@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-4.1.1.tgz#f49418d7a2388c89838c4022229ba6ee23af60fd" + integrity sha512-6TKC4rrvnjbLpWtgHIYWjWS28h0SqSWogkJIKC1f/6MjJCmi2qM7PYJwXR0/t8lJVZj61ujVSulZ92XQmy3GhQ== dependencies: - workbox-core "^3.6.3" + workbox-core "^4.1.1" -workbox-sw@^3.6.3: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-3.6.3.tgz#278ea4c1831b92bbe2d420da8399176c4b2789ff" - integrity sha512-IQOUi+RLhvYCiv80RP23KBW/NTtIvzvjex28B8NW1jOm+iV4VIu3VXKXTA6er5/wjjuhmtB28qEAUqADLAyOSg== +workbox-sw@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-4.1.1.tgz#037031ec107c9befe568064679d16fc03748ff02" + integrity sha512-3nQFWFyG1W21x7TUVBsobrLoFDEy7ck/3nx2W1I3c+DhLCIu7B+IAnQVdefK+oRju5fIDWwOQ63fok8Uz7E/Gw== -workbox-webpack-plugin@^3.5.0: - version "3.6.3" - resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-3.6.3.tgz#a807bb891b4e4e3c808df07e58f17de2d5ba6182" - integrity sha512-RwmKjc7HFHUFHoOlKoZUq9349u0QN3F8W5tZZU0vc1qsBZDINWXRiIBCAKvo/Njgay5sWz7z4I2adnyTo97qIQ== +workbox-webpack-plugin@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-4.1.1.tgz#4e3f40fb5d0bb6aed21e617e47032bafe8cbedb2" + integrity sha512-Fygc8qrh/IOeJeZ4NETs9arYtJEwcO0Yy7JRkX5DSOHCSkWHxOX1ryazAcK0ACyMJOQuU9zJVmx+mnn0zqYKtA== dependencies: - babel-runtime "^6.26.0" + "@babel/runtime" "^7.0.0" json-stable-stringify "^1.0.1" - workbox-build "^3.6.3" + workbox-build "^4.1.1" + +workbox-window@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/workbox-window/-/workbox-window-4.1.1.tgz#0c449b87406baa4dc9f7c82d015ac63a031b3ed7" + integrity sha512-KadE/DdNY1f6Va3MMOSigheLSgNxWHV/K/iDHnLMpo2EBGVpfwRCOuEwJNHlWA3G5WdpZlyTmtShf/5Mbb6dNg== + dependencies: + workbox-core "^4.1.1" worker-farm@^1.5.2: version "1.6.0"