Authored by 毕凯

修改校验

  1 +const shelljs = require('shelljs');
  2 +
  3 +const changeFiles = {
  4 + js: shelljs.exec('git diff --cached --name-only --diff-filter=ACM | grep .js$').stdout,
  5 + css: shelljs.exec('git diff --cached --name-only --diff-filter=ACM | grep .css$').stdout
  6 +};
  7 +const lintResult = {
  8 + js: {},
  9 + css: {}
  10 +};
  11 +
  12 +const ext = process.platform === 'win32' ? '.cmd' : ''; // Windows 平台需要加后缀
  13 +
  14 +if (changeFiles.js) {
  15 + lintResult.js = shelljs.exec(`node_modules/.bin/eslint${ext} -c .eslintrc --cache --fix ${changeFiles.js}`);
  16 +}
  17 +
  18 +if (changeFiles.css) {
  19 + lintResult.css = shelljs.exec(`node_modules/.bin/stylelint${ext} --config .stylelintrc ${changeFiles.css}`);
  20 +}
  21 +
  22 +if (lintResult.js.code || lintResult.css.code) {
  23 + process.exit(lintResult.js.code || lintResult.css.code); // eslint-disable-line
  24 +}
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 "debug": "DEBUG=\"express:*\" node app.js", 14 "debug": "DEBUG=\"express:*\" node app.js",
15 "lint-js": "node_modules/.bin/eslint -c .eslintrc --cache --fix `git diff --cached --name-only --diff-filter=ACM | grep .js$` app.js", 15 "lint-js": "node_modules/.bin/eslint -c .eslintrc --cache --fix `git diff --cached --name-only --diff-filter=ACM | grep .js$` app.js",
16 "lint-css": "node_modules/.bin/stylelint --config .stylelintrc `git diff --cached --name-only --diff-filter=ACM | grep .css$`", 16 "lint-css": "node_modules/.bin/stylelint --config .stylelintrc `git diff --cached --name-only --diff-filter=ACM | grep .css$`",
17 - "precommit": "npm run lint-js && npm run lint-css" 17 + "precommit": "node lint.js"
18 }, 18 },
19 "license": "MIT", 19 "license": "MIT",
20 "dependencies": { 20 "dependencies": {