@process-engine/ci_tools
Version:
CI tools for process-engine.io
42 lines • 1.67 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.printHelp = exports.getShortDoc = exports.run = void 0;
const fs_1 = require("fs");
const chalk = require("chalk");
const COMMAND_NAME = 'fail-on-pre-version-dependencies';
const BADGE = `[${COMMAND_NAME}]\t`;
const DOC = `
Fails if there are any dependencies containing pre-versions in \`package.json\`.
`;
// DOC: see above
async function run(...args) {
const content = (0, fs_1.readFileSync)('package.json').toString();
const json = JSON.parse(content);
const dependencies = Object.assign({}, json.dependencies, json.devDependencies);
const dependenciesWithPreVersions = Object.keys(dependencies).filter((packageName) => {
const version = dependencies[packageName];
const isPreVersionOrDistTag = version.indexOf('-') !== -1 || version.indexOf('~') > 0;
return isPreVersionOrDistTag;
});
if (dependenciesWithPreVersions.length > 0) {
console.error(chalk.red(`${BADGE}Found dependencies with pre-version requirements:`));
console.error(chalk.red(`${BADGE}`));
dependenciesWithPreVersions.forEach((packageName) => {
console.error(chalk.red(`${BADGE} - ${packageName}@${dependencies[packageName]}`));
});
process.exit(1);
}
return true;
}
exports.run = run;
function getShortDoc() {
return DOC.trim().split('\n')[0];
}
exports.getShortDoc = getShortDoc;
function printHelp() {
console.log(`Usage: ci_tools ${COMMAND_NAME}`);
console.log('');
console.log(DOC.trim());
}
exports.printHelp = printHelp;
//# sourceMappingURL=fail-on-pre-version-dependencies.js.map
;