36 lines
1.5 KiB
TypeScript
36 lines
1.5 KiB
TypeScript
import * as ts from 'typescript';
|
|
import { RuleFailure } from 'tslint';
|
|
import { CancellationToken } from './CancellationToken';
|
|
import { NormalizedMessage } from './NormalizedMessage';
|
|
import { ResolveTypeReferenceDirective, ResolveModuleName } from './resolution';
|
|
import { createEslinter } from './createEslinter';
|
|
import { VueOptions } from './types/vue-options';
|
|
export interface IncrementalCheckerInterface {
|
|
nextIteration(): void;
|
|
getDiagnostics(cancellationToken: CancellationToken): Promise<NormalizedMessage[]>;
|
|
hasLinter(): boolean;
|
|
getLints(cancellationToken: CancellationToken): NormalizedMessage[];
|
|
hasEsLinter(): boolean;
|
|
getEsLints(cancellationToken: CancellationToken): NormalizedMessage[];
|
|
}
|
|
export interface ApiIncrementalCheckerParams {
|
|
typescript: typeof ts;
|
|
context: string;
|
|
programConfigFile: string;
|
|
compilerOptions: ts.CompilerOptions;
|
|
createNormalizedMessageFromDiagnostic: (diagnostic: ts.Diagnostic) => NormalizedMessage;
|
|
linterConfigFile: string | boolean;
|
|
linterAutoFix: boolean;
|
|
createNormalizedMessageFromRuleFailure: (ruleFailure: RuleFailure) => NormalizedMessage;
|
|
eslinter: ReturnType<typeof createEslinter> | undefined;
|
|
checkSyntacticErrors: boolean;
|
|
resolveModuleName: ResolveModuleName | undefined;
|
|
resolveTypeReferenceDirective: ResolveTypeReferenceDirective | undefined;
|
|
vue: VueOptions;
|
|
}
|
|
export interface IncrementalCheckerParams extends ApiIncrementalCheckerParams {
|
|
watchPaths: string[];
|
|
workNumber: number;
|
|
workDivision: number;
|
|
}
|