fix(config): don't conceal a previous override with the base settings #3183
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
Fix #3176
When we convert the Biome Configuration to Workspace settings, we use the base settings to set the missing settings in every override. This results in overrides that conceal previous overrides.
For example, the following config:
was resolved to:
The current PR fixes the issue by removing the propagation of the base configuration to every override.
I also fixed several erroneous implementations.
For example, we took the first
override.{linter.formatter.organizeImports}.enabled
into account, while we have to take the last one.I think there are still some issues. Some fields such as
jsx_runtime
are not behind anOption
inoverrides
.This means that every
overrides
has a default value for this field.This is a change for a future PR.
Test Plan
I added new tests to avoid any regressions.