eslint-config-neo is the official ESLint configuration package from Neo Financial, currently at v0.12.1. It provides a comprehensive set of rules for TypeScript, React, Jest, and Node.js projects, built on top of @typescript-eslint, eslint-plugin-import, eslint-plugin-unicorn, and Prettier. The package ships multiple config presets (config-backend, config-frontend, config-test) and actively enforces code style like curly braces and no reduce. It requires peer dependencies eslint ^8.34.0, prettier ^3.0.0, and typescript. Compared to alternatives like eslint-config-standard or airbnb, it is tailored for Neo's internal style guide and tightly versioned with their toolchain. Release cadence is irregular with breaking changes tied to ESLint major version bumps.
npm install eslint-config-neoVerified import paths — ran on the pinned version, not inferred.
Extends base, backend, and frontend configs in an ESLint config file. Shows typical project setup.
Upgrade ESLint to version 6+ (currently requires ^8.34.0).
Ensure package.json includes these exact peer ranges. Using incompatible versions may cause rule failures.
Use stable config-backend and config-frontend for production. Avoid -next variants.
Always use curly braces on multi-line or single-line if statements. For one-liners, e.g. if (x) doSomething(), rewrite with braces.
Prefer undefined over null in your codebase despite the rule being disabled.
Use config-test only for Jest projects. For other test frameworks, extend base config and add test rules manually.
Verify the config path in your .eslintrc.js: `'eslint-config-neo/config-backend'` and ensure the package is installed.
Run `npm install eslint@^8.34.0 prettier@^3.0.0 typescript@^4.0.0 --save-dev`.
Ensure TypeScript is >=3.7 and eslint-config-neo is properly extended. Verify tsconfig.json is present.