UNPKG

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
"use strict"; 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;