const fs = require('fs');
let original = fs.readFileSync("./sw.src.js").toString();

let fileList = [
    "/app/",
    "/-/demo",
    "https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css",
    "https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js",
    "/assets/logo/logo.png",
    "/assets/icons/right.svg"
];
function files(dir, sdir) {
    for (let file of fs.readdirSync(dir)) {
        if (file.startsWith(".")) continue;

        if (fs.lstatSync(dir + "/" + file).isDirectory()) {
            files(dir + "/" + file, sdir + "/" + file);
        } else {
            if (sdir + "/" + file !== "/app/build.js" && sdir + "/" + file !== "/app/fronters/dl.js" && sdir + "/" + file !== "/app/sw.src.js" && !file.endsWith(".php")) {
                fileList.push(sdir + "/" + file);
            }
        }
    }
}

files(".", "/app");
console.log(JSON.stringify(fileList, null, 2));
let fileList1 = fileList;

fileList = [];
files("../assets/uploads", "/assets/uploads");
console.log(JSON.stringify(fileList, null, 2));
let fileList2 = fileList;

original = original.replace('[["%CacheData%"]]', JSON.stringify([...fileList1, ...fileList2], null, 4));

fs.writeFileSync("./sw.js", fs.readFileSync("./localforage.js") + "\n\n" + original);