ESLint is a linter for JavaScript, TypeScript, JSX, TSX, CSS, etc. CodeRabbit runs ESLint automatically on every pull request in a secure sandbox, using your repository’s own ESLint configuration when present and posting results as inline review comments.Documentation Index
Fetch the complete documentation index at: https://docs.coderabbit.ai/llms.txt
Use this file to discover all available pages before exploring further.
Files
ESLint will run on files with the following extensions:.js, .ts, .cjs, .mjs, .d.cts, .d.mts, .jsx, .tsx, .css, .vue, .svelte, .astro, .graphql, .gql, .mdx
Configuration
- ESLint configuration is read from the repository and is used as is. If no ESLint configuration file is found, CodeRabbit writes a temporary fallback config based on the selected review profile.
- Please ensure that all ESLint dependencies are defined in your
package.jsonfile(s). - Yarn and PNPM workspaces are supported.
- Private ESLint plugins or configurations are not supported at the moment. Please reach out to support if you would like us to add support for this.
- For
@typescript-eslint, linting with type information is not supported at the moment. The type checking rules are disabled. - For
eslint-plugin-import, the following rules are disabled:import/no-unresolved
- For the
eslint-plugin-n, the following rules are disabled:n/no-missing-importn/no-missing-require
- For the
eslint-plugin-node, the following rules are disabled:node/no-missing-importnode/no-missing-require
.coderabbit.yaml file or the CodeRabbit web UI:
- .coderabbit.yaml
- Web UI
.coderabbit.yaml
Security policy and restrictions
ESLint runs in a sandbox. CodeRabbit scans ESLint config files before anynpm/yarn/pnpm installs and only permits a curated allow-list of plugins.
- CodeRabbit extracts referenced plugins from configs (the
pluginsarray,extends: "plugin:...",eslint-plugin-...mentions). - If any plugin outside the allow-list is referenced, CodeRabbit skips ESLint for the run.
- CodeRabbit does not install or execute arbitrary third-party plugins from the repository.
| Category | Plugins |
|---|---|
| TypeScript / Stylistic | @typescript-eslint, @stylistic |
| Import / Module | import, simple-import-sort, unused-imports, n, node |
| React ecosystem | react, react-hooks, react-native, jsx-a11y, next |
| Testing | jest, vitest, testing-library, cypress, playwright, mocha |
| Frameworks | vue, nuxt, angular, @angular-eslint, @angular-eslint/template, svelte, astro, solid, qwik, turbo, hydrogen, storybook |
| Code quality | sonarjs, security, unicorn, promise, regexp, compat, jsdoc, deprecation, lodash, boundaries, perfectionist, eslint-comments |
| Formatting | prettier, tailwindcss |
| Other | mdx |
When CodeRabbit skips ESLint
CodeRabbit will skip running ESLint when:- The config references a plugin not in the allow-list.
- The config can’t be parsed or is otherwise unsafe.
- No
package.jsoncan be found for the relevant project.
What’s next
All supported tools
Browse the complete list of linters, security analyzers, and CI/CD integrations available in CodeRabbit.
Tools reference
Explore detailed specifications and capabilities of all available CodeRabbit tools.
Configuration reference
Full reference for all available options, including how to enable, disable, and tune individual tools.