mirror of
https://github.com/ant-design/ant-design.git
synced 2024-11-24 11:10:01 +08:00
chore: add pre-publish commit check (#16134)
* add prepublish check * update check logic * add version check
This commit is contained in:
parent
21c0ba5bbd
commit
3a11402042
@ -116,7 +116,7 @@
|
|||||||
"bisheng-plugin-description": "^0.1.4",
|
"bisheng-plugin-description": "^0.1.4",
|
||||||
"bisheng-plugin-react": "^1.0.0",
|
"bisheng-plugin-react": "^1.0.0",
|
||||||
"bisheng-plugin-toc": "^0.4.4",
|
"bisheng-plugin-toc": "^0.4.4",
|
||||||
"chalk": "^2.4.1",
|
"chalk": "^2.4.2",
|
||||||
"commander": "^2.18.0",
|
"commander": "^2.18.0",
|
||||||
"cross-env": "^5.2.0",
|
"cross-env": "^5.2.0",
|
||||||
"css-split-webpack-plugin": "^0.2.6",
|
"css-split-webpack-plugin": "^0.2.6",
|
||||||
@ -149,6 +149,7 @@
|
|||||||
"lz-string": "^1.4.4",
|
"lz-string": "^1.4.4",
|
||||||
"majo": "^0.7.1",
|
"majo": "^0.7.1",
|
||||||
"mockdate": "^2.0.2",
|
"mockdate": "^2.0.2",
|
||||||
|
"node-fetch": "^2.3.0",
|
||||||
"pre-commit": "^1.2.2",
|
"pre-commit": "^1.2.2",
|
||||||
"preact": "^8.3.1",
|
"preact": "^8.3.1",
|
||||||
"preact-compat": "^3.18.4",
|
"preact-compat": "^3.18.4",
|
||||||
@ -183,6 +184,7 @@
|
|||||||
"reqwest": "^2.0.5",
|
"reqwest": "^2.0.5",
|
||||||
"rimraf": "^2.6.2",
|
"rimraf": "^2.6.2",
|
||||||
"scrollama": "^2.0.0",
|
"scrollama": "^2.0.0",
|
||||||
|
"simple-git": "^1.110.0",
|
||||||
"stylelint": "^10.0.0",
|
"stylelint": "^10.0.0",
|
||||||
"stylelint-config-prettier": "^5.0.0",
|
"stylelint-config-prettier": "^5.0.0",
|
||||||
"stylelint-config-rational-order": "^0.1.0",
|
"stylelint-config-rational-order": "^0.1.0",
|
||||||
@ -198,6 +200,7 @@
|
|||||||
"test": "jest --config .jest.js --no-cache",
|
"test": "jest --config .jest.js --no-cache",
|
||||||
"test-node": "jest --config .jest.node.js --no-cache",
|
"test-node": "jest --config .jest.node.js --no-cache",
|
||||||
"test-all": "./scripts/test-all.sh",
|
"test-all": "./scripts/test-all.sh",
|
||||||
|
"check-commit": "node ./scripts/check-commit.js",
|
||||||
"lint": "npm run lint:ts && npm run lint:es && npm run lint:demo && npm run lint:style && npm run lint:deps",
|
"lint": "npm run lint:ts && npm run lint:es && npm run lint:demo && npm run lint:style && npm run lint:deps",
|
||||||
"lint:deps": "antd-tools run deps-lint",
|
"lint:deps": "antd-tools run deps-lint",
|
||||||
"lint:ts": "npm run tsc && antd-tools run ts-lint",
|
"lint:ts": "npm run tsc && antd-tools run ts-lint",
|
||||||
@ -222,7 +225,7 @@
|
|||||||
"deploy:china-mirror": "git checkout gh-pages && git pull origin gh-pages && git push git@gitee.com:ant-design/ant-design.git gh-pages",
|
"deploy:china-mirror": "git checkout gh-pages && git pull origin gh-pages && git push git@gitee.com:ant-design/ant-design.git gh-pages",
|
||||||
"pub": "antd-tools run pub",
|
"pub": "antd-tools run pub",
|
||||||
"prepublish": "antd-tools run guard",
|
"prepublish": "antd-tools run guard",
|
||||||
"pre-publish": "npm run test-all",
|
"pre-publish": "npm run check-commit && npm run test-all",
|
||||||
"authors": "git log --format='%aN <%aE>' | sort -u | grep -v 'users.noreply.github.com' | grep -v 'gitter.im' | grep -v '.local>' | grep -v 'alibaba-inc.com' | grep -v 'alipay.com' | grep -v 'taobao.com' > AUTHORS.txt",
|
"authors": "git log --format='%aN <%aE>' | sort -u | grep -v 'users.noreply.github.com' | grep -v 'gitter.im' | grep -v '.local>' | grep -v 'alibaba-inc.com' | grep -v 'alipay.com' | grep -v 'taobao.com' > AUTHORS.txt",
|
||||||
"lint-staged": "lint-staged",
|
"lint-staged": "lint-staged",
|
||||||
"lint-staged:ts": "tsc && node node_modules/tslint/bin/tslint",
|
"lint-staged:ts": "tsc && node node_modules/tslint/bin/tslint",
|
||||||
|
47
scripts/check-commit.js
Executable file
47
scripts/check-commit.js
Executable file
@ -0,0 +1,47 @@
|
|||||||
|
/* eslint-disable import/no-dynamic-require */
|
||||||
|
const chalk = require('chalk');
|
||||||
|
const path = require('path');
|
||||||
|
const fetch = require('node-fetch');
|
||||||
|
const simpleGit = require('simple-git/promise');
|
||||||
|
|
||||||
|
const cwd = process.cwd();
|
||||||
|
const git = simpleGit(cwd);
|
||||||
|
|
||||||
|
const { version } = require(path.resolve(cwd, 'package.json'));
|
||||||
|
|
||||||
|
function exitProcess(code = 1) {
|
||||||
|
console.log(''); // Keep an empty line here to make looks good~
|
||||||
|
process.exit(code);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function checkCommit() {
|
||||||
|
const { current, files } = await git.status();
|
||||||
|
|
||||||
|
const { versions } = await fetch('http://registry.npmjs.org/antd').then(res => res.json());
|
||||||
|
if (version in versions) {
|
||||||
|
console.log(chalk.yellow('😈 Current version already exists. Forget update package.json?'));
|
||||||
|
console.log(chalk.cyan(' => Current:'), version);
|
||||||
|
exitProcess();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (current !== 'master') {
|
||||||
|
console.log(chalk.yellow('🤔 You are not in the master branch!'));
|
||||||
|
exitProcess();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (files.length) {
|
||||||
|
console.log(chalk.yellow('🙄 You forgot something to commit.'));
|
||||||
|
files.forEach(({ path: filePath, working_dir: mark }) => {
|
||||||
|
console.log(' -', chalk.red(mark), filePath);
|
||||||
|
});
|
||||||
|
exitProcess();
|
||||||
|
}
|
||||||
|
|
||||||
|
const { remote } = await git.fetch('origin', 'master');
|
||||||
|
if (remote.indexOf('ant-design/ant-design') === -1 || true) {
|
||||||
|
console.log(chalk.yellow('😓 Your remote origin is not ant-design. Do you fork it?'));
|
||||||
|
exitProcess();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
checkCommit();
|
Loading…
Reference in New Issue
Block a user