Registry / testing / eslint-config-decent

eslint-config-decent

JSON →
library4.2.37jsnpmunverified

A comprehensive ESLint configuration for TypeScript projects, currently at v4.2.37. Released under MIT license, it provides a curated set of linting rules from ESLint, typescript-eslint, unicorn, jsdoc, vitest, security, react, testing-library, and stylistic plugin. It also offers an experimental oxlint mirror (~95% rule coverage) and an Agent Skill for AI assistants. Designed for ESLint flat config (v9+), requires Node >=22.13.0 and TypeScript >=5.5.0. Differentiator: opinionated yet configurable, with first-class oxlint support and an AI skill for enforcing standards.

npm install eslint-config-decent
INSTALL
IMPORT
SIG · ESLINT-CONFIG-DECE
E
eslint-config-decent
testingjavascriptv4.2.37
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.

config
import { config } from 'eslint-config-decent'
const config = require('eslint-config-decent')
ESM-only; requires Node >=22.13.0. CommonJS require() will fail.
oxlintConfig
import { oxlintConfig } from 'eslint-config-decent/oxlint'
import { oxlintConfig } from 'eslint-config-decent'
The oxlint helper is in a separate subpath export. If using TypeScript, use .ts extension for oxlint config files.
config
import { config } from 'eslint-config-decent' export default config({ tsconfigRootDir: import.meta.dirname })
export default config({})
tsconfigRootDir is required for type-aware rules. Omission leads to parser errors.

Minimal setup using ESM flat config. Imports the config function and passes tsconfigRootDir for type-aware linting.

// eslint.config.mjs import { config } from 'eslint-config-decent'; export default config({ tsconfigRootDir: import.meta.dirname, });
Debug
Known issues
breakingv4.x requires ESLint v9 flat config – does NOT work with .eslintrc.*
fix
Migrate to eslint.config.js/.mjs flat config format. See https://eslint.org/docs/latest/use/configure/migration-guide
affects: >=4.0.0
breakingNode.js >=22.13.0 required; older versions will fail to parse ESM features or lack import.meta.dirname
fix
Upgrade Node.js to >=22.13.0 (LTS). Use process.cwd() or __dirname workaround if on older Node, but not officially supported.
affects: >=4.0.0
gotchatsconfigRootDir must be passed to config(). If omitted, type-aware rules may silently not run or throw errors
fix
Always provide tsconfigRootDir (e.g., import.meta.dirname). For complex monorepos, set it to the root of each tsconfig.
affects: >=4.0.0
deprecatedoxlint's 'naming-convention' rule is currently disabled (unrunnable under JS bridge).
fix
No action needed; will be restored when oxlint implements it natively. You can manually enable via overrides if needed.
affects: ==4.2.37
Errors
Common errors & fixes
Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'eslint-config-decent' imported from /path/to/eslint.config.mjs
Package not installed or not in node_modules.
fix
Run `npm install -D eslint-config-decent` (or yarn/pnpm equivalent). Ensure eslint.config.mjs is in the project root.
TypeError: config is not a function
Using default import instead of named import, or CommonJS require().
fix
Use `import { config } from 'eslint-config-decent'` (named import). Do NOT use `require('eslint-config-decent')`.
Parsing error: The 'import.meta.dirname' meta property is only supported when the 'module' option is set to 'es2022' or later, or the 'target' option is set to 'es2022' or later.
TypeScript or older Node version does not support import.meta.dirname.
fix
Ensure tsconfig.json sets module to 'es2022' or 'node16', and Node.js version >=22.13.0.
Upgrade
Version history
4.2.37latest on npm
Audit
Dependencies
eslintrequiredpeer dependency; the config extends ESLint's flat config system, requires v9 or v10
typescriptrequiredpeer dependency; type-aware rules require TypeScript >=5.5.0
@typescript-eslint/eslint-pluginrequiredpeer dependency; provides the TypeScript-specific rules enabled in the config
oxlintoptionalpeer dependency for oxlint mirror config; optional if only using ESLint
oxlint-tsgolintoptionalpeer dependency for oxlint type-aware linting; optional
Agent activity
6 hits · last 30 days
node
6
Resources
eslint-config-decent — npm install eslint-config-decent · libregistry