An ESLint plugin providing fp-ts-specific lint rules, including auto-fixable rules to detect deprecated imports (no-lib-imports, no-pipeable, no-module-imports) and to reduce redundant functional patterns (no-redundant-flow, prefer-traverse, prefer-chain, prefer-bimap), plus a rule to catch discarded pure expressions (no-discarded-pure-expression). Current stable version v0.5.0 requires ESLint ^9.0 and ships TypeScript definitions. The plugin has migrated to the new flat config format and now only supports ESLint v9, dropping support for v8. It relies on typescript-eslint for rules that need type checking.
npm install eslint-plugin-fp-tsVerified import paths — ran on the pinned version, not inferred.
Flat config example enabling 'no-lib-imports', 'no-redundant-flow', and 'no-discarded-pure-expression' rules with parser options for type checking.
Upgrade ESLint to ^9.0 and migrate to flat config (eslint.config.mjs).
Use ESM imports and flat config or downgrade to v0.3.x if using eslintrc and CJS.
Upgrade ESLint to ^8.0 or use v0.2.x for ESLint v7.
Set parserOptions.projectService: true (or project) and tsconfigRootDir in languageOptions.
Use rule 'fp-ts/no-lib-imports' to enforce the new import style.
Use import syntax: import fptsPlugin from 'eslint-plugin-fp-ts';
Add languageOptions.parserOptions.projectService: true to your flat config.
Ensure eslint-plugin-fp-ts is installed and imported as shown in the quickstart.