eslint-config-farther

raw JSON →
1.0.5 verified Sat Apr 25 auth: no javascript

A strict ESLint configuration for TypeScript and React projects, v1.0.5, released sporadically. It bundles a curated set of plugins (functional, unicorn, etc., security-focused no-type-assertion, accessibility jsx-a11y) and enforces consistent formatting via Prettier. Differentiates with opinionated rules on type assertions, functional programming patterns, and export sorting. Requires exact peer dependency versions, which may conflict with other configs.

error ESLint: Failed to load plugin 'etc' declared in 'eslint-config-farther': Peer dependency not found.
cause Missing peer dependency eslint-plugin-etc at exact version 2.0.3.
fix
Run: npm install eslint-plugin-etc@2.0.3 --save-dev
error Error: Cannot find module 'eslint-config-farther'
cause The package is not installed or not in node_modules.
fix
Run: npm install eslint-config-farther --save-dev
error TypeError: config is not iterable
cause Using the exported config directly without spreading in a flat config array.
fix
Wrap the config in an array: export default [config];
breaking ESLint v9 compatibility: This config is designed for ESLint 8.57.0 and may not work with ESLint v9 due to changes in flat config and rule APIs.
fix Downgrade to ESLint 8.57.0 or wait for an update.
gotcha Strict peer dependency versions: All peer dependencies are pinned to exact versions, which may conflict with other tools or configs that require different versions.
fix Use npm's --legacy-peer-deps flag or manually adjust peer dependency versions at your own risk.
gotcha Functional programming rules may be too opinionated for many codebases; they enforce immutability and expression-based code by default.
fix Disable specific functional rules (e.g., 'functional/prefer-readonly-type': 'off') in your config overrides.
deprecated The no-type-assertion plugin is deprecated in favor of @typescript-eslint/no-unnecessary-type-assertion; the maintainer may drop it in future.
fix Consider migrating to built-in TypeScript ESLint rules and removing the plugin.
gotcha Flat config only: This config exports a flat config array, not a legacy .eslintrc config object. Using it with .eslintrc.* files requires wrapping correctly.
fix Use 'extends' in .eslintrc.json as shown in quickstart, or migrate to eslint.config.js.
npm install eslint-config-farther
yarn add eslint-config-farther
pnpm add eslint-config-farther

Shows how to use the default export in an ESLint flat config file with custom rule overrides.

// eslint.config.js
import config from 'eslint-config-farther';

export default [
  ...config,
  {
    rules: {
      // Override or add custom rules
      'no-console': 'warn',
    },
  },
];