An ESLint parser that leverages Babel's parser to lint all valid Babel code, including experimental and non-standard syntax (e.g., Flow, TypeScript). The current stable version is 7.29.2 (maintenance branch) with an 8.x release candidate targeting ESLint v9+. It requires @babel/core ≥7.11.0 and ESLint ≥7.5.0 (v7) or ESLint ≥9 (v8). Unlike alternatives like typescript-eslint, this parser supports the full range of Babel transforms and is maintained by the Babel core team. Release cadence is monthly for minor/patch versions.
npm install babel-eslint-parserVerified import paths — ran on the pinned version, not inferred.
Shows how to configure ESLint to use @babel/eslint-parser with Babel presets and a rule.
Upgrade ESLint to v9 or stay on @babel/eslint-parser v7.x.
Remove any explicit references to 'experimental-worker' and use the default parser.
Replace 'babel-eslint' with '@babel/eslint-parser' in devDependencies and ESLint config.
Add ecmaFeatures: { globalReturn: true } if using CommonJS modules.Create a Babel config or set requireConfigFile: false (not recommended for transformed code).
npm install @babel/core --save-dev
Upgrade ESLint to >=7.5.0 or remove requireConfigFile from parserOptions.
Match ESLint version to the parser version (e.g., ESLint 7 for @babel/eslint-parser v7).
Create a Babel config file or set requireConfigFile: false.