UNPKG

prettylint

Version:
51 lines (50 loc) 1.59 kB
import { diagnose } from "./diagnose.js"; export function lint(result) { const nodeType = "Unknown"; const ruleId = "prettier/prettier"; if (result.type === "success") { const { input, output } = result; const diagnostics = diagnose(input, output); const messages = diagnostics.map(({ message, start: { line, column } }) => ({ ruleId, severity: 1 /* LintSeverity.Warning */, line, column, message, nodeType, })); return { filePath: result.filename, source: input, ...(messages.length === 0 ? {} : { output }), messages, errorCount: 0, warningCount: messages.length, }; } const { input, error } = result; const message = { ruleId, severity: 2 /* LintSeverity.Error */, nodeType, ...(error.loc ? // SyntaxError from parser in prettier { line: error.loc.start.line, column: error.loc.start.column, message: error.message.split("\n", 1)[0], // cut the code-frame } /* c8 ignore start */ : { line: 0, column: 0, message: typeof error?.message === "string" ? error.message : error, }) /* c8 ignore stop */, }; return { filePath: result.filename, source: input, messages: [message], errorCount: 1, warningCount: 0, }; }