diff options
author | Max Kostikov <max@kostikov.co> | 2018-09-28 15:46:14 +0200 |
---|---|---|
committer | Max Kostikov <max@kostikov.co> | 2018-09-28 15:46:14 +0200 |
commit | 4a904fa3a8af1c101ede76657249fb7eb47faf60 (patch) | |
tree | 544509813fb68579ef2b556ce879a971d183269a /vendor/twbs/bootstrap/build/workbox.js | |
parent | f5f6ec3d71acb3e0488386819d5060e59331ec23 (diff) | |
parent | c13d7e29ef9676b0f0e4ae23aa52e203f4ad8895 (diff) | |
download | volse-hubzilla-4a904fa3a8af1c101ede76657249fb7eb47faf60.tar.gz volse-hubzilla-4a904fa3a8af1c101ede76657249fb7eb47faf60.tar.bz2 volse-hubzilla-4a904fa3a8af1c101ede76657249fb7eb47faf60.zip |
Merge branch 'patch-29' into 'dev'
Patch 29
See merge request Kostikov/core!3
Diffstat (limited to 'vendor/twbs/bootstrap/build/workbox.js')
-rw-r--r-- | vendor/twbs/bootstrap/build/workbox.js | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/vendor/twbs/bootstrap/build/workbox.js b/vendor/twbs/bootstrap/build/workbox.js new file mode 100644 index 000000000..3a7ba450a --- /dev/null +++ b/vendor/twbs/bootstrap/build/workbox.js @@ -0,0 +1,58 @@ +/*! + * Script to generate our docs service worker. + * Copyright 2017-2018 The Bootstrap Authors + * Copyright 2017-2018 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +'use strict' + +const fs = require('fs') +const path = require('path') +const swBuild = require('workbox-build') +const config = require('./workbox.config.json') + +const buildPrefix = '_gh_pages/' + +const workboxSWSrcPath = require.resolve('workbox-sw') +const wbFileName = path.basename(workboxSWSrcPath) +const workboxSWDestPath = `${buildPrefix}docs/4.1/assets/js/vendor/${wbFileName}` +const workboxSWSrcMapPath = `${workboxSWSrcPath}.map` +const workboxSWDestMapPath = `${workboxSWDestPath}.map` + +fs.createReadStream(workboxSWSrcPath).pipe(fs.createWriteStream(workboxSWDestPath)) +fs.createReadStream(workboxSWSrcMapPath).pipe(fs.createWriteStream(workboxSWDestMapPath)) + +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: [] + } +} + +config.manifestTransforms = [updateUrl] + +swBuild.injectManifest(config).then(({ + count, + size +}) => { + const wbSwRegex = /{fileName}/g + fs.readFile(config.swDest, 'utf8', (err, data) => { + if (err) { + throw err + } + const swFileContents = data.replace(wbSwRegex, wbFileName) + fs.writeFile(config.swDest, swFileContents, () => { + console.log(`Pre-cache Manifest generated. Pre-cached ${count} files, totalling ${size} bytes.`) + }) + }) +}).catch((error) => { + console.error(`Something went wrong: ${error}`) +}) |