Official ESLint preset for CKEditor 5 projects, version 15.0.0. Requires Node >=24.11.0, ESLint ^9.0.0, and TypeScript 5.5.4 as peer dependencies. Actively maintained by the CKEditor team with regular releases. Key differentiators: enforces CKEditor 5 coding style (e.g., no enums, node protocol, module tag validation) via custom rules from eslint-plugin-ckeditor5-rules. Designed for CKEditor 5 monorepo, includes rules for import patterns, changeset formatting, and CSS variable naming. Not recommended for non-CKEditor projects.
npm install eslint-config-ckeditor5Verified import paths — ran on the pinned version, not inferred.
Install and configure the CKEditor 5 ESLint preset with flat config. Shows ESM import and basic usage.
Replace enums with string unions or object constants, or disable the rule: 'ckeditor5-rules/no-enum': 'off'.
Remove references to ckeditor-imports and no-legacy-imports from your ESLint config.
Add node: prefix to all Node built-in imports: import { readFile } from 'node:fs';.Install TypeScript 5.5.4: npm install --save-dev typescript@5.5.4.
Convert project to ESM, or use dynamic import inside a CommonJS wrapper: module.exports = import('eslint-config-ckeditor5');Ensure all CKEditor 5 imports use the package's main entry (e.g., '@ckeditor/ckeditor5-core' instead of '@ckeditor/ckeditor5-core/src/foo').
Use 'import' syntax in eslint.config.js, or rename file to .mjs if using CommonJS project.
Install it: npm install --save-dev eslint-plugin-ckeditor5-rules (it is a peer dependency).
Use 'off' or 0 instead of false: 'ckeditor5-rules/no-enum': 'off'
Import defineConfig from 'eslint/config', not from 'eslint-config-ckeditor5'.