The most strict (yet practical) ESLint config, bundling 51 plugins and 1376 rules for maximum code consistency and robustness. Current stable version is 49.0.0, released with a cadence of major updates every few months. It supports ESLint v8 (legacy config format) and TypeScript >=4.7.4. Key differentiators: it is the most comprehensive ESLint config available, covering React, Vue, Node, Jest, FP, performance, and more through modular sub-configs. Notably, v49 is likely the last major release supporting ESLint v8 and legacy config; future versions will target ESLint v9 and flat config, and may drop plain JavaScript support entirely.
npm install eslint-config-hardcoreVerified import paths — ran on the pinned version, not inferred.
Sets up the base hardcore config with TypeScript support for a browser project. Requires ESLint v8 and TypeScript >=4.7.4.
Review new rules; adjust code for tomdoc style in JSDoc comments if needed.
Prepare migration to ESLint v9 and flat config when upgrading beyond v49.
Migrate to TypeScript or consider alternative configs if maintaining JS-only projects.
Use eslint's --quiet flag or disable specific rules in your overrides to onboard gradually.
Add 'parserOptions': { 'project': true } to your ESLint config.Run 'npm install eslint-config-hardcore --save-dev' which installs all peer dependencies automatically, or manually install missing plugins.
Add 'parser': '@typescript-eslint/parser' (or rely on hardcore/ts to set it) and 'parserOptions.project'.
Ensure only one version of eslint-plugin-unicorn is installed: 'npm dedupe' or check package-lock.
Either override the rule in your config: 'rules': { 'import/order': 'off' } or adjust your code to match the expected order.