{"id":19575,"library":"eslint-config-satya164","title":"ESLint Config Satya164","description":"A personal ESLint configuration by @satya164, currently at v5.1.8, released in February 2026. It follows a non-intrusive, error-focused philosophy, avoiding purely stylistic rules. The config automatically adapts to file types (e.g., TypeScript for .ts/.tsx, Jest environment for test files) via ESLint's overrides. It includes essential plugins like eslint-plugin-import-x, typescript-eslint, react, react-hooks, jest, vitest, and prettier. Requires ESLint 9 flat config. Differentiates from other configs by being minimal and opinionated only where it catches actual bugs, with optional type-aware rules. Release cadence is irregular with occasional bug fixes and feature additions.","status":"active","version":"5.1.8","language":"javascript","source_language":"en","source_url":"https://github.com/satya164/eslint-config-satya164","tags":["javascript"],"install":[{"cmd":"npm install eslint-config-satya164","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-satya164","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-satya164","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency required to run linting; version 9+ needed for flat config.","package":"eslint","optional":false},{"reason":"Peer dependency used for formatting; required by eslint-plugin-prettier.","package":"prettier","optional":true}],"imports":[{"note":"ESM-only; does not export a default export. Use named import in flat config.","wrong":"const recommended = require('eslint-config-satya164/recommended')","symbol":"recommended","correct":"import { recommended } from 'eslint-config-satya164'"},{"note":"Named export for optional React config; not included in base config.","wrong":"import react from 'eslint-config-satya164'","symbol":"react","correct":"import { react } from 'eslint-config-satya164'"},{"note":"Named export for type-aware rules; requires parserOptions.project set.","wrong":"import { typechecked } from 'eslint-config-satya164/typechecked'","symbol":"typechecked","correct":"import { typechecked } from 'eslint-config-satya164'"},{"note":"Named export for vitest support; alternative to jest config.","wrong":"","symbol":"vitest","correct":"import { vitest } from 'eslint-config-satya164'"}],"quickstart":{"code":"import { defineConfig } from 'eslint/config';\nimport { recommended, react, vitest } from 'eslint-config-satya164';\n\nexport default defineConfig(\n  recommended,\n  react,\n  vitest,\n  {\n    // Optional custom overrides\n    rules: {\n      // Your additional rules\n    }\n  }\n);","lang":"javascript","description":"Creates an ESLint flat config using the base recommended rules, plus React and Vitest-specific configurations."},"warnings":[{"fix":"Update imports from default import to named imports: import { recommended, react, jest, vitest } from 'eslint-config-satya164'","message":"v5.0.3 (2025-05-09) separated the single default export into named exports for base, React, Jest, and Vitest configs.","severity":"breaking","affected_versions":">=5.0.3"},{"fix":"Use named exports like `import { recommended } from 'eslint-config-satya164'` instead of `import config from 'eslint-config-satya164'`.","message":"v5.0.3 removed the single default export. Older default import from v4.x will not work with v5.x.","severity":"breaking","affected_versions":">=5.0.0"},{"fix":"Consider using `vitest` export instead of `jest` for new projects.","message":"Jest config named export may be deprecated in favor of Vitest config; both currently available.","severity":"deprecated","affected_versions":">=5.0.3"},{"fix":"Add `languageOptions: { parserOptions: { project: true, tsconfigRootDir: import.meta.dirname } }` when using `typechecked` config.","message":"Type-checked rules require explicit parserOptions in your ESLint config.","severity":"gotcha","affected_versions":">=5.1.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Install eslint-plugin-import-x: npm install eslint-plugin-import-x -D","cause":"Missing required peer dependency for import-x plugin.","error":"Error: Failed to load plugin 'import-x' declared in 'eslint-config-satya164': Cannot find module 'eslint-plugin-import-x'"},{"fix":"Use ESM import syntax: import { recommended } from 'eslint-config-satya164'","cause":"Attempting to use CommonJS require() with ESM-only package.","error":"ReferenceError: require is not defined in ES module scope, you can use import instead"},{"fix":"Import named export: import { recommended } from 'eslint-config-satya164'","cause":"Using old default import syntax with v5.x.","error":"Error: The 'recommended' config is not found in 'eslint-config-satya164'"},{"fix":"Ensure the file is included in tsconfig.json or set parserOptions.project to true with correct tsconfigRootDir.","cause":"TypeScript type-checking requires the file to be included in tsconfig.json.","error":"Parsing error: parserOptions.project has been set for @typescript-eslint/parser. The file does not match your project config: index.ts"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}