]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Update to workbox 3.0 & fix breaking changes
authorMichael <michael@lyricalz.com>
Fri, 16 Mar 2018 20:46:58 +0000 (20:46 +0000)
committerXhmikosR <xhmikosr@gmail.com>
Wed, 21 Mar 2018 10:15:47 +0000 (12:15 +0200)
build/workbox.js
package-lock.json
package.json
sw.js

index e51cf6dcbd81dec9622cdf404c5bdb85146f992c..4694fb90978a0313d111b7d4611b693c159c1dca 100644 (file)
@@ -16,17 +16,26 @@ const workboxSWDestMapPath = `${workboxSWDestPath}.map`
 fs.createReadStream(workboxSWSrcPath).pipe(fs.createWriteStream(workboxSWDestPath))
 fs.createReadStream(workboxSWSrcMapPath).pipe(fs.createWriteStream(workboxSWDestMapPath))
 
-const updateUrl = (manifestEntries) => manifestEntries.map((entry) => {
-  if (entry.url.startsWith(buildPrefix)) {
-    const regex = new RegExp(buildPrefix, 'g')
-    entry.url = entry.url.replace(regex, '')
+const updateUrl = (manifestEntries) => {
+  const manifest = manifestEntries.map((entry) => {
+    if (entry.url.startsWith(buildPrefix)) {
+      const regex = new RegExp(buildPrefix, 'g')
+      entry.url = entry.url.replace(regex, '')
+    }
+    return entry
+  })
+  return {
+    manifest,
+    warnings: []
   }
-  return entry
-})
+}
 
 config.manifestTransforms = [updateUrl]
 
-swBuild.injectManifest(config).then(() => {
+swBuild.injectManifest(config).then(({
+  count,
+  size
+}) => {
   const wbSwRegex = /{fileName}/g
   fs.readFile(config.swDest, 'utf8', (err, data) => {
     if (err) {
@@ -34,7 +43,9 @@ swBuild.injectManifest(config).then(() => {
     }
     const swFileContents = data.replace(wbSwRegex, wbFileName)
     fs.writeFile(config.swDest, swFileContents, () => {
-      console.log('Pre-cache Manifest generated.')
+      console.log('Pre-cache Manifest generated.', `Pre-cached ${count} files, totalling ${size} bytes.`)
     })
   })
+}).catch((error) => {
+  console.error(`Something went wrong: ${error}`)
 })
index cbdfd042a900a16c425a71c89e44a85b18e60ce4..171a4c26bde99d3d53e91428324dbccfadbc8be9 100644 (file)
       "integrity": "sha512-7B1ilBwtYSbetCgTY1NJFg+gVpestg0fdA1MhC1Vs4ssyfSXnCAjFr+QcQM9/RedXC0EaUx1sG8Smgw2VfgKEg==",
       "dev": true
     },
+    "common-tags": {
+      "version": "1.7.2",
+      "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.7.2.tgz",
+      "integrity": "sha512-joj9ZlUOjCrwdbmiLqafeUSgkUM74NqhLsZtSqDmhKudaIY197zTrb8JMl31fMnCUuxwFT23eC/oWvrZzDLRJQ==",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0"
+      }
+    },
     "compare-versions": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.1.0.tgz",
       "integrity": "sha1-Sj6XTsDLqQBNP8bN5yCeppNopiE=",
       "dev": true
     },
+    "isemail": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.1.1.tgz",
+      "integrity": "sha512-mVjAjvdPkpwXW61agT2E9AkGoegZO7SdJGCezWwxnETL58f5KwJ4vSVAMBUL5idL6rTlYAIGkX3n4suiviMLNw==",
+      "dev": true,
+      "requires": {
+        "punycode": "2.1.0"
+      },
+      "dependencies": {
+        "punycode": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz",
+          "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=",
+          "dev": true
+        }
+      }
+    },
     "isexe": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
       "integrity": "sha1-2t2e8BkkvHKLA/L3l5vb1i96Kqo=",
       "dev": true
     },
+    "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.2.1",
+        "isemail": "3.1.1",
+        "topo": "2.0.2"
+      }
+    },
     "js-base64": {
       "version": "2.4.3",
       "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.3.tgz",
       "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
       "dev": true
     },
+    "pretty-bytes": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-4.0.2.tgz",
+      "integrity": "sha1-sr+C5zUNZcbDOqlaqlpPYyf2HNk=",
+      "dev": true
+    },
     "pretty-hrtime": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
         }
       }
     },
+    "topo": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/topo/-/topo-2.0.2.tgz",
+      "integrity": "sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI=",
+      "dev": true,
+      "requires": {
+        "hoek": "4.2.1"
+      }
+    },
     "touch": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
       "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
       "dev": true
     },
+    "workbox-background-sync": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-3.0.0.tgz",
+      "integrity": "sha512-tW1tFz41fFDbSEOErYU1EKxDox72qozVxKsl8jbjpvtNvAn4ml2XIIs0jcmtpDu5uNuBP9wXt/5Vytw6F7IkTg==",
+      "dev": true,
+      "requires": {
+        "workbox-core": "3.0.0"
+      }
+    },
+    "workbox-broadcast-cache-update": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/workbox-broadcast-cache-update/-/workbox-broadcast-cache-update-3.0.0.tgz",
+      "integrity": "sha512-CjJDfN5Qo2SfVEBZb5SVlO6I1QLi/i4okdqnfIvFiNq+oJYa+8JjgeXG7z2Z9xBd9ac22Fpy5Mg/fo33YrL6Wg==",
+      "dev": true,
+      "requires": {
+        "workbox-core": "3.0.0"
+      }
+    },
     "workbox-build": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-2.1.3.tgz",
-      "integrity": "sha512-QuFHYsRFR/ZhWRxU/VMAXUSfCIgol1iRgJ22mV1bM9GGRycW/VqbyhIcY95GjX0V8rNu+8d65t48xjnrtf9hqw==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-3.0.0.tgz",
+      "integrity": "sha512-/LGWEyERFZNp/+mNSl4m9BYNfNc0LAkSamnqR/jWr9t31Bm913mhzDPvYWE7ZsjdvAHidkuX1nOOfPFyk+jJdA==",
       "dev": true,
       "requires": {
-        "chalk": "1.1.3",
-        "fs-extra": "3.0.1",
+        "babel-runtime": "6.26.0",
+        "common-tags": "1.7.2",
+        "fs-extra": "4.0.3",
         "glob": "7.1.2",
+        "joi": "11.4.0",
         "lodash.template": "4.4.0",
-        "mkdirp": "0.5.1",
-        "workbox-sw": "2.1.3"
+        "pretty-bytes": "4.0.2",
+        "workbox-background-sync": "3.0.0",
+        "workbox-broadcast-cache-update": "3.0.0",
+        "workbox-cache-expiration": "3.0.0",
+        "workbox-cacheable-response": "3.0.0",
+        "workbox-core": "3.0.0",
+        "workbox-google-analytics": "3.0.0",
+        "workbox-precaching": "3.0.0",
+        "workbox-routing": "3.0.0",
+        "workbox-strategies": "3.0.0",
+        "workbox-sw": "3.0.0"
       },
       "dependencies": {
-        "ansi-styles": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
-          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
-          "dev": true
-        },
-        "chalk": {
-          "version": "1.1.3",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
-          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "2.2.1",
-            "escape-string-regexp": "1.0.5",
-            "has-ansi": "2.0.0",
-            "strip-ansi": "3.0.1",
-            "supports-color": "2.0.0"
-          }
-        },
         "fs-extra": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz",
-          "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=",
+          "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.11",
-            "jsonfile": "3.0.1",
+            "jsonfile": "4.0.0",
             "universalify": "0.1.1"
           }
-        },
-        "jsonfile": {
-          "version": "3.0.1",
-          "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz",
-          "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=",
-          "dev": true,
-          "requires": {
-            "graceful-fs": "4.1.11"
-          }
-        },
-        "supports-color": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
-          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
-          "dev": true
         }
       }
     },
+    "workbox-cache-expiration": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/workbox-cache-expiration/-/workbox-cache-expiration-3.0.0.tgz",
+      "integrity": "sha512-jvkWxWvI3fa9pUqt/UN8oEPXemXynLLMjCZCmds2ZHuTMfwAw3qeniw9HxGud0hA8LBZDibcTC/qKk7E1myo3A==",
+      "dev": true,
+      "requires": {
+        "workbox-core": "3.0.0"
+      }
+    },
+    "workbox-cacheable-response": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-3.0.0.tgz",
+      "integrity": "sha512-6jGcLSngb5QUdwk5eMoD8YYHcoH7jPi9Bz94C0n9dvPD6N+ex2H/dg2aHvltmjes9iDTI++Ac3d2EoDrsHrQoQ==",
+      "dev": true,
+      "requires": {
+        "workbox-core": "3.0.0"
+      }
+    },
+    "workbox-core": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-3.0.0.tgz",
+      "integrity": "sha512-R4ZJ1dcllIaiJ082qjWHZTYfVUQ/th7liNOmWU1yPoK1NwUxqJRRN3XCdw/yrtoeO//RCkTlrCcTteHUYFZ/fg==",
+      "dev": true
+    },
+    "workbox-google-analytics": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-3.0.0.tgz",
+      "integrity": "sha512-fyfY2hpK/tLV5xY6iagd4I+PhHtHKC3V5zMqaMDvlBkow79WyUFvHRXM4rk8YEitL2G66V6a8fzDS79tM/BqUg==",
+      "dev": true,
+      "requires": {
+        "workbox-background-sync": "3.0.0",
+        "workbox-core": "3.0.0",
+        "workbox-routing": "3.0.0",
+        "workbox-strategies": "3.0.0"
+      }
+    },
+    "workbox-precaching": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-3.0.0.tgz",
+      "integrity": "sha512-EVlbGmzc18SiuRNymswSjg5jqVysOrbvMtav4FhF/3+oagCgvgJrBgmsymJucPzdH76KlP2GHvHEUx0T1TkFhA==",
+      "dev": true,
+      "requires": {
+        "workbox-core": "3.0.0"
+      }
+    },
+    "workbox-routing": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-3.0.0.tgz",
+      "integrity": "sha512-1IlKk8g7GRGERX2T8T3pC+YLt9xnv83GjizJCmzAlVqJNG+BcGGWqRegb746Ukwp436BxzNiLmGY7+/yZ879uw==",
+      "dev": true,
+      "requires": {
+        "workbox-core": "3.0.0"
+      }
+    },
+    "workbox-strategies": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-3.0.0.tgz",
+      "integrity": "sha512-wH4BrwcYN5hfSmzpeMDGFyc2veCbhhj9gQumWm/N+1QyTxPDu7zOppWuKNK9btWdqPV/nqv/AxTFhJ/+Cxth7w==",
+      "dev": true,
+      "requires": {
+        "workbox-core": "3.0.0"
+      }
+    },
     "workbox-sw": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-2.1.3.tgz",
-      "integrity": "sha512-ZwT1Igbd9gAbn0U8gqachKTCGisS9WFM2j85FvI5K88FfNJ5OlYrDksXQmACRyvX59bwXIo/CGDU7FSsMtRVhw==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-3.0.0.tgz",
+      "integrity": "sha512-HG/V0EyqYrLyGvjPWjqfAFfc/raN30+wuOUQN0Rh0/lCei4wogqaBnvjS4bciNd6jCf6b6zhgWLsqnVJxK63fw==",
       "dev": true
     },
     "wrap-ansi": {
index c51474f6ebee0a515a3c0af18d6798efb13dc6cd..0eab1c51d767b8bbf5de07dda99d107018af23ab 100644 (file)
     "stylelint-scss": "^2.5.0",
     "uglify-js": "^3.3.14",
     "vnu-jar": "^17.11.1",
-    "workbox-build": "^2.1.3"
+    "workbox-build": "^3.0.0"
   },
   "engines": {
     "node": ">=6"
diff --git a/sw.js b/sw.js
index 037a1471b9c6534245e298f1850dbdb291c7b413..e1ab031ab4a8c07a06e101241d795a160707587a 100644 (file)
--- a/sw.js
+++ b/sw.js
@@ -1,4 +1,4 @@
 self.importScripts('/assets/js/vendor/{fileName}')
 
 const workboxSW = new self.WorkboxSW()
-workboxSW.precache([])
+workboxSW.precaching.precacheAndRoute([])