added dynamic sw cache name that changes on compile

This commit is contained in:
Miodec 2022-01-15 20:34:42 +01:00
parent e3642cb1e0
commit f64660174d
3 changed files with 86 additions and 6 deletions

View file

@ -9,6 +9,7 @@ const buffer = require("vinyl-buffer");
const vinylPaths = require("vinyl-paths");
const eslint = require("gulp-eslint");
var sass = require("gulp-sass")(require("dart-sass"));
const replace = require("gulp-replace");
// sass.compiler = require("dart-sass");
let eslintConfig = {
@ -259,9 +260,28 @@ task("clean", function () {
return src("./dist/", { allowEmpty: true }).pipe(vinylPaths(del));
});
task("updateSwCacheName", function () {
return src(["static/sw.js"])
.pipe(
replace(
/const staticCacheName = .*;/g,
`const staticCacheName = "sw-cache-${Date.now()}";`
)
)
.pipe(dest("./dist/"));
});
task(
"compile",
series("lint", "cat", "copy-modules", "browserify", "static", "sass")
series(
"lint",
"cat",
"copy-modules",
"browserify",
"static",
"sass",
"updateSwCacheName"
)
);
task("watch", function () {

69
package-lock.json generated
View file

@ -2030,6 +2030,11 @@
"@types/node": "*"
}
},
"@types/expect": {
"version": "1.20.4",
"resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz",
"integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg=="
},
"@types/express": {
"version": "4.17.13",
"resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz",
@ -2121,6 +2126,15 @@
"@types/node": "*"
}
},
"@types/vinyl": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.6.tgz",
"integrity": "sha512-ayJ0iOCDNHnKpKTgBG6Q6JOnHTj9zFta+3j2b8Ejza0e4cvRyMn0ZoLEmbPrTHe5YYRlDYPvPWVdV4cTaRyH7g==",
"requires": {
"@types/expect": "^1.20.4",
"@types/node": "*"
}
},
"JSONStream": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
@ -2740,6 +2754,11 @@
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
},
"binaryextensions": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.3.0.tgz",
"integrity": "sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg=="
},
"bindings": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
@ -3843,8 +3862,7 @@
"decamelize": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
"dev": true
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
},
"decode-uri-component": {
"version": "0.2.0",
@ -4355,8 +4373,7 @@
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
},
"eslint": {
"version": "7.30.0",
@ -6739,6 +6756,25 @@
}
}
},
"gulp-replace": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/gulp-replace/-/gulp-replace-1.1.3.tgz",
"integrity": "sha512-HcPHpWY4XdF8zxYkDODHnG2+7a3nD/Y8Mfu3aBgMiCFDW3X2GiOKXllsAmILcxe3KZT2BXoN18WrpEFm48KfLQ==",
"requires": {
"@types/node": "^14.14.41",
"@types/vinyl": "^2.0.4",
"istextorbinary": "^3.0.0",
"replacestream": "^4.0.3",
"yargs-parser": ">=5.0.0-security.0"
},
"dependencies": {
"@types/node": {
"version": "14.18.5",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.5.tgz",
"integrity": "sha512-LMy+vDDcQR48EZdEx5wRX1q/sEl6NdGuHXPnfeL8ixkwCOSZ2qnIyIZmcCbdX0MeRqHhAcHmX+haCbrS8Run+A=="
}
}
},
"gulp-sass": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-5.0.0.tgz",
@ -7729,6 +7765,15 @@
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
"dev": true
},
"istextorbinary": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-3.3.0.tgz",
"integrity": "sha512-Tvq1W6NAcZeJ8op+Hq7tdZ434rqnMx4CCZ7H0ff83uEloDvVbqAwaMTZcafKGJT0VHkYzuXUiCY4hlXQg6WfoQ==",
"requires": {
"binaryextensions": "^2.2.0",
"textextensions": "^3.2.0"
}
},
"java-properties": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/java-properties/-/java-properties-1.0.2.tgz",
@ -10046,6 +10091,16 @@
"remove-trailing-separator": "^1.1.0"
}
},
"replacestream": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/replacestream/-/replacestream-4.0.3.tgz",
"integrity": "sha512-AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA==",
"requires": {
"escape-string-regexp": "^1.0.3",
"object-assign": "^4.0.1",
"readable-stream": "^2.0.2"
}
},
"require-at": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/require-at/-/require-at-1.0.6.tgz",
@ -11035,6 +11090,11 @@
"integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
"dev": true
},
"textextensions": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/textextensions/-/textextensions-3.3.0.tgz",
"integrity": "sha512-mk82dS8eRABNbeVJrEiN5/UMSCliINAuz8mkUwH4SwslkNP//gbEzlWNS5au0z5Dpx40SQxzqZevZkn+WYJ9Dw=="
},
"through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
@ -12102,7 +12162,6 @@
"version": "13.1.2",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
"integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
"dev": true,
"requires": {
"camelcase": "^5.0.0",
"decamelize": "^1.2.0"

View file

@ -59,6 +59,7 @@
"express": "^4.17.1",
"express-rate-limit": "^5.3.0",
"firebase-admin": "^9.11.0",
"gulp-replace": "^1.1.3",
"helmet": "^4.6.0",
"howler": "^2.2.1",
"moment-timezone": "^0.5.33",