Open
Description
Is there an existing issue for this?
- I have searched the existing issues and my issue is uniqueMy issue appears in the command-line and not only in the text editor
Description Overview
I have built an app using Vite (^6.2.2
), React (^19.0.0
), Typescript(~5.7.2
), ESLint (^9.23.0
), and @eslint/css (^0.5.0
).
I have this ESLint configuration file (eslint.config.js
):
import { defineConfig } from 'eslint/config';
import globals from 'globals';
import js from '@eslint/js';
import tseslint from 'typescript-eslint';
import pluginReact from 'eslint-plugin-react';
import css from '@eslint/css';
export default defineConfig([
{
settings: {
react: {
version: 'detect',
},
},
},
{ files: ['**/*.{js,mjs,cjs,ts,jsx,tsx}'] },
{
files: ['**/*.{js,mjs,cjs,ts,jsx,tsx}'],
languageOptions: { globals: globals.browser },
},
{
files: ['**/*.{js,mjs,cjs,ts,jsx,tsx}'],
plugins: { js },
extends: ['js/recommended'],
},
tseslint.configs.recommended,
pluginReact.configs.flat.recommended,
// lint css files
{
files: ['**/*.css'],
plugins: {
css,
},
language: 'css/css',
rules: {
'css/no-duplicate-imports': 'error',
},
},
]);
Also, I have some scripts on my package.json
:
"lint": "eslint .",
"lint:debug": "eslint . --debug",
Unfortunately, I have an error:
> eslint .
Oops! Something went wrong! :(
ESLint: 9.23.0
TypeError: sourceCode.getAllComments is not a function
at Object.getFromContext (file:///home/projects/vitejs-vite-uzwt6juz/node_modules/eslint-plugin-react/lib/util/pragma.js#cjs:54:33)
at Components.componentRule (file:///home/projects/vitejs-vite-uzwt6juz/node_modules/eslint-plugin-react/lib/util/Components.js#cjs:288:29)
at createRuleListeners (file:///home/projects/vitejs-vite-uzwt6juz/node_modules/eslint/lib/linter/linter.js#cjs:1134:15)
at eval (file:///home/projects/vitejs-vite-uzwt6juz/node_modules/eslint/lib/linter/linter.js#cjs:1289:7)
at Array.forEach (<anonymous>)
at runRules (file:///home/projects/vitejs-vite-uzwt6juz/node_modules/eslint/lib/linter/linter.js#cjs:1203:31)
at #flatVerifyWithoutProcessors (file:///home/projects/vitejs-vite-uzwt6juz/node_modules/eslint/lib/linter/linter.js#cjs:2290:22)
at Linter._verifyWithFlatConfigArrayAndWithoutProcessors (file:///home/projects/vitejs-vite-uzwt6juz/node_modules/eslint/lib/linter/linter.js#cjs:2381:43)
at Linter._verifyWithFlatConfigArray (file:///home/projects/vitejs-vite-uzwt6juz/node_modules/eslint/lib/linter/linter.js#cjs:2484:15)
at Linter.verify (file:///home/projects/vitejs-vite-uzwt6juz/node_modules/eslint/lib/linter/linter.js#cjs:1840:10)
The error happens when I run this command:
npm run lint
I tried to uninstall eslint-plugin-react
, remove node_modules
folder, and install all dependencies again but the error persists.
I have created a Stackblitz project. Please, I will appreciate your help.
Expected Behavior
If I remove the @eslint/css
code on my eslint.config.js
file, I do not have this error:
import { defineConfig } from 'eslint/config';
import globals from 'globals';
import js from '@eslint/js';
import tseslint from 'typescript-eslint';
import pluginReact from 'eslint-plugin-react';
export default defineConfig([
{
settings: {
react: {
version: 'detect',
},
},
},
{ files: ['**/*.{js,mjs,cjs,ts,jsx,tsx}'] },
{
files: ['**/*.{js,mjs,cjs,ts,jsx,tsx}'],
languageOptions: { globals: globals.browser },
},
{
files: ['**/*.{js,mjs,cjs,ts,jsx,tsx}'],
plugins: { js },
extends: ['js/recommended'],
},
tseslint.configs.recommended,
pluginReact.configs.flat.recommended,
pluginReact.configs.flat['jsx-runtime'],
]);
Results:

eslint-plugin-react version
^7.37.4
eslint version
^9.23.0
node version
18.20.3
Activity
ljharb commentedon Mar 26, 2025
you might need to put the tseslint config after the react ones, since the ts-eslint one sets the proper TS parser settings, but since it works when you remove the CSS rules, it's probably that the pragma util is erroring on .css files. I'll see if I can repro it (but if you have a repo, that'd be better)
developermau commentedon Mar 26, 2025
Thanks @ljharb for your answering!
App.css
, andindex.css
)App.css
:App.tsx
Unfortunately, the error persisted.
Please, I will appreciate your help.
ljharb commentedon Apr 3, 2025
@developermau your repro repo uses
eslint-plugin-react-x
, which is an entirely different plugin. This is foreslint-plugin-react
. I'll leave this open tho since this issue references the correct plugin.developermau commentedon Apr 18, 2025
@ljharb I am so sorry, but I cannot understand what you are talking about. Because I have installed
eslint-plugin-react
package in my project and part of the my error mentioned a file inside this package:TypeError: sourceCode.getAllComments is not a function at Object.getFromContext (file:///home/developermau/bug-eslint-001/node_modules/eslint-plugin-react/lib/util/pragma.js#cjs:54:33)
Then...
eslint-plugin-react-hooks
andeslint-plugin-react-refresh
and try again? oreslint-plugin-react-hooks
by Facebook andeslint-plugin-react-refresh
repositories?Can you please give me more information about that I should do or next steps? I would appreciate it. I want to help, and fix this error, but not make more errors 😅 or generate confusion.
bever1337 commentedon Apr 21, 2025
I'm currently reproducing this. Unsure what @ljharb is saying about
eslint-plugin-react-x
.Dependencies look like this:
I started hacking on the eslint-plugin-react code at the error site and noticed it was failing to process markdown assets. I corrected the error by specifying files for the plugin:
ljharb commentedon Apr 21, 2025
I'm not sure where I saw that other plugin mentioned; i don't see it now. Thanks, I'll take a look at the repro.
bever1337 commentedon Apr 22, 2025
Thanks for taking a second look 👀
dmlogs commentedon May 16, 2025
I'm getting a similar error only after I add
@eslint/json
to my config as below. If I remove this block eslint skips json files.I am importing
eslint-plugin-react
viaeslint-config-expo/flat
which is importing react plugin as per:https://github.com/expo/expo/blob/main/packages/eslint-config-expo/flat/utils/react.js
Full error message:
exclude css from lint to avoid eslint-plugin-react error
exclude css from lint to avoid eslint-plugin-react error