UNPKG

734 BPlain TextView Raw
1import * as path from 'path'
2import { CLIEngine } from 'eslint'
3import * as glob from 'glob'
4
5export default function ({ projectConfig }) {
6 const appPath = process.cwd()
7 const globPattern = glob.sync(path.join(appPath, '.eslintrc*'))
8
9 const eslintCli = new CLIEngine({
10 cwd: process.cwd(),
11 useEslintrc: Boolean(globPattern.length),
12 baseConfig: {
13 extends: [`taro/${projectConfig.framework}`]
14 }
15 })
16
17 const sourceFiles = path.join(process.cwd(), projectConfig.sourceRoot, '**/*.{js,ts,jsx,tsx}')
18 const report = eslintCli.executeOnFiles([sourceFiles])
19 const formatter = eslintCli.getFormatter()
20
21 return {
22 desc: '检查 ESLint (以下为 ESLint 的输出)',
23 raw: formatter(report.results)
24 }
25}