Skip to content

Conversation

@ematipico
Copy link
Member

Summary

Part of #8141

Fixes the generation of RuleDomains and SupportedFeatures types. It also removes some hacks which aren't needed anymore.

Test Plan

Manually checked that autocompletion works and no warnings are emitted

Docs

N/A

@changeset-bot
Copy link

changeset-bot bot commented Nov 18, 2025

⚠️ No Changeset found

Latest commit: 016df79

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@ematipico ematipico requested review from a team November 18, 2025 08:48
@github-actions github-actions bot added A-Project Area: project A-Tooling Area: internal tools labels Nov 18, 2025
@github-actions
Copy link
Contributor

Parser conformance results on

js/262

Test result main count This PR count Difference
Total 51203 51203 0
Passed 49990 49990 0
Failed 1171 1171 0
Panics 42 42 0
Coverage 97.63% 97.63% 0.00%

jsx/babel

Test result main count This PR count Difference
Total 40 40 0
Passed 37 37 0
Failed 3 3 0
Panics 0 0 0
Coverage 92.50% 92.50% 0.00%

symbols/microsoft

Test result main count This PR count Difference
Total 6323 6323 0
Passed 2106 2106 0
Failed 4217 4217 0
Panics 0 0 0
Coverage 33.31% 33.31% 0.00%

ts/babel

Test result main count This PR count Difference
Total 835 835 0
Passed 742 742 0
Failed 93 93 0
Panics 0 0 0
Coverage 88.86% 88.86% 0.00%

ts/microsoft

Test result main count This PR count Difference
Total 18819 18819 0
Passed 14067 14067 0
Failed 4751 4751 0
Panics 1 1 0
Coverage 74.75% 74.75% 0.00%

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 18, 2025

Walkthrough

This PR refactors JSON schema generation across multiple crates by updating schema reference paths from OpenAPI 3 format (components/schemas) to JSON Schema Draft 2019-09 format (#/$defs/), removing manual schema generation for specific types (SupportKind, RuleDomain, RuleDomainValue), and consolidating build logic through a new gen-schema target in the justfile.

Possibly related PRs

Suggested labels

A-Tooling, A-Project, L-JSON

Suggested reviewers

  • dyc3

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'fix(schema): domains and feature kind' directly summarises the main change—fixing schema generation for RuleDomains and SupportedFeatures types.
Description check ✅ Passed The description clearly relates to the changeset, referencing issue #8141, explaining the fix for RuleDomains and SupportedFeatures generation, and noting removal of unnecessary hacks.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/generation-schema

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1fbdff5 and 016df79.

⛔ Files ignored due to path filters (1)
  • packages/@biomejs/biome/configuration_schema.json is excluded by !**/configuration_schema.json and included by **
📒 Files selected for processing (6)
  • crates/biome_configuration/src/analyzer/linter/mod.rs (1 hunks)
  • crates/biome_service/src/workspace.rs (1 hunks)
  • crates/biome_service/src/workspace_types.rs (1 hunks)
  • crates/biome_wasm/build.rs (0 hunks)
  • justfile (1 hunks)
  • xtask/codegen/src/generate_bindings.rs (0 hunks)
💤 Files with no reviewable changes (2)
  • crates/biome_wasm/build.rs
  • xtask/codegen/src/generate_bindings.rs
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: dyc3
Repo: biomejs/biome PR: 7081
File: packages/@biomejs/biome/configuration_schema.json:7765-7781
Timestamp: 2025-08-05T14:43:29.581Z
Learning: The file `packages/biomejs/biome/configuration_schema.json` is auto-generated and should not be manually edited or reviewed for schema issues; any changes should be made at the code generation source.
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (12)
  • GitHub Check: Test (depot-ubuntu-24.04-arm-16)
  • GitHub Check: End-to-end tests
  • GitHub Check: Test (depot-windows-2022-16)
  • GitHub Check: Lint project (depot-windows-2022)
  • GitHub Check: Check Dependencies
  • GitHub Check: Documentation
  • GitHub Check: Lint project (depot-ubuntu-24.04-arm-16)
  • GitHub Check: Parser conformance
  • GitHub Check: Test Node.js API
  • GitHub Check: Bench (biome_configuration)
  • GitHub Check: autofix
  • GitHub Check: Check JS Files
🔇 Additional comments (4)
justfile (1)

28-39: Nice split between schema and type generation

Having gen-bindings delegate to gen-schema and gen-types, with separate targets and comments, makes the generation pipeline clearer and easier to reuse. No concerns from my side.

crates/biome_service/src/workspace_types.rs (1)

725-732: Schema generation aligned with new backend

Using the configured schema generator for both params and results keeps WorkspaceMethod in step with the updated JSON Schema/$defs plumbing in the rest of the PR. Looks consistent and self‑contained.

crates/biome_configuration/src/analyzer/linter/mod.rs (1)

71-82: RuleDomains now target the new $defs paths

Pointing propertyNames and additionalProperties at #/$defs/RuleDomain and #/$defs/RuleDomainValue lines up with the rest of the schema migration and the pre‑generated subschemas. Looks good.

crates/biome_service/src/workspace.rs (1)

429-442: FeaturesSupported schema updated to $defs references

The map schema now correctly uses #/$defs/FeatureKind for keys and #/$defs/SupportKind for values, matching the new definition layout. Much tidier than the old components paths.

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


Comment @coderabbitai help to get the list of available commands and usage tips.

@codspeed-hq
Copy link

codspeed-hq bot commented Nov 18, 2025

CodSpeed Performance Report

Merging #8147 will not alter performance

Comparing fix/generation-schema (016df79) with main (166d95b)1

Summary

✅ 1 untouched
⏩ 154 skipped2

Footnotes

  1. No successful run was found on main (803a44a) during the generation of this report, so 166d95b was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

  2. 154 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@ematipico ematipico merged commit 2dd38cf into main Nov 18, 2025
16 checks passed
@ematipico ematipico deleted the fix/generation-schema branch November 18, 2025 11:28
ematipico added a commit to hamirmahal/biome that referenced this pull request Nov 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-Project Area: project A-Tooling Area: internal tools

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants