@kiwigdc/kiwilaunch
Version:
Launch minecraft client
39 lines (38 loc) • 1.97 kB
JavaScript
;
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;