An extremely strict yet practical ESLint configuration with 51 plugins and over 1300 rules for JavaScript, TypeScript, React, Vue, and Node.js.
eslint-config-hardcore is a highly opinionated and comprehensive ESLint configuration package. It bundles 51 plugins and enables over 1300 rules to enforce strict code quality, consistency, and best practices across JavaScript and TypeScript projects. It solves the problem of manually assembling and maintaining a complex, enterprise-grade linting setup by providing a single, battle-tested configuration.
Development teams and individual engineers working on JavaScript/TypeScript projects who prioritize code quality, consistency, and robustness, especially those using React, Vue, Node.js, or Jest.
Developers choose eslint-config-hardcore because it offers an unparalleled level of linting strictness out-of-the-box, saving significant configuration time. Its unique selling point is combining extreme comprehensiveness (51 plugins, 1377+ rules) with practical, framework-specific configs that remain usable in real projects.
The most strict (yet practical) ESLint config. 51 plugins. 1376 rules. React, Vue, Node, and pure JS/TS.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Integrates 51 plugins and enables over 1300 rules, as listed in the README, ensuring maximum code consistency across syntax, security, and best practices.
Provides dedicated configs for React, Vue 3/Nuxt 3, Node.js, and Jest, including performance and testing rules, reducing setup time for complex projects.
Includes a TypeScript config with type-aware rules and supports linting JavaScript with typescript-eslint via hardcore/ts-for-js, offering advanced linting without migration.
Offers a separate hardcore/fp config with rules to encourage functional patterns, useful for teams adopting FP styles in JavaScript/TypeScript.
The sheer volume of 1377+ rules can intimidate new developers and slow down initial productivity, requiring significant adjustment to the strict standards.
The README shows lengthy .eslintrc.json examples with multiple extends and overrides, which can be error-prone and difficult to maintain across different project types.
With 51 plugins bundled, overlapping or contradictory rules might arise, leading to inconsistent linting results that require manual intervention to resolve.
Updates to the config or its many plugins could introduce breaking changes, forcing teams to frequently adapt their codebase to avoid linting failures.