@bluzzi/eslint-config
Version:
ESLint configuration preset for linting and formatting all your files
1,181 lines (1,178 loc) • 423 kB
TypeScript
import { Linter } from 'eslint';
import { FlatConfigComposer } from 'eslint-flat-config-utils';
/* eslint-disable */
/* prettier-ignore */
interface RuleOptions {
/**
* disallow using shorthand boolean attributes
* @see https://eslint-react.xyz/docs/rules/avoid-shorthand-boolean
*/
'@eslint-react/avoid-shorthand-boolean'?: Linter.RuleEntry<[]>
/**
* disallow using shorthand fragment syntax
* @see https://eslint-react.xyz/docs/rules/avoid-shorthand-fragment
*/
'@eslint-react/avoid-shorthand-fragment'?: Linter.RuleEntry<[]>
/**
* report all class components, including anonymous ones
* @see https://eslint-react.xyz/docs/rules/debug-class-component
*/
'@eslint-react/debug/class-component'?: Linter.RuleEntry<[]>
/**
* report all function components, including anonymous ones
* @see https://eslint-react.xyz/docs/rules/debug-function-component
*/
'@eslint-react/debug/function-component'?: Linter.RuleEntry<[]>
/**
* report all React Hooks
* @see https://eslint-react.xyz/docs/rules/debug-hook
*/
'@eslint-react/debug/hook'?: Linter.RuleEntry<[]>
/**
* report all identifiers that are initialized from React.
* @see https://eslint-react.xyz/docs/rules/debug-is-from-react
*/
'@eslint-react/debug/is-from-react'?: Linter.RuleEntry<[]>
/**
* report all React Hooks
* @see https://eslint-react.xyz/docs/rules/debug-hook
*/
'@eslint-react/debug/react-hooks'?: Linter.RuleEntry<[]>
/**
* disallow void elements (AKA self-closing elements) from having children
* @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
*/
'@eslint-react/dom/no-children-in-void-dom-elements'?: Linter.RuleEntry<[]>
/**
* disallow when a DOM component is using 'dangerouslySetInnerHTML'
* @see https://eslint-react.xyz/docs/rules/dom-no-dangerously-set-innerhtml
*/
'@eslint-react/dom/no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>
/**
* disallow when a DOM component is using both 'children' and 'dangerouslySetInnerHTML'
* @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<[]>
/**
* warns against using `flushSync`
* @see https://eslint-react.xyz/docs/rules/dom-no-flush-sync
*/
'@eslint-react/dom/no-flush-sync'?: Linter.RuleEntry<[]>
/**
* enforce that button component have an explicit 'type' attribute
* @see https://eslint-react.xyz/docs/rules/dom-no-missing-button-type
*/
'@eslint-react/dom/no-missing-button-type'?: Linter.RuleEntry<[]>
/**
* enforce that 'iframe' component have an explicit 'sandbox' attribute
* @see https://eslint-react.xyz/docs/rules/dom-no-missing-iframe-sandbox
*/
'@eslint-react/dom/no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>
/**
* enforce that namespaces are not used in React elements
* @see https://eslint-react.xyz/docs/rules/dom-no-namespace
*/
'@eslint-react/dom/no-namespace'?: Linter.RuleEntry<[]>
/**
* disallow usage of 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 JSX event handler prop's value
* @see https://eslint-react.xyz/docs/rules/dom-no-script-url
*/
'@eslint-react/dom/no-script-url'?: Linter.RuleEntry<[]>
/**
* disallow usage of unknown DOM property
* @see https://eslint-react.xyz/docs/rules/dom-no-unknown-property
*/
'@eslint-react/dom/no-unknown-property'?: Linter.RuleEntry<EslintReactDomNoUnknownProperty>
/**
* disallow unsafe iframe 'sandbox' attribute 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"' on an external link 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<[]>
/**
* disallow void elements (AKA self-closing elements) from having children
* @see https://eslint-react.xyz/docs/rules/dom-no-void-elements-with-children
*/
'@eslint-react/dom/no-void-elements-with-children'?: Linter.RuleEntry<[]>
/**
* require a 'ref' parameter to be set when using 'forwardRef'
* @see https://eslint-react.xyz/docs/rules/no-useless-forward-ref
*/
'@eslint-react/ensure-forward-ref-using-ref'?: Linter.RuleEntry<[]>
/**
* enforce custom Hooks to use at least one other hook inside
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-useless-custom-hooks
*/
'@eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks'?: Linter.RuleEntry<[]>
/**
* disallow unnecessary usage of 'useCallback'
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-callback
*/
'@eslint-react/hooks-extra/ensure-use-callback-has-non-empty-deps'?: Linter.RuleEntry<[]>
/**
* disallow unnecessary usage of 'useMemo'
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-memo
*/
'@eslint-react/hooks-extra/ensure-use-memo-has-non-empty-deps'?: 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<[]>
/**
* disallow direct calls to the 'set' function of 'useState' in 'useLayoutEffect'
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-direct-set-state-in-use-layout-effect
*/
'@eslint-react/hooks-extra/no-direct-set-state-in-use-layout-effect'?: Linter.RuleEntry<[]>
/**
* enforce custom Hooks to use at least one other hook inside
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-useless-custom-hooks
*/
'@eslint-react/hooks-extra/no-redundant-custom-hook'?: Linter.RuleEntry<[]>
/**
* disallow unnecessary usage of 'useCallback'
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-callback
*/
'@eslint-react/hooks-extra/no-unnecessary-use-callback'?: Linter.RuleEntry<[]>
/**
* disallow unnecessary usage of 'useMemo'
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-unnecessary-use-memo
*/
'@eslint-react/hooks-extra/no-unnecessary-use-memo'?: Linter.RuleEntry<[]>
/**
* enforce custom Hooks to use at least one other hook inside
* @see https://eslint-react.xyz/docs/rules/hooks-extra-no-useless-custom-hooks
*/
'@eslint-react/hooks-extra/no-useless-custom-hooks'?: Linter.RuleEntry<[]>
/**
* disallow function calls in 'useState' that aren't wrapped in an initializer function
* @see https://eslint-react.xyz/docs/rules/hooks-extra-prefer-use-state-lazy-initialization
*/
'@eslint-react/hooks-extra/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>
/**
* disallow duplicate props
* @see https://eslint-react.xyz/docs/rules/no-duplicate-jsx-props
*/
'@eslint-react/jsx-no-duplicate-props'?: Linter.RuleEntry<[]>
/**
* marks variables used in JSX as used
* @see https://eslint-react.xyz/docs/rules/use-jsx-vars
*/
'@eslint-react/jsx-uses-vars'?: Linter.RuleEntry<[]>
/**
* enforce naming convention for components
* @see https://eslint-react.xyz/docs/rules/naming-convention-component-name
*/
'@eslint-react/naming-convention/component-name'?: Linter.RuleEntry<EslintReactNamingConventionComponentName>
/**
* enforce 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<[]>
/**
* enforce naming convention for JSX filenames
* @see https://eslint-react.xyz/docs/rules/naming-convention-filename
*/
'@eslint-react/naming-convention/filename'?: Linter.RuleEntry<EslintReactNamingConventionFilename>
/**
* enforce naming convention for JSX file extensions
* @see https://eslint-react.xyz/docs/rules/naming-convention-filename-extension
*/
'@eslint-react/naming-convention/filename-extension'?: Linter.RuleEntry<EslintReactNamingConventionFilenameExtension>
/**
* enforce 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' within 'setState'
* @see https://eslint-react.xyz/docs/rules/no-access-state-in-setstate
*/
'@eslint-react/no-access-state-in-setstate'?: Linter.RuleEntry<[]>
/**
* disallow using 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 using 'Children.count'
* @see https://eslint-react.xyz/docs/rules/no-children-count
*/
'@eslint-react/no-children-count'?: Linter.RuleEntry<[]>
/**
* disallow using 'Children.forEach'
* @see https://eslint-react.xyz/docs/rules/no-children-for-each
*/
'@eslint-react/no-children-for-each'?: Linter.RuleEntry<[]>
/**
* disallow using 'Children.map'
* @see https://eslint-react.xyz/docs/rules/no-children-map
*/
'@eslint-react/no-children-map'?: Linter.RuleEntry<[]>
/**
* disallow using 'Children.only'
* @see https://eslint-react.xyz/docs/rules/no-children-only
*/
'@eslint-react/no-children-only'?: Linter.RuleEntry<[]>
/**
* disallow passing 'children' as props
* @see https://eslint-react.xyz/docs/rules/no-children-prop
*/
'@eslint-react/no-children-prop'?: Linter.RuleEntry<[]>
/**
* disallow using 'Children.toArray'
* @see https://eslint-react.xyz/docs/rules/no-children-to-array
*/
'@eslint-react/no-children-to-array'?: Linter.RuleEntry<[]>
/**
* disallow using class components
* @see https://eslint-react.xyz/docs/rules/no-class-component
*/
'@eslint-react/no-class-component'?: Linter.RuleEntry<[]>
/**
* disallow using 'cloneElement'
* @see https://eslint-react.xyz/docs/rules/no-clone-element
*/
'@eslint-react/no-clone-element'?: Linter.RuleEntry<[]>
/**
* disallow comments from being inserted as text nodes
* @see https://eslint-react.xyz/docs/rules/no-comment-textnodes
*/
'@eslint-react/no-comment-textnodes'?: Linter.RuleEntry<[]>
/**
* disallow complex conditional rendering
* @see https://eslint-react.xyz/docs/rules/no-complex-conditional-rendering
*/
'@eslint-react/no-complex-conditional-rendering'?: Linter.RuleEntry<[]>
/**
* disallow complex conditional rendering
* @see https://eslint-react.xyz/docs/rules/no-complex-conditional-rendering
*/
'@eslint-react/no-complicated-conditional-rendering'?: 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 using 'createRef' in function components
* @see https://eslint-react.xyz/docs/rules/no-create-ref
*/
'@eslint-react/no-create-ref'?: Linter.RuleEntry<[]>
/**
* disallow using 'defaultProps' property in components
* @see https://eslint-react.xyz/docs/rules/no-default-props
*/
'@eslint-react/no-default-props'?: Linter.RuleEntry<[]>
/**
* disallow direct mutation of state
* @see https://eslint-react.xyz/docs/rules/no-direct-mutation-state
*/
'@eslint-react/no-direct-mutation-state'?: Linter.RuleEntry<[]>
/**
* disallow duplicate props
* @see https://eslint-react.xyz/docs/rules/no-duplicate-jsx-props
*/
'@eslint-react/no-duplicate-jsx-props'?: Linter.RuleEntry<[]>
/**
* disallow duplicate keys when rendering list
* @see https://eslint-react.xyz/docs/rules/no-duplicate-key
*/
'@eslint-react/no-duplicate-key'?: Linter.RuleEntry<[]>
/**
* replace 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<[]>
/**
* disallow implicit 'key' props
* @see https://eslint-react.xyz/docs/rules/no-implicit-key
*/
'@eslint-react/no-implicit-key'?: Linter.RuleEntry<[]>
/**
* disallow 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<[]>
/**
* require 'displayName' for 'memo' and 'forwardRef' components
* @see https://eslint-react.xyz/docs/rules/no-missing-component-display-name
*/
'@eslint-react/no-missing-component-display-name'?: Linter.RuleEntry<[]>
/**
* require 'displayName' for contexts.
* @see https://eslint-react.xyz/docs/rules/no-missing-context-display-name
*/
'@eslint-react/no-missing-context-display-name'?: Linter.RuleEntry<[]>
/**
* require 'key' when rendering list
* @see https://eslint-react.xyz/docs/rules/no-missing-key
*/
'@eslint-react/no-missing-key'?: Linter.RuleEntry<[]>
/**
* prevents 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<[]>
/**
* prevents nesting component definitions inside other components
* @see https://eslint-react.xyz/docs/rules/no-nested-component-definitions
*/
'@eslint-react/no-nested-components'?: Linter.RuleEntry<[]>
/**
* disallow using 'propTypes' property in components
* @see https://eslint-react.xyz/docs/rules/no-prop-types
*/
'@eslint-react/no-prop-types'?: Linter.RuleEntry<[]>
/**
* disallow using 'shouldComponentUpdate' in class component extends 'React.PureComponent'
* @see https://eslint-react.xyz/docs/rules/no-redundant-should-component-update
*/
'@eslint-react/no-redundant-should-component-update'?: Linter.RuleEntry<[]>
/**
* disallow using 'setState' in 'componentDidMount'
* @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 using 'setState' in 'componentDidUpdate'
* @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<[]>
/**
* disallow using 'setState' in 'componentWillUpdate'
* @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<[]>
/**
* disallow using deprecated string refs
* @see https://eslint-react.xyz/docs/rules/no-string-refs
*/
'@eslint-react/no-string-refs'?: Linter.RuleEntry<[]>
/**
* disallow using 'UNSAFE_componentWillMount'
* @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-mount
*/
'@eslint-react/no-unsafe-component-will-mount'?: Linter.RuleEntry<[]>
/**
* disallow using 'UNSAFE_componentWillReceiveProps'
* @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-receive-props
*/
'@eslint-react/no-unsafe-component-will-receive-props'?: Linter.RuleEntry<[]>
/**
* disallow using 'UNSAFE_componentWillUpdate'
* @see https://eslint-react.xyz/docs/rules/no-unsafe-component-will-update
*/
'@eslint-react/no-unsafe-component-will-update'?: Linter.RuleEntry<[]>
/**
* disallow passing constructed values to context providers
* @see https://eslint-react.xyz/docs/rules/no-unstable-context-value
*/
'@eslint-react/no-unstable-context-value'?: Linter.RuleEntry<[]>
/**
* disallow using unstable value as default param in function component
* @see https://eslint-react.xyz/docs/rules/no-unstable-default-props
*/
'@eslint-react/no-unstable-default-props'?: Linter.RuleEntry<[]>
/**
* disallow unused class component members
* @see https://eslint-react.xyz/docs/rules/no-unused-class-component-members
*/
'@eslint-react/no-unused-class-component-members'?: Linter.RuleEntry<[]>
/**
* disallow unused state of class component
* @see https://eslint-react.xyz/docs/rules/no-unused-state
*/
'@eslint-react/no-unused-state'?: Linter.RuleEntry<[]>
/**
* replace usages of 'useContext' with 'use'
* @see https://eslint-react.xyz/docs/rules/no-use-context
*/
'@eslint-react/no-use-context'?: Linter.RuleEntry<[]>
/**
* require a 'ref' parameter to be set when using 'forwardRef'
* @see https://eslint-react.xyz/docs/rules/no-useless-forward-ref
*/
'@eslint-react/no-useless-forward-ref'?: Linter.RuleEntry<[]>
/**
* disallow useless fragments
* @see https://eslint-react.xyz/docs/rules/no-useless-fragment
*/
'@eslint-react/no-useless-fragment'?: Linter.RuleEntry<EslintReactNoUselessFragment>
/**
* enforce using destructuring assignment in component props and context
* @see https://eslint-react.xyz/docs/rules/prefer-destructuring-assignment
*/
'@eslint-react/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>
/**
* enforce React is imported via a namespace import
* @see https://eslint-react.xyz/docs/rules/prefer-react-namespace-import
*/
'@eslint-react/prefer-react-namespace-import'?: Linter.RuleEntry<[]>
/**
* enforce read-only props in components
* @see https://eslint-react.xyz/docs/rules/prefer-read-only-props
*/
'@eslint-react/prefer-read-only-props'?: Linter.RuleEntry<[]>
/**
* enforce the use of shorthand syntax for boolean attributes
* @see https://eslint-react.xyz/docs/rules/prefer-shorthand-boolean
*/
'@eslint-react/prefer-shorthand-boolean'?: Linter.RuleEntry<[]>
/**
* enforce the use of shorthand syntax for fragments
* @see https://eslint-react.xyz/docs/rules/prefer-shorthand-fragment
*/
'@eslint-react/prefer-shorthand-fragment'?: Linter.RuleEntry<[]>
/**
* marks variables used in JSX as used
* @see https://eslint-react.xyz/docs/rules/use-jsx-vars
*/
'@eslint-react/use-jsx-vars'?: Linter.RuleEntry<[]>
/**
* enforce that every 'addEventListener' in a component or custom Hook has a corresponding 'removeEventListener'.
* @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-event-listener
*/
'@eslint-react/web-api/no-leaked-event-listener'?: Linter.RuleEntry<[]>
/**
* enforce that every 'setInterval' in a component or custom Hook has a corresponding 'clearInterval'.
* @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-interval
*/
'@eslint-react/web-api/no-leaked-interval'?: Linter.RuleEntry<[]>
/**
* enforce cleanup of 'ResizeObserver' instances in components and custom Hooks.
* @see https://eslint-react.xyz/docs/rules/web-api-no-leaked-resize-observer
*/
'@eslint-react/web-api/no-leaked-resize-observer'?: Linter.RuleEntry<[]>
/**
* enforce that every 'setTimeout' in a component or custom Hook has a corresponding 'clearTimeout'.
* @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/js/array-bracket-newline
*/
'@stylistic/array-bracket-newline'?: Linter.RuleEntry<StylisticArrayBracketNewline>
/**
* Enforce consistent spacing inside array brackets
* @see https://eslint.style/rules/js/array-bracket-spacing
*/
'@stylistic/array-bracket-spacing'?: Linter.RuleEntry<StylisticArrayBracketSpacing>
/**
* Enforce line breaks after each array element
* @see https://eslint.style/rules/js/array-element-newline
*/
'@stylistic/array-element-newline'?: Linter.RuleEntry<StylisticArrayElementNewline>
/**
* Require parentheses around arrow function arguments
* @see https://eslint.style/rules/js/arrow-parens
*/
'@stylistic/arrow-parens'?: Linter.RuleEntry<StylisticArrowParens>
/**
* Enforce consistent spacing before and after the arrow in arrow functions
* @see https://eslint.style/rules/js/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/ts/block-spacing
*/
'@stylistic/block-spacing'?: Linter.RuleEntry<StylisticBlockSpacing>
/**
* Enforce consistent brace style for blocks
* @see https://eslint.style/rules/ts/brace-style
*/
'@stylistic/brace-style'?: Linter.RuleEntry<StylisticBraceStyle>
/**
* Require or disallow trailing commas
* @see https://eslint.style/rules/ts/comma-dangle
*/
'@stylistic/comma-dangle'?: Linter.RuleEntry<StylisticCommaDangle>
/**
* Enforce consistent spacing before and after commas
* @see https://eslint.style/rules/ts/comma-spacing
*/
'@stylistic/comma-spacing'?: Linter.RuleEntry<StylisticCommaSpacing>
/**
* Enforce consistent comma style
* @see https://eslint.style/rules/js/comma-style
*/
'@stylistic/comma-style'?: Linter.RuleEntry<StylisticCommaStyle>
/**
* Enforce consistent spacing inside computed property brackets
* @see https://eslint.style/rules/js/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/plus/curly-newline
*/
'@stylistic/curly-newline'?: Linter.RuleEntry<StylisticCurlyNewline>
/**
* Enforce consistent newlines before and after dots
* @see https://eslint.style/rules/js/dot-location
*/
'@stylistic/dot-location'?: Linter.RuleEntry<StylisticDotLocation>
/**
* Require or disallow newline at the end of files
* @see https://eslint.style/rules/js/eol-last
*/
'@stylistic/eol-last'?: Linter.RuleEntry<StylisticEolLast>
/**
* Require or disallow spacing between function identifiers and their invocations
* @see https://eslint.style/rules/ts/function-call-spacing
*/
'@stylistic/func-call-spacing'?: Linter.RuleEntry<StylisticFuncCallSpacing>
/**
* Enforce line breaks between arguments of a function call
* @see https://eslint.style/rules/js/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/ts/function-call-spacing
*/
'@stylistic/function-call-spacing'?: Linter.RuleEntry<StylisticFunctionCallSpacing>
/**
* Enforce consistent line breaks inside function parentheses
* @see https://eslint.style/rules/js/function-paren-newline
*/
'@stylistic/function-paren-newline'?: Linter.RuleEntry<StylisticFunctionParenNewline>
/**
* Enforce consistent spacing around `*` operators in generator functions
* @see https://eslint.style/rules/js/generator-star-spacing
*/
'@stylistic/generator-star-spacing'?: Linter.RuleEntry<StylisticGeneratorStarSpacing>
/**
* Enforce the location of arrow function bodies
* @see https://eslint.style/rules/js/implicit-arrow-linebreak
*/
'@stylistic/implicit-arrow-linebreak'?: Linter.RuleEntry<StylisticImplicitArrowLinebreak>
/**
* Enforce consistent indentation
* @see https://eslint.style/rules/ts/indent
*/
'@stylistic/indent'?: Linter.RuleEntry<StylisticIndent>
/**
* Indentation for binary operators
* @see https://eslint.style/rules/plus/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/jsx-child-element-spacing
*/
'@stylistic/jsx-child-element-spacing'?: Linter.RuleEntry<[]>
/**
* Enforce closing bracket location in JSX
* @see https://eslint.style/rules/jsx/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/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/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/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/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/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/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/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/jsx-indent
* @deprecated
*/
'@stylistic/jsx-indent'?: Linter.RuleEntry<StylisticJsxIndent>
/**
* Enforce props indentation in JSX
* @see https://eslint.style/rules/jsx/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/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/jsx-newline
*/
'@stylistic/jsx-newline'?: Linter.RuleEntry<StylisticJsxNewline>
/**
* Require one JSX element per line
* @see https://eslint.style/rules/jsx/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/jsx-pascal-case
*/
'@stylistic/jsx-pascal-case'?: Linter.RuleEntry<StylisticJsxPascalCase>
/**
* Disallow multiple spaces between inline JSX props
* @see https://eslint.style/rules/jsx/jsx-props-no-multi-spaces
*/
'@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/js/jsx-quotes
*/
'@stylistic/jsx-quotes'?: Linter.RuleEntry<StylisticJsxQuotes>
/**
* Disallow extra closing tags for components without children
* @see https://eslint.style/rules/jsx/jsx-self-closing-comp
*/
'@stylistic/jsx-self-closing-comp'?: Linter.RuleEntry<StylisticJsxSelfClosingComp>
/**
* Enforce props alphabetical sorting
* @see https://eslint.style/rules/jsx/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/jsx-tag-spacing
*/
'@stylistic/jsx-tag-spacing'?: Linter.RuleEntry<StylisticJsxTagSpacing>
/**
* Disallow missing parentheses around multiline JSX
* @see https://eslint.style/rules/jsx/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/ts/key-spacing
*/
'@stylistic/key-spacing'?: Linter.RuleEntry<StylisticKeySpacing>
/**
* Enforce consistent spacing before and after keywords
* @see https://eslint.style/rules/ts/keyword-spacing
*/
'@stylistic/keyword-spacing'?: Linter.RuleEntry<StylisticKeywordSpacing>
/**
* Enforce position of line comments
* @see https://eslint.style/rules/js/line-comment-position
*/
'@stylistic/line-comment-position'?: Linter.RuleEntry<StylisticLineCommentPosition>
/**
* Enforce consistent linebreak style
* @see https://eslint.style/rules/js/linebreak-style
*/
'@stylistic/linebreak-style'?: Linter.RuleEntry<StylisticLinebreakStyle>
/**
* Require empty lines around comments
* @see https://eslint.style/rules/ts/lines-around-comment
*/
'@stylistic/lines-around-comment'?: Linter.RuleEntry<StylisticLinesAroundComment>
/**
* Require or disallow an empty line between class members
* @see https://eslint.style/rules/ts/lines-between-class-members
*/
'@stylistic/lines-between-class-members'?: Linter.RuleEntry<StylisticLinesBetweenClassMembers>
/**
* Enforce a maximum line length
* @see https://eslint.style/rules/js/max-len
*/
'@stylistic/max-len'?: Linter.RuleEntry<StylisticMaxLen>
/**
* Enforce a maximum number of statements allowed per line
* @see https://eslint.style/rules/js/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/ts/member-delimiter-style
*/
'@stylistic/member-delimiter-style'?: Linter.RuleEntry<StylisticMemberDelimiterStyle>
/**
* Enforce a particular style for multiline comments
* @see https://eslint.style/rules/js/multiline-comment-style
*/
'@stylistic/multiline-comment-style'?: Linter.RuleEntry<StylisticMultilineCommentStyle>
/**
* Enforce newlines between operands of ternary expressions
* @see https://eslint.style/rules/js/multiline-ternary
*/
'@stylistic/multiline-ternary'?: Linter.RuleEntry<StylisticMultilineTernary>
/**
* Enforce or disallow parentheses when invoking a constructor with no arguments
* @see https://eslint.style/rules/js/new-parens
*/
'@stylistic/new-parens'?: Linter.RuleEntry<StylisticNewParens>
/**
* Require a newline after each call in a method chain
* @see https://eslint.style/rules/js/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/js/no-confusing-arrow
*/
'@stylistic/no-confusing-arrow'?: Linter.RuleEntry<StylisticNoConfusingArrow>
/**
* Disallow unnecessary parentheses
* @see https://eslint.style/rules/ts/no-extra-parens
*/
'@stylistic/no-extra-parens'?: Linter.RuleEntry<StylisticNoExtraParens>
/**
* Disallow unnecessary semicolons
* @see https://eslint.style/rules/ts/no-extra-semi
*/
'@stylistic/no-extra-semi'?: Linter.RuleEntry<[]>
/**
* Disallow leading or trailing decimal points in numeric literals
* @see https://eslint.style/rules/js/no-floating-decimal
*/
'@stylistic/no-floating-decimal'?: Linter.RuleEntry<[]>
/**
* Disallow mixed binary operators
* @see https://eslint.style/rules/js/no-mixed-operators
*/
'@stylistic/no-mixed-operators'?: Linter.RuleEntry<StylisticNoMixedOperators>
/**
* Disallow mixed spaces and tabs for indentation
* @see https://eslint.style/rules/js/no-mixed-spaces-and-tabs
*/
'@stylistic/no-mixed-spaces-and-tabs'?: Linter.RuleEntry<StylisticNoMixedSpacesAndTabs>
/**
* Disallow multiple spaces
* @see https://eslint.style/rules/js/no-multi-spaces
*/
'@stylistic/no-multi-spaces'?: Linter.RuleEntry<StylisticNoMultiSpaces>
/**
* Disallow multiple empty lines
* @see https://eslint.style/rules/js/no-multiple-empty-lines
*/
'@stylistic/no-multiple-empty-lines'?: Linter.RuleEntry<StylisticNoMultipleEmptyLines>
/**
* Disallow all tabs
* @see https://eslint.style/rules/js/no-tabs
*/
'@stylistic/no-tabs'?: Linter.RuleEntry<StylisticNoTabs>
/**
* Disallow trailing whitespace at the end of lines
* @see https://eslint.style/rules/js/no-trailing-spaces
*/
'@stylistic/no-trailing-spaces'?: Linter.RuleEntry<StylisticNoTrailingSpaces>
/**
* Disallow whitespace before properties
* @see https://eslint.style/rules/js/no-whitespace-before-property
*/
'@stylistic/no-whitespace-before-property'?: Linter.RuleEntry<[]>
/**
* Enforce the location of single-line statements
* @see https://eslint.style/rules/js/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/ts/object-curly-newline
*/
'@stylistic/object-curly-newline'?: Linter.RuleEntry<StylisticObjectCurlyNewline>
/**
* Enforce consistent spacing inside braces
* @see https://eslint.style/rules/ts/object-curly-spacing
*/
'@stylistic/object-curly-spacing'?: Linter.RuleEntry<StylisticObjectCurlySpacing>
/**
* Enforce placing object properties on separate lines
* @see https://eslint.style/rules/ts/object-property-newline
*/
'@stylistic/object-property-newline'?: Linter.RuleEntry<StylisticObjectPropertyNewline>
/**
* Require or disallow newlines around variable declarations
* @see https://eslint.style/rules/js/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/js/operator-linebreak
*/
'@stylistic/operator-linebreak'?: Linter.RuleEntry<StylisticOperatorLinebreak>
/**
* Require or disallow padding within blocks
* @see https://eslint.style/rules/js/padded-blocks
*/
'@stylistic/padded-blocks'?: Linter.RuleEntry<StylisticPaddedBlocks>
/**
* Require or disallow padding lines between statements
* @see https://eslint.style/rules/ts/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/ts/quote-props
*/
'@stylistic/quote-props'?: Linter.RuleEntry<StylisticQuoteProps>
/**
* Enforce the consistent use of either backticks, double, or single quotes
* @see https://eslint.style/rules/ts/quotes
*/
'@stylistic/quotes'?: Linter.RuleEntry<StylisticQuotes>
/**
* Enforce spacing between rest and spread operators and their expressions
* @see https://eslint.style/rules/js/rest-spread-spacing
*/
'@stylistic/rest-spread-spacing'?: Linter.RuleEntry<StylisticRestSpreadSpacing>
/**
* Require or disallow semicolons instead of ASI
* @see https://eslint.style/rules/ts/semi
*/
'@stylistic/semi'?: Linter.RuleEntry<StylisticSemi>
/**
* Enforce consistent spacing before and after semicolons
* @see https://eslint.style/rules/ts/semi-spacing
*/
'@stylistic/semi-spacing'?: Linter.RuleEntry<StylisticSemiSpacing>
/**
* Enforce location of semicolons
* @see https://eslint.style/rules/js/semi-style
*/
'@stylistic/semi-style'?: Linter.RuleEntry<StylisticSemiStyle>
/**
* Enforce consistent spacing before blocks
* @see https://eslint.style/rules/ts/space-before-blocks
*/
'@stylistic/space-before-blocks'?: Linter.RuleEntry<StylisticSpaceBeforeBlocks>
/**
* Enforce consistent spacing before function parenthesis
* @see https://eslint.style/rules/ts/space-before-function-paren
*/
'@stylistic/space-before-function-paren'?: Linter.RuleEntry<StylisticSpaceBeforeFunctionParen>
/**
* Enforce consistent spacing inside parentheses
* @see https://eslint.style/rules/js/space-in-parens
*/
'@stylistic/space-in-parens'?: Linter.RuleEntry<StylisticSpaceInParens>
/**
* Require spacing around infix operators
* @see https://eslint.style/rules/ts/space-infix-ops
*/
'@stylistic/space-infix-ops'?: Linter.RuleEntry<StylisticSpaceInfixOps>
/**
* Enforce consistent spacing before or after unary operators
* @see https://eslint.style/rules/js/space-unary-ops
*/
'@stylistic/space-unary-ops'?: Linter.RuleEntry<StylisticSpaceUnaryOps>
/**
* Enforce consistent spacing after the `//` or `/*` in a comment
* @see https://eslint.style/rules/js/spaced-comment
*/
'@stylistic/spaced-comment'?: Linter.RuleEntry<StylisticSpacedComment>
/**
* Enforce spacing around colons of switch statements
* @see https://eslint.style/rules/js/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/js/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/js/template-tag-spacing
*/
'@stylistic/template-tag-spacing'?: Linter.RuleEntry<StylisticTemplateTagSpacing>
/**
* Require consistent spacing around type annotations
* @see https://eslint.style/rules/ts/type-annotation-spacing
*/
'@stylistic/type-annotation-spacing'?: Linter.RuleEntry<StylisticTypeAnnotationSpacing>
/**
* Enforces consistent spacing inside TypeScript type generics
* @see https://eslint.style/rules/plus/type-generic-spacing
*/
'@stylistic/type-generic-spacing'?: Linter.RuleEntry<[]>
/**
* Expect space before the type declaration in the named tuple
* @see https://eslint.style/rules/plus/type-named-tuple-spacing
*/
'@stylistic/type-named-tuple-spacing'?: Linter.RuleEntry<[]>
/**
* Require parentheses around immediate `function` invocations
* @see https://eslint.style/rules/js/wrap-iife
*/
'@stylistic/wrap-iife'?: Linter.RuleEntry<StylisticWrapIife>
/**
* Require parenthesis around regex literals
* @see https://eslint.style/rules/js/wrap-regex
*/
'@stylistic/wrap-regex'?: Linter.RuleEntry<[]>
/**
* Require or disallow spacing around the `*` in `yield*` expressions
* @see https://eslint.style/rules/js/yield-star-spacing
*/
'@stylistic/yield-star-spacing'?: Linter.RuleEntry<StylisticYieldStarSpacing>
/**
* 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<TypescriptEslintConsistentTypeDefinitions>
/**
* Enforce consistent usage of type exports
* @see https://typescript-eslint.io/rules/consistent-type-exports
*/
'@typescript-eslint/consistent-type-exports'?: Linter.RuleEntry<TypescriptEslintConsistentTypeExports>
/**
* Enforce consistent usage of type imports
* @see https://typescript-eslint.io/rules/consistent-type-imports
*/
'@typescript-eslint/consistent-type-imports'?: Linter.RuleEntry<TypescriptEslintConsistentTypeImports>
/**
* Enforce default parameters to be last
* @see https://typescript-eslint.io/rules/default-param-last
*/
'@typescript-eslint/default-param-last'?: Linter.RuleEntry<[]>
/**
* Enforce dot notation whenever possible
* @see https://typescript-eslint.io/rules/dot-notation
*/
'@typescript-eslint/dot-notation'?: Linter.RuleEntry<TypescriptEslintDotNotation>
/**
* Require explicit return types on functions and class methods
* @see https://typescript-eslint.io/rules/explicit-function-return-type
*/
'@typescript-eslint/explicit-function-return-type'?: Linter.RuleEntry<TypescriptEslintExplicitFunctionReturnType>
/**
* Require explicit accessibility modifiers on class properties and methods
* @see https://typescript-eslint.io/rules/explicit-member-accessibility
*/
'@typescript-eslint/explicit-member-accessibility'?: Linter.RuleEntry<TypescriptEslintExplicitMemberAccessibility>
/**
* Require explicit return and argument types on exported functions' and classes' public class methods
* @see https://typescript-eslint.io/rules/explicit-module-boundary-types
*/
'@typescript-eslint/explicit-module-boundary-types'?: Linter.RuleEntry<TypescriptEslintExplicitModuleBoundaryTypes>
/**
* Require or disallow initialization in variable declarations
* @see https://typescript-eslint.io/rules/init-declarations
*/
'@typescript-eslint/init-declarations'?: Linter.RuleEntry<TypescriptEslintInitDeclarations>
/**
* Enforce a maximum number of parameters in function definitions
* @see https://typescript-eslint.io/rules/max-params
*/
'@typescript-eslint/max-params'?: Linter.RuleEntry<TypescriptEslintMaxParams>
/**
* Require a consistent member declaration order
* @see https://typescript-eslint.io/rules/member-ordering
*/
'@typescript-eslint/member-ordering'?: Linter.RuleEntry<TypescriptEslintMemberOrdering>
/**
* Enforce using a particular method signature syntax
* @see https://typescript-eslint.io/rules/method-signatu