用 husky pre-commit 和 pre-push 解决:
"husky": {
"hooks": {
"pre-push": "yarn lint && yarn test && exec < /dev/tty && yarn bump"
}
},
和纱线凹凸是一个脚本:
shelljs 和提示
const bumpPackages = (directory) => {
if (shell.cd(`packages/${directory}`).code !== 0) {
shell.echo('Error: Component does not exist');
shell.exit(1);
}
shell.exec('npm version patch --no-git-tag-version > /dev/null');
shell.exec('git add package.json');
shell.echo(`${directory} - version bumped succesfull`);
shell.cd('../../..');
};
循环和碰撞:
directories.forEach((element) => {
bumpPackages(element.value);
});
和示例目录:
module.exports = [
{ title: 'ComponentA', value: 'ComponentA' },
{ title: 'ComponentB', value: 'ComponentB' },
]