const recursive = require("recursive-readdir"); const path = require("path"); const fs = require("fs"); const regexes = [ /assets\//, /\.(html|css|js|ico|json|mf)$/i ]; const dirToProcess = "dist/"; const targetFile = "dist/index.mf" recursive(dirToProcess, function (err, files) { // `files` is an array of file paths let filesToCache = []; files.forEach((file) => { const found = regexes.some((r) => r.test(file)); if (found) { filesToCache.push(file.slice(dirToProcess.length)); } }); filesToCache.sort((a, b) => { return a.length - b.length; }); filesToCache.unshift("CACHE MANIFEST"); const randomStr = "#" + Math.random().toString().substring(2); filesToCache.push(randomStr); filesToCache.push("NETWORK:"); filesToCache.push("*"); const cacheManifest = filesToCache.join('\r\n'); console.log(cacheManifest); fs.writeFileSync(targetFile, cacheManifest); });
npm i --save recursive-readdir
130500cookie-checkScript Generate Cache Manifest