-
-
Notifications
You must be signed in to change notification settings - Fork 794
fix(analyzer): nursery rules diagnostics #8523
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
Conversation
🦋 Changeset detectedLatest commit: bcbe561 The changes in this PR will be included in the next version bump. This PR includes changesets to release 13 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 |
dyc3
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.
I think it makes sense to have the message on each diagnostic. Makes it harder to miss.
WalkthroughA changeset was added documenting a patch release for Possibly related PRs
Suggested labels
Suggested reviewers
Pre-merge checks and finishing touches✅ Passed checks (2 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 (227)
📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (1)
🧰 Additional context used📓 Path-based instructions (1).changeset/*.md📄 CodeRabbit inference engine (CONTRIBUTING.md)
Files:
🧠 Learnings (8)📓 Common learnings📚 Learning: 2025-12-12T10:11:05.564ZApplied to files:
📚 Learning: 2025-12-12T10:11:05.564ZApplied to files:
📚 Learning: 2025-12-19T12:53:30.399ZApplied to files:
📚 Learning: 2025-12-19T12:53:30.399ZApplied to files:
📚 Learning: 2025-12-19T12:53:30.399ZApplied to files:
📚 Learning: 2025-12-12T10:11:05.564ZApplied to files:
📚 Learning: 2025-12-19T12:53:30.399ZApplied to files:
🪛 LanguageTool.changeset/modern-eggs-hang.md[uncategorized] ~5-~5: Possible missing article found. (AI_HYDRA_LEO_MISSING_THE) ⏰ 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). (9)
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: 1
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (201)
crates/biome_cli/tests/snapshots/main_commands_lint/linter_can_resolve_imported_symbols.snapis excluded by!**/*.snapand included by**crates/biome_cli/tests/snapshots/main_commands_lint/linter_enables_project_domain_based_on_extended_config.snapis excluded by!**/*.snapand included by**crates/biome_css_analyze/tests/specs/nursery/noEmptySource/invalid/comment.css.snapis excluded by!**/*.snapand included by**crates/biome_css_analyze/tests/specs/nursery/noEmptySource/invalid/empty.css.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noAmbiguousAnchorText/invalid.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noAmbiguousAnchorText/words/invalid.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noContinue/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noDeprecatedImports/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noDuplicatedSpreadProps/invalid.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noEmptySource/invalid/comment.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noEmptySource/invalid/directive.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noEmptySource/invalid/empty-block-statement.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noEmptySource/invalid/empty-statement.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noEmptySource/invalid/empty.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noEmptySource/invalid/hashbang.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noEmptySource/invalid/jsdoc.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noEqualsToNull/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noFloatingPromises/01_invalid.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noFloatingPromises/03_invalid.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noFloatingPromises/03b_invalid.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noFloatingPromises/04_invalid.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noFloatingPromises/09_invalid.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noFloatingPromises/11_invalid.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noFloatingPromises/12_invalid.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noFloatingPromises/13_invalid.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noFloatingPromises/14_invalid.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noFloatingPromises/18_invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noFloatingPromises/19_invalid.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noFloatingPromises/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noFloatingPromises/invalid.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noFloatingPromises/invalidSyncCallbackInsideAsyncFn.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noFloatingPromises/issue8292.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noForIn/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noImportCycles/includeTypes.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noImportCycles/invalidBaz.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noImportCycles/invalidFoobar.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noIncrementDecrement/allowForLoopAfterthought/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noIncrementDecrement/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noJsxLiterals/invalid.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noJsxLiterals/invalidAllowedStrings.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noJsxLiterals/invalidNoStrings.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noJsxLiterals/invalidNoStringsAllowedStrings.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noLeakedRender/invalid.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noLeakedRender/issue8288.invalid.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noMisusedPromises/checksConditionalsInvalid.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noMisusedPromises/checksSpreadsInvalid.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noMisusedPromises/checksVoidReturnInvalid.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noMultiAssign/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noMultiStr/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noNextAsyncClientComponent/invalid.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noParametersOnlyUsedInRecursion/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noParametersOnlyUsedInRecursion/invalidWithFix.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noProto/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noReactForwardRef/invalid-named-import.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noReactForwardRef/invalid-named-import.tsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noReactForwardRef/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noReactForwardRef/invalid.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noReactForwardRef/invalid.tsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noScriptUrl/invalid.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-01.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-02.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-03.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-04.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-05.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-06.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-07.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-08.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-10.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-11.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-12.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-13.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-14.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-15.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-16.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-17.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-18.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-19.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-20.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-21.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-22.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-23.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-24.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-25.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-26.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-27.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-28.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-29.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-30.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-31.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/eslint/invalid-32.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/typescript-eslint/invalid-01.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/typescript-eslint/invalid-02.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/typescript-eslint/invalid-03.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/typescript-eslint/invalid-04.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/typescript-eslint/invalid-05.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/typescript-eslint/invalid-06.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/typescript-eslint/invalid-07.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noShadow/typescript-eslint/invalid-08.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noSyncScripts/invalid.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noTernary/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noUndeclaredEnvVars/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noUndeclaredEnvVars/invalidWithNegation.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noUndeclaredEnvVars/invalidWithTurboJson.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noUnknownAttribute/invalid.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noUnnecessaryConditions/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noUnnecessaryConditions/invalid.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noUnresolvedImports/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noUnusedExpressions/invalid.tsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noUselessCatchBinding/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noUselessCatchBinding/invalid.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noUselessUndefined/invalid.json.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueDataObjectDeclaration/invalid-createapp-mount-object-data.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueDataObjectDeclaration/invalid-createapp-object-data.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueDataObjectDeclaration/invalid-export-default-object-data.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueDataObjectDeclaration/invalid-export-default-parenthesized-object-data.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueDuplicateKeys/invalid-asyncdata-data.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueDuplicateKeys/invalid-asyncdata-methods.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueDuplicateKeys/invalid-duplicate-across-sections.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueDuplicateKeys/invalid-duplicate-computed-methods.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueDuplicateKeys/invalid-duplicate-data-methods.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueDuplicateKeys/invalid-duplicate-in-data-object.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueDuplicateKeys/invalid-duplicate-props-data.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueDuplicateKeys/invalid-with-setup.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueReservedKeys/invalid-async-data.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueReservedKeys/invalid-computed.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueReservedKeys/invalid-data-arrow-function.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueReservedKeys/invalid-data-function.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueReservedKeys/invalid-data-method.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueReservedKeys/invalid-data-object.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueReservedKeys/invalid-data-short-arrow-function.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueReservedKeys/invalid-define-props-object.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueReservedKeys/invalid-methods.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueReservedKeys/invalid-props-array.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueReservedKeys/invalid-props-object.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueReservedKeys/invalid-setup-interface.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueReservedKeys/invalid-setup-type-alias.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueReservedKeys/invalid-type-inline.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueReservedProps/invalid-create-app.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueReservedProps/invalid-define-component-setup.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueReservedProps/invalid-define-component.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueReservedProps/invalid-define-props-array.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueReservedProps/invalid-define-props-interface.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueReservedProps/invalid-define-props-object.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueReservedProps/invalid-define-props-type-alias.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueReservedProps/invalid-define-props-type-inline.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueReservedProps/invalid-export-default-array.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueReservedProps/invalid-export-default-object.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueSetupPropsReactivityLoss/invalid-parameter-destructuring.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/noVueSetupPropsReactivityLoss/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useArraySortCompare/invalid.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useAwaitThenable/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useConsistentArrowReturn/always.invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useConsistentArrowReturn/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useConsistentArrowReturn/multiline.invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useConsistentArrowReturn/never.invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useConsistentArrowReturn/requireReturn.invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useDestructuring/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useExhaustiveSwitchCases/invalid.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useExhaustiveSwitchCases/invalidIssue6891.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useExhaustiveSwitchCases/invalidIssue6939.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useExplicitType/invalid.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useExplicitType/invalidArguments.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useFind/invalid.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useMaxParams/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useMaxParams/invalid.ts.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useMaxParams/invalidCustomMax.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useQwikMethodUsage/invalid.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useQwikValidLexicalScope/invalid.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useRegexpExec/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useSortedClasses/codeOptionsUnsorted.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useSortedClasses/issue_3394.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useSortedClasses/issue_4855.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useSortedClasses/issue_5601.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useSortedClasses/quoteStyleInFunction.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useSortedClasses/sorted.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useSortedClasses/templateLiteralSpace.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useSortedClasses/unsorted.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useSortedClasses/whitespace.jsx.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useSpread/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useVueDefineMacrosOrder/invalid-a.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useVueDefineMacrosOrder/invalid-b.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useVueDefineMacrosOrder/invalid-c.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useVueDefineMacrosOrder/invalid-custom.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useVueDefineMacrosOrder/invalid-single-a.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useVueDefineMacrosOrder/invalid-single.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useVueDefineMacrosOrder/invalid-with-defaults.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useVueDefineMacrosOrder/invalid.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useVueMultiWordComponentNames/invalid-has-name.vue.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useVueMultiWordComponentNames/invalid.js.snapis excluded by!**/*.snapand included by**crates/biome_js_analyze/tests/specs/nursery/useVueMultiWordComponentNames/invalid.vue.snapis excluded by!**/*.snapand included by**crates/biome_json_analyze/tests/specs/nursery/noDuplicateDependencies/invalid/bundleDependencies/package.json.snapis excluded by!**/*.snapand included by**crates/biome_json_analyze/tests/specs/nursery/noDuplicateDependencies/invalid/dependencies-devDependencies/package.json.snapis excluded by!**/*.snapand included by**crates/biome_json_analyze/tests/specs/nursery/noDuplicateDependencies/invalid/dependencies-optionalDependencies/package.json.snapis excluded by!**/*.snapand included by**crates/biome_json_analyze/tests/specs/nursery/noDuplicateDependencies/invalid/dependencies-peerDependencies/package.json.snapis excluded by!**/*.snapand included by**crates/biome_json_analyze/tests/specs/nursery/noDuplicateDependencies/invalid/dependencies/package.json.snapis excluded by!**/*.snapand included by**crates/biome_json_analyze/tests/specs/nursery/noDuplicateDependencies/invalid/optionalDependencies-peerDependencies/package.json.snapis excluded by!**/*.snapand included by**crates/biome_json_analyze/tests/specs/nursery/useRequiredScripts/invalid/missing-all-scripts/package.json.snapis excluded by!**/*.snapand included by**crates/biome_json_analyze/tests/specs/nursery/useRequiredScripts/invalid/missing-multiple-scripts/package.json.snapis excluded by!**/*.snapand included by**crates/biome_json_analyze/tests/specs/nursery/useRequiredScripts/invalid/missing-single-script/package.json.snapis excluded by!**/*.snapand included by**crates/biome_json_analyze/tests/specs/nursery/useRequiredScripts/invalid/no-scripts-section/package.json.snapis excluded by!**/*.snapand included by**
📒 Files selected for processing (2)
.changeset/modern-eggs-hang.md(1 hunks)crates/biome_analyze/src/signals.rs(1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
crates/**/*.rs
📄 CodeRabbit inference engine (CONTRIBUTING.md)
Update inline rustdoc documentation for rules, assists, and their options when adding new features or changing existing features in Rust crates
Files:
crates/biome_analyze/src/signals.rs
.changeset/*.md
📄 CodeRabbit inference engine (CONTRIBUTING.md)
Write changesets that are concise (1-3 sentences), user-focused, use past tense for actions taken and present tense for Biome behavior, include code examples for rules, and end sentences with periods
Files:
.changeset/modern-eggs-hang.md
🧠 Learnings (17)
📓 Common learnings
Learnt from: CR
Repo: biomejs/biome PR: 0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-12-12T10:11:05.564Z
Learning: Send PRs with bug fixes or documentation fixes to the `main` maintenance branch; send PRs with new nursery rules to `main`; send PRs promoting rules from nursery or implementing user-facing features to the `next` branch
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Applies to crates/biome_analyze/**/*analyze/src/lint/nursery/**/*.rs : Set `recommended` field to `false` for new rules in the nursery group
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Applies to crates/biome_analyze/**/*analyze/src/lint/nursery/**/*.rs : Place new rules inside the `nursery` group during development
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Applies to crates/biome_analyze/**/*analyze/src/lint/nursery/**/*.rs : Add `issue_number` field to `declare_lint_rule!` macro for work-in-progress rules
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Commit rule work with message format `feat(biome_<language>_analyze): <ruleName>`
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Applies to crates/biome_analyze/**/*analyze/src/lint/**/*.rs : Lint rules should perform static analysis of source code to detect invalid or error-prone patterns and emit diagnostics with proposed fixes
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Applies to crates/biome_analyze/**/*analyze/src/**/*.rs : Set rule severity to `info` for code action rules in analyzer
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Applies to crates/biome_analyze/**/*analyze/src/**/*.rs : The first paragraph of rule documentation must be a single line describing what the rule does
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Applies to crates/biome_analyze/**/*analyze/src/**/*.rs : Valid code examples in rule documentation should not trigger any diagnostics
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Applies to crates/biome_analyze/**/*analyze/src/**/*.rs : Add `sources` field with `RuleSource` to cite ESLint or other rules that inspired the implementation
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Applies to crates/biome_analyze/**/*analyze/src/**/*.rs : Each invalid code example in rule documentation must emit exactly one diagnostic
Learnt from: CR
Repo: biomejs/biome PR: 0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-12-12T10:11:05.564Z
Learning: Applies to crates/**/*.rs : Update inline rustdoc documentation for rules, assists, and their options when adding new features or changing existing features in Rust crates
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Applies to crates/biome_analyze/**/*analyze/src/**/*.rs : Set rule severity to `warn` or `error` for rules in suspicious group
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Applies to crates/biome_analyze/**/*analyze/src/**/*.rs : Set rule severity to `info` or `warn` for rules in style group
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Applies to crates/biome_analyze/**/*analyze/src/**/*.rs : Set rule severity to `error` for rules in correctness, security, and a11y groups
📚 Learning: 2025-12-19T12:53:30.399Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Applies to crates/biome_analyze/**/*analyze/src/lint/nursery/**/*.rs : Place new rules inside the `nursery` group during development
Applied to files:
crates/biome_analyze/src/signals.rs.changeset/modern-eggs-hang.md
📚 Learning: 2025-12-19T12:53:30.399Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Applies to crates/biome_analyze/**/*analyze/src/lint/nursery/**/*.rs : Add `issue_number` field to `declare_lint_rule!` macro for work-in-progress rules
Applied to files:
crates/biome_analyze/src/signals.rs.changeset/modern-eggs-hang.md
📚 Learning: 2025-12-19T12:53:30.399Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Applies to crates/biome_analyze/**/*analyze/src/lint/nursery/**/*.rs : Set `recommended` field to `false` for new rules in the nursery group
Applied to files:
crates/biome_analyze/src/signals.rs.changeset/modern-eggs-hang.md
📚 Learning: 2025-12-19T12:53:30.399Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Applies to crates/biome_analyze/**/*analyze/src/**/*.rs : Assist rules should detect refactoring opportunities and emit code action signals
Applied to files:
crates/biome_analyze/src/signals.rs
📚 Learning: 2025-12-19T12:53:30.399Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Applies to crates/biome_analyze/**/*analyze/src/**/*.rs : Each invalid code example in rule documentation must emit exactly one diagnostic
Applied to files:
crates/biome_analyze/src/signals.rs
📚 Learning: 2025-12-19T12:53:30.399Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Applies to crates/biome_analyze/**/*analyze/src/**/*.rs : Valid code examples in rule documentation should not trigger any diagnostics
Applied to files:
crates/biome_analyze/src/signals.rs
📚 Learning: 2025-12-19T12:53:30.399Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Applies to crates/biome_analyze/**/*analyze/src/**/*.rs : Rule documentation code blocks should be ordered as language, expect_diagnostic, options/full_options/use_options, ignore, file
Applied to files:
crates/biome_analyze/src/signals.rs
📚 Learning: 2025-12-19T12:53:30.399Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Applies to crates/biome_analyze/**/*analyze/src/**/*.rs : Set rule severity to `warn` or `error` for rules in suspicious group
Applied to files:
crates/biome_analyze/src/signals.rs
📚 Learning: 2025-12-19T12:53:30.399Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Applies to crates/biome_analyze/**/*analyze/src/**/*.rs : Set rule severity to `error` for rules in correctness, security, and a11y groups
Applied to files:
crates/biome_analyze/src/signals.rs
📚 Learning: 2025-12-19T12:53:30.399Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Applies to crates/biome_analyze/**/*analyze/src/**/*.rs : Set rule severity to `info` or `warn` for rules in style group
Applied to files:
crates/biome_analyze/src/signals.rs
📚 Learning: 2025-12-19T12:53:30.399Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Applies to crates/biome_analyze/**/*analyze/src/**/*.rs : Invalid code examples in rule documentation must be marked with `expect_diagnostic` code block property
Applied to files:
crates/biome_analyze/src/signals.rs
📚 Learning: 2025-12-19T12:53:30.399Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Applies to crates/biome_analyze/**/*analyze/src/**/*.rs : The first paragraph of rule documentation must be a single line describing what the rule does
Applied to files:
crates/biome_analyze/src/signals.rs
📚 Learning: 2025-12-12T10:11:05.564Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-12-12T10:11:05.564Z
Learning: Applies to .changeset/*.md : Write changesets that are concise (1-3 sentences), user-focused, use past tense for actions taken and present tense for Biome behavior, include code examples for rules, and end sentences with periods
Applied to files:
.changeset/modern-eggs-hang.md
📚 Learning: 2025-12-12T10:11:05.564Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-12-12T10:11:05.564Z
Learning: Create a changeset for user-facing bug fixes and features using `just new-changeset`, selecting appropriate packages and change type (`major`, `minor`, or `patch`)
Applied to files:
.changeset/modern-eggs-hang.md
📚 Learning: 2025-12-12T10:11:05.564Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: CONTRIBUTING.md:0-0
Timestamp: 2025-12-12T10:11:05.564Z
Learning: Send PRs with bug fixes or documentation fixes to the `main` maintenance branch; send PRs with new nursery rules to `main`; send PRs promoting rules from nursery or implementing user-facing features to the `next` branch
Applied to files:
.changeset/modern-eggs-hang.md
📚 Learning: 2025-12-19T12:53:30.399Z
Learnt from: CR
Repo: biomejs/biome PR: 0
File: crates/biome_analyze/CONTRIBUTING.md:0-0
Timestamp: 2025-12-19T12:53:30.399Z
Learning: Commit rule work with message format `feat(biome_<language>_analyze): <ruleName>`
Applied to files:
.changeset/modern-eggs-hang.md
🧬 Code graph analysis (1)
crates/biome_analyze/src/signals.rs (8)
crates/biome_analyze/src/rule.rs (2)
as_str(562-574)diagnostic(1172-1174)crates/biome_js_analyze/src/lint/correctness/use_valid_typeof.rs (2)
as_str(224-235)diagnostic(147-179)crates/biome_js_analyze/src/lint/nursery/no_unnecessary_conditions.rs (1)
diagnostic(230-305)crates/biome_js_analyze/src/lint/nursery/use_sorted_classes.rs (1)
diagnostic(191-209)crates/biome_js_analyze/src/lint/correctness/no_string_case_mismatch.rs (1)
diagnostic(66-94)crates/biome_js_analyze/src/lint/suspicious/use_strict_mode.rs (1)
diagnostic(73-90)crates/biome_js_analyze/src/lint/style/use_enum_initializers.rs (1)
diagnostic(103-123)crates/biome_service/src/workspace.rs (1)
markup(1187-1189)
🪛 LanguageTool
.changeset/modern-eggs-hang.md
[uncategorized] ~5-~5: Possible missing article found.
Context: ...rsery rules, so that users are aware of nature of nursery rules.
(AI_HYDRA_LEO_MISSING_THE)
⏰ 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). (9)
- GitHub Check: Test (depot-windows-2022-16)
- GitHub Check: Lint project (depot-ubuntu-24.04-arm-16)
- GitHub Check: End-to-end tests
- GitHub Check: Test (depot-ubuntu-24.04-arm-16)
- GitHub Check: Check Dependencies
- GitHub Check: Documentation
- GitHub Check: Lint project (depot-windows-2022)
- GitHub Check: Test Node.js API
- GitHub Check: autofix
🔇 Additional comments (2)
crates/biome_analyze/src/signals.rs (2)
380-385: LGTM! Cleaner URL display.The change to use
url.as_str()as the displayed link text eliminates redundancy and improves consistency. The note clearly communicates that the rule is work-in-progress.
386-390: Nice addition! Nursery rules are now more visible.The nursery-specific diagnostic note effectively addresses the PR objective by informing users that nursery rules are unstable. The check against
RuleGroup::NAMEis correct, and the note provides a helpful link to the documentation.
370aa4d to
d2f019d
Compare
946003a to
bcbe561
Compare
Summary
We had some feedback saying that nursery rules aren't "visible" enough, meaning that people don't know what "nursery" means.
This PR adds a message to the diagnostics emitted by nursery rules.
Test Plan
Green CI
Docs