{"id":19486,"library":"eslint-config-ali","title":"ESLint Config Ali","description":"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.","status":"active","version":"16.6.0","language":"javascript","source_language":"en","source_url":"https://github.com/alibaba/f2e-spec","tags":["javascript","eslint","eslintconfig","f2elint","Alibaba F2E Guidelines","typescript"],"install":[{"cmd":"npm install eslint-config-ali","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-ali","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-ali","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency for linting engine","package":"eslint","optional":false}],"imports":[{"note":"ESM-only since v16. Use dynamic import or migrate to ESM.","wrong":"const base = require('eslint-config-ali').base","symbol":"base","correct":"import { base } from 'eslint-config-ali'"},{"note":"Named export, not default. Use for React projects.","wrong":"import react from 'eslint-config-ali'","symbol":"react","correct":"import { react } from 'eslint-config-ali'"},{"note":"Combine typescript and react configs for TypeScript React projects. Use spread operator.","wrong":"","symbol":"typescript/react","correct":"import { typescript } from 'eslint-config-ali';\nimport { react } from 'eslint-config-ali';"}],"quickstart":{"code":"// eslint.config.mjs\nimport { base } from 'eslint-config-ali';\n\nexport default [...base];","lang":"javascript","description":"Shows minimal setup for a JavaScript/TypeScript project using the base config via ESM flat config."},"warnings":[{"fix":"Use import syntax (ESM) in your config file: import { base } from 'eslint-config-ali';","message":"Version 16.x is ESM-only; CommonJS require() will fail.","severity":"breaking","affected_versions":">=16.0.0"},{"fix":"Migrate to flat config using eslint.config.mjs. See README.","message":"Version 15.x and earlier used legacy .eslintrc format; flat config required in v16.","severity":"deprecated","affected_versions":"<16.0.0"},{"fix":"Do not rely on TypeScript parser's project option; use tsconfig.eslint.json manually if needed.","message":"The 'project' option in TypeScript configs was removed in v16.5.1.","severity":"gotcha","affected_versions":">=16.0.0"},{"fix":"Upgrade ESLint to version 9.x.","message":"Requires ESLint ^9.0.0; incompatible with ESLint 8.x.","severity":"breaking","affected_versions":">=16.0.0"},{"fix":"Use Node.js 20.8 or later.","message":"Node.js version must be >=20.8.0; older versions will cause runtime errors.","severity":"breaking","affected_versions":">=16.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run: npm install --save-dev eslint@^9 eslint-config-ali","cause":"Missing or incorrect installation.","error":"Error: Cannot find module 'eslint-config-ali'"},{"fix":"Use import syntax in an ESM context (e.g., eslint.config.mjs).","cause":"Trying to use CommonJS require() on an ESM-only package.","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module"},{"fix":"Create eslint.config.mjs using flat config format as shown in README.","cause":"ESLint 9.x config format changed; using outdated .eslintrc.","error":"Configuration for rule 'xyz' is invalid"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}