UNPKG

1 kBJavaScriptView Raw
1const program = require('commander')
2const { CLIEngine } = require('eslint')
3
4const { logSuccess } = require('../lib/log')
5const tofurc = require('../lib/get-config')()
6
7program
8 .option('-f, --fix', '自动修复')
9 .option('-q, --quiet', '安静地校验')
10 .parse(process.argv)
11
12let rules = require('../webpack/rules')
13if (tofurc && tofurc.rules) {
14 rules = Object.assign({}, rules, tofurc.rules)
15}
16
17const linter = new CLIEngine({
18 fix: program.fix,
19 ignorePattern: [],
20 useEslintrc: false,
21 parser: 'babel-eslint',
22 parserOptions: {
23 sourceType: 'module'
24 },
25 cwd: process.cwd(),
26 env: ['browser'],
27 plugins: [
28 'html'
29 ],
30 rules
31})
32
33const report = linter.executeOnFiles(['src/**/*.js', 'src/**/*.vue'])
34CLIEngine.outputFixes(report)
35const formatter = require("eslint-friendly-formatter")
36
37console.log(formatter(report.results))
38
39if (report.errorCount) {
40 process.exit(1)
41} else if (!program.quiet) {
42 logSuccess('Perfect code!')
43}