UNPKG

md-generator

Version:

NPM Package which bootstraps Development by creating all required .md files to meet community standards.

78 lines (77 loc) 2.85 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var load_json_file_1 = tslib_1.__importDefault(require("load-json-file")); var path_1 = tslib_1.__importDefault(require("path")); var git_repo_name_1 = tslib_1.__importDefault(require("git-repo-name")); var child_process_1 = require("child_process"); var getPackageJsonName = function (packageJson) { if (packageJson === void 0) { packageJson = {}; } return packageJson.name || undefined; }; var getGitRepositoryName = function (cwd) { try { return git_repo_name_1.default.sync({ cwd: cwd }); } catch (err) { return undefined; } }; exports.getGitRepositoryName = getGitRepositoryName; var getProjectName = function (packageJson) { var cwd = process.cwd(); return (getPackageJsonName(packageJson) || getGitRepositoryName(cwd) || path_1.default.basename(cwd)); }; exports.getProjectName = getProjectName; var getPackageJson = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { var err_1; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); return [4, load_json_file_1.default('package.json')]; case 1: return [2, _a.sent()]; case 2: err_1 = _a.sent(); return [2, undefined]; case 3: return [2]; } }); }); }; exports.getPackageJson = getPackageJson; var isProjectAvailableOnNpm = function (projectName) { try { child_process_1.execSync("npm view " + projectName, { stdio: 'ignore' }); return true; } catch (err) { return false; } }; exports.isProjectAvailableOnNpm = isProjectAvailableOnNpm; var getDefaultAnswer = function (question, answersContext) { if (question.when && !question.when(answersContext)) return undefined; switch (question.type) { case 'input': return question.default || ''; case 'checkbox': return question.choices .filter(function (choice) { return choice.checked; }) .map(function (choice) { return choice.value; }); default: return undefined; } }; exports.getDefaultAnswer = getDefaultAnswer; var getDefaultAnswers = function (questions) { return questions.reduce(function (answersContext, question) { var _a; return (tslib_1.__assign(tslib_1.__assign({}, answersContext), (_a = {}, _a[question.name] = getDefaultAnswer(question, answersContext), _a))); }, {}); }; exports.getDefaultAnswers = getDefaultAnswers; var cleanSocialNetworkUsername = function (input) { return input.replace(/^@/, ''); }; exports.cleanSocialNetworkUsername = cleanSocialNetworkUsername;