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
JavaScript
;
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;