Conversation
Co-authored-by: Carson McManus <dyc3@users.noreply.github.com> Co-authored-by: dyc3 <1808807+dyc3@users.noreply.github.com> Co-authored-by: chansuke <501052+chansuke@users.noreply.github.com>
# Conflicts: # Cargo.lock # Cargo.toml # package.json # pnpm-lock.yaml # src/pages/metadata/rules.json.js
# Conflicts: # Cargo.lock # Cargo.toml # package.json # pnpm-lock.yaml # src/components/generated/linter/NumberOfRules.astro # src/content/docs/linter/domains.mdx # src/content/docs/linter/html/rules.mdx # src/content/docs/linter/javascript/rules.mdx # src/content/docs/linter/rules/no-proto.mdx # src/content/docs/linter/rules/no-undeclared-env-vars.mdx # src/content/docs/linter/rules/no-useless-undefined.mdx # src/content/docs/linter/rules/use-spread.mdx # src/pages/metadata/rules.json.js # src/playground/workers/prettierWorker.ts
Co-authored-by: dyc3 <1808807+dyc3@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Lunaria Status Overview🌕 This pull request will trigger status changes. Learn moreBy default, every PR changing files present in the Lunaria configuration's You can change this by adding one of the keywords present in the Tracked Files
Warnings reference
|
chore: merge main into next
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Yan <61414485+yanthomasdev@users.noreply.github.com>
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
chore: sync newest merge
Co-authored-by: Dushyant Acharya <dushyantacharya873@gmail.com> Co-authored-by: Denis Bezrukov <6227442+denbezrukov@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: Maikel van Dort <11695769+Netail@users.noreply.github.com> Co-authored-by: Yan <61414485+yanthomasdev@users.noreply.github.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (3)
📒 Files selected for processing (3)
✅ Files skipped from review due to trivial changes (2)
WalkthroughThis PR adds an LSP docs generator (codegen::lsp + CLI + npm script) and writes generated custom-methods into src/content/docs/reference/daemon.md; it introduces a Biome Language Server docs page and per-editor go-to-definition settings, moves editor guide routes to /editors/ across locales, expands configuration and plugin docs (presets, delimiterSpacing, includes, fix_kind), regenerates linter rule indexes and nursery docs, updates language-support tables across locales, aligns the playground to LINT_RULES.preset, and publishes the v2.5 blog and related UI/sidebar updates. Possibly related PRs
Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 2 | ❌ 2❌ Failed checks (2 inconclusive)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 4
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
src/content/docs/fr/internals/language-support.mdx (1)
43-43:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUpdate the French TypeScript version to match source docs.
Line 43 still references TypeScript
5.6while the canonical page now states5.9. Keeping them aligned avoids contradictory docs.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/fr/internals/language-support.mdx` at line 43, Update the French docs line that currently reads "Biome prend en charge la version 5.6 de TypeScript." to reference TypeScript 5.9 so it matches the canonical page; locate that exact string in src/content/docs/fr/internals/language-support.mdx and replace "5.6" with "5.9".src/content/docs/es/internals/language-support.mdx (1)
44-44:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winAlign the TypeScript version with the canonical docs.
Line 44 still says
5.6, but the main language-support page in this PR documents TypeScript5.9. Please update the Spanish page to avoid stale guidance.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/es/internals/language-support.mdx` at line 44, Update the Spanish sentence "Biome es compatible con TypeScript versión 5.6." to state the correct TypeScript version 5.9 to match the canonical language-support documentation (replace "5.6" with "5.9" in the sentence found in src/content/docs/es/internals/language-support.mdx).
♻️ Duplicate comments (4)
src/content/docs/pt-BR/index.mdx (1)
53-53:⚠️ Potential issue | 🟠 Major | ⚡ Quick winMissing locale prefix in editor links.
Same issue as in the getting-started file—these links lack the
/pt-br/prefix and will redirect to English.Also applies to: 171-171
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/pt-BR/index.mdx` at line 53, Update internal editor links in the PT-BR doc so they include the locale prefix; replace occurrences like the link target "/editors/first-party-extensions/" (e.g., the "[editor favorito](/editors/first-party-extensions/)" anchor and the other occurrence around line 171) with the localized path "/pt-br/editors/first-party-extensions/" (use the same "pt-br" casing consistently) so the links point to the Portuguese pages rather than redirecting to English.src/content/docs/ru/index.mdx (1)
60-60:⚠️ Potential issue | 🟠 Major | ⚡ Quick winMissing locale prefix in editor links.
Same issue as in the Russian getting-started file—these lack the
/ru/prefix.Also applies to: 185-185
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/ru/index.mdx` at line 60, Update the internal editor links in the Russian index so they include the locale prefix; specifically replace occurrences of the path "/editors/first-party-extensions/" (and any other editor links in this file, e.g., the duplicate at the other noted occurrence) with "/ru/editors/first-party-extensions/" so the links point to the Russian-localized pages.src/content/docs/ru/guides/getting-started.mdx (1)
164-168:⚠️ Potential issue | 🟠 Major | ⚡ Quick winMissing locale prefix in editor links.
These Russian locale links lack the
/ru/prefix. Polish and Chinese files correctly include their locale prefixes, but pt-BR, ru, and uk files don't—this inconsistency will break i18n navigation.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/ru/guides/getting-started.mdx` around lines 164 - 168, The three editor links "[VS Code](/editors/first-party-extensions#vs-code)", "[IntelliJ](/editors/first-party-extensions#intellij)", "[Zed](/editors/first-party-extensions#zed)" and the community link "[дополнения от сообщества](/editors/third-party-extensions)" in src/content/docs/ru/guides/getting-started.mdx are missing the Russian locale prefix; update each target URL to include the /ru/ prefix (e.g. change /editors/... to /ru/editors/...) so the links point to the localized pages. Ensure you update all four links consistently and verify the anchors (`#vs-code`, `#intellij`, `#zed`) remain intact.src/content/docs/uk/index.mdx (1)
56-56:⚠️ Potential issue | 🟠 Major | ⚡ Quick winMissing locale prefix in editor links.
Ukrainian locale links also lack the
/uk/prefix, continuing the pattern seen in pt-BR and ru files.Also applies to: 175-175
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/uk/index.mdx` at line 56, The Ukrainian docs contain editor links missing the locale prefix (e.g. "/editors/first-party-extensions/"); update those links to include the "/uk/" prefix (e.g. "/uk/editors/first-party-extensions/") wherever they appear in src/content/docs/uk/index.mdx so internal navigation uses the Ukrainian locale; search for the substring "/editors/first-party-extensions/" in that file and replace each occurrence with "/uk/editors/first-party-extensions/" (and similarly add "/uk/" to any other editor-related internal links in this file).
🧹 Nitpick comments (1)
src/content/docs/reference/daemon.md (1)
26-699: Refine or justify the generatedunknowntypes in daemon custom-method interfaces
codegen/src/lsp.rsmaps JSON-schema nodes to TS viaresolve_ts_type, which intentionally falls back to"unknown"when it can’t derive a concrete type (e.g., missingitems, unsupportedconst, or no matching mapping). That aligns withmaxDiagnostics?: unknown,suppressionReason?: unknown, anddiagnostics: unknown[][]indaemon.md; improve the type resolver/schema mapping for these cases, or explicitly document why they remain opaque.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/content/docs/reference/daemon.md` around lines 26 - 699, The generated TS "unknown" usages (e.g., maxDiagnostics?: unknown, suppressionReason?: unknown, diagnostics: unknown[][] in daemon.md) come from resolve_ts_type falling back to "unknown"; update codegen/src/lsp.rs::resolve_ts_type to (1) detect and map array schemas with defined "items" to concrete TS arrays (including nested arrays) instead of returning unknown[][], (2) handle schema forms like const/enum or missing type by mapping to appropriate unions (number|string|boolean) or a documented alias (e.g., UnknownSchema) rather than raw unknown, and (3) for fields like maxDiagnostics and suppressionReason add explicit schema-to-TS mappings or emit an explanatory comment in the generated daemon.md if the schema is intentionally opaque; adjust resolve_ts_type and any helper functions to propagate these changes so the generated interfaces (e.g., PullDiagnosticsParams.maxDiagnostics, PullActionsParams.suppressionReason, PullDiagnosticsAndActionsResult.diagnostics) use the improved, justified types or include a short docstring explaining why "unknown" remains.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/content/docs/linter/plugins.mdx`:
- Line 73: Fix the typo in the description of the includes option: replace
"retrict files and folder" with "restrict files and folders" in the sentence
that reads "However, you can use the `includes` option to retrict files and
folder of where the plugin can or can't run." Ensure the sentence reads:
"However, you can use the `includes` option to restrict files and folders where
the plugin can or can't run." Target the sentence mentioning the `includes`
option in the plugins documentation.
In `@src/content/docs/pt-BR/internals/language-support.mdx`:
- Line 32: Update the footnote link that currently reads "[ativação
explícita](/reference/configuration/#html)" to include the locale prefix for
Brazilian Portuguese so it becomes "[ativação
explícita](/pt-BR/reference/configuration/#html)"; locate the string in the
section containing "** atualmente requer [ativação
explícita](/reference/configuration/#html)**" and adjust only the URL portion to
prepend "/pt-BR/".
In `@src/content/docs/reference/configuration.mdx`:
- Around line 385-390: The docs for the linter.rules.preset option contain a
typo: change the phrase "expect for nursery rules" to "except for nursery rules"
in the `linter.rules.preset` section so the bullet for `"all"` reads that it
"enables all lint rules, except for nursery rules"; update the text near the
`linter.rules.preset` heading to correct this phrasing.
- Around line 381-383: Fix the grammatical error in the deprecation caution
block by changing the phrase "This options is deprecated" to "This option is
deprecated" in the MDX deprecation callout (the :::caution block that references
linter.rules.preset); update only that sentence so the wording is singular and
leave the rest of the link and punctuation intact.
---
Outside diff comments:
In `@src/content/docs/es/internals/language-support.mdx`:
- Line 44: Update the Spanish sentence "Biome es compatible con TypeScript
versión 5.6." to state the correct TypeScript version 5.9 to match the canonical
language-support documentation (replace "5.6" with "5.9" in the sentence found
in src/content/docs/es/internals/language-support.mdx).
In `@src/content/docs/fr/internals/language-support.mdx`:
- Line 43: Update the French docs line that currently reads "Biome prend en
charge la version 5.6 de TypeScript." to reference TypeScript 5.9 so it matches
the canonical page; locate that exact string in
src/content/docs/fr/internals/language-support.mdx and replace "5.6" with "5.9".
---
Duplicate comments:
In `@src/content/docs/pt-BR/index.mdx`:
- Line 53: Update internal editor links in the PT-BR doc so they include the
locale prefix; replace occurrences like the link target
"/editors/first-party-extensions/" (e.g., the "[editor
favorito](/editors/first-party-extensions/)" anchor and the other occurrence
around line 171) with the localized path
"/pt-br/editors/first-party-extensions/" (use the same "pt-br" casing
consistently) so the links point to the Portuguese pages rather than redirecting
to English.
In `@src/content/docs/ru/guides/getting-started.mdx`:
- Around line 164-168: The three editor links "[VS
Code](/editors/first-party-extensions#vs-code)",
"[IntelliJ](/editors/first-party-extensions#intellij)",
"[Zed](/editors/first-party-extensions#zed)" and the community link "[дополнения
от сообщества](/editors/third-party-extensions)" in
src/content/docs/ru/guides/getting-started.mdx are missing the Russian locale
prefix; update each target URL to include the /ru/ prefix (e.g. change
/editors/... to /ru/editors/...) so the links point to the localized pages.
Ensure you update all four links consistently and verify the anchors (`#vs-code`,
`#intellij`, `#zed`) remain intact.
In `@src/content/docs/ru/index.mdx`:
- Line 60: Update the internal editor links in the Russian index so they include
the locale prefix; specifically replace occurrences of the path
"/editors/first-party-extensions/" (and any other editor links in this file,
e.g., the duplicate at the other noted occurrence) with
"/ru/editors/first-party-extensions/" so the links point to the
Russian-localized pages.
In `@src/content/docs/uk/index.mdx`:
- Line 56: The Ukrainian docs contain editor links missing the locale prefix
(e.g. "/editors/first-party-extensions/"); update those links to include the
"/uk/" prefix (e.g. "/uk/editors/first-party-extensions/") wherever they appear
in src/content/docs/uk/index.mdx so internal navigation uses the Ukrainian
locale; search for the substring "/editors/first-party-extensions/" in that file
and replace each occurrence with "/uk/editors/first-party-extensions/" (and
similarly add "/uk/" to any other editor-related internal links in this file).
---
Nitpick comments:
In `@src/content/docs/reference/daemon.md`:
- Around line 26-699: The generated TS "unknown" usages (e.g., maxDiagnostics?:
unknown, suppressionReason?: unknown, diagnostics: unknown[][] in daemon.md)
come from resolve_ts_type falling back to "unknown"; update
codegen/src/lsp.rs::resolve_ts_type to (1) detect and map array schemas with
defined "items" to concrete TS arrays (including nested arrays) instead of
returning unknown[][], (2) handle schema forms like const/enum or missing type
by mapping to appropriate unions (number|string|boolean) or a documented alias
(e.g., UnknownSchema) rather than raw unknown, and (3) for fields like
maxDiagnostics and suppressionReason add explicit schema-to-TS mappings or emit
an explanatory comment in the generated daemon.md if the schema is intentionally
opaque; adjust resolve_ts_type and any helper functions to propagate these
changes so the generated interfaces (e.g., PullDiagnosticsParams.maxDiagnostics,
PullActionsParams.suppressionReason,
PullDiagnosticsAndActionsResult.diagnostics) use the improved, justified types
or include a short docstring explaining why "unknown" remains.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 588c7b94-d9c6-40a0-ba20-a22b55f86d2f
⛔ Files ignored due to path filters (5)
Cargo.lockis excluded by!**/*.lockpnpm-lock.yamlis excluded by!**/pnpm-lock.yamlsrc/assets/blog/biome-v2-5/500-dark.pngis excluded by!**/*.pngsrc/assets/blog/biome-v2-5/500-light.pngis excluded by!**/*.pngsrc/playground/generated/lintRules.tsis excluded by!**/generated/**
📒 Files selected for processing (69)
Cargo.tomlastro.config.tscodegen/src/lib.rscodegen/src/lintdoc.rscodegen/src/lsp.rscodegen/src/main.rscodegen/src/metadata.rscodegen/src/rules_sources.rspackage.jsonsrc/content/docs/blog/biome-v2-5.mdxsrc/content/docs/editors/first-party-extensions.mdxsrc/content/docs/editors/introduction.mdxsrc/content/docs/editors/third-party-extensions.mdxsrc/content/docs/es/editors/create-an-extension.mdxsrc/content/docs/es/editors/first-party-extensions.mdxsrc/content/docs/es/editors/third-party-extensions.mdxsrc/content/docs/es/guides/getting-started.mdxsrc/content/docs/es/index.mdxsrc/content/docs/es/internals/language-support.mdxsrc/content/docs/formatter/index.mdxsrc/content/docs/fr/editors/create-an-extension.mdxsrc/content/docs/fr/editors/first-party-extensions.mdxsrc/content/docs/fr/editors/third-party-extensions.mdxsrc/content/docs/fr/guides/getting-started.mdxsrc/content/docs/fr/index.mdxsrc/content/docs/fr/internals/language-support.mdxsrc/content/docs/guides/editors/create-an-extension.mdxsrc/content/docs/guides/getting-started.mdxsrc/content/docs/guides/integrate-in-vcs.mdxsrc/content/docs/guides/manual-installation.mdxsrc/content/docs/index.mdxsrc/content/docs/internals/language-support.mdxsrc/content/docs/ja/editors/create-an-extension.mdxsrc/content/docs/ja/editors/first-party-extensions.mdxsrc/content/docs/ja/editors/third-party-extensions.mdxsrc/content/docs/ja/guides/getting-started.mdxsrc/content/docs/ja/index.mdxsrc/content/docs/ja/internals/language-support.mdxsrc/content/docs/linter/css/rules.mdxsrc/content/docs/linter/html/rules.mdxsrc/content/docs/linter/javascript/rules.mdxsrc/content/docs/linter/plugins.mdxsrc/content/docs/linter/rules/no-excessive-lines-per-file.mdxsrc/content/docs/pl/editors/create-an-extension.mdxsrc/content/docs/pl/editors/first-party-extensions.mdxsrc/content/docs/pl/editors/third-party-extensions.mdxsrc/content/docs/pl/guides/getting-started.mdxsrc/content/docs/pl/index.mdxsrc/content/docs/pl/internals/language-support.mdxsrc/content/docs/pt-BR/guides/getting-started.mdxsrc/content/docs/pt-BR/index.mdxsrc/content/docs/pt-BR/internals/language-support.mdxsrc/content/docs/reference/configuration.mdxsrc/content/docs/reference/daemon.mdsrc/content/docs/reference/gritql.mdxsrc/content/docs/reference/reporters.mdxsrc/content/docs/reference/vscode.mdxsrc/content/docs/reference/zed.mdxsrc/content/docs/ru/guides/getting-started.mdxsrc/content/docs/ru/index.mdxsrc/content/docs/uk/index.mdxsrc/content/docs/zh-CN/editors/create-an-extension.mdxsrc/content/docs/zh-CN/editors/first-party-extensions.mdxsrc/content/docs/zh-CN/editors/third-party-extensions.mdxsrc/content/docs/zh-CN/guides/getting-started.mdxsrc/content/docs/zh-CN/index.mdxsrc/content/docs/zh-CN/internals/language-support.mdxsrc/playground/types.tssrc/playground/workers/biomeWorker.ts
💤 Files with no reviewable changes (1)
- src/content/docs/guides/editors/create-an-extension.mdx
| :::caution | ||
| This options is deprecated. Use [`linter.rules.preset`](/reference/configuration#lintrulespreset) instead. | ||
| ::: |
There was a problem hiding this comment.
Grammatical error in deprecation notice.
Line 382 states "This options is deprecated" — should be "This option is deprecated".
📝 Suggested fix
:::caution
-This options is deprecated. Use [`linter.rules.preset`](/reference/configuration#lintrulespreset) instead.
+This option is deprecated. Use [`linter.rules.preset`](/reference/configuration#lintrulespreset) instead.
:::🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@src/content/docs/reference/configuration.mdx` around lines 381 - 383, Fix the
grammatical error in the deprecation caution block by changing the phrase "This
options is deprecated" to "This option is deprecated" in the MDX deprecation
callout (the :::caution block that references linter.rules.preset); update only
that sentence so the wording is singular and leave the rest of the link and
punctuation intact.
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Summary
Important