ESLint Config Ali
raw JSON → 16.6.0 verified Sat Apr 25 auth: no javascript
ESLint shareable config for the Alibaba F2E Guidelines, version 16.6.0. Supports JavaScript, TypeScript, React, Vue, and Node.js projects. Ships TypeScript types. Requires Node.js >=20.8.0 and ESLint ^9.0.0. Replaces previous version’s commonjs patterns with ESM-only exports. Active development with monthly releases. Primary differentiator is alignment with Alibaba’s internal frontend standards, offering unified linting rules across diverse project types.
Common errors
error Error: Cannot find module 'eslint-config-ali' ↓
cause Missing or incorrect installation.
fix
Run: npm install --save-dev eslint@^9 eslint-config-ali
error Error [ERR_REQUIRE_ESM]: require() of ES Module ↓
cause Trying to use CommonJS require() on an ESM-only package.
fix
Use import syntax in an ESM context (e.g., eslint.config.mjs).
error Configuration for rule 'xyz' is invalid ↓
cause ESLint 9.x config format changed; using outdated .eslintrc.
fix
Create eslint.config.mjs using flat config format as shown in README.
Warnings
breaking Version 16.x is ESM-only; CommonJS require() will fail. ↓
fix Use import syntax (ESM) in your config file: import { base } from 'eslint-config-ali';
deprecated Version 15.x and earlier used legacy .eslintrc format; flat config required in v16. ↓
fix Migrate to flat config using eslint.config.mjs. See README.
gotcha The 'project' option in TypeScript configs was removed in v16.5.1. ↓
fix Do not rely on TypeScript parser's project option; use tsconfig.eslint.json manually if needed.
breaking Requires ESLint ^9.0.0; incompatible with ESLint 8.x. ↓
fix Upgrade ESLint to version 9.x.
breaking Node.js version must be >=20.8.0; older versions will cause runtime errors. ↓
fix Use Node.js 20.8 or later.
Install
npm install eslint-config-ali yarn add eslint-config-ali pnpm add eslint-config-ali Imports
- base wrong
const base = require('eslint-config-ali').basecorrectimport { base } from 'eslint-config-ali' - react wrong
import react from 'eslint-config-ali'correctimport { react } from 'eslint-config-ali' - typescript/react
import { typescript } from 'eslint-config-ali'; import { react } from 'eslint-config-ali';
Quickstart
// eslint.config.mjs
import { base } from 'eslint-config-ali';
export default [...base];