UNPKG

@kiwigdc/kiwilaunch

Version:
39 lines (38 loc) 1.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FileDeleter = void 0; const path = require("path"); const fs = require("fs"); const __1 = require(".."); const RecursiveFolderFile_1 = require("../Utils/RecursiveFolderFile"); class FileDeleter { constructor(dir, excludesFiles = undefined, vanillaManifest, forgeManifest) { this.dir = dir; this.excludesFiles = excludesFiles; this.vanillaManifest = vanillaManifest; this.forgeManifest = forgeManifest; } start() { if (this.vanillaManifest.getAllFiles() == undefined) { throw new Error("Updater not : Not defined!"); } var filesVerif = this.vanillaManifest.getAllFiles(); // KEEP LOGS AND USER EXCLUDES FILES var excludesFilesDefault = [this.dir.getNativesDirectory(), path.join(this.dir.getGameDirectory(), "logs")].concat(this.excludesFiles); // KEEP INDEXES ALL INDEXES ^^ excludesFilesDefault = excludesFilesDefault.concat(RecursiveFolderFile_1.RecursiveFolderFile.getAllFiles(path.join(this.dir.getGameDirectory(), "assets", "indexes"))); if (this.forgeManifest != undefined) { filesVerif = filesVerif.concat(this.forgeManifest.getAllFiles()); excludesFilesDefault.push(path.join(this.dir.getGameDirectory(), "version.json")); } const files = RecursiveFolderFile_1.RecursiveFolderFile.getAllFiles(this.dir.getGameDirectory(), [], undefined, excludesFilesDefault); const fileDeleter = files.filter(x => !filesVerif.includes(x)); fileDeleter.forEach(x => { __1.Logger.getLogger().print("Deleting... " + __1.TextColor.GREEN + x); fs.rmSync(x); }); __1.Logger.getLogger().print("File deleter : " + __1.TextColor.RED + fileDeleter.length + __1.TextFormat.RESET); return fileDeleter; } } exports.FileDeleter = FileDeleter;