@bob-obringer/eslint-formatter-pico-stylish
v1.0.1
Published
Stylish formatter for ESLint that uses picocolors
Maintainers
Readme
ESLint Formatter Pico Stylish
A lightweight, secure alternative to ESLint's built-in "stylish" formatter that uses picocolors instead of chalk.
Why This Package Exists
This project was created to address several issues with ESLint's built-in stylish formatter:
- Security Concerns: ESLint's "stylish" formatter relies on chalk, which has experienced security vulnerabilities as part of supply chain attacks
- Dependency Resolution Issues: Chalk 5 is ESM-only, but ESLint still requires CommonJS for formatters, forcing the built-in formatter to use chalk 4
- Package Resolution Conflicts: Many projects mitigate this by enforcing specific chalk v5 versions via yarn resolutions or similar mechanisms, which breaks ESLint's formatter
- Heavy Dependencies: Chalk comes with its own dependency tree, adding unnecessary weight
Solution
This formatter mirrors the exact output format of ESLint's built-in "stylish" formatter while using:
- picocolors: A tiny, fast, and secure alternative to chalk with zero dependencies
- TypeScript: Provides type safety and allows for future enhancements
- CommonJS: Compatible with ESLint's formatter requirements
Installation
npm install @bob-obringer/eslint-formatter-pico-stylish
# or
yarn add @bob-obringer/eslint-formatter-pico-stylish
# or
pnpm add @bob-obringer/eslint-formatter-pico-stylishUsage
Use the formatter with ESLint's --format option:
eslint --format @bob-obringer/eslint-formatter-pico-stylish .Or configure it in your ESLint configuration file:
{
"format": "@bob-obringer/eslint-formatter-pico-stylish"
}Output
The formatter produces identical output to ESLint's built-in "stylish" formatter:
/path/to/file.js
1:1 error Unexpected token syntax-error
2:5 warning 'foo' is defined but never used no-unused-vars
✖ 2 problems (1 error, 1 warning)
0 errors and 1 warning potentially fixable with the `--fix` option.Features
- ✅ Identical output to ESLint's built-in stylish formatter
- ✅ Zero dependencies (picocolors has no dependencies)
- ✅ Tiny bundle size
- ✅ TypeScript support
- ✅ CommonJS compatible
- ✅ Secure alternative to chalk-based formatters
Dependencies
- picocolors - The smallest and fastest library for terminal colors
License
MIT
Contributing
Issues and pull requests are welcome on GitHub.
