Skip to content

Commit 13aaa16

Browse files
authored
fix(gatsby-plugin-offline): versioned import of idb-keyval (#24938)
* fix(sw): versioned import of idb-keyval with the version included it is ok to cache it immutable alongside the other fingerprinted js files produced by Gatsby * style: fix linting errors * fix(sw): replace versioned import in sw-append.js
1 parent c884b0d commit 13aaa16

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

packages/gatsby-plugin-offline/src/gatsby-node.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,9 @@ exports.onPostBuild = (
162162

163163
const idbKeyvalFile = `idb-keyval-iife.min.js`
164164
const idbKeyvalSource = require.resolve(`idb-keyval/dist/${idbKeyvalFile}`)
165-
const idbKeyvalDest = `public/${idbKeyvalFile}`
165+
const idbKeyvalPackageJson = require(`idb-keyval/package.json`)
166+
const idbKeyValVersioned = `idb-keyval-${idbKeyvalPackageJson.version}-iife.min.js`
167+
const idbKeyvalDest = `public/${idbKeyValVersioned}`
166168
fs.createReadStream(idbKeyvalSource).pipe(fs.createWriteStream(idbKeyvalDest))
167169

168170
const swDest = `public/sw.js`
@@ -183,6 +185,7 @@ exports.onPostBuild = (
183185

184186
const swAppend = fs
185187
.readFileSync(`${__dirname}/sw-append.js`, `utf8`)
188+
.replace(/%idbKeyValVersioned%/g, idbKeyValVersioned)
186189
.replace(/%pathPrefix%/g, pathPrefix)
187190
.replace(/%appFile%/g, appFile)
188191

packages/gatsby-plugin-offline/src/sw-append.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
/* global importScripts, workbox, idbKeyval */
2-
3-
importScripts(`idb-keyval-iife.min.js`)
2+
importScripts(`%idbKeyValVersioned%`)
43

54
const { NavigationRoute } = workbox.routing
65

0 commit comments

Comments
 (0)