An ESLint shareable config that focuses on catching actual code problems without enforcing code style, designed for seamless use with Prettier. Current stable version is 10.0.1, released in 2025. This package is actively maintained and follows ESLint major versions: v8, v9, and now v10. It includes rules like no-unassigned-vars, preserve-caught-error, no-promise-executor-return, and others that prevent runtime errors, disallow bad practices (eval, with, new Number), and encourage shorter code. It is style-agnostic, meaning it does not include any stylistic rules, making it ideal for teams using Prettier. Alternatives like eslint-config-standard or eslint-config-airbnb include style rules that may conflict with Prettier. The config is ESM-only since v9 and exports a flat config object for ESLint v9+.
npm install eslint-config-problemsVerified import paths — ran on the pinned version, not inferred.
Installs eslint and the config, then sets up a flat config importing the problems config and adding a custom rule.
Upgrade to eslint v10, or use eslint-config-problems v8.0.0 for eslint v8 or v9.
Migrate to eslint.config.js using flat config format. See the quickstart for an example.
Use import statement in an ESM context (e.g., "type": "module" in package.json or .mjs extension).
Run prettier after eslint fixes, or integrate via eslint-plugin-prettier if desired (not included).
Switch to import statement or set type: module in package.json.
Use 'warn' (string) or 1 (number) as severity.
Use flat config and import the default export.