in server/src/eslintServer.ts [456:479]
export function capture(eslint: ESLintClass, reports: ESLintDocumentReport[]): void {
let rulesMetaData: Record<string, RuleMetaData> | undefined;
if (eslint.isCLIEngine) {
const toHandle = reports.filter(report => !handled.has(report.filePath));
if (toHandle.length === 0) {
return;
}
rulesMetaData = typeof eslint.getRulesMetaForResults === 'function' ? eslint.getRulesMetaForResults(toHandle) : undefined;
toHandle.forEach(report => handled.add(report.filePath));
} else {
rulesMetaData = typeof eslint.getRulesMetaForResults === 'function' ? eslint.getRulesMetaForResults(reports) : undefined;
}
if (rulesMetaData === undefined) {
return undefined;
}
Object.entries(rulesMetaData).forEach(([key, meta]) => {
if (ruleId2Meta.has(key)) {
return;
}
if (meta && meta.docs && Is.string(meta.docs.url)) {
ruleId2Meta.set(key, meta);
}
});
}