本文整理汇总了TypeScript中eslint.CLIEngine.executeOnFiles方法的典型用法代码示例。如果您正苦于以下问题:TypeScript CLIEngine.executeOnFiles方法的具体用法?TypeScript CLIEngine.executeOnFiles怎么用?TypeScript CLIEngine.executeOnFiles使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eslint.CLIEngine
的用法示例。
在下文中一共展示了CLIEngine.executeOnFiles方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: function
export default function () {
const eslintCli = new CLIEngine({
cwd: process.cwd(),
useEslintrc: false,
configFile: ESLINT_CONFIG_PATH
})
const sourceFiles = path.join(process.cwd(), projectConf.sourceRoot, '**/*.{js,ts,jsx,tsx}')
const report = eslintCli.executeOnFiles([sourceFiles])
const formatter = eslintCli.getFormatter()
return {
desc: '检查 ESLint (以下为 ESLint 的输出)',
raw: formatter(report.results)
}
}
示例2: eslintAsync
export async function eslintAsync(filePatterns = sourceFilePatterns) {
const stats: Stats = engine.executeOnFiles([filePatterns]);
const fixedFiles: string[] = [];
await Promise.all(
stats.results.map(async result => {
const wasFixed = result.output !== undefined;
if (wasFixed) {
fixedFiles.push(result.filePath);
await writeFileAsync(result.filePath, result.output);
}
})
);
const errorsCount = stats.errorCount;
const errorsOrEmpty = await Promise.all(stats.results.map(formatter));
const errors = errorsOrEmpty.filter(Boolean);
return { errors, errorsCount, fixedFiles };
}
示例3: warn
// No PR is too small to include a description of why you made a change
if (danger.github) {
if (danger.github.pr.body.length < 10) {
warn('Please include a description of your PR changes.')
}
}
const filesToCheck = danger.git.created_files.concat(danger.git.modified_files)
// ESLint
const cli = new CLIEngine({})
const eslintPattern = '*.{js,jsx,ts,tsx}'
const filesToLint = filesToCheck
.filter(path => minimatch(path, eslintPattern, { matchBase: true }))
.filter(path => !cli.isPathIgnored(path))
const report = cli.executeOnFiles(filesToLint)
report.results.forEach(result => {
const { filePath } = result
result.messages.forEach(msg => {
const { line, message, ruleId } = msg
const rule = ruleId || 'N/A'
const messageText = `${filePath} line ${line} – ${message} (${rule})`
if (msg.severity === 1) {
warn(messageText)
} else if (msg.severity === 2) {
fail(messageText)
}
})
})
// Prettier
示例4: require
import * as Path from 'path'
import chalk from 'chalk'
const { CLIEngine } = require('eslint')
const shouldFix = process.argv.indexOf('--fix') > -1
const eslint = new CLIEngine({
cache: true,
cwd: Path.dirname(__dirname),
fix: shouldFix,
rulePaths: [Path.join(__dirname, '..', 'eslint-rules')],
})
const report = eslint.executeOnFiles([
'./{script,eslint-rules}/**/*.{j,t}s?(x)',
'./tslint-rules/**/*.ts',
'./app/*.js',
'./app/{src,typings,test}/**/*.{j,t}s?(x)',
])
if (shouldFix) {
CLIEngine.outputFixes(report)
}
console.log(eslint.getFormatter()(report.results))
if (report.errorCount > 0) {
process.exitCode = 1
console.error(
chalk`{bold.green → To fix some of these errors, run {underline yarn eslint:fix}}`
)
}