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.

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.
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.
npm install eslint-config-codfish
yarn add eslint-config-codfish
pnpm add eslint-config-codfish

Shows minimal ESLint configuration extending eslint-config-codfish and recommended Prettier config.

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',
};