UNPKG

@jimmy.codes/eslint-config

Version:

A simple, modern ESLint config that covers most use cases.

1,171 lines (1,169 loc) 659 kB
import { Linter } from "eslint"; //#region src/rules.gen.d.ts interface RuleOptions { /** * require a `eslint-enable` comment for every `eslint-disable` comment * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/disable-enable-pair.html */ '@eslint-community/eslint-comments/disable-enable-pair'?: Linter.RuleEntry<EslintCommunityEslintCommentsDisableEnablePair>; /** * disallow a `eslint-enable` comment for multiple `eslint-disable` comments * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-aggregating-enable.html */ '@eslint-community/eslint-comments/no-aggregating-enable'?: Linter.RuleEntry<[]>; /** * disallow duplicate `eslint-disable` comments * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-duplicate-disable.html */ '@eslint-community/eslint-comments/no-duplicate-disable'?: Linter.RuleEntry<[]>; /** * disallow `eslint-disable` comments about specific rules * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-restricted-disable.html */ '@eslint-community/eslint-comments/no-restricted-disable'?: Linter.RuleEntry<EslintCommunityEslintCommentsNoRestrictedDisable>; /** * disallow `eslint-disable` comments without rule names * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unlimited-disable.html */ '@eslint-community/eslint-comments/no-unlimited-disable'?: Linter.RuleEntry<[]>; /** * disallow unused `eslint-disable` comments * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unused-disable.html */ '@eslint-community/eslint-comments/no-unused-disable'?: Linter.RuleEntry<[]>; /** * disallow unused `eslint-enable` comments * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-unused-enable.html */ '@eslint-community/eslint-comments/no-unused-enable'?: Linter.RuleEntry<[]>; /** * disallow ESLint directive-comments * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/no-use.html */ '@eslint-community/eslint-comments/no-use'?: Linter.RuleEntry<EslintCommunityEslintCommentsNoUse>; /** * require include descriptions in ESLint directive-comments * @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/require-description.html */ '@eslint-community/eslint-comments/require-description'?: Linter.RuleEntry<EslintCommunityEslintCommentsRequireDescription>; /** * Disallow `dangerouslySetInnerHTML`. * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml */ '@eslint-react/dom/no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>; /** * Disallow `dangerouslySetInnerHTML` and `children` at the same time. * @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml-with-children */ '@eslint-react/dom/no-dangerously-set-innerhtml-with-children'?: Linter.RuleEntry<[]>; /** * Disallow `findDOMNode`. * @see https://eslint-react.xyz/docs/rules/dom-no-find-dom-node */ '@eslint-react/dom/no-find-dom-node'?: Linter.RuleEntry<[]>; /** * Disallow `flushSync`. * @see https://eslint-react.xyz/docs/rules/dom-no-flush-sync */ '@eslint-react/dom/no-flush-sync'?: Linter.RuleEntry<[]>; /** * Replaces usages of `ReactDom.hydrate()` with `hydrateRoot()`. * @see https://eslint-react.xyz/docs/rules/dom-no-hydrate */ '@eslint-react/dom/no-hydrate'?: Linter.RuleEntry<[]>; /** * Enforces explicit `type` attribute for `button` elements. * @see https://eslint-react.xyz/docs/rules/dom-no-missing-button-type */ '@eslint-react/dom/no-missing-button-type'?: Linter.RuleEntry<[]>; /** * Enforces explicit `sandbox` attribute for `iframe` elements. * @see https://eslint-react.xyz/docs/rules/dom-no-missing-iframe-sandbox */ '@eslint-react/dom/no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>; /** * Enforces the absence of a `namespace` in React elements. * @see https://eslint-react.xyz/docs/rules/dom-no-namespace */ '@eslint-react/dom/no-namespace'?: Linter.RuleEntry<[]>; /** * Replaces usages of `ReactDom.render()` with `createRoot(node).render()`. * @see https://eslint-react.xyz/docs/rules/dom-no-render */ '@eslint-react/dom/no-render'?: Linter.RuleEntry<[]>; /** * Disallow the return value of `ReactDOM.render`. * @see https://eslint-react.xyz/docs/rules/dom-no-render-return-value */ '@eslint-react/dom/no-render-return-value'?: Linter.RuleEntry<[]>; /** * Disallow `javascript:` URLs as attribute values. * @see https://eslint-react.xyz/docs/rules/dom-no-script-url */ '@eslint-react/dom/no-script-url'?: Linter.RuleEntry<[]>; /** * Disallows the use of string style prop. * @see https://eslint-react.xyz/docs/rules/dom-no-string-style-prop */ '@eslint-react/dom/no-string-style-prop'?: Linter.RuleEntry<[]>; /** * Disallow unknown `DOM` property. * @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property */ '@eslint-react/dom/no-unknown-property'?: Linter.RuleEntry<EslintReactDomNoUnknownProperty>; /** * Enforces `sandbox` attribute for `iframe` elements is not set to unsafe combinations. * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-iframe-sandbox */ '@eslint-react/dom/no-unsafe-iframe-sandbox'?: Linter.RuleEntry<[]>; /** * Disallow `target="_blank"` without `rel="noreferrer noopener"`. * @see https://eslint-react.xyz/docs/rules/dom-no-unsafe-target-blank */ '@eslint-react/dom/no-unsafe-target-blank'?: Linter.RuleEntry<[]>; /** * Replaces usages of `useFormState` with `useActionState`. * @see https://eslint-react.xyz/docs/rules/dom-no-use-form-state */ '@eslint-react/dom/no-use-form-state'?: Linter.RuleEntry<[]>; /** * Disallow `children` in void DOM elements. * @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children */ '@eslint-react/dom/no-void-elements-with-children'?: Linter.RuleEntry<[]>; /** * Disallow direct calls to the `set` function of `useState` in `useEffect`. * @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-effect */ '@eslint-react/hooks-extra/no-direct-set-state-in-use-effect'?: Linter.RuleEntry<[]>; /** * Enforces that the 'key' attribute is placed before the spread attribute in JSX elements. * @see https://eslint-react.xyz/docs/rules/jsx-key-before-spread */ '@eslint-react/jsx-key-before-spread'?: Linter.RuleEntry<[]>; /** * Prevents comments from being inserted as text nodes. * @see https://eslint-react.xyz/docs/rules/jsx-no-comment-textnodes */ '@eslint-react/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>; /** * Disallow duplicate props in JSX elements. * @see https://eslint-react.xyz/docs/rules/jsx-no-duplicate-props */ '@eslint-react/jsx-no-duplicate-props'?: Linter.RuleEntry<[]>; /** * Disallows 'IIFE' in JSX elements. * @see https://eslint-react.xyz/docs/rules/jsx-no-iife */ '@eslint-react/jsx-no-iife'?: Linter.RuleEntry<[]>; /** * Disallow undefined variables in JSX. * @see https://eslint-react.xyz/docs/rules/jsx-no-undef */ '@eslint-react/jsx-no-undef'?: Linter.RuleEntry<[]>; /** * Enforces shorthand syntax for boolean attributes. * @see https://eslint-react.xyz/docs/rules/jsx-shorthand-boolean */ '@eslint-react/jsx-shorthand-boolean'?: Linter.RuleEntry<EslintReactJsxShorthandBoolean>; /** * Enforces shorthand syntax for fragments. * @see https://eslint-react.xyz/docs/rules/jsx-shorthand-fragment */ '@eslint-react/jsx-shorthand-fragment'?: Linter.RuleEntry<EslintReactJsxShorthandFragment>; /** * Marks React variables as used when JSX is used. * @see https://eslint-react.xyz/docs/rules/jsx-uses-react */ '@eslint-react/jsx-uses-react'?: Linter.RuleEntry<[]>; /** * Marks variables used in JSX elements as used. * @see https://eslint-react.xyz/docs/rules/jsx-uses-vars */ '@eslint-react/jsx-uses-vars'?: Linter.RuleEntry<[]>; /** * Enforces naming conventions for components. * @see https://eslint-react.xyz/docs/rules/naming-convention-component-name */ '@eslint-react/naming-convention/component-name'?: Linter.RuleEntry<EslintReactNamingConventionComponentName>; /** * Enforces context name to be a valid component name with the suffix `Context`. * @see https://eslint-react.xyz/docs/rules/naming-convention-context-name */ '@eslint-react/naming-convention/context-name'?: Linter.RuleEntry<[]>; /** * Enforces consistent file naming conventions. * @see https://eslint-react.xyz/docs/rules/naming-convention-filename */ '@eslint-react/naming-convention/filename'?: Linter.RuleEntry<EslintReactNamingConventionFilename>; /** * Enforces consistent file naming conventions. * @see https://eslint-react.xyz/docs/rules/naming-convention-filename-extension */ '@eslint-react/naming-convention/filename-extension'?: Linter.RuleEntry<EslintReactNamingConventionFilenameExtension>; /** * Enforces destructuring and symmetric naming of `useState` hook value and setter. * @see https://eslint-react.xyz/docs/rules/naming-convention-use-state */ '@eslint-react/naming-convention/use-state'?: Linter.RuleEntry<[]>; /** * Disallow accessing `this.state` inside `setState` calls. * @see https://eslint-react.xyz/docs/rules/no-access-state-in-setstate */ '@eslint-react/no-access-state-in-setstate'?: Linter.RuleEntry<[]>; /** * Disallow an item's index in the array as its key. * @see https://eslint-react.xyz/docs/rules/no-array-index-key */ '@eslint-react/no-array-index-key'?: Linter.RuleEntry<[]>; /** * Disallow `Children.count`. * @see https://eslint-react.xyz/docs/rules/no-children-count */ '@eslint-react/no-children-count'?: Linter.RuleEntry<[]>; /** * Disallow 'Children.forEach'. * @see https://eslint-react.xyz/docs/rules/no-children-for-each */ '@eslint-react/no-children-for-each'?: Linter.RuleEntry<[]>; /** * Disallow `Children.map`. * @see https://eslint-react.xyz/docs/rules/no-children-map */ '@eslint-react/no-children-map'?: Linter.RuleEntry<[]>; /** * Disallow `Children.only`. * @see https://eslint-react.xyz/docs/rules/no-children-only */ '@eslint-react/no-children-only'?: Linter.RuleEntry<[]>; /** * Disallow passing `children` as a prop. * @see https://eslint-react.xyz/docs/rules/no-children-prop */ '@eslint-react/no-children-prop'?: Linter.RuleEntry<[]>; /** * Disallow `Children.toArray`. * @see https://eslint-react.xyz/docs/rules/no-children-to-array */ '@eslint-react/no-children-to-array'?: Linter.RuleEntry<[]>; /** * Disallow class components except for error boundaries. * @see https://eslint-react.xyz/docs/rules/no-class-component */ '@eslint-react/no-class-component'?: Linter.RuleEntry<[]>; /** * Disallow `cloneElement`. * @see https://eslint-react.xyz/docs/rules/no-clone-element */ '@eslint-react/no-clone-element'?: Linter.RuleEntry<[]>; /** * Replace usages of `componentWillMount` with `UNSAFE_componentWillMount`. * @see https://eslint-react.xyz/docs/rules/no-component-will-mount */ '@eslint-react/no-component-will-mount'?: Linter.RuleEntry<[]>; /** * Replace usages of `componentWillReceiveProps` with `UNSAFE_componentWillReceiveProps`. * @see https://eslint-react.xyz/docs/rules/no-component-will-receive-props */ '@eslint-react/no-component-will-receive-props'?: Linter.RuleEntry<[]>; /** * Replace usages of `componentWillUpdate` with `UNSAFE_componentWillUpdate`. * @see https://eslint-react.xyz/docs/rules/no-component-will-update */ '@eslint-react/no-component-will-update'?: Linter.RuleEntry<[]>; /** * Replace usages of `<Context.Provider>` with `<Context>`. * @see https://eslint-react.xyz/docs/rules/no-context-provider */ '@eslint-react/no-context-provider'?: Linter.RuleEntry<[]>; /** * Disallow `createRef` in function components. * @see https://eslint-react.xyz/docs/rules/no-create-ref */ '@eslint-react/no-create-ref'?: Linter.RuleEntry<[]>; /** * Disallow `defaultProps` property in favor of ES6 default parameters. * @see https://eslint-react.xyz/docs/rules/no-default-props */ '@eslint-react/no-default-props'?: Linter.RuleEntry<[]>; /** * Disallow direct mutation of `this.state`. * @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state */ '@eslint-react/no-direct-mutation-state'?: Linter.RuleEntry<[]>; /** * Disallow duplicate `key` on elements in the same array or a list of `children`. * @see https://eslint-react.xyz/docs/rules/no-duplicate-key */ '@eslint-react/no-duplicate-key'?: Linter.RuleEntry<[]>; /** * Disallow certain props on components. * @see https://eslint-react.xyz/docs/rules/no-forbidden-props */ '@eslint-react/no-forbidden-props'?: Linter.RuleEntry<EslintReactNoForbiddenProps>; /** * Replaces usages of `forwardRef` with passing `ref` as a prop. * @see https://eslint-react.xyz/docs/rules/no-forward-ref */ '@eslint-react/no-forward-ref'?: Linter.RuleEntry<[]>; /** * Prevents `key` from not being explicitly specified (e.g. spreading `key` from objects). * @see https://eslint-react.xyz/docs/rules/no-implicit-key */ '@eslint-react/no-implicit-key'?: Linter.RuleEntry<[]>; /** * Prevents problematic leaked values from being rendered. * @see https://eslint-react.xyz/docs/rules/no-leaked-conditional-rendering */ '@eslint-react/no-leaked-conditional-rendering'?: Linter.RuleEntry<[]>; /** * Enforces that all components have a `displayName` which can be used in devtools. * @see https://eslint-react.xyz/docs/rules/no-missing-component-display-name */ '@eslint-react/no-missing-component-display-name'?: Linter.RuleEntry<[]>; /** * Enforces that all contexts have a `displayName` which can be used in devtools. * @see https://eslint-react.xyz/docs/rules/no-missing-context-display-name */ '@eslint-react/no-missing-context-display-name'?: Linter.RuleEntry<[]>; /** * Disallow missing `key` on items in list rendering. * @see https://eslint-react.xyz/docs/rules/no-missing-key */ '@eslint-react/no-missing-key'?: Linter.RuleEntry<[]>; /** * Prevents incorrect usage of `captureOwnerStack`. * @see https://eslint-react.xyz/docs/rules/no-misused-capture-owner-stack */ '@eslint-react/no-misused-capture-owner-stack'?: Linter.RuleEntry<[]>; /** * Disallow nesting component definitions inside other components. * @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions */ '@eslint-react/no-nested-component-definitions'?: Linter.RuleEntry<[]>; /** * Disallow nesting lazy component declarations inside other components. * @see https://eslint-react.xyz/docs/rules/no-nested-lazy-component-declarations */ '@eslint-react/no-nested-lazy-component-declarations'?: Linter.RuleEntry<[]>; /** * Disallow `propTypes` in favor of TypeScript or another type-checking solution. * @see https://eslint-react.xyz/docs/rules/no-prop-types */ '@eslint-react/no-prop-types'?: Linter.RuleEntry<[]>; /** * Disallow `shouldComponentUpdate` when extending `React.PureComponent`. * @see https://eslint-react.xyz/docs/rules/no-redundant-should-component-update */ '@eslint-react/no-redundant-should-component-update'?: Linter.RuleEntry<[]>; /** * Disallow calling `this.setState` in `componentDidMount` outside of functions, such as callbacks. * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-mount */ '@eslint-react/no-set-state-in-component-did-mount'?: Linter.RuleEntry<[]>; /** * Disallow calling `this.setState` in `componentDidUpdate` outside of functions, such as callbacks. * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-did-update */ '@eslint-react/no-set-state-in-component-did-update'?: Linter.RuleEntry<[]>; /** * Disallows calling `this.setState` in `componentWillUpdate` outside of functions, such as callbacks. * @see https://eslint-react.xyz/docs/rules/no-set-state-in-component-will-update */ '@eslint-react/no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>; /** * Replaces string refs with callback refs. * @see https://eslint-react.xyz/docs/rules/no-string-refs */ '@eslint-react/no-string-refs'?: Linter.RuleEntry<[]>; /** * Prevents the use of unnecessary `key` props on JSX elements when rendering lists. * @see https://eslint-react.xyz/docs/rules/no-unnecessary-key */ '@eslint-react/no-unnecessary-key'?: Linter.RuleEntry<[]>; /** * Disallow unnecessary usage of `useCallback`. * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-callback */ '@eslint-react/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>; /** * Disallow unnecessary usage of `useMemo`. * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-memo */ '@eslint-react/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>; /** * Enforces that a function with the `use` prefix should use at least one Hook inside of it. * @see https://eslint-react.xyz/docs/rules/no-unnecessary-use-prefix */ '@eslint-react/no-unnecessary-use-prefix'?: Linter.RuleEntry<[]>; /** * Warns the usage of `UNSAFE_componentWillMount` in class components. * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-mount */ '@eslint-react/no-unsafe-component-will-mount'?: Linter.RuleEntry<[]>; /** * Warns the usage of `UNSAFE_componentWillReceiveProps` in class components. * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-receive-props */ '@eslint-react/no-unsafe-component-will-receive-props'?: Linter.RuleEntry<[]>; /** * Warns the usage of `UNSAFE_componentWillUpdate` in class components. * @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-update */ '@eslint-react/no-unsafe-component-will-update'?: Linter.RuleEntry<[]>; /** * Prevents non-stable values (i.e. object literals) from being used as a value for `Context.Provider`. * @see https://eslint-react.xyz/docs/rules/no-unstable-context-value */ '@eslint-react/no-unstable-context-value'?: Linter.RuleEntry<[]>; /** * Prevents using referential-type values as default props in object destructuring. * @see https://eslint-react.xyz/docs/rules/no-unstable-default-props */ '@eslint-react/no-unstable-default-props'?: Linter.RuleEntry<[]>; /** * Warns unused class component methods and properties. * @see https://eslint-react.xyz/docs/rules/no-unused-class-component-members */ '@eslint-react/no-unused-class-component-members'?: Linter.RuleEntry<[]>; /** * Warns about unused component prop declarations. * @see https://eslint-react.xyz/docs/rules/no-unused-props */ '@eslint-react/no-unused-props'?: Linter.RuleEntry<[]>; /** * Warns unused class component state. * @see https://eslint-react.xyz/docs/rules/no-unused-state */ '@eslint-react/no-unused-state'?: Linter.RuleEntry<[]>; /** * Replaces usages of `useContext` with `use`. * @see https://eslint-react.xyz/docs/rules/no-use-context */ '@eslint-react/no-use-context'?: Linter.RuleEntry<[]>; /** * Disallow useless `forwardRef` calls on components that don't use `ref`s. * @see https://eslint-react.xyz/docs/rules/no-useless-forward-ref */ '@eslint-react/no-useless-forward-ref'?: Linter.RuleEntry<[]>; /** * Disallow useless fragment elements. * @see https://eslint-react.xyz/docs/rules/no-useless-fragment */ '@eslint-react/no-useless-fragment'?: Linter.RuleEntry<EslintReactNoUselessFragment>; /** * Enforces destructuring assignment for component props and context. * @see https://eslint-react.xyz/docs/rules/prefer-destructuring-assignment */ '@eslint-react/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>; /** * Enforces React is imported via a namespace import. * @see https://eslint-react.xyz/docs/rules/prefer-namespace-import */ '@eslint-react/prefer-namespace-import'?: Linter.RuleEntry<[]>; /** * Enforces read-only props in components. * @see https://eslint-react.xyz/docs/rules/prefer-read-only-props */ '@eslint-react/prefer-read-only-props'?: Linter.RuleEntry<[]>; /** * Enforces function calls made inside `useState` to be wrapped in an `initializer function`. * @see https://eslint-react.xyz/docs/rules/prefer-use-state-lazy-initialization */ '@eslint-react/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>; /** * Prevents leaked `addEventListener` in a component or custom Hook. * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-event-listener */ '@eslint-react/web-api/no-leaked-event-listener'?: Linter.RuleEntry<[]>; /** * Prevents leaked `setInterval` in a component or custom Hook. * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-interval */ '@eslint-react/web-api/no-leaked-interval'?: Linter.RuleEntry<[]>; /** * Prevents leaked `ResizeObserver` in a component or custom Hook. * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-resize-observer */ '@eslint-react/web-api/no-leaked-resize-observer'?: Linter.RuleEntry<[]>; /** * Prevents leaked `setTimeout` in a component or custom Hook. * @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-timeout */ '@eslint-react/web-api/no-leaked-timeout'?: Linter.RuleEntry<[]>; /** * Enforce font-display behavior with Google Fonts. * @see https://nextjs.org/docs/messages/google-font-display */ '@next/next/google-font-display'?: Linter.RuleEntry<[]>; /** * Ensure `preconnect` is used with Google Fonts. * @see https://nextjs.org/docs/messages/google-font-preconnect */ '@next/next/google-font-preconnect'?: Linter.RuleEntry<[]>; /** * Enforce `id` attribute on `next/script` components with inline content. * @see https://nextjs.org/docs/messages/inline-script-id */ '@next/next/inline-script-id'?: Linter.RuleEntry<[]>; /** * Prefer `next/script` component when using the inline script for Google Analytics. * @see https://nextjs.org/docs/messages/next-script-for-ga */ '@next/next/next-script-for-ga'?: Linter.RuleEntry<[]>; /** * Prevent assignment to the `module` variable. * @see https://nextjs.org/docs/messages/no-assign-module-variable */ '@next/next/no-assign-module-variable'?: Linter.RuleEntry<[]>; /** * Prevent Client Components from being async functions. * @see https://nextjs.org/docs/messages/no-async-client-component */ '@next/next/no-async-client-component'?: Linter.RuleEntry<[]>; /** * Prevent usage of `next/script`'s `beforeInteractive` strategy outside of `pages/_document.js`. * @see https://nextjs.org/docs/messages/no-before-interactive-script-outside-document */ '@next/next/no-before-interactive-script-outside-document'?: Linter.RuleEntry<[]>; /** * Prevent manual stylesheet tags. * @see https://nextjs.org/docs/messages/no-css-tags */ '@next/next/no-css-tags'?: Linter.RuleEntry<[]>; /** * Prevent importing `next/document` outside of `pages/_document.js`. * @see https://nextjs.org/docs/messages/no-document-import-in-page */ '@next/next/no-document-import-in-page'?: Linter.RuleEntry<[]>; /** * Prevent duplicate usage of `<Head>` in `pages/_document.js`. * @see https://nextjs.org/docs/messages/no-duplicate-head */ '@next/next/no-duplicate-head'?: Linter.RuleEntry<[]>; /** * Prevent usage of `<head>` element. * @see https://nextjs.org/docs/messages/no-head-element */ '@next/next/no-head-element'?: Linter.RuleEntry<[]>; /** * Prevent usage of `next/head` in `pages/_document.js`. * @see https://nextjs.org/docs/messages/no-head-import-in-document */ '@next/next/no-head-import-in-document'?: Linter.RuleEntry<[]>; /** * Prevent usage of `<a>` elements to navigate to internal Next.js pages. * @see https://nextjs.org/docs/messages/no-html-link-for-pages */ '@next/next/no-html-link-for-pages'?: Linter.RuleEntry<NextNextNoHtmlLinkForPages>; /** * Prevent usage of `<img>` element due to slower LCP and higher bandwidth. * @see https://nextjs.org/docs/messages/no-img-element */ '@next/next/no-img-element'?: Linter.RuleEntry<[]>; /** * Prevent page-only custom fonts. * @see https://nextjs.org/docs/messages/no-page-custom-font */ '@next/next/no-page-custom-font'?: Linter.RuleEntry<[]>; /** * Prevent usage of `next/script` in `next/head` component. * @see https://nextjs.org/docs/messages/no-script-component-in-head */ '@next/next/no-script-component-in-head'?: Linter.RuleEntry<[]>; /** * Prevent usage of `styled-jsx` in `pages/_document.js`. * @see https://nextjs.org/docs/messages/no-styled-jsx-in-document */ '@next/next/no-styled-jsx-in-document'?: Linter.RuleEntry<[]>; /** * Prevent synchronous scripts. * @see https://nextjs.org/docs/messages/no-sync-scripts */ '@next/next/no-sync-scripts'?: Linter.RuleEntry<[]>; /** * Prevent usage of `<title>` with `Head` component from `next/document`. * @see https://nextjs.org/docs/messages/no-title-in-document-head */ '@next/next/no-title-in-document-head'?: Linter.RuleEntry<[]>; /** * Prevent common typos in Next.js data fetching functions. */ '@next/next/no-typos'?: Linter.RuleEntry<[]>; /** * Prevent duplicate polyfills from Polyfill.io. * @see https://nextjs.org/docs/messages/no-unwanted-polyfillio */ '@next/next/no-unwanted-polyfillio'?: Linter.RuleEntry<[]>; /** * Enforce linebreaks after opening and before closing array brackets * @see https://eslint.style/rules/array-bracket-newline */ '@stylistic/array-bracket-newline'?: Linter.RuleEntry<StylisticArrayBracketNewline>; /** * Enforce consistent spacing inside array brackets * @see https://eslint.style/rules/array-bracket-spacing */ '@stylistic/array-bracket-spacing'?: Linter.RuleEntry<StylisticArrayBracketSpacing>; /** * Enforce line breaks after each array element * @see https://eslint.style/rules/array-element-newline */ '@stylistic/array-element-newline'?: Linter.RuleEntry<StylisticArrayElementNewline>; /** * Require parentheses around arrow function arguments * @see https://eslint.style/rules/arrow-parens */ '@stylistic/arrow-parens'?: Linter.RuleEntry<StylisticArrowParens>; /** * Enforce consistent spacing before and after the arrow in arrow functions * @see https://eslint.style/rules/arrow-spacing */ '@stylistic/arrow-spacing'?: Linter.RuleEntry<StylisticArrowSpacing>; /** * Disallow or enforce spaces inside of blocks after opening block and before closing block * @see https://eslint.style/rules/block-spacing */ '@stylistic/block-spacing'?: Linter.RuleEntry<StylisticBlockSpacing>; /** * Enforce consistent brace style for blocks * @see https://eslint.style/rules/brace-style */ '@stylistic/brace-style'?: Linter.RuleEntry<StylisticBraceStyle>; /** * Require or disallow trailing commas * @see https://eslint.style/rules/comma-dangle */ '@stylistic/comma-dangle'?: Linter.RuleEntry<StylisticCommaDangle>; /** * Enforce consistent spacing before and after commas * @see https://eslint.style/rules/comma-spacing */ '@stylistic/comma-spacing'?: Linter.RuleEntry<StylisticCommaSpacing>; /** * Enforce consistent comma style * @see https://eslint.style/rules/comma-style */ '@stylistic/comma-style'?: Linter.RuleEntry<StylisticCommaStyle>; /** * Enforce consistent spacing inside computed property brackets * @see https://eslint.style/rules/computed-property-spacing */ '@stylistic/computed-property-spacing'?: Linter.RuleEntry<StylisticComputedPropertySpacing>; /** * Enforce consistent line breaks after opening and before closing braces * @see https://eslint.style/rules/curly-newline */ '@stylistic/curly-newline'?: Linter.RuleEntry<StylisticCurlyNewline>; /** * Enforce consistent newlines before and after dots * @see https://eslint.style/rules/dot-location */ '@stylistic/dot-location'?: Linter.RuleEntry<StylisticDotLocation>; /** * Require or disallow newline at the end of files * @see https://eslint.style/rules/eol-last */ '@stylistic/eol-last'?: Linter.RuleEntry<StylisticEolLast>; /** * Enforce line breaks between arguments of a function call * @see https://eslint.style/rules/function-call-argument-newline */ '@stylistic/function-call-argument-newline'?: Linter.RuleEntry<StylisticFunctionCallArgumentNewline>; /** * Require or disallow spacing between function identifiers and their invocations * @see https://eslint.style/rules/function-call-spacing */ '@stylistic/function-call-spacing'?: Linter.RuleEntry<StylisticFunctionCallSpacing>; /** * Enforce consistent line breaks inside function parentheses * @see https://eslint.style/rules/function-paren-newline */ '@stylistic/function-paren-newline'?: Linter.RuleEntry<StylisticFunctionParenNewline>; /** * Enforce consistent spacing around `*` operators in generator functions * @see https://eslint.style/rules/generator-star-spacing */ '@stylistic/generator-star-spacing'?: Linter.RuleEntry<StylisticGeneratorStarSpacing>; /** * Enforce the location of arrow function bodies * @see https://eslint.style/rules/implicit-arrow-linebreak */ '@stylistic/implicit-arrow-linebreak'?: Linter.RuleEntry<StylisticImplicitArrowLinebreak>; /** * Enforce consistent indentation * @see https://eslint.style/rules/indent */ '@stylistic/indent'?: Linter.RuleEntry<StylisticIndent>; /** * Indentation for binary operators * @see https://eslint.style/rules/indent-binary-ops */ '@stylistic/indent-binary-ops'?: Linter.RuleEntry<StylisticIndentBinaryOps>; /** * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions * @see https://eslint.style/rules/jsx-child-element-spacing */ '@stylistic/jsx-child-element-spacing'?: Linter.RuleEntry<[]>; /** * Enforce closing bracket location in JSX * @see https://eslint.style/rules/jsx-closing-bracket-location */ '@stylistic/jsx-closing-bracket-location'?: Linter.RuleEntry<StylisticJsxClosingBracketLocation>; /** * Enforce closing tag location for multiline JSX * @see https://eslint.style/rules/jsx-closing-tag-location */ '@stylistic/jsx-closing-tag-location'?: Linter.RuleEntry<StylisticJsxClosingTagLocation>; /** * Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes * @see https://eslint.style/rules/jsx-curly-brace-presence */ '@stylistic/jsx-curly-brace-presence'?: Linter.RuleEntry<StylisticJsxCurlyBracePresence>; /** * Enforce consistent linebreaks in curly braces in JSX attributes and expressions * @see https://eslint.style/rules/jsx-curly-newline */ '@stylistic/jsx-curly-newline'?: Linter.RuleEntry<StylisticJsxCurlyNewline>; /** * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions * @see https://eslint.style/rules/jsx-curly-spacing */ '@stylistic/jsx-curly-spacing'?: Linter.RuleEntry<StylisticJsxCurlySpacing>; /** * Enforce or disallow spaces around equal signs in JSX attributes * @see https://eslint.style/rules/jsx-equals-spacing */ '@stylistic/jsx-equals-spacing'?: Linter.RuleEntry<StylisticJsxEqualsSpacing>; /** * Enforce proper position of the first property in JSX * @see https://eslint.style/rules/jsx-first-prop-new-line */ '@stylistic/jsx-first-prop-new-line'?: Linter.RuleEntry<StylisticJsxFirstPropNewLine>; /** * Enforce line breaks before and after JSX elements when they are used as arguments to a function. * @see https://eslint.style/rules/jsx-function-call-newline */ '@stylistic/jsx-function-call-newline'?: Linter.RuleEntry<StylisticJsxFunctionCallNewline>; /** * Enforce JSX indentation. Deprecated, use `indent` rule instead. * @see https://eslint.style/rules/jsx-indent * @deprecated */ '@stylistic/jsx-indent'?: Linter.RuleEntry<StylisticJsxIndent>; /** * Enforce props indentation in JSX * @see https://eslint.style/rules/jsx-indent-props */ '@stylistic/jsx-indent-props'?: Linter.RuleEntry<StylisticJsxIndentProps>; /** * Enforce maximum of props on a single line in JSX * @see https://eslint.style/rules/jsx-max-props-per-line */ '@stylistic/jsx-max-props-per-line'?: Linter.RuleEntry<StylisticJsxMaxPropsPerLine>; /** * Require or prevent a new line after jsx elements and expressions. * @see https://eslint.style/rules/jsx-newline */ '@stylistic/jsx-newline'?: Linter.RuleEntry<StylisticJsxNewline>; /** * Require one JSX element per line * @see https://eslint.style/rules/jsx-one-expression-per-line */ '@stylistic/jsx-one-expression-per-line'?: Linter.RuleEntry<StylisticJsxOneExpressionPerLine>; /** * Enforce PascalCase for user-defined JSX components * @see https://eslint.style/rules/jsx-pascal-case */ '@stylistic/jsx-pascal-case'?: Linter.RuleEntry<StylisticJsxPascalCase>; /** * Disallow multiple spaces between inline JSX props. Deprecated, use `no-multi-spaces` rule instead. * @see https://eslint.style/rules/jsx-props-no-multi-spaces * @deprecated */ '@stylistic/jsx-props-no-multi-spaces'?: Linter.RuleEntry<[]>; /** * Enforce the consistent use of either double or single quotes in JSX attributes * @see https://eslint.style/rules/jsx-quotes */ '@stylistic/jsx-quotes'?: Linter.RuleEntry<StylisticJsxQuotes>; /** * Disallow extra closing tags for components without children * @see https://eslint.style/rules/jsx-self-closing-comp */ '@stylistic/jsx-self-closing-comp'?: Linter.RuleEntry<StylisticJsxSelfClosingComp>; /** * Enforce props alphabetical sorting * @see https://eslint.style/rules/jsx-sort-props */ '@stylistic/jsx-sort-props'?: Linter.RuleEntry<StylisticJsxSortProps>; /** * Enforce whitespace in and around the JSX opening and closing brackets * @see https://eslint.style/rules/jsx-tag-spacing */ '@stylistic/jsx-tag-spacing'?: Linter.RuleEntry<StylisticJsxTagSpacing>; /** * Disallow missing parentheses around multiline JSX * @see https://eslint.style/rules/jsx-wrap-multilines */ '@stylistic/jsx-wrap-multilines'?: Linter.RuleEntry<StylisticJsxWrapMultilines>; /** * Enforce consistent spacing between property names and type annotations in types and interfaces * @see https://eslint.style/rules/key-spacing */ '@stylistic/key-spacing'?: Linter.RuleEntry<StylisticKeySpacing>; /** * Enforce consistent spacing before and after keywords * @see https://eslint.style/rules/keyword-spacing */ '@stylistic/keyword-spacing'?: Linter.RuleEntry<StylisticKeywordSpacing>; /** * Enforce position of line comments * @see https://eslint.style/rules/line-comment-position */ '@stylistic/line-comment-position'?: Linter.RuleEntry<StylisticLineCommentPosition>; /** * Enforce consistent linebreak style * @see https://eslint.style/rules/linebreak-style */ '@stylistic/linebreak-style'?: Linter.RuleEntry<StylisticLinebreakStyle>; /** * Require empty lines around comments * @see https://eslint.style/rules/lines-around-comment */ '@stylistic/lines-around-comment'?: Linter.RuleEntry<StylisticLinesAroundComment>; /** * Require or disallow an empty line between class members * @see https://eslint.style/rules/lines-between-class-members */ '@stylistic/lines-between-class-members'?: Linter.RuleEntry<StylisticLinesBetweenClassMembers>; /** * Enforce a maximum line length * @see https://eslint.style/rules/max-len */ '@stylistic/max-len'?: Linter.RuleEntry<StylisticMaxLen>; /** * Enforce a maximum number of statements allowed per line * @see https://eslint.style/rules/max-statements-per-line */ '@stylistic/max-statements-per-line'?: Linter.RuleEntry<StylisticMaxStatementsPerLine>; /** * Require a specific member delimiter style for interfaces and type literals * @see https://eslint.style/rules/member-delimiter-style */ '@stylistic/member-delimiter-style'?: Linter.RuleEntry<StylisticMemberDelimiterStyle>; /** * Enforce a particular style for multiline comments * @see https://eslint.style/rules/multiline-comment-style */ '@stylistic/multiline-comment-style'?: Linter.RuleEntry<StylisticMultilineCommentStyle>; /** * Enforce newlines between operands of ternary expressions * @see https://eslint.style/rules/multiline-ternary */ '@stylistic/multiline-ternary'?: Linter.RuleEntry<StylisticMultilineTernary>; /** * Enforce or disallow parentheses when invoking a constructor with no arguments * @see https://eslint.style/rules/new-parens */ '@stylistic/new-parens'?: Linter.RuleEntry<StylisticNewParens>; /** * Require a newline after each call in a method chain * @see https://eslint.style/rules/newline-per-chained-call */ '@stylistic/newline-per-chained-call'?: Linter.RuleEntry<StylisticNewlinePerChainedCall>; /** * Disallow arrow functions where they could be confused with comparisons * @see https://eslint.style/rules/no-confusing-arrow */ '@stylistic/no-confusing-arrow'?: Linter.RuleEntry<StylisticNoConfusingArrow>; /** * Disallow unnecessary parentheses * @see https://eslint.style/rules/no-extra-parens */ '@stylistic/no-extra-parens'?: Linter.RuleEntry<StylisticNoExtraParens>; /** * Disallow unnecessary semicolons * @see https://eslint.style/rules/no-extra-semi */ '@stylistic/no-extra-semi'?: Linter.RuleEntry<[]>; /** * Disallow leading or trailing decimal points in numeric literals * @see https://eslint.style/rules/no-floating-decimal */ '@stylistic/no-floating-decimal'?: Linter.RuleEntry<[]>; /** * Disallow mixed binary operators * @see https://eslint.style/rules/no-mixed-operators */ '@stylistic/no-mixed-operators'?: Linter.RuleEntry<StylisticNoMixedOperators>; /** * Disallow mixed spaces and tabs for indentation * @see https://eslint.style/rules/no-mixed-spaces-and-tabs */ '@stylistic/no-mixed-spaces-and-tabs'?: Linter.RuleEntry<StylisticNoMixedSpacesAndTabs>; /** * Disallow multiple spaces * @see https://eslint.style/rules/no-multi-spaces */ '@stylistic/no-multi-spaces'?: Linter.RuleEntry<StylisticNoMultiSpaces>; /** * Disallow multiple empty lines * @see https://eslint.style/rules/no-multiple-empty-lines */ '@stylistic/no-multiple-empty-lines'?: Linter.RuleEntry<StylisticNoMultipleEmptyLines>; /** * Disallow all tabs * @see https://eslint.style/rules/no-tabs */ '@stylistic/no-tabs'?: Linter.RuleEntry<StylisticNoTabs>; /** * Disallow trailing whitespace at the end of lines * @see https://eslint.style/rules/no-trailing-spaces */ '@stylistic/no-trailing-spaces'?: Linter.RuleEntry<StylisticNoTrailingSpaces>; /** * Disallow whitespace before properties * @see https://eslint.style/rules/no-whitespace-before-property */ '@stylistic/no-whitespace-before-property'?: Linter.RuleEntry<[]>; /** * Enforce the location of single-line statements * @see https://eslint.style/rules/nonblock-statement-body-position */ '@stylistic/nonblock-statement-body-position'?: Linter.RuleEntry<StylisticNonblockStatementBodyPosition>; /** * Enforce consistent line breaks after opening and before closing braces * @see https://eslint.style/rules/object-curly-newline */ '@stylistic/object-curly-newline'?: Linter.RuleEntry<StylisticObjectCurlyNewline>; /** * Enforce consistent spacing inside braces * @see https://eslint.style/rules/object-curly-spacing */ '@stylistic/object-curly-spacing'?: Linter.RuleEntry<StylisticObjectCurlySpacing>; /** * Enforce placing object properties on separate lines * @see https://eslint.style/rules/object-property-newline */ '@stylistic/object-property-newline'?: Linter.RuleEntry<StylisticObjectPropertyNewline>; /** * Require or disallow newlines around variable declarations * @see https://eslint.style/rules/one-var-declaration-per-line */ '@stylistic/one-var-declaration-per-line'?: Linter.RuleEntry<StylisticOneVarDeclarationPerLine>; /** * Enforce consistent linebreak style for operators * @see https://eslint.style/rules/operator-linebreak */ '@stylistic/operator-linebreak'?: Linter.RuleEntry<StylisticOperatorLinebreak>; /** * Require or disallow padding within blocks * @see https://eslint.style/rules/padded-blocks */ '@stylistic/padded-blocks'?: Linter.RuleEntry<StylisticPaddedBlocks>; /** * Require or disallow padding lines between statements * @see https://eslint.style/rules/padding-line-between-statements */ '@stylistic/padding-line-between-statements'?: Linter.RuleEntry<StylisticPaddingLineBetweenStatements>; /** * Require quotes around object literal, type literal, interfaces and enums property names * @see https://eslint.style/rules/quote-props */ '@stylistic/quote-props'?: Linter.RuleEntry<StylisticQuoteProps>; /** * Enforce the consistent use of either backticks, double, or single quotes * @see https://eslint.style/rules/quotes */ '@stylistic/quotes'?: Linter.RuleEntry<StylisticQuotes>; /** * Enforce spacing between rest and spread operators and their expressions * @see https://eslint.style/rules/rest-spread-spacing */ '@stylistic/rest-spread-spacing'?: Linter.RuleEntry<StylisticRestSpreadSpacing>; /** * Require or disallow semicolons instead of ASI * @see https://eslint.style/rules/semi */ '@stylistic/semi'?: Linter.RuleEntry<StylisticSemi>; /** * Enforce consistent spacing before and after semicolons * @see https://eslint.style/rules/semi-spacing */ '@stylistic/semi-spacing'?: Linter.RuleEntry<StylisticSemiSpacing>; /** * Enforce location of semicolons * @see https://eslint.style/rules/semi-style */ '@stylistic/semi-style'?: Linter.RuleEntry<StylisticSemiStyle>; /** * Enforce consistent spacing before blocks * @see https://eslint.style/rules/space-before-blocks */ '@stylistic/space-before-blocks'?: Linter.RuleEntry<StylisticSpaceBeforeBlocks>; /** * Enforce consistent spacing before function parenthesis * @see https://eslint.style/rules/space-before-function-paren */ '@stylistic/space-before-function-paren'?: Linter.RuleEntry<StylisticSpaceBeforeFunctionParen>; /** * Enforce consistent spacing inside parentheses * @see https://eslint.style/rules/space-in-parens */ '@stylistic/space-in-parens'?: Linter.RuleEntry<StylisticSpaceInParens>; /** * Require spacing around infix operators * @see https://eslint.style/rules/space-infix-ops */ '@stylistic/space-infix-ops'?: Linter.RuleEntry<StylisticSpaceInfixOps>; /** * Enforce consistent spacing before or after unary operators * @see https://eslint.style/rules/space-unary-ops */ '@stylistic/space-unary-ops'?: Linter.RuleEntry<StylisticSpaceUnaryOps>; /** * Enforce consistent spacing after the `//` or `/*` in a comment * @see https://eslint.style/rules/spaced-comment */ '@stylistic/spaced-comment'?: Linter.RuleEntry<StylisticSpacedComment>; /** * Enforce spacing around colons of switch statements * @see https://eslint.style/rules/switch-colon-spacing */ '@stylistic/switch-colon-spacing'?: Linter.RuleEntry<StylisticSwitchColonSpacing>; /** * Require or disallow spacing around embedded expressions of template strings * @see https://eslint.style/rules/template-curly-spacing */ '@stylistic/template-curly-spacing'?: Linter.RuleEntry<StylisticTemplateCurlySpacing>; /** * Require or disallow spacing between template tags and their literals * @see https://eslint.style/rules/template-tag-spacing */ '@stylistic/template-tag-spacing'?: Linter.RuleEntry<StylisticTemplateTagSpacing>; /** * Require consistent spacing around type annotations * @see https://eslint.style/rules/type-annotation-spacing */ '@stylistic/type-annotation-spacing'?: Linter.RuleEntry<StylisticTypeAnnotationSpacing>; /** * Enforces consistent spacing inside TypeScript type generics * @see https://eslint.style/rules/type-generic-spacing */ '@stylistic/type-generic-spacing'?: Linter.RuleEntry<[]>; /** * Expect space before the type declaration in the named tuple * @see https://eslint.style/rules/type-named-tuple-spacing */ '@stylistic/type-named-tuple-spacing'?: Linter.RuleEntry<[]>; /** * Require parentheses around immediate `function` invocations * @see https://eslint.style/rules/wrap-iife */ '@stylistic/wrap-iife'?: Linter.RuleEntry<StylisticWrapIife>; /** * Require parenthesis around regex literals * @see https://eslint.style/rules/wrap-regex */ '@stylistic/wrap-regex'?: Linter.RuleEntry<[]>; /** * Require or disallow spacing around the `*` in `yield*` expressions * @see https://eslint.style/rules/yield-star-spacing */ '@stylistic/yield-star-spacing'?: Linter.RuleEntry<StylisticYieldStarSpacing>; /** * Exhaustive deps rule for useQuery * @see https://tanstack.com/query/latest/docs/eslint/exhaustive-deps */ '@tanstack/query/exhaustive-deps'?: Linter.RuleEntry<[]>; /** * Ensure correct order of inference sensitive properties for infinite queries * @see https://tanstack.com/query/latest/docs/eslint/infinite-query-property-order */ '@tanstack/query/infinite-query-property-order'?: Linter.RuleEntry<[]>; /** * Ensure correct order of inference-sensitive properties in useMutation() * @see https://tanstack.com/query/latest/docs/eslint/mutation-property-order */ '@tanstack/query/mutation-property-order'?: Linter.RuleEntry<[]>; /** * Disallows rest destructuring in queries * @see https://tanstack.com/query/latest/docs/eslint/no-rest-destructuring */ '@tanstack/query/no-rest-destructuring'?: Linter.RuleEntry<[]>; /** * Disallow putting the result of query hooks directly in a React hook dependency array * @see https://tanstack.com/query/latest/docs/eslint/no-unstable-deps */ '@tanstack/query/no-unstable-deps'?: Linter.RuleEntry<[]>; /** * Ensures queryFn returns a non-undefined value * @see https://tanstack.com/query/latest/docs/eslint/no-void-query-fn */ '@tanstack/query/no-void-query-fn'?: Linter.RuleEntry<[]>; /** * Makes sure that QueryClient is stable * @see https://tanstack.com/query/latest/docs/eslint/stable-query-client */ '@tanstack/query/stable-query-client'?: Linter.RuleEntry<[]>; /** * Require that function overload signatures be consecutive * @see https://typescript-eslint.io/rules/adjacent-overload-signatures */ '@typescript-eslint/adjacent-overload-signatures'?: Linter.RuleEntry<[]>; /** * Require consistently using either `T[]` or `Array<T>` for arrays * @see https://typescript-eslint.io/rules/array-type */ '@typescript-eslint/array-type'?: Linter.RuleEntry<TypescriptEslintArrayType>; /** * Disallow awaiting a value that is not a Thenable * @see https://typescript-eslint.io/rules/await-thenable */ '@typescript-eslint/await-thenable'?: Linter.RuleEntry<[]>; /** * Disallow `@ts-<directive>` comments or require descriptions after directives * @see https://typescript-eslint.io/rules/ban-ts-comment */ '@typescript-eslint/ban-ts-comment'?: Linter.RuleEntry<TypescriptEslintBanTsComment>; /** * Disallow `// tslint:<rule-flag>` comments * @see https://typescript-eslint.io/rules/ban-tslint-comment */ '@typescript-eslint/ban-tslint-comment'?: Linter.RuleEntry<[]>; /** * Enforce that literals on classes are exposed in a consistent style * @see https://typescript-eslint.io/rules/class-literal-property-style */ '@typescript-eslint/class-literal-property-style'?: Linter.RuleEntry<TypescriptEslintClassLiteralPropertyStyle>; /** * Enforce that class methods utilize `this` * @see https://typescript-eslint.io/rules/class-methods-use-this */ '@typescript-eslint/class-methods-use-this'?: Linter.RuleEntry<TypescriptEslintClassMethodsUseThis>; /** * Enforce specifying generic type arguments on type annotation or constructor name of a constructor call * @see https://typescript-eslint.io/rules/consistent-generic-constructors */ '@typescript-eslint/consistent-generic-constructors'?: Linter.RuleEntry<TypescriptEslintConsistentGenericConstructors>; /** * Require or disallow the `Record` type * @see https://typescript-eslint.io/rules/consistent-indexed-object-style */ '@typescript-eslint/consistent-indexed-object-style'?: Linter.RuleEntry<TypescriptEslintConsistentIndexedObjectStyle>; /** * Require `return` statements to either always or never specify values * @see https://typescript-eslint.io/rules/consistent-return */ '@typescript-eslint/consistent-return'?: Linter.RuleEntry<TypescriptEslintConsistentReturn>; /** * Enforce consistent usage of type assertions * @see https://typescript-eslint.io/rules/consistent-type-assertions */ '@typescript-eslint/consistent-type-assertions'?: Linter.RuleEntry<TypescriptEslintConsistentTypeAssertions>; /** * Enforce type definitions to consistently use either `interface` or `type` * @see https://typescript-eslint.io/rules/consistent-type-definitions */ '@typescript-eslint/consistent-type-definitions'?: Linter.RuleEntry<TypescriptE