+++ /dev/null
-import { TSESTree, ParserServices } from '../ts-estree';
-import { ParserOptions as TSParserOptions } from './ParserOptions';
-import { RuleCreateFunction, RuleFix, RuleModule } from './Rule';
-import { Scope } from './Scope';
-import { SourceCode } from './SourceCode';
-declare class LinterBase {
- /**
- * Initialize the Linter.
- * @param config the config object
- */
- constructor(config?: Linter.LinterOptions);
- /**
- * Define a new parser module
- * @param parserId Name of the parser
- * @param parserModule The parser object
- */
- defineParser(parserId: string, parserModule: Linter.ParserModule): void;
- /**
- * Defines a new linting rule.
- * @param ruleId A unique rule identifier
- * @param ruleModule Function from context to object mapping AST node types to event handlers
- */
- defineRule<TMessageIds extends string, TOptions extends readonly unknown[]>(ruleId: string, ruleModule: RuleModule<TMessageIds, TOptions> | RuleCreateFunction): void;
- /**
- * Defines many new linting rules.
- * @param rulesToDefine map from unique rule identifier to rule
- */
- defineRules<TMessageIds extends string, TOptions extends readonly unknown[]>(rulesToDefine: Record<string, RuleModule<TMessageIds, TOptions> | RuleCreateFunction>): void;
- /**
- * Gets an object with all loaded rules.
- * @returns All loaded rules
- */
- getRules(): Map<string, RuleModule<string, unknown[]>>;
- /**
- * Gets the `SourceCode` object representing the parsed source.
- * @returns The `SourceCode` object.
- */
- getSourceCode(): SourceCode;
- /**
- * Verifies the text against the rules specified by the second argument.
- * @param textOrSourceCode The text to parse or a SourceCode object.
- * @param config An ESLintConfig instance to configure everything.
- * @param filenameOrOptions The optional filename of the file being checked.
- * If this is not set, the filename will default to '<input>' in the rule context.
- * If this is an object, then it has "filename", "allowInlineConfig", and some properties.
- * @returns The results as an array of messages or an empty array if no messages.
- */
- verify(textOrSourceCode: SourceCode | string, config: Linter.Config, filenameOrOptions?: string | Linter.VerifyOptions): Linter.LintMessage[];
- /**
- * Performs multiple autofix passes over the text until as many fixes as possible have been applied.
- * @param text The source text to apply fixes to.
- * @param config The ESLint config object to use.
- * @param options The ESLint options object to use.
- * @returns The result of the fix operation as returned from the SourceCodeFixer.
- */
- verifyAndFix(code: string, config: Linter.Config, options: Linter.FixOptions): Linter.FixReport;
- /**
- * The version from package.json.
- */
- readonly version: string;
- /**
- * The version from package.json.
- */
- static readonly version: string;
-}
-declare namespace Linter {
- export interface LinterOptions {
- /**
- * path to a directory that should be considered as the current working directory.
- */
- cwd?: string;
- }
- export type Severity = 0 | 1 | 2;
- export type SeverityString = 'off' | 'warn' | 'error';
- export type RuleLevel = Severity | SeverityString;
- export type RuleLevelAndOptions = [RuleLevel, ...unknown[]];
- export type RuleEntry = RuleLevel | RuleLevelAndOptions;
- export type RulesRecord = Partial<Record<string, RuleEntry>>;
- interface BaseConfig {
- $schema?: string;
- /**
- * The environment settings.
- */
- env?: {
- [name: string]: boolean;
- };
- /**
- * The path to other config files or the package name of shareable configs.
- */
- extends?: string | string[];
- /**
- * The global variable settings.
- */
- globals?: {
- [name: string]: boolean;
- };
- /**
- * The flag that disables directive comments.
- */
- noInlineConfig?: boolean;
- /**
- * The override settings per kind of files.
- */
- overrides?: ConfigOverride[];
- /**
- * The path to a parser or the package name of a parser.
- */
- parser?: string;
- /**
- * The parser options.
- */
- parserOptions?: ParserOptions;
- /**
- * The plugin specifiers.
- */
- plugins?: string[];
- /**
- * The processor specifier.
- */
- processor?: string;
- /**
- * The flag to report unused `eslint-disable` comments.
- */
- reportUnusedDisableDirectives?: boolean;
- /**
- * The rule settings.
- */
- rules?: RulesRecord;
- /**
- * The shared settings.
- */
- settings?: {
- [name: string]: unknown;
- };
- }
- export interface ConfigOverride extends BaseConfig {
- excludedFiles?: string | string[];
- files: string | string[];
- }
- export interface Config extends BaseConfig {
- /**
- * The glob patterns that ignore to lint.
- */
- ignorePatterns?: string | string[];
- /**
- * The root flag.
- */
- root?: boolean;
- }
- export type ParserOptions = TSParserOptions;
- export interface VerifyOptions {
- /**
- * Allow/disallow inline comments' ability to change config once it is set. Defaults to true if not supplied.
- * Useful if you want to validate JS without comments overriding rules.
- */
- allowInlineConfig?: boolean;
- /**
- * if `true` then the linter doesn't make `fix` properties into the lint result.
- */
- disableFixes?: boolean;
- /**
- * the filename of the source code.
- */
- filename?: string;
- /**
- * the predicate function that selects adopt code blocks.
- */
- filterCodeBlock?: (filename: string, text: string) => boolean;
- /**
- * postprocessor for report messages.
- * If provided, this should accept an array of the message lists
- * for each code block returned from the preprocessor, apply a mapping to
- * the messages as appropriate, and return a one-dimensional array of
- * messages.
- */
- postprocess?: Processor['postprocess'];
- /**
- * preprocessor for source text.
- * If provided, this should accept a string of source text, and return an array of code blocks to lint.
- */
- preprocess?: Processor['preprocess'];
- /**
- * Adds reported errors for unused `eslint-disable` directives.
- */
- reportUnusedDisableDirectives?: boolean | SeverityString;
- }
- export interface FixOptions extends VerifyOptions {
- /**
- * Determines whether fixes should be applied.
- */
- fix?: boolean;
- }
- export interface LintSuggestion {
- desc: string;
- fix: RuleFix;
- messageId?: string;
- }
- export interface LintMessage {
- /**
- * The 1-based column number.
- */
- column: number;
- /**
- * The 1-based column number of the end location.
- */
- endColumn?: number;
- /**
- * The 1-based line number of the end location.
- */
- endLine?: number;
- /**
- * If `true` then this is a fatal error.
- */
- fatal?: true;
- /**
- * Information for autofix.
- */
- fix?: RuleFix;
- /**
- * The 1-based line number.
- */
- line: number;
- /**
- * The error message.
- */
- message: string;
- messageId?: string;
- nodeType: string;
- /**
- * The ID of the rule which makes this message.
- */
- ruleId: string | null;
- /**
- * The severity of this message.
- */
- severity: Severity;
- source: string | null;
- /**
- * Information for suggestions
- */
- suggestions?: LintSuggestion[];
- }
- export interface FixReport {
- /**
- * True, if the code was fixed
- */
- fixed: boolean;
- /**
- * Fixed code text (might be the same as input if no fixes were applied).
- */
- output: string;
- /**
- * Collection of all messages for the given code
- */
- messages: LintMessage[];
- }
- export type ParserModule = {
- parse(text: string, options?: ParserOptions): TSESTree.Program;
- } | {
- parseForESLint(text: string, options?: ParserOptions): ESLintParseResult;
- };
- export interface ESLintParseResult {
- ast: TSESTree.Program;
- parserServices?: ParserServices;
- scopeManager?: Scope.ScopeManager;
- visitorKeys?: SourceCode.VisitorKeys;
- }
- export interface Processor {
- /**
- * The function to extract code blocks.
- */
- preprocess?: (text: string, filename: string) => Array<string | {
- text: string;
- filename: string;
- }>;
- /**
- * The function to merge messages.
- */
- postprocess?: (messagesList: Linter.LintMessage[][], filename: string) => Linter.LintMessage[];
- /**
- * If `true` then it means the processor supports autofix.
- */
- supportsAutofix?: boolean;
- }
- export interface Environment {
- /**
- * The definition of global variables.
- */
- globals?: Record<string, Linter.Config>;
- /**
- * The parser options that will be enabled under this environment.
- */
- parserOptions?: ParserOptions;
- }
- export interface Plugin {
- /**
- * The definition of plugin configs.
- */
- configs?: Record<string, Linter.Config>;
- /**
- * The definition of plugin environments.
- */
- environments?: Record<string, Environment>;
- /**
- * The definition of plugin processors.
- */
- processors?: Record<string, Processor>;
- /**
- * The definition of plugin rules.
- */
- rules?: Record<string, RuleCreateFunction | RuleModule<string, unknown[]>>;
- }
- export {};
-}
-declare const Linter_base: typeof LinterBase;
-/**
- * The Linter object does the actual evaluation of the JavaScript code. It doesn't do any filesystem operations, it
- * simply parses and reports on the code. In particular, the Linter object does not process configuration objects
- * or files.
- */
-declare class Linter extends Linter_base {
-}
-export { Linter };
-//# sourceMappingURL=Linter.d.ts.map
\ No newline at end of file