{"id":25001,"library":"biome-plugin-solid-router","title":"biome-plugin-solid-router","description":"A Biome GritQL plugin providing lint rules for @solidjs/router, catching common API mistakes from React Router muscle memory at lint time. Current stable version is 0.2.0, released with OIDC trusted publishing. The plugin's five rules (solid-router-no-link-component, solid-router-no-to-prop, solid-router-no-initial-entries, solid-router-no-routes-wrapper, solid-router-no-element-prop) identify wrong imports, props, and usage patterns. Requires Biome >= 2.0.0 and works via GritQL AST matching. Unlike TypeScript- or ESLint-based solutions, it catches mistakes without type information, but for full type-aware linting should be combined with eslint-plugin-solid.","status":"active","version":"0.2.0","language":"javascript","source_language":"en","source_url":"https://github.com/tommymorgan/biome-plugin-solid-router","tags":["javascript","biome","gritql","solidjs","solid-js","solid-router","lint","plugin","routing"],"install":[{"cmd":"npm install biome-plugin-solid-router","lang":"bash","label":"npm"},{"cmd":"yarn add biome-plugin-solid-router","lang":"bash","label":"yarn"},{"cmd":"pnpm add biome-plugin-solid-router","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency: GritQL plugin support requires Biome >= 2.0.0","package":"@biomejs/biome","optional":false}],"imports":[{"note":"Since v0.2.0, you can reference the plugin by npm package name; no additional import statements are needed.","wrong":"// Wrong: referencing a file path (use plugin name in biome.json)\n{ \"plugins\": [\"./node_modules/biome-plugin-solid-router/index.grit\"] }","symbol":"plugin","correct":"// Add to biome.json: { \"plugins\": [\"biome-plugin-solid-router\"] }"},{"note":"Individual rules are referenced by file path to the .grit file in biome.json plugins array.","wrong":"// Wrong: trying to import via require or import statement\nconst rule = require('biome-plugin-solid-router/rules/solid-router-no-link-component');","symbol":"individual rule","correct":"// In biome.json:\n{ \"plugins\": [\"./node_modules/biome-plugin-solid-router/rules/solid-router-no-link-component.grit\"] }"},{"note":"The plugin is configured via biome.json, not imported in source code.","wrong":"// Wrong: using an import from the package in JS/TS code\nimport 'biome-plugin-solid-router';","symbol":"all rules","correct":"// In biome.json:\n{ \"plugins\": [\"biome-plugin-solid-router\"] }"}],"quickstart":{"code":"{\n  \"plugins\": [\"biome-plugin-solid-router\"]\n}","lang":"json","description":"Shows how to install and enable biome-plugin-solid-router in biome.json, registering all five lint rules for @solidjs/router."},"warnings":[{"fix":"Upgrade Biome to 2.0.0 or later (npm update @biomejs/biome).","message":"Plugin requires Biome >= 2.0.0; older Biome versions do not support GritQL plugins.","severity":"breaking","affected_versions":"<2.0.0"},{"fix":"No fix needed — intended behavior. But be aware that false negatives can occur if router components are re-exported under a different name.","message":"Rules only apply to imports from @solidjs/router; importing Link from other packages (e.g., lucide-solid) is not flagged.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Add eslint-plugin-solid to your linting setup for full type-aware linting.","message":"GritQL rules cannot detect type-level mistakes (e.g., passing JSX to component= prop, route param mismatches). For those, use eslint-plugin-solid alongside.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Use { \"plugins\": [\"biome-plugin-solid-router\"] } in biome.json.","message":"In v0.1.1, referencing the plugin by file path in biome.json still works but the package-name reference (biome-plugin-solid-router) is preferred since v0.2.0.","severity":"deprecated","affected_versions":">=0.2.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Update @biomejs/biome to >= 2.0.0 (npm install -D @biomejs/biome@latest).","cause":"Biome version < 2.0.0 does not support GritQL plugins.","error":"Biome configuration error: Plugin not found: biome-plugin-solid-router"},{"fix":"Verify the file exists in node_modules/biome-plugin-solid-router/rules/ and the path is correct. Use the package name instead: \"biome-plugin-solid-router\".","cause":"Typo in file path or rule file missing (single rule reference mistake).","error":"Error: Cannot find module './node_modules/biome-plugin-solid-router/rules/solid-router-no-link-component.grit'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}