md-generator
Version:
NPM Package which bootstraps Development by creating all required .md files to meet community standards.
71 lines (70 loc) • 3.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var inquirer_1 = tslib_1.__importDefault(require("inquirer"));
var fs_1 = tslib_1.__importDefault(require("fs"));
var actionsUtils_1 = require("../actionsUtils");
var index_1 = require("../../questions/setupQuestions/index");
var index_2 = require("../../../common/index");
exports.deleteFromCodebase = function (filesArray, allFiles) {
filesArray.forEach(function (file) {
var path = allFiles[file].path;
fs_1.default.unlink(path, function (err) {
if (err)
index_2.log("Could not delete " + file);
});
});
index_2.useBox('File(s) removed successfully \nThanks for using md-generator');
};
exports.deleteFiles = function (validFilesArray, allFiles) {
if (validFilesArray.length === 0) {
return index_2.log('Error: No file selected, Please select a file\n');
}
inquirer_1.default
.prompt(index_1.validateRemove(index_2.castElementsToFormatedString(validFilesArray)))
.then(function (answer) {
var removeFiles = answer.removeFiles;
if (removeFiles) {
exports.deleteFromCodebase(validFilesArray, allFiles);
}
});
};
var processRemoval = function (selectedFiles, filesInfo, mode) {
if (selectedFiles.length === 0) {
return index_2.log('Error: .md file(s) not found in the codebase\n');
}
inquirer_1.default.prompt(mode(selectedFiles)).then(function (answer) {
var selectedFiles = actionsUtils_1.removeDotMdAttribute(answer.removeFiles);
exports.deleteFiles(selectedFiles, filesInfo);
});
};
var removeNonSpecific = function () {
processRemoval(actionsUtils_1.allExistingFiles(), actionsUtils_1.allFiles, index_1.removeFiles);
};
exports.removeSpecificFiles = function (values) {
var _a = actionsUtils_1.queryFilesExistence(values), foundFiles = _a.foundFiles, filesNotFound = _a.filesNotFound;
if (filesNotFound.length > 0) {
var filesList = index_2.castElementsToFormatedString(filesNotFound);
index_2.log('The following file(s) were not found :\n', filesList + " \n");
}
if (foundFiles.length > 0) {
exports.deleteFiles(foundFiles, actionsUtils_1.allFiles);
}
};
var removeRequiredFiles = function () {
processRemoval(actionsUtils_1.allExistingFiles(actionsUtils_1.requiredFiles), actionsUtils_1.requiredFiles, index_1.removeRequired);
};
var removeOptionalFiles = function () {
processRemoval(actionsUtils_1.allExistingFiles(actionsUtils_1.optionalFiles), actionsUtils_1.optionalFiles, index_1.removeOptional);
};
var removeHandler = function (values) {
var file = values.file, required = values.required, optional = values.optional, resp = values.resp;
if (required)
return removeRequiredFiles();
if (optional)
return removeOptionalFiles();
if (file)
return exports.removeSpecificFiles(resp);
removeNonSpecific();
};
exports.default = removeHandler;