Registry / testing / eslint-config-hardcore

eslint-config-hardcore

JSON →
library49.0.0jsnpmunverified

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-hardcore
INSTALL
IMPORT
SIG · ESLINT-CONFIG-HARD
E
eslint-config-hardcore
testingjavascriptv49.0.0
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

hardcore (config)
extends: ['hardcore'] in .eslintrc.json
importing the package directly in code (e.g., const config = require('eslint-config-hardcore'))
Used via ESLint's extends mechanism; not a programmatic import.
hardcore/ts
extends: ['hardcore', 'hardcore/ts'] in .eslintrc.json
using hardcore/ts without also extending hardcore first
Additional TypeScript rules; requires parserOptions.project to be set.
hardcore/react
extends: ['hardcore', 'hardcore/react'] in .eslintrc.json
extending hardcore/react without a React environment configured
Assumes React is installed; includes react-specific rules.

Sets up the base hardcore config with TypeScript support for a browser project. Requires ESLint v8 and TypeScript >=4.7.4.

// 1. Install npm install eslint-config-hardcore --save-dev // 2. Create .eslintrc.json { "root": true, "extends": ["hardcore", "hardcore/ts"], "parserOptions": { "project": true }, "env": { "browser": true } } // 3. Run ESLint npx eslint .
Debug
Known issues
breakingv49.0.0: Updated typescript-eslint to v7, added perfectionist rules, and changed import/docstyle to tomdoc (affects import/no-deprecated).
fix
Review new rules; adjust code for tomdoc style in JSDoc comments if needed.
affects: >=49.0.0
breakingv49.0.0 is the last major release supporting ESLint v8 and legacy config. Next major will require ESLint v9 and flat config.
fix
Prepare migration to ESLint v9 and flat config when upgrading beyond v49.
affects: >49.0.0
deprecatedFuture major release will likely support only TypeScript projects; plain JavaScript support may be dropped.
fix
Migrate to TypeScript or consider alternative configs if maintaining JS-only projects.
affects: >49.0.0
gotchaThe config is extremely strict (1376+ rules). Expect many lint errors on existing codebases; incremental adoption recommended.
fix
Use eslint's --quiet flag or disable specific rules in your overrides to onboard gradually.
affects: *
gotchaThe 'hardcore/ts' config requires parserOptions.project to be set (commonly 'true' or a tsconfig path). Missing this causes parse errors.
fix
Add 'parserOptions': { 'project': true } to your ESLint config.
affects: *
Errors
Common errors & fixes
Error: Failed to load plugin 'import' declared in 'hardcore': Cannot find module 'eslint-plugin-import'
eslint-config-hardcore has many plugin dependencies that must be installed alongside it.
fix
Run 'npm install eslint-config-hardcore --save-dev' which installs all peer dependencies automatically, or manually install missing plugins.
Parsing error: The keyword 'import' is reserved
TypeScript parser not configured when using hardcore/ts config.
fix
Add 'parser': '@typescript-eslint/parser' (or rely on hardcore/ts to set it) and 'parserOptions.project'.
ESLint couldn't determine the plugin 'unicorn' uniquely.
Multiple versions of eslint-plugin-unicorn installed or conflicting plugin aliases.
fix
Ensure only one version of eslint-plugin-unicorn is installed: 'npm dedupe' or check package-lock.
Configuration for rule 'import/order' is invalid
The hardcore config sets very strict import ordering rules that may conflict with existing .eslintrc settings.
fix
Either override the rule in your config: 'rules': { 'import/order': 'off' } or adjust your code to match the expected order.
Upgrade
Version history
49.0.0latest on npm
Audit
Dependencies
eslintrequiredpeer dependency: requires ^8.57.0 (legacy config); future versions may require v9
typescriptoptionalpeer dependency: requires >=4.7.4 for TypeScript configs
Agent activity
2 hits · last 30 days
node
2
Resources
eslint-config-hardcore — npm install eslint-config-hardcore · libregistry