Biome Plugin for SolidJS

raw JSON →
0.2.2 verified Fri May 01 auth: no javascript

Biome GritQL lint rules for SolidJS that catch common reactivity bugs at lint time, such as destructured props, .map() in JSX, memo in loops, top-level effects, and stored JSX. Current stable version is 0.2.2, with regular bugfix and minor feature releases. Designed as a lightweight alternative to eslint-plugin-solid that integrates directly into Biome's plugin system using GritQL pattern matching, requiring no TypeScript type inference. Opt-in rule solid-no-object-signal-without-equals is not enabled by default due to potential false positives.

error Biome configuration error: Plugin 'biome-plugin-solidjs' not found
cause The plugin is referenced incorrectly in biome.json. Users often omit the ./node_modules/ prefix or use wrong path.
fix
Use "./node_modules/biome-plugin-solidjs" instead of just "biome-plugin-solidjs".
error Cannot find module 'biome-plugin-solidjs'
cause Attempting to require/import the plugin as a JavaScript module, which is not how Biome plugins work.
fix
Do not import in JS/TS files. Add the path to the plugins array in biome.json.
error GritQL rule error: solid-no-object-signal-without-equals is not a valid rule
cause The rule is opt-in and must be explicitly included in the plugins array as a .grit file path.
fix
Add "./node_modules/biome-plugin-solidjs/rules/solid-no-object-signal-without-equals.grit" to the plugins array.
error The biome engine is not compatible with this plugin (requires biome >= 2.0.0)
cause Installed @biomejs/biome version is older than 2.0.0, which lacks GritQL plugin support.
fix
Upgrade @biomejs/biome to >=2.0.0.
gotcha The opt-in rule solid-no-object-signal-without-equals is not enabled by default due to potential false positives with set-once-then-clear patterns.
fix Only enable this rule if you understand its limitation and can suppress false positives.
gotcha Core rules use structural heuristics and do not use TypeScript type information, so they may miss some bugs or produce false positives.
fix For type-aware linting, consider using eslint-plugin-solid alongside this plugin.
gotcha The plugin requires Biome >=2.0.0 with GritQL plugin support. Older versions of Biome or other linters are not supported.
fix Ensure you have @biomejs/biome >=2.0.0 installed and that Biome's plugin feature is enabled.
deprecated In v0.2.1, the rule solid-no-object-signal-without-equals was narrowed to only flag nullable object types; array signals and standalone object types are no longer flagged.
fix Update to v0.2.1+ to avoid false positives on non-nullable object signals.
npm install biome-plugin-solidjs
yarn add biome-plugin-solidjs
pnpm add biome-plugin-solidjs

Setup and usage of the Biome SolidJS plugin showing installation, biome.json configuration with both default and opt-in rules, and running the linter.

// 1. Install the plugin
npm install -D biome-plugin-solidjs

// 2. Create or update biome.json with:
{
  "plugins": ["./node_modules/biome-plugin-solidjs"]
}

// 3. (Optional) Add the opt-in rule for object signals without equals:
{
  "plugins": ["./node_modules/biome-plugin-solidjs", "./node_modules/biome-plugin-solidjs/rules/solid-no-object-signal-without-equals.grit"]
}

// 4. Lint your SolidJS project:
npm exec biome lint .