eslint-config-codfish
raw JSON → 11.1.0 verified Sat Apr 25 auth: no javascript
An opinionated ESLint configuration that extends Airbnb's base config and integrates with Prettier to avoid conflicts. Current stable version 13.1.3, released March 2026, with frequent updates (weekly/monthly). Key differentiators: dynamically enables React, TypeScript, and Jest rules based on project dependencies; supports linting markdown, JSON, YAML, and HTML files; includes opt-in configs for dApps and Docker environments. Requires peer dependencies eslint ^8.2.0 (v13 requires eslint ^10), prettier ^2.0.0, typescript ^4.0.0, and @babel/core ^7.13.8.
Common errors
error Error: Failed to load config "codfish" to extend from. ↓
cause eslint-config-codfish not installed or not in node_modules.
fix
Run
npx install-peerdeps eslint-config-codfish to install with all peer deps. error Error: Cannot find module 'eslint-config-codfish' ↓
cause Package not installed or ESLint cannot resolve scoped config.
fix
Install eslint-config-codfish as a devDependency:
npm install --save-dev eslint-config-codfish. error Error: ESLint configuration is invalid: "extends" value 'codfish' is not defined. ↓
cause ESLint config file syntax error (extending a single string instead of array).
fix
Use
extends: ['codfish'] with array syntax. error Error: Failed to load parser '@typescript-eslint/parser' ↓
cause TypeScript parser not installed as a dependency.
fix
Install peer dependencies:
npm install --save-dev @typescript-eslint/parser @typescript-eslint/eslint-plugin. Warnings
breaking Version 13.0.0 upgraded to ESLint 10, which may break configs expecting ESLint 8 or 9. ↓
fix Ensure your project uses ESLint ^10.0.0. Update peer dependencies accordingly.
deprecated The dapp sub-config may be deprecated in future versions as core config includes docker-like ignores. ↓
fix Check changelog; consider not using 'codfish/dapp' if core config meets needs.
breaking Version 11.x required ESLint ^8.2.0; older configs with ESLint 7 will fail. ↓
fix Upgrade ESLint to ^8.2.0 or use eslint-config-codfish@10.x.
gotcha The config assumes Jest is installed as a project dependency; otherwise Jest rules are not applied. This may cause confusion if linting test files. ↓
fix Ensure jest is in devDependencies if you want Jest-specific lint rules.
Install
npm install eslint-config-codfish yarn add eslint-config-codfish pnpm add eslint-config-codfish Imports
- codfish wrong
module.exports = { extends: 'codfish' }correctmodule.exports = { extends: ['codfish'] } - codfish/dapp wrong
module.exports = { extends: 'codfish/dapp' }correctmodule.exports = { extends: ['codfish', 'codfish/dapp'] } - codfish/react wrong
module.exports = { extends: 'codfish/react' }correctmodule.exports = { extends: ['codfish/react'] }
Quickstart
module.exports = {
extends: ['codfish'],
rules: {
'no-console': 'warn',
},
};
// .prettierrc.js
module.exports = {
printWidth: 100,
tabWidth: 2,
useTabs: false,
semi: true,
singleQuote: true,
trailingComma: 'all',
bracketSpacing: true,
jsxBracketSameLine: false,
proseWrap: 'always',
};