in server/src/eslintServer.ts [1614:1643]
await withESLintClass(async (eslintClass) => {
codeActions.delete(uri);
const reportResults: ESLintDocumentReport[] = await eslintClass.lintText(content, { filePath: file, warnIgnored: settings.onIgnoredFiles !== ESLintSeverity.off });
RuleMetaData.capture(eslintClass, reportResults);
const diagnostics: Diagnostic[] = [];
if (reportResults && Array.isArray(reportResults) && reportResults.length > 0) {
const docReport = reportResults[0];
if (docReport.messages && Array.isArray(docReport.messages)) {
docReport.messages.forEach((problem) => {
if (problem) {
const [diagnostic, override] = makeDiagnostic(settings, problem);
if (!(override === RuleSeverity.off || (settings.quiet && diagnostic.severity === DiagnosticSeverity.Warning))) {
diagnostics.push(diagnostic);
}
if (fixTypes !== undefined && problem.ruleId !== undefined && problem.fix !== undefined) {
const type = RuleMetaData.getType(problem.ruleId);
if (type !== undefined && fixTypes.has(type)) {
recordCodeAction(document, diagnostic, problem);
}
} else {
recordCodeAction(document, diagnostic, problem);
}
}
});
}
}
if (publishDiagnostics) {
connection.sendDiagnostics({ uri, diagnostics });
}
}, settings);