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.

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.
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.
npm install eslint-config-ali
yarn add eslint-config-ali
pnpm add eslint-config-ali

Shows minimal setup for a JavaScript/TypeScript project using the base config via ESM flat config.

// eslint.config.mjs
import { base } from 'eslint-config-ali';

export default [...base];