Registry / testing / eslint-config-canonical

eslint-config-canonical

JSON →
library47.4.2jsnpmunverified

A comprehensive ESLint shareable config with 1,000+ rules (40% auto-fixable) and custom ESLint plugin. Current stable version: 47.4.2. Released frequently (10+ versions in recent months). Key differentiators: includes auto-detection ruleset that only applies relevant style guides based on project files, supports many frameworks (React, Next.js, TypeScript, GraphQL, Lodash, etc.) and tools (Jest, Vitest, Mocha, AVA). Requires ESLint ^9 and is ESM-only. No CJS support. Custom rules in eslint-plugin-canonical.

testing
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.

ESM-only since v47. No CJS support. Use default import for rulesets.

import auto from 'eslint-config-canonical/auto';

ESM-only. Named exports are deprecated; use specific ruleset paths like 'eslint-config-canonical/react' instead.

import * as configs from 'eslint-config-canonical';

Each ruleset is a default export from its own file. Use the path /typescript, /react, etc.

import typescript from 'eslint-config-canonical/typescript';

Shows how to use the auto ruleset with typescript-eslint in an ESLint flat config file.

// eslint.config.ts import auto from 'eslint-config-canonical/auto'; import tseslint from 'typescript-eslint'; export default tseslint.config( auto, // Add custom overrides or other configs { rules: { 'canonical/filename-match-regex': 'off', // Example override }, }, );
Debug
Known footguns
breakingESM-only in v47. CommonJS require() will fail with ERR_REQUIRE_ESM.
deprecatedNamed exports (e.g., import { react } from 'eslint-config-canonical') are deprecated.
gotchaauto ruleset uses overrides based on detected files; may not pick up all frameworks in monorepos.
breakingRequires ESLint ^9. Flat config is mandatory; no support for .eslintrc.
deprecatedThe canonical/ava, canonical/mocha, and canonical/jest configs may be dropped in future versions in favor of vitest.
Upgrade
Version history

Breaking-change detection hasn't run for this library yet.

Audit
Security & dependencies

CVE tracking and dependency tree are planned for a later release.

Agent activity
9 hits · last 30 days
gptbot
4
ahrefsbot
4
script
1
Resources