-
-
Notifications
You must be signed in to change notification settings - Fork 760
feat(core): watcher options #8071
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
base: next
Are you sure you want to change the base?
Conversation
🦋 Changeset detectedLatest commit: 24e8135 The changes in this PR will be included in the next version bump. This PR includes changesets to release 14 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
CodSpeed Performance ReportMerging #8071 will not alter performanceComparing Summary
Footnotes
|
WalkthroughThis PR centralises logging into a new public Possibly related PRs
Suggested labels
Suggested reviewers
Pre-merge checks and finishing touches✅ Passed checks (5 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
🧰 Additional context used🧠 Learnings (11)📓 Common learnings📚 Learning: 2025-10-15T09:22:15.851ZApplied to files:
📚 Learning: 2025-10-15T09:25:05.698ZApplied to files:
📚 Learning: 2025-10-15T09:25:05.698ZApplied to files:
📚 Learning: 2025-10-15T09:22:15.851ZApplied to files:
📚 Learning: 2025-10-15T09:24:31.042ZApplied to files:
📚 Learning: 2025-10-15T09:22:15.851ZApplied to files:
📚 Learning: 2025-10-15T09:22:15.851ZApplied to files:
📚 Learning: 2025-10-15T09:22:46.002ZApplied to files:
📚 Learning: 2025-10-15T09:25:05.698ZApplied to files:
📚 Learning: 2025-10-15T09:20:45.587ZApplied to files:
⏰ 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). (20)
🔇 Additional comments (1)
Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 7
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
crates/biome_flags/src/lib.rs (1)
104-152: Display implementation missing the new environment variables.The
Displayimplementation forBiomeEnvdoesn't include the four newly added environment variables (biome_watcher_kind,biome_watcher_polling_interval,biome_log_level,biome_log_kind). This means they won't be printed when displaying the environment configuration.Add display logic for the new fields following the existing pattern:
match self.biome_watcher_kind.value() { None => { KeyValuePair(self.biome_watcher_kind.name, markup! { <Dim>"unset"</Dim> }) .fmt(fmt)?; } Some(value) => { KeyValuePair(self.biome_watcher_kind.name, markup! {{DebugDisplay(value)}}) .fmt(fmt)?; } }; match self.biome_watcher_polling_interval.value() { None => { KeyValuePair( self.biome_watcher_polling_interval.name, markup! { <Dim>"unset"</Dim> }, ) .fmt(fmt)?; } Some(value) => { KeyValuePair( self.biome_watcher_polling_interval.name, markup! {{DebugDisplay(value)}}, ) .fmt(fmt)?; } }; match self.biome_log_level.value() { None => { KeyValuePair(self.biome_log_level.name, markup! { <Dim>"unset"</Dim> }) .fmt(fmt)?; } Some(value) => { KeyValuePair(self.biome_log_level.name, markup! {{DebugDisplay(value)}}) .fmt(fmt)?; } }; match self.biome_log_kind.value() { None => { KeyValuePair(self.biome_log_kind.name, markup! { <Dim>"unset"</Dim> }) .fmt(fmt)?; } Some(value) => { KeyValuePair(self.biome_log_kind.name, markup! {{DebugDisplay(value)}}) .fmt(fmt)?; } }
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (9)
Cargo.lockis excluded by!**/*.lockand included by**crates/biome_cli/tests/snapshots/main_commands_check/check_help.snapis excluded by!**/*.snapand included by**crates/biome_cli/tests/snapshots/main_commands_ci/ci_help.snapis excluded by!**/*.snapand included by**crates/biome_cli/tests/snapshots/main_commands_format/format_help.snapis excluded by!**/*.snapand included by**crates/biome_cli/tests/snapshots/main_commands_lint/lint_help.snapis excluded by!**/*.snapand included by**crates/biome_cli/tests/snapshots/main_commands_lsp_proxy/lsp_proxy_help.snapis excluded by!**/*.snapand included by**crates/biome_cli/tests/snapshots/main_commands_migrate/migrate_help.snapis excluded by!**/*.snapand included by**crates/biome_cli/tests/snapshots/main_commands_rage/rage_help.snapis excluded by!**/*.snapand included by**crates/biome_cli/tests/snapshots/main_commands_start/start_help.snapis excluded by!**/*.snapand included by**
📒 Files selected for processing (19)
.changeset/curly-facts-kick.md(1 hunks).changeset/every-beers-sleep.md(1 hunks)crates/biome_cli/src/cli_options.rs(0 hunks)crates/biome_cli/src/commands/daemon.rs(6 hunks)crates/biome_cli/src/commands/mod.rs(14 hunks)crates/biome_cli/src/lib.rs(11 hunks)crates/biome_cli/src/logging.rs(2 hunks)crates/biome_cli/src/service/unix.rs(5 hunks)crates/biome_cli/src/service/windows.rs(5 hunks)crates/biome_cli/tests/commands/mod.rs(1 hunks)crates/biome_cli/tests/commands/start.rs(1 hunks)crates/biome_configuration/src/vcs.rs(1 hunks)crates/biome_flags/src/lib.rs(2 hunks)crates/biome_lsp/src/server.tests.rs(4 hunks)crates/biome_service/Cargo.toml(1 hunks)crates/biome_service/src/lib.rs(1 hunks)crates/biome_service/src/scanner.rs(2 hunks)crates/biome_service/src/scanner/watcher.rs(6 hunks)crates/biome_service/src/scanner/watcher.tests.rs(2 hunks)
💤 Files with no reviewable changes (1)
- crates/biome_cli/src/cli_options.rs
🧰 Additional context used
📓 Path-based instructions (1)
crates/biome_service/../biome_lsp/src/server.tests.rs
📄 CodeRabbit inference engine (crates/biome_service/CONTRIBUTING.md)
Keep end-to-end LSP tests in ../biome_lsp/src/server.tests.rs
Files:
crates/biome_lsp/src/server.tests.rs
🧠 Learnings (26)
📓 Common learnings
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_service/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:25:05.698Z
Learning: Applies to crates/biome_service/src/workspace_watcher.rs : WorkspaceWatcher should synchronize workspace state with the filesystem and be active only in daemon mode (not used by the CLI)
📚 Learning: 2025-10-15T09:22:15.851Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:15.851Z
Learning: Applies to crates/biome_formatter/tests/spec_test.rs : Implement a `run` function in tests/spec_test.rs that wires SpecSnapshot and includes!("language.rs") as shown
Applied to files:
crates/biome_cli/tests/commands/start.rscrates/biome_cli/tests/commands/mod.rs
📚 Learning: 2025-10-15T09:25:05.698Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_service/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:25:05.698Z
Learning: Applies to crates/biome_service/../biome_lsp/src/server.tests.rs : Keep end-to-end LSP tests in ../biome_lsp/src/server.tests.rs
Applied to files:
crates/biome_cli/tests/commands/start.rscrates/biome_cli/tests/commands/mod.rscrates/biome_service/src/scanner.rscrates/biome_service/src/scanner/watcher.tests.rscrates/biome_cli/src/service/unix.rscrates/biome_cli/src/service/windows.rscrates/biome_lsp/src/server.tests.rscrates/biome_cli/src/commands/mod.rscrates/biome_service/Cargo.tomlcrates/biome_cli/src/commands/daemon.rscrates/biome_cli/src/lib.rs
📚 Learning: 2025-10-15T09:22:15.851Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:15.851Z
Learning: Applies to crates/biome_formatter/tests/spec_tests.rs : In tests/spec_tests.rs, generate tests with `tests_macros::gen_tests! {"tests/specs/html/**/*.html", crate::spec_test::run, ""}`
Applied to files:
crates/biome_cli/tests/commands/start.rscrates/biome_cli/tests/commands/mod.rs
📚 Learning: 2025-10-15T09:22:15.851Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:15.851Z
Learning: Applies to crates/biome_formatter/tests/** : Create a tests directory containing a specs subfolder and the files spec_test.rs, spec_tests.rs, and language.rs
Applied to files:
crates/biome_cli/tests/commands/start.rscrates/biome_cli/tests/commands/mod.rs
📚 Learning: 2025-10-15T09:25:05.698Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_service/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:25:05.698Z
Learning: Applies to crates/biome_service/src/workspace/watcher.tests.rs : Place watcher tests related to workspace methods in src/workspace/watcher.tests.rs
Applied to files:
crates/biome_cli/tests/commands/start.rscrates/biome_cli/tests/commands/mod.rscrates/biome_service/src/scanner.rscrates/biome_service/src/scanner/watcher.tests.rscrates/biome_service/src/scanner/watcher.rscrates/biome_cli/src/service/unix.rscrates/biome_cli/src/service/windows.rscrates/biome_service/src/lib.rscrates/biome_lsp/src/server.tests.rscrates/biome_cli/src/commands/mod.rscrates/biome_service/Cargo.tomlcrates/biome_cli/src/commands/daemon.rs
📚 Learning: 2025-10-15T09:22:15.851Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:15.851Z
Learning: Applies to crates/biome_formatter/tests/language.rs : Create tests/language.rs defining `HtmlTestFormatLanguage` and implement the TestFormatLanguage trait
Applied to files:
crates/biome_cli/tests/commands/start.rs
📚 Learning: 2025-10-15T09:22:15.851Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:15.851Z
Learning: Applies to crates/biome_formatter/**/Cargo.toml : Add the specified dev-dependencies under [dev-dependencies] for the test infrastructure
Applied to files:
crates/biome_cli/tests/commands/start.rscrates/biome_cli/tests/commands/mod.rscrates/biome_service/Cargo.toml
📚 Learning: 2025-10-15T09:24:31.042Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_parser/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:24:31.042Z
Learning: Applies to crates/biome_parser/crates/**/src/lexer/mod.rs : Create a lexer module at crates/<parser_crate>/src/lexer/mod.rs
Applied to files:
crates/biome_cli/tests/commands/mod.rs
📚 Learning: 2025-10-15T09:23:33.055Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_js_type_info/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:23:33.055Z
Learning: Applies to crates/biome_js_type_info/biome_module_graph/src/**/*.rs : Do not copy or clone data between module graph entries (including behind Arc). Each module must avoid holding duplicated data from another module to enable simple invalidation.
Applied to files:
crates/biome_cli/tests/commands/mod.rs
📚 Learning: 2025-10-15T09:25:05.698Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_service/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:25:05.698Z
Learning: Applies to crates/biome_service/src/workspace_watcher.rs : WorkspaceWatcher should synchronize workspace state with the filesystem and be active only in daemon mode (not used by the CLI)
Applied to files:
crates/biome_service/src/scanner.rscrates/biome_service/src/scanner/watcher.rscrates/biome_cli/src/service/unix.rscrates/biome_cli/src/service/windows.rscrates/biome_service/src/lib.rscrates/biome_lsp/src/server.tests.rscrates/biome_cli/src/commands/mod.rscrates/biome_service/Cargo.tomlcrates/biome_cli/src/commands/daemon.rscrates/biome_cli/src/lib.rs
📚 Learning: 2025-10-15T09:22:15.851Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:15.851Z
Learning: Applies to crates/biome_formatter/src/**/*.rs : After generation, remove usages of `format_verbatim_node` and implement real formatting with biome_formatter utilities
Applied to files:
crates/biome_service/src/scanner.rscrates/biome_flags/src/lib.rscrates/biome_cli/src/commands/mod.rscrates/biome_service/Cargo.tomlcrates/biome_cli/src/lib.rs
📚 Learning: 2025-10-15T09:24:31.042Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_parser/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:24:31.042Z
Learning: Applies to crates/biome_parser/xtask/codegen/src/*_kinds_src.rs : Add src/<lang>_kinds_src.rs under xtask/codegen that returns a static KindSrc
Applied to files:
crates/biome_service/src/scanner.rscrates/biome_configuration/src/vcs.rs
📚 Learning: 2025-10-15T09:21:24.116Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_diagnostics/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:21:24.116Z
Learning: Prefer implementing the Diagnostic trait via `#[derive(Diagnostic)]`
Applied to files:
crates/biome_service/src/scanner.rs
📚 Learning: 2025-10-15T09:25:05.698Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_service/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:25:05.698Z
Learning: Applies to crates/biome_service/src/workspace.rs : Implement and expose the Workspace trait in src/workspace.rs
Applied to files:
crates/biome_service/src/scanner.rscrates/biome_service/src/scanner/watcher.rscrates/biome_service/src/lib.rscrates/biome_cli/src/commands/mod.rscrates/biome_service/Cargo.tomlcrates/biome_cli/src/commands/daemon.rs
📚 Learning: 2025-10-15T09:21:24.116Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_diagnostics/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:21:24.116Z
Learning: Applies to crates/biome_diagnostics/crates/biome_diagnostics_categories/src/categories.rs : Register any new diagnostic category in `crates/biome_diagnostics_categories/src/categories.rs`
Applied to files:
crates/biome_service/src/scanner.rs
📚 Learning: 2025-10-15T09:25:05.698Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_service/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:25:05.698Z
Learning: Applies to crates/biome_service/src/workspace/server.rs : WorkspaceServer must maintain workspace state and is used in the daemon and CLI daemonless mode
Applied to files:
crates/biome_service/src/scanner.rscrates/biome_service/src/scanner/watcher.rscrates/biome_cli/src/service/unix.rscrates/biome_cli/src/service/windows.rscrates/biome_service/src/lib.rscrates/biome_cli/src/commands/mod.rscrates/biome_service/Cargo.tomlcrates/biome_cli/src/commands/daemon.rscrates/biome_cli/src/lib.rs
📚 Learning: 2025-10-15T09:25:05.698Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_service/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:25:05.698Z
Learning: Applies to crates/biome_service/src/workspace/client.rs : WorkspaceClient is for creating connections to the daemon and communicating with WorkspaceServer
Applied to files:
crates/biome_service/src/scanner.rscrates/biome_cli/src/service/unix.rscrates/biome_cli/src/service/windows.rscrates/biome_cli/src/commands/mod.rscrates/biome_cli/src/commands/daemon.rs
📚 Learning: 2025-10-15T09:24:31.042Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_parser/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:24:31.042Z
Learning: Applies to crates/biome_parser/crates/biome_*_{syntax,factory}/** : Create per-language crates biome_<lang>_syntax and biome_<lang>_factory under crates/
Applied to files:
crates/biome_flags/src/lib.rscrates/biome_service/Cargo.toml
📚 Learning: 2025-10-15T09:22:46.002Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_js_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:46.002Z
Learning: Applies to crates/biome_js_formatter/**/Cargo.toml : Declare the dependency `biome_js_formatter = { version = "0.0.1", path = "../biome_js_formatter" }` for internal installation
Applied to files:
crates/biome_flags/src/lib.rscrates/biome_service/Cargo.toml
📚 Learning: 2025-10-15T09:24:31.042Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_parser/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:24:31.042Z
Learning: Lexer must implement the biome_parser::Lexer trait
Applied to files:
crates/biome_lsp/src/server.tests.rs
📚 Learning: 2025-10-15T09:20:45.587Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_aria_metadata/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:20:45.587Z
Learning: Applies to crates/biome_aria_metadata/**/{build.rs,aria-data.json} : Keep aria-data.json at the expected location/name because build.rs uses it to generate ARIA metadata
Applied to files:
crates/biome_service/Cargo.toml
📚 Learning: 2025-10-15T09:22:46.002Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_js_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:46.002Z
Learning: Applies to crates/biome_js_formatter/**/*.rs : Do not attempt to fix code; if a mandatory token/node is missing, return `None` instead
Applied to files:
crates/biome_service/Cargo.toml
📚 Learning: 2025-10-15T09:23:33.055Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_js_type_info/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:23:33.055Z
Learning: Applies to crates/biome_js_type_info/src/{type_info,local_inference,resolver,flattening}.rs : Avoid recursive type structures and cross-module Arcs; represent links between types using TypeReference and TypeData::Reference.
Applied to files:
crates/biome_service/Cargo.toml
📚 Learning: 2025-08-05T14:43:29.581Z
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.
Applied to files:
crates/biome_service/Cargo.toml
📚 Learning: 2025-10-15T09:25:05.698Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_service/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:25:05.698Z
Learning: Use the provided CLI-based debugging flow for the watcher (start daemon, run commands against it, inspect logs in the cache folder)
Applied to files:
crates/biome_cli/src/commands/daemon.rs
🧬 Code graph analysis (10)
crates/biome_cli/tests/commands/start.rs (2)
crates/biome_cli/tests/main.rs (1)
run_cli(332-347)crates/biome_cli/tests/snap_test.rs (1)
assert_cli_snapshot(407-409)
crates/biome_cli/tests/commands/mod.rs (1)
crates/biome_cli/src/commands/daemon.rs (1)
start(27-46)
crates/biome_service/src/scanner.rs (3)
crates/biome_service/src/workspace/server.rs (1)
diagnostics(1404-1407)crates/biome_service/src/scanner/workspace_bridges.rs (1)
diagnostics(246-249)packages/@biomejs/js-api/src/wasm.ts (1)
ProjectKey(2-2)
crates/biome_service/src/scanner/watcher.tests.rs (1)
crates/biome_service/src/scanner/watcher.rs (1)
new(142-189)
crates/biome_flags/src/lib.rs (1)
crates/biome_service/src/scanner/watcher.rs (1)
new(142-189)
crates/biome_cli/src/service/unix.rs (2)
crates/biome_service/src/scanner/watcher.rs (1)
new(142-189)crates/biome_cli/src/service/windows.rs (1)
ensure_daemon(189-213)
crates/biome_cli/src/service/windows.rs (3)
crates/biome_cli/src/commands/mod.rs (1)
log_options(632-652)crates/biome_service/src/scanner/watcher.rs (1)
new(142-189)crates/biome_cli/src/service/unix.rs (1)
ensure_daemon(131-189)
crates/biome_cli/src/commands/mod.rs (2)
crates/biome_cli/src/lib.rs (1)
run(68-313)crates/biome_cli/src/logging.rs (1)
setup_cli_subscriber(74-144)
crates/biome_cli/src/commands/daemon.rs (4)
crates/biome_cli/src/service/unix.rs (2)
ensure_daemon(131-189)open_socket(110-125)crates/biome_cli/src/service/windows.rs (2)
ensure_daemon(189-213)open_socket(107-121)crates/biome_cli/src/commands/mod.rs (1)
log_options(632-652)crates/biome_service/src/scanner/watcher.rs (1)
new(142-189)
crates/biome_cli/src/lib.rs (2)
crates/biome_cli/src/commands/mod.rs (2)
log_options(632-652)cli_options(610-630)crates/biome_cli/src/commands/daemon.rs (3)
start(27-46)lsp_proxy(121-129)run_server(72-113)
🪛 LanguageTool
.changeset/curly-facts-kick.md
[misspelling] ~44-~44: Did you mean “now”?
Context: ...uce the quantity of these logs, you can know customise it: ```shell BIOME_LOG_LEVEL...
(KNOW_NOW)
[style] ~44-~44: Would you like to use the Oxford spelling “customize”? The spelling ‘customise’ is also correct.
Context: ...he quantity of these logs, you can know customise it: ```shell BIOME_LOG_LEVEL=info biom...
(OXFORD_SPELLING_Z_NOT_S)
.changeset/every-beers-sleep.md
[uncategorized] ~14-~14: Loose punctuation mark.
Context: ...er for the current platform. - polling: uses the polling strategy. - none: it...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~15-~15: Loose punctuation mark.
Context: ...ng: uses the polling strategy. - none`: it doesn't enable the watcher. When the...
(UNLIKELY_OPENING_PUNCTUATION)
[locale-violation] ~15-~15: In British English, the spelling ‘anymore’ is sometimes considered incorrect. Did you mean “any more”?
Context: ...abled, changes to files aren't recorded anymore by Biome. This might have repercussio...
(ANYMORE)
⏰ 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). (21)
- GitHub Check: Bench (biome_css_parser)
- GitHub Check: Bench (biome_css_analyze)
- GitHub Check: Bench (biome_css_formatter)
- GitHub Check: autofix
- GitHub Check: Documentation
- GitHub Check: End-to-end tests
- GitHub Check: Test (depot-ubuntu-24.04-arm-16)
- GitHub Check: Test (depot-windows-2022-16)
- GitHub Check: Check Dependencies
- GitHub Check: Lint project (depot-windows-2022)
- GitHub Check: Bench (biome_js_formatter)
- GitHub Check: Bench (biome_graphql_formatter)
- GitHub Check: Bench (biome_js_analyze)
- GitHub Check: Bench (biome_graphql_parser)
- GitHub Check: Bench (biome_js_parser)
- GitHub Check: Bench (biome_json_formatter)
- GitHub Check: Bench (biome_json_analyze)
- GitHub Check: Bench (biome_json_parser)
- GitHub Check: Bench (biome_configuration)
- GitHub Check: Bench (biome_module_graph)
- GitHub Check: Bench (biome_package)
🔇 Additional comments (11)
crates/biome_service/Cargo.toml (2)
2-12: Formatting changes look good.The whitespace adjustments in the package metadata, dependencies, and features sections don't introduce functional changes—they appear to be stylistic consistency improvements.
Also applies to: 17-80, 88-103
81-81: All clear — workspace dependency properly configured.The addition of
bpaffollows the correct workspace dependency pattern. It's declared at the workspace root with version 0.9.20 and the ["derive"] feature, and your crate correctly references it withworkspace = true. Ship it.crates/biome_service/src/scanner.rs (1)
32-32: LGTM!The expanded re-export properly surfaces the new watcher configuration types, enabling consumers to construct and configure watchers with the new options API.
.changeset/every-beers-sleep.md (1)
1-24: Clear documentation of the new watcher options.The changelog entry accurately describes the new CLI options and their behaviour. The static analysis hints about punctuation and "anymore" are false positives and can be safely ignored.
crates/biome_cli/tests/commands/mod.rs (1)
13-13: LGTM!Standard module declaration for the new test module.
crates/biome_cli/tests/commands/start.rs (1)
7-23: LGTM!Standard snapshot test for the start command help output. The test structure aligns with existing patterns in the test suite.
crates/biome_service/src/lib.rs (1)
30-30: LGTM!The expanded public re-export properly exposes the new watcher configuration API to external consumers.
crates/biome_flags/src/lib.rs (1)
24-27: New environment variables added correctly.The four new environment variables are properly declared with appropriate names and descriptions.
crates/biome_service/src/scanner/watcher.tests.rs (2)
41-42: LGTM!Tests correctly updated to use the new
WatcherOptionsAPI. UsingWatcherOptions::default()is appropriate for these tests.
112-113: LGTM!Tests correctly updated to use the new
WatcherOptionsAPI.crates/biome_cli/src/lib.rs (1)
324-332: Cheers for piping log options through the runnerNeat to see the log configuration handed to every command runner; this keeps CLI logging consistent without repeating wiring elsewhere.
arendjr
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (16)
crates/biome_cli/tests/snapshots/main_commands_check/check_help.snapis excluded by!**/*.snapand included by**crates/biome_cli/tests/snapshots/main_commands_ci/ci_help.snapis excluded by!**/*.snapand included by**crates/biome_cli/tests/snapshots/main_commands_format/format_help.snapis excluded by!**/*.snapand included by**crates/biome_cli/tests/snapshots/main_commands_lint/lint_help.snapis excluded by!**/*.snapand included by**crates/biome_cli/tests/snapshots/main_commands_lsp_proxy/lsp_proxy_help.snapis excluded by!**/*.snapand included by**crates/biome_cli/tests/snapshots/main_commands_migrate/migrate_help.snapis excluded by!**/*.snapand included by**crates/biome_cli/tests/snapshots/main_commands_rage/rage_help.snapis excluded by!**/*.snapand included by**crates/biome_cli/tests/snapshots/main_commands_rage/rage_ok.snapis excluded by!**/*.snapand included by**crates/biome_cli/tests/snapshots/main_commands_rage/with_configuration.snapis excluded by!**/*.snapand included by**crates/biome_cli/tests/snapshots/main_commands_rage/with_formatter_configuration.snapis excluded by!**/*.snapand included by**crates/biome_cli/tests/snapshots/main_commands_rage/with_jsonc_configuration.snapis excluded by!**/*.snapand included by**crates/biome_cli/tests/snapshots/main_commands_rage/with_linter_configuration.snapis excluded by!**/*.snapand included by**crates/biome_cli/tests/snapshots/main_commands_rage/with_malformed_configuration.snapis excluded by!**/*.snapand included by**crates/biome_cli/tests/snapshots/main_commands_rage/with_no_configuration.snapis excluded by!**/*.snapand included by**crates/biome_cli/tests/snapshots/main_commands_rage/with_server_logs.snapis excluded by!**/*.snapand included by**crates/biome_cli/tests/snapshots/main_commands_start/start_help.snapis excluded by!**/*.snapand included by**
📒 Files selected for processing (13)
.changeset/curly-facts-kick.md(1 hunks).changeset/every-beers-sleep.md(1 hunks)crates/biome_cli/src/commands/daemon.rs(6 hunks)crates/biome_cli/src/commands/mod.rs(14 hunks)crates/biome_cli/src/commands/rage.rs(11 hunks)crates/biome_cli/src/lib.rs(11 hunks)crates/biome_cli/src/logging.rs(2 hunks)crates/biome_cli/src/service/windows.rs(5 hunks)crates/biome_configuration/src/lib.rs(1 hunks)crates/biome_configuration/src/vcs.rs(1 hunks)crates/biome_console/src/utils.rs(1 hunks)crates/biome_flags/src/lib.rs(3 hunks)crates/biome_service/src/scanner/watcher.rs(6 hunks)
🚧 Files skipped from review as they are similar to previous changes (3)
- .changeset/curly-facts-kick.md
- crates/biome_cli/src/logging.rs
- crates/biome_configuration/src/vcs.rs
🧰 Additional context used
🧠 Learnings (18)
📓 Common learnings
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_service/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:25:05.698Z
Learning: Applies to crates/biome_service/src/workspace_watcher.rs : WorkspaceWatcher should synchronize workspace state with the filesystem and be active only in daemon mode (not used by the CLI)
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_service/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:25:05.698Z
Learning: Use the provided CLI-based debugging flow for the watcher (start daemon, run commands against it, inspect logs in the cache folder)
📚 Learning: 2025-10-15T09:22:15.851Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:15.851Z
Learning: Applies to crates/biome_formatter/src/**/*.rs : After generation, remove usages of `format_verbatim_node` and implement real formatting with biome_formatter utilities
Applied to files:
crates/biome_flags/src/lib.rscrates/biome_cli/src/commands/rage.rscrates/biome_cli/src/commands/mod.rs
📚 Learning: 2025-10-15T09:24:31.042Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_parser/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:24:31.042Z
Learning: Applies to crates/biome_parser/crates/biome_*_{syntax,factory}/** : Create per-language crates biome_<lang>_syntax and biome_<lang>_factory under crates/
Applied to files:
crates/biome_flags/src/lib.rs
📚 Learning: 2025-10-15T09:22:46.002Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_js_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:46.002Z
Learning: Applies to crates/biome_js_formatter/**/Cargo.toml : Declare the dependency `biome_js_formatter = { version = "0.0.1", path = "../biome_js_formatter" }` for internal installation
Applied to files:
crates/biome_flags/src/lib.rs
📚 Learning: 2025-10-15T09:22:46.002Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_js_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:46.002Z
Learning: Applies to crates/biome_js_formatter/**/*.rs : Use `dbg_write!` to debug and inspect the emitted IR during formatting
Applied to files:
crates/biome_flags/src/lib.rscrates/biome_cli/src/commands/rage.rs
📚 Learning: 2025-10-15T09:22:15.851Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:15.851Z
Learning: Applies to crates/biome_formatter/src/lib.rs : Add the provided AsFormat, IntoFormat, and iterator plumbing code to lib.rs
Applied to files:
crates/biome_flags/src/lib.rs
📚 Learning: 2025-10-15T09:22:46.002Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_js_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:46.002Z
Learning: Applies to crates/biome_js_formatter/**/*.rs : Implement the `Format` trait for your node type and use `JsFormatter` with `write!`/`format_args!` to define formatting
Applied to files:
crates/biome_flags/src/lib.rs
📚 Learning: 2025-10-15T09:22:15.851Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_formatter/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:22:15.851Z
Learning: Applies to crates/biome_formatter/src/lib.rs : Expose a documented public function `format_node(options: HtmlFormatOptions, root: &HtmlSyntaxNode) -> FormatResult<Formatted<HtmlFormatContext>>` delegating to `biome_formatter::format_node`
Applied to files:
crates/biome_flags/src/lib.rs
📚 Learning: 2025-10-15T09:25:05.698Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_service/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:25:05.698Z
Learning: Applies to crates/biome_service/src/workspace_watcher.rs : WorkspaceWatcher should synchronize workspace state with the filesystem and be active only in daemon mode (not used by the CLI)
Applied to files:
crates/biome_cli/src/commands/daemon.rscrates/biome_cli/src/lib.rscrates/biome_cli/src/commands/mod.rscrates/biome_cli/src/service/windows.rscrates/biome_service/src/scanner/watcher.rs
📚 Learning: 2025-10-15T09:25:05.698Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_service/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:25:05.698Z
Learning: Applies to crates/biome_service/src/workspace/server.rs : WorkspaceServer must maintain workspace state and is used in the daemon and CLI daemonless mode
Applied to files:
crates/biome_cli/src/commands/daemon.rscrates/biome_cli/src/lib.rscrates/biome_cli/src/commands/mod.rscrates/biome_cli/src/service/windows.rscrates/biome_service/src/scanner/watcher.rs
📚 Learning: 2025-10-15T09:25:05.698Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_service/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:25:05.698Z
Learning: Applies to crates/biome_service/../biome_lsp/src/server.tests.rs : Keep end-to-end LSP tests in ../biome_lsp/src/server.tests.rs
Applied to files:
crates/biome_cli/src/commands/daemon.rscrates/biome_cli/src/lib.rscrates/biome_cli/src/commands/mod.rscrates/biome_cli/src/service/windows.rs
📚 Learning: 2025-10-15T09:25:05.698Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_service/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:25:05.698Z
Learning: Applies to crates/biome_service/src/workspace/watcher.tests.rs : Place watcher tests related to workspace methods in src/workspace/watcher.tests.rs
Applied to files:
crates/biome_cli/src/commands/daemon.rscrates/biome_cli/src/commands/mod.rscrates/biome_cli/src/service/windows.rscrates/biome_service/src/scanner/watcher.rs
📚 Learning: 2025-10-15T09:25:05.698Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_service/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:25:05.698Z
Learning: Applies to crates/biome_service/src/workspace/client.rs : WorkspaceClient is for creating connections to the daemon and communicating with WorkspaceServer
Applied to files:
crates/biome_cli/src/commands/daemon.rscrates/biome_cli/src/lib.rscrates/biome_cli/src/commands/mod.rscrates/biome_cli/src/service/windows.rs
📚 Learning: 2025-10-15T09:25:05.698Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_service/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:25:05.698Z
Learning: Applies to crates/biome_service/src/workspace.rs : Implement and expose the Workspace trait in src/workspace.rs
Applied to files:
crates/biome_cli/src/commands/daemon.rscrates/biome_cli/src/commands/mod.rscrates/biome_service/src/scanner/watcher.rs
📚 Learning: 2025-10-15T09:25:05.698Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_service/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:25:05.698Z
Learning: Use the provided CLI-based debugging flow for the watcher (start daemon, run commands against it, inspect logs in the cache folder)
Applied to files:
crates/biome_cli/src/commands/daemon.rs
📚 Learning: 2025-10-15T09:21:24.116Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_diagnostics/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:21:24.116Z
Learning: Specify static properties (category, severity, description, message, location, tags) with `#[diagnostic(...)]`
Applied to files:
crates/biome_cli/src/commands/rage.rs
📚 Learning: 2025-10-15T09:21:24.116Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_diagnostics/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:21:24.116Z
Learning: Prefer implementing the Diagnostic trait via `#[derive(Diagnostic)]`
Applied to files:
crates/biome_cli/src/commands/rage.rs
📚 Learning: 2025-10-15T09:21:24.116Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_diagnostics/CONTRIBUTING.md:0-0
Timestamp: 2025-10-15T09:21:24.116Z
Learning: `#[derive(Diagnostic)]` is supported on enums; each variant must contain a type that is itself a diagnostic
Applied to files:
crates/biome_cli/src/commands/rage.rs
🧬 Code graph analysis (8)
crates/biome_flags/src/lib.rs (3)
crates/biome_service/src/scanner/watcher.rs (2)
new(151-198)fmt(68-74)crates/biome_console/src/utils.rs (3)
new(42-44)new(81-83)new(99-101)crates/biome_cli/src/logging.rs (2)
fmt(198-207)fmt(271-277)
crates/biome_console/src/utils.rs (3)
crates/biome_flags/src/lib.rs (4)
new(33-68)new(80-82)value(85-87)fmt(105-226)crates/biome_cli/src/lib.rs (1)
new(58-65)crates/biome_cli/src/commands/rage.rs (9)
fmt(78-106)fmt(113-192)fmt(202-369)fmt(375-389)fmt(395-403)fmt(409-411)fmt(417-437)fmt(444-450)fmt(457-464)
crates/biome_cli/src/commands/daemon.rs (3)
crates/biome_cli/src/service/windows.rs (2)
ensure_daemon(189-213)open_socket(107-121)crates/biome_cli/src/service/unix.rs (2)
ensure_daemon(131-189)open_socket(110-125)crates/biome_service/src/scanner/watcher.rs (1)
new(151-198)
crates/biome_cli/src/commands/rage.rs (1)
crates/biome_console/src/utils.rs (10)
new(42-44)new(81-83)new(99-101)fmt(12-14)fmt(24-33)fmt(48-50)fmt(59-61)fmt(70-72)fmt(87-92)fmt(110-123)
crates/biome_cli/src/lib.rs (3)
crates/biome_cli/src/commands/rage.rs (1)
rage(25-73)crates/biome_cli/src/commands/daemon.rs (3)
start(27-46)lsp_proxy(124-132)run_server(72-116)crates/biome_cli/src/commands/mod.rs (2)
log_options(632-652)cli_options(610-630)
crates/biome_cli/src/commands/mod.rs (2)
crates/biome_service/src/scanner/watcher.rs (1)
default(47-52)crates/biome_cli/src/logging.rs (2)
default(74-82)setup_cli_subscriber(85-155)
crates/biome_cli/src/service/windows.rs (4)
crates/biome_cli/src/commands/mod.rs (1)
log_options(632-652)crates/biome_service/src/scanner/watcher.rs (2)
new(151-198)default(47-52)crates/biome_cli/src/service/unix.rs (1)
ensure_daemon(131-189)crates/biome_cli/src/logging.rs (1)
default(74-82)
crates/biome_service/src/scanner/watcher.rs (3)
crates/biome_service/src/scanner/workspace_bridges.rs (2)
notify(85-85)new(190-192)crates/biome_flags/src/lib.rs (2)
new(33-68)new(80-82)crates/biome_service/src/scanner.rs (2)
new(122-128)new(629-637)
🪛 LanguageTool
.changeset/every-beers-sleep.md
[uncategorized] ~14-~14: Loose punctuation mark.
Context: ...er for the current platform. - polling: uses the polling strategy. - none: it...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~15-~15: Loose punctuation mark.
Context: ...ng: uses the polling strategy. - none`: it doesn't enable the watcher. When the...
(UNLIKELY_OPENING_PUNCTUATION)
[locale-violation] ~15-~15: In British English, the spelling ‘anymore’ is sometimes considered incorrect. Did you mean “any more”?
Context: ...abled, changes to files aren't recorded anymore by Biome. This might have repercussio...
(ANYMORE)
⏰ 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). (17)
- GitHub Check: Check Dependencies
- GitHub Check: Documentation
- GitHub Check: Lint project (depot-windows-2022)
- GitHub Check: Bench (biome_graphql_parser)
- GitHub Check: Bench (biome_graphql_formatter)
- GitHub Check: Bench (biome_css_formatter)
- GitHub Check: Bench (biome_css_analyze)
- GitHub Check: Bench (biome_css_parser)
- GitHub Check: Bench (biome_module_graph)
- GitHub Check: Bench (biome_json_analyze)
- GitHub Check: Bench (biome_js_formatter)
- GitHub Check: autofix
- GitHub Check: Bench (biome_json_parser)
- GitHub Check: Bench (biome_js_parser)
- GitHub Check: Bench (biome_json_formatter)
- GitHub Check: Bench (biome_configuration)
- GitHub Check: Bench (biome_js_analyze)
🔇 Additional comments (17)
crates/biome_flags/src/lib.rs (2)
19-28: LGTM!The new environment variable fields follow the existing naming conventions and type patterns consistently.
104-106: Nice refactoring: consistent padding applied throughout.The introduction of a padding constant and consistent application via
.with_padding(padding)improves maintainability. The increase to 35 appropriately accommodates the longer environment variable names.Also applies to: 109-116, 121-134, 166-173, 179-186
crates/biome_configuration/src/lib.rs (1)
474-476: LGTM!Clean migration to the new
KeyValuePair::new()constructor pattern.crates/biome_console/src/utils.rs (1)
96-107: Well-structured builder pattern.The refactor from a tuple struct to a proper struct with dedicated constructor and builder method improves ergonomics. The default padding of 30 is sensible and matches existing usage patterns seen in the codebase.
crates/biome_service/src/scanner/watcher.rs (2)
46-53: Manual Default correctly addresses previous concern.The explicit
Defaultimplementation ensurespolling_intervaldefaults to 2000 ms, matching the bpaf fallback. This resolves the previous issue where the derivedDefaultwould have set it to 0.
169-185: Robust watcher initialization with proper None handling.The match on
WatcherKindcorrectly initialises the appropriate watcher strategy orNonewhen disabled. TheOption<Box<dyn NotifyWatcher + Send>>pattern enables clean early returns inrun()and guards in watch/unwatch methods.crates/biome_cli/src/service/windows.rs (1)
71-103: Consistent daemon spawn wiring.The updated signatures and command-line argument construction correctly propagate
WatcherOptionsandLogOptionsthrough the Windows daemon spawn path, matching the Unix implementation..changeset/every-beers-sleep.md (1)
1-24: Clear documentation of new watcher options.The changelog effectively communicates the new functionality, defaults, and environment variable aliases. The explanation of each option's behaviour is concise and helpful.
crates/biome_cli/src/commands/rage.rs (1)
38-463: Comprehensive migration to new KeyValuePair API.All instances throughout the rage command have been consistently updated to use
KeyValuePair::new(). The changes maintain the existing formatting and output structure.crates/biome_cli/src/lib.rs (1)
322-330: LogOptions cleanly threaded through command execution.The updated
run_commandsignature and all call sites consistently propagatelog_options, centralising logging configuration across CLI commands.crates/biome_cli/src/commands/daemon.rs (2)
77-87: Tracing initialisation order corrected.The subscriber is now set up before creating the span, ensuring the span is properly recorded. This addresses the previous review concern where the span was created whilst
NoSubscriberwas still active.
72-116: Robust daemon startup with structured configuration.The
run_serverfunction now cleanly acceptsWatcherOptionsandLogOptions, initialises tracing properly, creates the watcher with configuration, and orchestrates daemon lifecycle. The shutdown handling viatokio::select!remains sound.crates/biome_cli/src/commands/mod.rs (5)
5-6: LGTM!The new imports for centralised logging and watcher configuration are properly added.
Also applies to: 53-53
86-86: LGTM!The log_options and watcher_options fields are threaded through command variants consistently. Daemon-related commands correctly include watcher_options as per the learning that watchers are only active in daemon mode.
Also applies to: 100-104, 162-162, 253-253, 351-351, 417-417, 459-463, 472-472, 503-503, 570-577
692-700: LGTM!The
log_level()andlog_kind()methods are correctly updated to use the newlog_options()accessor with appropriate defaults.
897-908: LGTM!The
CommandRunner::runsignature is correctly updated to accept the consolidatedLogOptions, and the subscriber setup properly uses its fields. Since this is apub(crate)trait, the breaking change only affects internal code.
632-652: Need to verify if anything actually calls thelog_options()accessor on these daemon commands:
Based on verification, the
log_options()accessor correctly returnsNonefor daemon commands. These commands—Start,LspProxy, andRunServer—don't expose their log options through the accessor because they passlog_optionsdirectly as function parameters to their respective daemon handlers (indaemon.rs). This is intentional design: daemon commands bypass the accessor and manage logging directly, whilst other commands use the centralised accessor method. No inconsistency detected.
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Summary
Closes #7296
This PR adds new watcher options that allow users to change the behaviour of the file watcher:
A new option called
--watcher-kindthat accepts:recommended: the current behaviour, and the default optionpolling: to use the polling strategynone: to turn off the file watcher of the daemon. Risky, but users have the optionA new option called
--watcher-polling-intervalthat accepts a number, and allows changing the polling interval when thepollingoption is used.The reason why
pollingisn't the default is because it's a breaking change. We can change this in v3 if we want.I also refactored the logging options so they're the same across commands and aren't repeated. We document which options work in daemon mode and which ones work with the CLI.
The feature is that we now offer environment variables to control the logs, which means that people now can reduce the dump of the logs.
Test Plan
Updated current tests.
Manually tested that the new options work.
Docs
The docs will be automatically updated thanks to the
biome_flagscrate, which is used in the website.