An ESLint plugin by SukkaW that provides a comprehensive set of custom ESLint rules and configurations built on top of ESLint 9.x and TypeScript 5.x. Version 9.5.0 (stable, released April 2025) focuses on code quality, performance, and style conventions. Key differentiators include strict performance-oriented rules, deep TypeScript integration, and opinionated defaults that align with SukkaW's personal coding style. It requires ESLint >=9.29.0 and TypeScript as a peer dependency. Compatible with flat config only (ESLint 9+); no support for legacy .eslintrc format. The plugin ships with TypeScript type definitions.
npm install eslint-plugin-sukkaNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Minimal flat config example enabling recommended rules and overriding specific plugin rules.
Upgrade to ESLint 9 and use flat config only.
Replace 'sukka/ts/no-inferrable-types' with 'sukka/ts/prefer-readonly' in your config.
Use 'sukka/no-array-reduce-2' if you want the new behavior; otherwise remove the rule.
Review the recommended rules and disable any that conflict with your existing config.
Install TypeScript as a dev dependency or set parserOptions.parser to mark it as optional.
Add '@typescript-eslint/parser' to your ESLint config and set parser: '@typescript-eslint/parser' for .ts files.
Run 'npm install eslint-plugin-sukka --save-dev'.
Replace with 'sukka/ts/prefer-readonly'.
Convert to flat config using eslint.config.js.
Import pluginSukka from 'eslint-plugin-sukka' and spread pluginSukka.configs.recommended directly in your config array.