Repository navigation
fix: document root preset in nested biome configs - #76
Open
brenttimmermans wants to merge 2 commits into
Open
brenttimmermans wants to merge 2 commits into
brenttimmermans wants to merge 2 commits into
Conversation
A nested biome.json with "root": false does not inherit the parent config in Biome 2.x, and Biome ignores extends inside an extended config, so a package config extending only react.biome.json fell back to Biome's defaults (double quotes, semicolons, tabs) and lost the base linter rules. The monorepo section now tells package configs to extend root.biome.json alongside the framework preset.
Emieldv
approved these changes
Oct 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The README told nested package configs to extend only
react.biome.jsonwith"root": false, but in Biome 2.x a nested config doesn't inherit the rootbiome.json. Those packages silently fall back to Biome's defaults (double quotes, semicolons, tabs) and lose the base linter rules. The README now tells package configs to extendroot.biome.jsonalongside the framework preset.We can't fix this in the presets themselves: Biome ignores
extendsinside an extended config, soreact.biome.jsoncan't pull inroot.biome.json. Upstream treats this as by design (biomejs/biome#1867) and closed the feature request (discussion #8257). The"//"shorthand only works as a plain string, so it can't be combined with a preset either.Changes
[root.biome.json, react.biome.json]rootmust be listed in every config that uses a framework preset, including nested onesTesting
Tested in a throwaway monorepo on Biome 2.5.15, with the package installed from a packed tarball:
react.biome.json: Biome defaults, anduseBlockStatementsdoesn't fireuseHookAtTopLevelanduseBlockStatementsfire; files in the root.gitignoreare still skippedextendsinside a preset is silently ignored on 2.0.0, 2.2.0, 2.4.4 and 2.5.15, even when it points at a file that doesn't existSkills used
Checklist
🤖 Generated with Claude Code