eslint-plugin-vuoto
v0.1.2
Published
ESLint plugin for detecting and fixing whitespace issues - zero-width characters, non-breaking spaces, and Unicode normalization
Maintainers
Readme
eslint-plugin-vuoto
ESLint plugin for detecting and fixing whitespace issues - zero-width characters, non-breaking spaces, and Unicode normalization
eslint-plugin-vuoto is the ESLint counterpart to vuoto, providing real-time linting and auto-fix capabilities for whitespace issues in your project.
Features
- ✅ 13 specialized rules for whitespace normalization
- 🔧 Auto-fix support for all rules
- 📦 4 preset configurations (recommended, strict, all, off)
- 🎯 ESLint 9+ flat config support
- 🚀 Zero dependencies (except peer dependency on ESLint and the
vuotocore) - 📝 TypeScript support with full type definitions
Installation
npm install --save-dev eslint-plugin-vuoto
# or
pnpm add -D eslint-plugin-vuotoUsage
Flat Config (ESLint 9+)
// eslint.config.js
import vuoto from 'eslint-plugin-vuoto';
export default [
// Spread the recommended configuration
...vuoto.configs.recommended,
];Configuration Presets
The plugin provides four preset configurations:
recommended
The default configuration with all rules set to error. Suitable for most projects.
strict
Same as recommended (all rules as errors). Use for maximum strictness.
all
Enable all available rules.
off
Disable all rules (useful for gradual adoption).
Rules
All rules support auto-fixing and are enabled by default in the recommended config.
Zero-Width Characters
| Rule | Description | Fixable |
| ------------------ | ------------------------------------------------------- | ------- |
| vuoto/zero-width | Detects zero-width characters (ZWSP, ZWNJ, ZWJ, ZWNBSP) | ✅ |
Invisible Separators
| Rule | Description | Fixable |
| ---------------------------- | -------------------------------------------- | ------- |
| vuoto/invisible-separators | Detects invisible separator characters | ✅ |
| vuoto/line-separator | Detects Unicode line separator (U+2028) | ✅ |
| vuoto/paragraph-separator | Detects Unicode paragraph separator (U+2029) | ✅ |
Visible Whitespace
| Rule | Description | Fixable |
| ----------------------------- | --------------------------------------- | ------- |
| vuoto/non-breaking-space | Detects non-breaking spaces (U+00A0) | ✅ |
| vuoto/narrow-no-break-space | Detects narrow no-break spaces (U+202F) | ✅ |
| vuoto/em-space | Detects em spaces (U+2003) | ✅ |
| vuoto/en-space | Detects en spaces (U+2002) | ✅ |
| vuoto/ideographic-space | Detects ideographic spaces (U+3000) | ✅ |
| vuoto/visible-misc-spaces | Detects other visible Unicode spaces | ✅ |
Control Characters
| Rule | Description | Fixable |
| ----------------------- | ---------------------------------------- | ------- |
| vuoto/byte-order-mark | Detects byte order mark (BOM) characters | ✅ |
| vuoto/form-feed | Detects form feed characters (U+000C) | ✅ |
| vuoto/vertical-tab | Detects vertical tab characters (U+000B) | ✅ |
Building
Run pnpm run build in the package directory or turbo run build --filter=eslint-plugin-vuoto from the root.
License
This project is licensed under the MIT License.
Copyright (c) 2026 Davide Di Criscito
For the full details, see the LICENSE file.
