444 lines
12 KiB
TypeScript
444 lines
12 KiB
TypeScript
import { Linter } from '../index';
|
|
|
|
export interface ECMAScript6 extends Linter.RulesRecord {
|
|
/**
|
|
* Rule to require braces around arrow function bodies.
|
|
*
|
|
* @since 1.8.0
|
|
* @see https://eslint.org/docs/rules/arrow-body-style
|
|
*/
|
|
'arrow-body-style': Linter.RuleEntry<[
|
|
'as-needed',
|
|
Partial<{
|
|
/**
|
|
* @default false
|
|
*/
|
|
requireReturnForObjectLiteral: boolean;
|
|
}>
|
|
]> | Linter.RuleEntry<[
|
|
'always' | 'never'
|
|
]>;
|
|
|
|
/**
|
|
* Rule to require parentheses around arrow function arguments.
|
|
*
|
|
* @since 1.0.0-rc-1
|
|
* @see https://eslint.org/docs/rules/arrow-parens
|
|
*/
|
|
'arrow-parens': Linter.RuleEntry<[
|
|
'always'
|
|
]> | Linter.RuleEntry<[
|
|
'as-needed',
|
|
Partial<{
|
|
/**
|
|
* @default false
|
|
*/
|
|
requireForBlockBody: boolean;
|
|
}>
|
|
]>;
|
|
|
|
/**
|
|
* Rule to enforce consistent spacing before and after the arrow in arrow functions.
|
|
*
|
|
* @since 1.0.0-rc-1
|
|
* @see https://eslint.org/docs/rules/arrow-spacing
|
|
*/
|
|
'arrow-spacing': Linter.RuleEntry<[]>;
|
|
|
|
/**
|
|
* Rule to require `super()` calls in constructors.
|
|
*
|
|
* @remarks
|
|
* Recommended by ESLint, the rule was enabled in `eslint:recommended`.
|
|
*
|
|
* @since 0.24.0
|
|
* @see https://eslint.org/docs/rules/constructor-super
|
|
*/
|
|
'constructor-super': Linter.RuleEntry<[]>;
|
|
|
|
/**
|
|
* Rule to enforce consistent spacing around `*` operators in generator functions.
|
|
*
|
|
* @since 0.17.0
|
|
* @see https://eslint.org/docs/rules/generator-star-spacing
|
|
*/
|
|
'generator-star-spacing': Linter.RuleEntry<[
|
|
Partial<{
|
|
before: boolean;
|
|
after: boolean;
|
|
named: Partial<{
|
|
before: boolean;
|
|
after: boolean;
|
|
}> | 'before' | 'after' | 'both' | 'neither';
|
|
anonymous: Partial<{
|
|
before: boolean;
|
|
after: boolean;
|
|
}> | 'before' | 'after' | 'both' | 'neither';
|
|
method: Partial<{
|
|
before: boolean;
|
|
after: boolean;
|
|
}> | 'before' | 'after' | 'both' | 'neither';
|
|
}> | 'before' | 'after' | 'both' | 'neither'
|
|
]>;
|
|
|
|
/**
|
|
* Rule to disallow reassigning class members.
|
|
*
|
|
* @remarks
|
|
* Recommended by ESLint, the rule was enabled in `eslint:recommended`.
|
|
*
|
|
* @since 1.0.0-rc-1
|
|
* @see https://eslint.org/docs/rules/no-class-assign
|
|
*/
|
|
'no-class-assign': Linter.RuleEntry<[]>;
|
|
|
|
/**
|
|
* Rule to disallow arrow functions where they could be confused with comparisons.
|
|
*
|
|
* @since 2.0.0-alpha-2
|
|
* @see https://eslint.org/docs/rules/no-confusing-arrow
|
|
*/
|
|
'no-confusing-arrow': Linter.RuleEntry<[
|
|
Partial<{
|
|
/**
|
|
* @default true
|
|
*/
|
|
allowParens: boolean;
|
|
}>
|
|
]>;
|
|
|
|
/**
|
|
* Rule to disallow reassigning `const` variables.
|
|
*
|
|
* @remarks
|
|
* Recommended by ESLint, the rule was enabled in `eslint:recommended`.
|
|
*
|
|
* @since 1.0.0-rc-1
|
|
* @see https://eslint.org/docs/rules/no-const-assign
|
|
*/
|
|
'no-const-assign': Linter.RuleEntry<[]>;
|
|
|
|
/**
|
|
* Rule to disallow duplicate class members.
|
|
*
|
|
* @remarks
|
|
* Recommended by ESLint, the rule was enabled in `eslint:recommended`.
|
|
*
|
|
* @since 1.2.0
|
|
* @see https://eslint.org/docs/rules/no-dupe-class-members
|
|
*/
|
|
'no-dupe-class-members': Linter.RuleEntry<[]>;
|
|
|
|
/**
|
|
* Rule to disallow duplicate module imports.
|
|
*
|
|
* @since 2.5.0
|
|
* @see https://eslint.org/docs/rules/no-duplicate-import
|
|
*/
|
|
'no-duplicate-import': Linter.RuleEntry<[
|
|
Partial<{
|
|
/**
|
|
* @default false
|
|
*/
|
|
includeExports: boolean;
|
|
}>
|
|
]>;
|
|
|
|
/**
|
|
* Rule to disallow `new` operators with the `Symbol` object.
|
|
*
|
|
* @remarks
|
|
* Recommended by ESLint, the rule was enabled in `eslint:recommended`.
|
|
*
|
|
* @since 2.0.0-beta.1
|
|
* @see https://eslint.org/docs/rules/no-new-symbol
|
|
*/
|
|
'no-new-symbol': Linter.RuleEntry<[]>;
|
|
|
|
/**
|
|
* Rule to disallow specified modules when loaded by `import`.
|
|
*
|
|
* @since 2.0.0-alpha-1
|
|
* @see https://eslint.org/docs/rules/no-restricted-imports
|
|
*/
|
|
'no-restricted-imports': Linter.RuleEntry<[
|
|
...Array<string | {
|
|
name: string;
|
|
importNames?: string[];
|
|
message?: string;
|
|
} | Partial<{
|
|
paths: Array<string | {
|
|
name: string;
|
|
importNames?: string[];
|
|
message?: string;
|
|
}>;
|
|
patterns: string[];
|
|
}>>
|
|
]>;
|
|
|
|
/**
|
|
* Rule to disallow `this`/`super` before calling `super()` in constructors.
|
|
*
|
|
* @remarks
|
|
* Recommended by ESLint, the rule was enabled in `eslint:recommended`.
|
|
*
|
|
* @since 0.24.0
|
|
* @see https://eslint.org/docs/rules/no-this-before-super
|
|
*/
|
|
'no-this-before-super': Linter.RuleEntry<[]>;
|
|
|
|
/**
|
|
* Rule to disallow unnecessary computed property keys in object literals.
|
|
*
|
|
* @since 2.9.0
|
|
* @see https://eslint.org/docs/rules/no-useless-computed-key
|
|
*/
|
|
'no-useless-computed-key': Linter.RuleEntry<[]>;
|
|
|
|
/**
|
|
* Rule to disallow unnecessary constructors.
|
|
*
|
|
* @since 2.0.0-beta.1
|
|
* @see https://eslint.org/docs/rules/no-useless-constructor
|
|
*/
|
|
'no-useless-constructor': Linter.RuleEntry<[]>;
|
|
|
|
/**
|
|
* Rule to disallow renaming import, export, and destructured assignments to the same name.
|
|
*
|
|
* @since 2.11.0
|
|
* @see https://eslint.org/docs/rules/no-useless-rename
|
|
*/
|
|
'no-useless-rename': Linter.RuleEntry<[
|
|
Partial<{
|
|
/**
|
|
* @default false
|
|
*/
|
|
ignoreImport: boolean;
|
|
/**
|
|
* @default false
|
|
*/
|
|
ignoreExport: boolean;
|
|
/**
|
|
* @default false
|
|
*/
|
|
ignoreDestructuring: boolean;
|
|
}>
|
|
]>;
|
|
|
|
/**
|
|
* Rule to require `let` or `const` instead of `var`.
|
|
*
|
|
* @since 0.12.0
|
|
* @see https://eslint.org/docs/rules/no-var
|
|
*/
|
|
'no-var': Linter.RuleEntry<[]>;
|
|
|
|
/**
|
|
* Rule to require or disallow method and property shorthand syntax for object literals.
|
|
*
|
|
* @since 0.20.0
|
|
* @see https://eslint.org/docs/rules/object-shorthand
|
|
*/
|
|
'object-shorthand': Linter.RuleEntry<[
|
|
'always' | 'methods',
|
|
Partial<{
|
|
/**
|
|
* @default false
|
|
*/
|
|
avoidQuotes: boolean;
|
|
/**
|
|
* @default false
|
|
*/
|
|
ignoreConstructors: boolean;
|
|
/**
|
|
* @default false
|
|
*/
|
|
avoidExplicitReturnArrows: boolean;
|
|
}>
|
|
]> | Linter.RuleEntry<[
|
|
'properties',
|
|
Partial<{
|
|
/**
|
|
* @default false
|
|
*/
|
|
avoidQuotes: boolean;
|
|
}>
|
|
]> | Linter.RuleEntry<[
|
|
'never' | 'consistent' | 'consistent-as-needed'
|
|
]>;
|
|
|
|
/**
|
|
* Rule to require using arrow functions for callbacks.
|
|
*
|
|
* @since 1.2.0
|
|
* @see https://eslint.org/docs/rules/prefer-arrow-callback
|
|
*/
|
|
'prefer-arrow-callback': Linter.RuleEntry<[
|
|
Partial<{
|
|
/**
|
|
* @default false
|
|
*/
|
|
allowNamedFunctions: boolean;
|
|
/**
|
|
* @default true
|
|
*/
|
|
allowUnboundThis: boolean;
|
|
}>
|
|
]>;
|
|
|
|
/**
|
|
* Rule to require `const` declarations for variables that are never reassigned after declared.
|
|
*
|
|
* @since 0.23.0
|
|
* @see https://eslint.org/docs/rules/prefer-const
|
|
*/
|
|
'prefer-const': Linter.RuleEntry<[
|
|
Partial<{
|
|
/**
|
|
* @default 'any'
|
|
*/
|
|
destructuring: 'any' | 'all';
|
|
/**
|
|
* @default false
|
|
*/
|
|
ignoreReadBeforeAssign: boolean;
|
|
}>
|
|
]>;
|
|
|
|
/**
|
|
* Rule to require destructuring from arrays and/or objects.
|
|
*
|
|
* @since 3.13.0
|
|
* @see https://eslint.org/docs/rules/prefer-destructuring
|
|
*/
|
|
'prefer-destructuring': Linter.RuleEntry<[
|
|
Partial<{
|
|
VariableDeclarator: Partial<{
|
|
array: boolean;
|
|
object: boolean;
|
|
}>;
|
|
AssignmentExpression: Partial<{
|
|
array: boolean;
|
|
object: boolean;
|
|
}>;
|
|
} | {
|
|
array: boolean;
|
|
object: boolean;
|
|
}>,
|
|
Partial<{
|
|
enforceForRenamedProperties: boolean;
|
|
}>
|
|
]>;
|
|
|
|
/**
|
|
* Rule to disallow `parseInt()` and `Number.parseInt()` in favor of binary, octal, and hexadecimal literals.
|
|
*
|
|
* @since 3.5.0
|
|
* @see https://eslint.org/docs/rules/prefer-numeric-literals
|
|
*/
|
|
'prefer-numeric-literals': Linter.RuleEntry<[]>;
|
|
|
|
/**
|
|
* Rule to require rest parameters instead of `arguments`.
|
|
*
|
|
* @since 2.0.0-alpha-1
|
|
* @see https://eslint.org/docs/rules/prefer-rest-params
|
|
*/
|
|
'prefer-rest-params': Linter.RuleEntry<[]>;
|
|
|
|
/**
|
|
* Rule to require spread operators instead of `.apply()`.
|
|
*
|
|
* @since 1.0.0-rc-1
|
|
* @see https://eslint.org/docs/rules/prefer-spread
|
|
*/
|
|
'prefer-spread': Linter.RuleEntry<[]>;
|
|
|
|
/**
|
|
* Rule to require template literals instead of string concatenation.
|
|
*
|
|
* @since 1.2.0
|
|
* @see https://eslint.org/docs/rules/prefer-template
|
|
*/
|
|
'prefer-template': Linter.RuleEntry<[]>;
|
|
|
|
/**
|
|
* Rule to require generator functions to contain `yield`.
|
|
*
|
|
* @remarks
|
|
* Recommended by ESLint, the rule was enabled in `eslint:recommended`.
|
|
*
|
|
* @since 1.0.0-rc-1
|
|
* @see https://eslint.org/docs/rules/require-yield
|
|
*/
|
|
'require-yield': Linter.RuleEntry<[]>;
|
|
|
|
/**
|
|
* Rule to enforce spacing between rest and spread operators and their expressions.
|
|
*
|
|
* @since 2.12.0
|
|
* @see https://eslint.org/docs/rules/rest-spread-spacing
|
|
*/
|
|
'rest-spread-spacing': Linter.RuleEntry<[
|
|
'never' | 'always'
|
|
]>;
|
|
|
|
/**
|
|
* Rule to enforce sorted import declarations within modules.
|
|
*
|
|
* @since 2.0.0-beta.1
|
|
* @see https://eslint.org/docs/rules/sort-imports
|
|
*/
|
|
'sort-imports': Linter.RuleEntry<[
|
|
Partial<{
|
|
/**
|
|
* @default false
|
|
*/
|
|
ignoreCase: boolean;
|
|
/**
|
|
* @default false
|
|
*/
|
|
ignoreDeclarationSort: boolean;
|
|
/**
|
|
* @default false
|
|
*/
|
|
ignoreMemberSort: boolean;
|
|
/**
|
|
* @default ['none', 'all', 'multiple', 'single']
|
|
*/
|
|
memberSyntaxSortOrder: Array<'none' | 'all' | 'multiple' | 'single'>;
|
|
}>
|
|
]>;
|
|
|
|
/**
|
|
* Rule to require symbol descriptions.
|
|
*
|
|
* @since 3.4.0
|
|
* @see https://eslint.org/docs/rules/symbol-description
|
|
*/
|
|
'symbol-description': Linter.RuleEntry<[]>;
|
|
|
|
/**
|
|
* Rule to require or disallow spacing around embedded expressions of template strings.
|
|
*
|
|
* @since 2.0.0-rc.0
|
|
* @see https://eslint.org/docs/rules/template-curly-spacing
|
|
*/
|
|
'template-curly-spacing': Linter.RuleEntry<[
|
|
'never' | 'always'
|
|
]>;
|
|
|
|
/**
|
|
* Rule to require or disallow spacing around the `*` in `yield*` expressions.
|
|
*
|
|
* @since 2.0.0-alpha-1
|
|
* @see https://eslint.org/docs/rules/yield-star-spacing
|
|
*/
|
|
'yield-star-spacing': Linter.RuleEntry<[
|
|
Partial<{
|
|
before: boolean;
|
|
after: boolean;
|
|
}> | 'before' | 'after' | 'both' | 'neither'
|
|
]>;
|
|
}
|