release-checker
Version:
Check your release before publishing
52 lines (51 loc) • 1.82 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var read_package_json_1 = require("../../utils/read-package-json");
exports.packageJsonChecker = {
canRun: function () { return true; },
cliOption: '--package.json',
id: 'package-json-checker',
run: function () { return validate(); },
shortCliOption: '-p',
statusToDisplayWhileValidating: 'Checking that package.json file exists and is valid',
};
function validate() {
var validationsErrorsAndWarnings = [];
read_package_json_1.ensureThat('package.json')
.inDirectory(process.cwd())
.canBeRead()
.asString();
read_package_json_1.ensureThat('package.json')
.inDirectory(process.cwd())
.canBeRead()
.asJson();
var pkg = read_package_json_1.read('package.json')
.inDirectory(process.cwd())
.asJson();
if (pkg.name === undefined) {
validationsErrorsAndWarnings.push({
reason: 'package.json has no name defined',
severity: 'error',
});
}
if (pkg.version === undefined) {
validationsErrorsAndWarnings.push({
reason: 'package.json has no version defined',
severity: 'error',
});
}
warnOnPrepublishScript(validationsErrorsAndWarnings);
return validationsErrorsAndWarnings;
}
function warnOnPrepublishScript(validationErrorsAndWarnings) {
var currentFolder = process.cwd();
if (read_package_json_1.jsonPackage()
.inDirectory(currentFolder)
.hasScript('prepublish')) {
validationErrorsAndWarnings.push({
reason: 'Consider to rename the "prepublish" script in package.json to "prepublishOnly"',
severity: 'warning',
});
}
}
exports.warnOnPrepublishScript = warnOnPrepublishScript;