biome-plugin-arrow-body-style
v0.0.10
Published
Enforces braces around arrow function bodies (arrow-body-style: always)
Readme
biome-plugin-arrow-body-style
A Biome linter plugin that enforces braces around arrow function bodies, requiring the use of block statements instead of expression bodies for consistency and clarity.
Installation
Install the plugin as a dev dependency:
npm install --save-dev biome-plugin-arrow-body-styleor with your preferred package manager:
yarn add -D biome-plugin-arrow-body-style
pnpm add -D biome-plugin-arrow-body-style
bun add -D biome-plugin-arrow-body-styleUsage
Add the plugin to your Biome configuration file (biome.json or biome.jsonc):
{
"$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
"plugins": [
"node_modules/biome-plugin-arrow-body-style/arrow-body-style.grit"
]
}To ignore it
// biome-ignore lint/plugin/arrow-body-style: <reason>
const getValue = () => 42;The plugin will now check your code and report errors when it detects arrow functions without braces around their bodies.
What it catches
The plugin enforces braces around arrow function bodies:
// ❌ Error - expression body without braces
const getValue = () => 42;
const add = (a, b) => a + b;
// ✅ Correct - block statement with braces
const getValue = () => {
return 42;
};
const add = (a, b) => {
return a + b;
};Why enforce arrow function braces?
Requiring braces around arrow function bodies provides several benefits:
- Consistency: Maintains a uniform code style across your codebase
- Clarity: Makes function intent and return statements explicit
- Maintainability: Easier to add logic without accidentally changing return behavior
- Readability: Clearer distinction between simple expressions and actual function bodies
Contributing
Contributions are welcome! Here's how to get started:
Setup
Clone the repository:
git clone https://github.com/jeremytenjo/biome-plugin-arrow-body-style.git
cd biome-plugin-arrow-body-styleInstall dependencies:
npm installDevelopment
The plugin is defined in arrow-body-style.grit using the Grit pattern language.
Testing
Run the test suite:
npm testTests are located in the test directory and use Vitest. Test fixtures can be found in test/fixtures.
Publishing
To publish a new version of the plugin:
- Update the version in
package.json. - Publish to npm:
npm publish - Tag the release in GitHub creating a Release with the changes.
License
MIT © Jeremy Tenjo
