{"id":19477,"library":"eslint-config-agoda","title":"eslint-config-agoda","description":"Agoda's ESLint shareable configuration for JavaScript and TypeScript projects, currently at v4.6.1. Follows semantic versioning with occasional beta releases. Differentiators: opinionated rules tailored for Agoda's codebase, integrates with React, Jest, and TypeScript via peer dependencies. The upcoming v5.0.0 will remove eslint-config-airbnb base, breaking existing configurations.","status":"active","version":"4.6.1","language":"javascript","source_language":"en","source_url":"https://github.com/agoda-com/eslint-config-agoda","tags":["javascript","eslint","eslintconfig","config","agoda","typescript","styleguide","es2015"],"install":[{"cmd":"npm install eslint-config-agoda","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-agoda","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-agoda","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"core linter","package":"eslint","optional":false},{"reason":"Jest rules","package":"eslint-plugin-jest","optional":false},{"reason":"React rules","package":"eslint-plugin-react","optional":false},{"reason":"import ordering","package":"eslint-plugin-import","optional":false},{"reason":"accessibility rules","package":"eslint-plugin-jsx-a11y","optional":false},{"reason":"TypeScript parsing","package":"@typescript-eslint/parser","optional":false},{"reason":"React hooks rules","package":"eslint-plugin-react-hooks","optional":false},{"reason":"TypeScript rules","package":"@typescript-eslint/eslint-plugin","optional":false}],"imports":[{"note":"Full package name required; shorthand not supported.","wrong":"extends: ['agoda']","symbol":"agoda","correct":"extends: ['eslint-config-agoda']"},{"note":"Sub-config paths are relative to the package root via package.json exports.","wrong":"extends: ['eslint-config-agoda/lib/react']","symbol":"agoda/react","correct":"extends: ['eslint-config-agoda/react']"},{"note":"Use 'typescript' not 'ts' in config name.","wrong":"extends: ['eslint-config-agoda/ts']","symbol":"agoda/typescript","correct":"extends: ['eslint-config-agoda/typescript']"},{"note":"Jest config exists separately; also available as 'jest-react'.","wrong":"extends: ['eslint-config-agoda/jest-react']","symbol":"agoda/jest","correct":"extends: ['eslint-config-agoda/jest']"}],"quickstart":{"code":"npm install --save-dev eslint eslint-config-agoda eslint-plugin-jest eslint-plugin-react eslint-plugin-import eslint-plugin-jsx-a11y @typescript-eslint/parser eslint-plugin-react-hooks @typescript-eslint/eslint-plugin\n\n// .eslintrc.json\n{\n  \"extends\": [\n    \"eslint-config-agoda\",\n    \"eslint-config-agoda/react\",\n    \"eslint-config-agoda/typescript\",\n    \"eslint-config-agoda/jest\"\n  ],\n  \"parserOptions\": {\n    \"project\": \"./tsconfig.json\"\n  }\n}","lang":"json","description":"Install all peer dependencies and configure .eslintrc.json with agoda configs for TypeScript, React, and Jest."},"warnings":[{"fix":"Port any reliant rules manually to the new config base.","message":"v5.0.0 removes eslint-config-airbnb base, causing all Airbnb rules to be lost.","severity":"breaking","affected_versions":">=5.0.0-beta.1"},{"fix":"If using v5, do not rely on Airbnb rules; apply them separately if needed.","message":"The package previously extended 'eslint-config-airbnb'; this is removed in v5.","severity":"deprecated","affected_versions":">=3.0.0 <5.0.0"},{"fix":"Install all listed peer dependencies using the same command as shown in quickstart.","message":"All peer dependencies must be installed manually; npm does not install them automatically.","severity":"gotcha","affected_versions":">=4.0.0"},{"fix":"Always use the full package name 'eslint-config-agoda'.","message":"Using 'extends' with shorthand names like 'agoda' fails because the package is not resolved.","severity":"gotcha","affected_versions":">=3.0.0"},{"fix":"Set parserOptions.project in your .eslintrc to point to your tsconfig.","message":"The config may override parserOptions.project; ensure tsconfig.json is present at the root.","severity":"gotcha","affected_versions":">=4.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 eslint-config-agoda --save-dev` and install all peer deps.","cause":"Package not installed or missing peer dependencies","error":"Error: Cannot find module 'eslint-config-agoda'"},{"fix":"Install eslint-plugin-import@^2.26.0 as peer dependency.","cause":"Incompatible version of eslint-plugin-import","error":"Configuration for rule 'import/order' is invalid"},{"fix":"Use 'eslint-config-agoda/react' instead of 'eslint-config-agoda/lib/react'.","cause":"Typo or wrong path","error":"ESLint couldn't find the config 'eslint-config-agoda/react'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}