{"id":25482,"library":"eslint-config-lion","title":"eslint-config-lion","description":"eslint-config-lion is a shareable ESLint configuration preset by itsmelion, providing a unified linting style for JavaScript, React, React Native, TypeScript, and Node.js projects. The current stable version is 2.2.7. It relies on peer dependencies installed via install-peerdeps and offers presets for various environments: 'lion' for base, 'lion/react-native' for React Native, 'lion/typescript' for TypeScript web, 'lion/typescript-node' for TypeScript Node, and 'lion/node' for Node. It also includes additional dependency groups for React, TypeScript, and Node. Key differentiator: modular presets with explicit environment-specific configurations.","status":"active","version":"2.2.7","language":"javascript","source_language":"en","source_url":"https://github.com/itsmelion/lion-lint","tags":["javascript"],"install":[{"cmd":"npm install eslint-config-lion","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-lion","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-lion","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency; ESLint core required for linting","package":"eslint","optional":false},{"reason":"required for React-specific rules (included in reactDependencies)","package":"eslint-plugin-react","optional":true},{"reason":"required for React Hooks rules (included in reactDependencies)","package":"eslint-plugin-react-hooks","optional":true},{"reason":"required for TypeScript rules (included in typescriptDependencies)","package":"@typescript-eslint/eslint-plugin","optional":true},{"reason":"required for TypeScript parsing (included in typescriptDependencies)","package":"@typescript-eslint/parser","optional":true},{"reason":"required for Node.js rules (included in nodeDependencies)","package":"eslint-plugin-node","optional":true}],"imports":[{"note":"Use the short name 'lion' in extends, not the full package name.","wrong":"{\n  \"extends\": \"eslint-config-lion\"\n}","symbol":"lion","correct":"{\n  \"extends\": \"lion\"\n}"},{"note":"Presets are subdirectories under 'lion', use slash notation.","wrong":"{\n  \"extends\": \"lion-typescript\"\n}","symbol":"lion/typescript","correct":"{\n  \"extends\": \"lion/typescript\"\n}"},{"note":"Do not extend a bare Node config; must be scoped under lion.","wrong":"{\n  \"extends\": \"node\"\n}","symbol":"lion/node","correct":"{\n  \"extends\": \"lion/node\"\n}"},{"note":"Requires additional resolver: eslint-import-resolver-alias.","wrong":"{\n  \"extends\": \"lion/react-native\"\n}","symbol":"lion/react-native","correct":"{\n  \"extends\": \"lion/react-native\"\n}"}],"quickstart":{"code":"# Install peer dependencies automatically (npm 5+)\nnpx install-peerdeps --dev eslint-config-lion\n# Then for TypeScript project, also install:\nnpm install --save-dev @typescript-eslint/eslint-plugin @typescript-eslint/parser\n# Create .eslintrc.json\ncat <<'EOF' > .eslintrc.json\n{\n  \"extends\": \"lion/typescript\"\n}\nEOF\n# Run ESLint\nnpx eslint .","lang":"bash","description":"Install eslint-config-lion and its peer dependencies, then configure ESLint for a TypeScript project."},"warnings":[{"fix":"Run npx install-peerdeps --dev eslint-config-lion","message":"Do not manually install peer dependencies; use install-peerdeps to get correct versions.","severity":"gotcha","affected_versions":">=2.0.0"},{"fix":"Set extends to [\"lion\", \"react-app\"] and install eslint-config-react-app and eslint-plugin-flowtype.","message":"For React projects using Create React App, you must extend both 'lion' and 'react-app'.","severity":"gotcha","affected_versions":">=2.0.0"},{"fix":"Add \"type\": \"module\" in package.json for ES modules, or \"type\": \"commonjs\" for CommonJS.","message":"Node preset requires setting 'type': 'module' or 'type': 'commonjs' in package.json.","severity":"gotcha","affected_versions":">=2.0.0"},{"fix":"Run npm install --save-dev eslint-import-resolver-alias","message":"React Native preset requires eslint-import-resolver-alias to be installed.","severity":"gotcha","affected_versions":">=2.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run install-peerdeps to install all peer dependencies: npx install-peerdeps --dev eslint-config-lion","cause":"Missing peer dependency for React rules.","error":"Error: Cannot find module 'eslint-plugin-react'"},{"fix":"Use \"extends\": \"lion/typescript\" (short name).","cause":"Incorrect extends value; using full package name or invalid subpath.","error":"ESLint couldn't find the config \"lion/typescript\". Check that the package name \"eslint-config-lion/typescript\" is correct."},{"fix":"Reinstall peer dependencies with install-peerdeps to match versions.","cause":"Mismatch between ESLint plugin version and configuration; typically due to wrong peer dependency version.","error":"Configuration for rule \"react/jsx-uses-react\" is invalid: Value \"error\" is not an allowed value."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}