export type LinterResult = { [file: string]: T }; export default interface Linter { /** * Name of the linter. Must be unique */ name: string; /** * Format the output for displaying to the user * @param results Linting results to format */ format(results: readonly T[]): Promise; /** * Lint files during the build command * @param files Files to lint */ lintBuild(files: string[]): Promise; /** * Lint files during the serve command * @param files Files to lint * @param output Call when results from linting are available */ lintServe(files: string[], output: (result: LinterResult) => void): void; }