Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(project): changed structure to correctly emit schema for overrides #602

Merged
merged 1 commit into from
Oct 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 8 additions & 11 deletions crates/biome_service/src/configuration/overrides.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,8 @@ use std::str::FromStr;

#[derive(Debug, Default, Serialize, Deserialize, Eq, PartialEq, Clone, Bpaf)]
#[cfg_attr(feature = "schema", derive(schemars::JsonSchema))]
#[serde(rename_all = "camelCase", default, deny_unknown_fields)]
pub struct Overrides {
#[serde(skip_serializing_if = "Vec::is_empty")]
#[bpaf(hide)]
pub list: Vec<OverridePattern>,
}
#[serde(rename_all = "camelCase", deny_unknown_fields)]
pub struct Overrides(#[bpaf(hide)] pub Vec<OverridePattern>);

impl FromStr for Overrides {
type Err = String;
Expand All @@ -34,8 +30,8 @@ impl FromStr for Overrides {

impl MergeWith<Overrides> for Overrides {
fn merge_with(&mut self, other: Overrides) {
let mut self_iter = self.list.iter_mut();
let mut other_iter = other.list.into_iter();
let mut self_iter = self.0.iter_mut();
let mut other_iter = other.0.into_iter();
while let (Some(self_item), Some(other_item)) = (self_iter.next(), other_iter.next()) {
self_item.merge_with(other_item);
}
Expand All @@ -45,8 +41,8 @@ impl MergeWith<Overrides> for Overrides {
where
Overrides: Default,
{
let mut self_iter = self.list.iter_mut();
let mut other_iter = other.list.into_iter();
let mut self_iter = self.0.iter_mut();
let mut other_iter = other.0.into_iter();
while let (Some(self_item), Some(other_item)) = (self_iter.next(), other_iter.next()) {
self_item.merge_with_if_not_default(other_item);
}
Expand Down Expand Up @@ -94,6 +90,7 @@ pub struct OverridePattern {
#[bpaf(external(override_organize_imports_configuration), optional, hide)]
pub organize_imports: Option<OverrideOrganizeImportsConfiguration>,
}

impl OverridePattern {
pub const KNOWN_KEYS: &'static [&'static str] = &[
"ignore",
Expand Down Expand Up @@ -359,7 +356,7 @@ impl TryFrom<Overrides> for OverrideSettings {

fn try_from(overrides: Overrides) -> Result<Self, Self::Error> {
let mut override_settings = OverrideSettings::default();
for mut pattern in overrides.list {
for mut pattern in overrides.0 {
let formatter = pattern.formatter.take().unwrap_or_default();
let formatter = OverrideFormatSettings::try_from(formatter)?;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ impl VisitNode<JsonLanguage> for Overrides {
) -> Option<()> {
let mut pattern = OverridePattern::default();
let element = AnyJsonValue::cast_ref(element)?;
self.map_to_object(&element, "hooks", &mut pattern, diagnostics)?;
self.list.push(pattern);
self.map_to_object(&element, "overrides", &mut pattern, diagnostics)?;
self.0.push(pattern);
Some(())
}
}
Expand Down
10 changes: 2 additions & 8 deletions editors/vscode/configuration_schema.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 1 addition & 3 deletions packages/@biomejs/backend-jsonrpc/src/workspace.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 2 additions & 8 deletions packages/@biomejs/biome/configuration_schema.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.