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", ] >; }