Showing
2 changed files
with
25 additions
and
1 deletions
lint.js
0 → 100644
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": { |
-
Please register or login to post a comment