prettier-plugin-ocd v1.0.0
Prettier Plugin OCD :)
A Prettier plugin that automatically formats JSX attributes in ascending length order (creating a left triangle pattern), making React components more visually organized and consistent.
Features
- Automatically sorts JSX attributes by length (shortest to longest)
- Creates a visually appealing left triangle pattern
- Preserves non-JSX content
- Handles multiple JSX elements in the same file
- Full TypeScript support
- Maintains Prettier's high standards for code formatting
Installation
Using npm:
npm install --save-dev prettier-plugin-ocd
Using yarn:
yarn add -D prettier-plugin-ocd
Usage
The plugin will be automatically picked up by Prettier. No additional configuration is needed.
Before:
const Button = () => (
<button
className="primary-button"
onClick={handleClick}
id="submit"
disabled={isLoading}
>
Submit
</button>
);
After:
const Button = () => (
<button
id="submit"
onClick={handleClick}
disabled={isLoading}
className="primary-button"
>
Submit
</button>
);
Configuration
This plugin works out of the box with Prettier's default configuration. No additional settings are required.
How It Works
The plugin uses a sophisticated attribute processing system that:
- Parses the JSX using Babel
- Identifies all JSX attributes
- Calculates the length of each attribute
- Sorts them in ascending order
- Generates the formatted code while preserving all other formatting
License
Credits
Created by Nikos Rentas
FAQ
Q: Will this affect my code's functionality?
A: No, the plugin only changes the order of JSX attributes, which doesn't affect functionality.
Q: Does it work with all JSX/TSX files?
A: Yes, the plugin supports both JSX and TSX files.
Q: What happens if there's an error?
A: The plugin gracefully handles errors by returning the original code unchanged.
Requirements
- Node.js >= 14
- Prettier >= 2.0.0
Known Issues
None at the moment. If you find any issues, please report them in the GitHub issue tracker.
6 months ago