From f0f2fc6f444db030da56a40d01248c638dbd6456 Mon Sep 17 00:00:00 2001 From: "Arend van Beelen jr." Date: Wed, 27 Nov 2024 08:56:41 +0100 Subject: [PATCH 1/3] Updates for next branch --- src/playground/workers/biomeWorker.ts | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/playground/workers/biomeWorker.ts b/src/playground/workers/biomeWorker.ts index f271f3f79..4fbeb63ef 100644 --- a/src/playground/workers/biomeWorker.ts +++ b/src/playground/workers/biomeWorker.ts @@ -35,8 +35,8 @@ let configuration: undefined | Configuration; function getPathForFile(file: File): BiomePath { return { path: file.filename, - kind: ["Handleable"], - was_written: false, + kind: ["handleable"], + wasWritten: false, }; } @@ -172,7 +172,7 @@ self.addEventListener("message", async (e) => { workspace.updateSettings({ configuration, - gitignore_matches: [], + gitignoreMatches: [], }); break; } @@ -216,12 +216,12 @@ self.addEventListener("message", async (e) => { files.set(filename, file); const path = getPathForFile(file); const fileFeatures = workspace.fileFeatures({ - features: ["Debug", "Format", "Lint", "OrganizeImports"], + features: ["debug", "format", "lint", "organizeImports"], path, }); const syntaxTree = - fileFeatures.features_supported.get("Debug") === "Supported" + fileFeatures.featuresSupported.get("debug") === "supported" ? workspace.getSyntaxTree({ path, }) @@ -230,7 +230,7 @@ self.addEventListener("message", async (e) => { let controlFlowGraph = ""; try { controlFlowGraph = - fileFeatures.features_supported.get("Debug") === "Supported" + fileFeatures.featuresSupported.get("debug") === "supported" ? workspace.getControlFlowGraph({ path, cursor: cursorPosition, @@ -244,7 +244,7 @@ self.addEventListener("message", async (e) => { let formatterIr = ""; try { formatterIr = - fileFeatures.features_supported.get("Debug") === "Supported" + fileFeatures.featuresSupported.get("debug") === "supported" ? workspace.getFormatterIr({ path, }) @@ -255,27 +255,27 @@ self.addEventListener("message", async (e) => { } const importSorting = - fileFeatures.features_supported.get("OrganizeImports") === "Supported" + fileFeatures.featuresSupported.get("organizeImports") === "supported" ? workspace.organizeImports({ path, }) : { code: - fileFeatures.features_supported.get("OrganizeImports") ?? + fileFeatures.featuresSupported.get("organizeImports") ?? "Not supported", }; const categories: RuleCategories = []; if (configuration?.formatter?.enabled) { - categories.push("Syntax"); + categories.push("syntax"); } if (configuration?.linter?.enabled) { - categories.push("Lint"); + categories.push("lint"); } const diagnosticsResult = workspace.pullDiagnostics({ path, categories: categories, - max_diagnostics: Number.MAX_SAFE_INTEGER, + maxDiagnostics: Number.MAX_SAFE_INTEGER, only: [], skip: [], }); @@ -290,7 +290,7 @@ self.addEventListener("message", async (e) => { }; try { printed = - fileFeatures.features_supported.get("Format") === "Supported" + fileFeatures.featuresSupported.get("format") === "supported" ? workspace.formatFile({ path, }) From 67b146ef38090ead802cca1840fc9be527ece727 Mon Sep 17 00:00:00 2001 From: Emanuele Stoppa Date: Fri, 20 Dec 2024 15:36:01 +0000 Subject: [PATCH 2/3] feat: assist documentation (#1387) --- .npmrc | 3 - astro.config.ts | 146 ++-- codegen/src/lintdoc.rs | 727 +++++++++++++----- codegen/src/rules_sources.rs | 13 +- package.json | 6 +- pnpm-lock.yaml | 320 ++++---- src/components/generated/assist/Groups.astro | 2 + .../generated/assist/NumberOfRules.astro | 2 + .../generated/assist/RecommendedRules.astro | 4 + src/components/generated/linter/Groups.astro | 9 + .../generated/linter/NumberOfRules.astro | 2 + .../generated/linter/RecommendedRules.astro | 191 +++++ src/content/docs/assist/actions/index.mdx | 35 + .../assist/actions/use-sorted-attributes.mdx | 50 ++ .../docs/assist/actions/use-sorted-keys.mdx | 38 + src/content/docs/assist/index.mdx | 40 + src/content/docs/assist/rules-sources.mdx | 19 + src/content/docs/index.mdx | 2 +- src/content/docs/ja/linter/index.mdx | 4 +- .../docs/ja/reference/configuration.mdx | 32 +- src/content/docs/linter/index.mdx | 51 +- src/content/docs/linter/rules/index.mdx | 6 +- .../docs/linter/rules/no-access-key.mdx | 4 +- .../linter/rules/no-accumulating-spread.mdx | 4 +- .../no-approximative-numeric-constant.mdx | 4 +- .../docs/linter/rules/no-arguments.mdx | 4 +- .../rules/no-aria-hidden-on-focusable.mdx | 4 +- .../rules/no-aria-unsupported-elements.mdx | 4 +- .../docs/linter/rules/no-array-index-key.mdx | 4 +- .../linter/rules/no-assign-in-expressions.mdx | 4 +- .../rules/no-async-promise-executor.mdx | 4 +- .../docs/linter/rules/no-autofocus.mdx | 4 +- .../docs/linter/rules/no-banned-types.mdx | 4 +- .../docs/linter/rules/no-barrel-file.mdx | 2 +- .../docs/linter/rules/no-blank-target.mdx | 4 +- .../docs/linter/rules/no-catch-assign.mdx | 4 +- .../docs/linter/rules/no-children-prop.mdx | 4 +- .../docs/linter/rules/no-class-assign.mdx | 4 +- .../docs/linter/rules/no-comma-operator.mdx | 4 +- .../docs/linter/rules/no-comment-text.mdx | 4 +- .../docs/linter/rules/no-common-js.mdx | 2 +- .../docs/linter/rules/no-compare-neg-zero.mdx | 4 +- .../docs/linter/rules/no-confusing-labels.mdx | 4 +- .../linter/rules/no-confusing-void-type.mdx | 4 +- .../docs/linter/rules/no-console-log.mdx | 2 +- src/content/docs/linter/rules/no-console.mdx | 2 +- .../docs/linter/rules/no-const-assign.mdx | 4 +- .../docs/linter/rules/no-const-enum.mdx | 4 +- .../linter/rules/no-constant-condition.mdx | 4 +- .../rules/no-constant-math-min-max-clamp.mdx | 2 +- .../linter/rules/no-constructor-return.mdx | 4 +- .../rules/no-control-characters-in-regex.mdx | 4 +- ...ngerously-set-inner-html-with-children.mdx | 4 +- .../rules/no-dangerously-set-inner-html.mdx | 4 +- src/content/docs/linter/rules/no-debugger.mdx | 4 +- .../docs/linter/rules/no-default-export.mdx | 2 +- src/content/docs/linter/rules/no-delete.mdx | 4 +- .../rules/no-descending-specificity.mdx | 2 +- .../linter/rules/no-distracting-elements.mdx | 4 +- .../docs/linter/rules/no-document-cookie.mdx | 2 +- .../rules/no-document-import-in-page.mdx | 2 +- .../docs/linter/rules/no-done-callback.mdx | 2 +- .../docs/linter/rules/no-double-equals.mdx | 4 +- .../rules/no-duplicate-at-import-rules.mdx | 4 +- .../docs/linter/rules/no-duplicate-case.mdx | 4 +- .../rules/no-duplicate-class-members.mdx | 4 +- .../rules/no-duplicate-custom-properties.mdx | 2 +- .../linter/rules/no-duplicate-else-if.mdx | 2 +- .../linter/rules/no-duplicate-font-names.mdx | 4 +- .../linter/rules/no-duplicate-jsx-props.mdx | 4 +- .../linter/rules/no-duplicate-object-keys.mdx | 7 +- .../linter/rules/no-duplicate-parameters.mdx | 4 +- .../linter/rules/no-duplicate-properties.mdx | 2 +- .../no-duplicate-selectors-keyframe-block.mdx | 4 +- .../linter/rules/no-duplicate-test-hooks.mdx | 4 +- .../linter/rules/no-duplicated-fields.mdx | 4 +- .../no-dynamic-namespace-import-access.mdx | 2 +- .../rules/no-empty-block-statements.mdx | 2 +- .../docs/linter/rules/no-empty-block.mdx | 4 +- .../no-empty-character-class-in-regex.mdx | 4 +- .../docs/linter/rules/no-empty-interface.mdx | 4 +- .../docs/linter/rules/no-empty-pattern.mdx | 4 +- .../linter/rules/no-empty-type-parameters.mdx | 4 +- src/content/docs/linter/rules/no-enum.mdx | 2 +- .../docs/linter/rules/no-evolving-types.mdx | 2 +- .../no-excessive-cognitive-complexity.mdx | 2 +- .../rules/no-excessive-nested-test-suites.mdx | 4 +- .../docs/linter/rules/no-explicit-any.mdx | 4 +- .../docs/linter/rules/no-exported-imports.mdx | 2 +- .../docs/linter/rules/no-exports-in-test.mdx | 4 +- .../linter/rules/no-extra-boolean-cast.mdx | 4 +- .../rules/no-extra-non-null-assertion.mdx | 4 +- .../rules/no-fallthrough-switch-clause.mdx | 4 +- .../linter/rules/no-flat-map-identity.mdx | 4 +- .../docs/linter/rules/no-focused-tests.mdx | 4 +- src/content/docs/linter/rules/no-for-each.mdx | 4 +- .../docs/linter/rules/no-function-assign.mdx | 4 +- .../docs/linter/rules/no-global-assign.mdx | 4 +- .../rules/no-global-dirname-filename.mdx | 2 +- .../docs/linter/rules/no-global-eval.mdx | 4 +- .../docs/linter/rules/no-global-is-finite.mdx | 4 +- .../docs/linter/rules/no-global-is-nan.mdx | 4 +- .../linter/rules/no-global-object-calls.mdx | 4 +- .../docs/linter/rules/no-head-element.mdx | 2 +- .../rules/no-head-import-in-document.mdx | 2 +- .../docs/linter/rules/no-header-scope.mdx | 4 +- .../docs/linter/rules/no-img-element.mdx | 2 +- .../docs/linter/rules/no-implicit-any-let.mdx | 4 +- .../docs/linter/rules/no-implicit-boolean.mdx | 2 +- .../docs/linter/rules/no-import-assign.mdx | 4 +- .../linter/rules/no-important-in-keyframe.mdx | 4 +- .../docs/linter/rules/no-inferrable-types.mdx | 4 +- .../linter/rules/no-inner-declarations.mdx | 4 +- ...ractive-element-to-noninteractive-role.mdx | 4 +- .../no-invalid-builtin-instantiation.mdx | 4 +- .../rules/no-invalid-constructor-super.mdx | 4 +- ...o-invalid-direction-in-linear-gradient.mdx | 4 +- .../linter/rules/no-invalid-grid-areas.mdx | 4 +- .../linter/rules/no-invalid-new-builtin.mdx | 2 +- .../no-invalid-position-at-import-rule.mdx | 4 +- .../no-invalid-use-before-declaration.mdx | 4 +- .../linter/rules/no-irregular-whitespace.mdx | 3 +- .../docs/linter/rules/no-label-var.mdx | 4 +- .../linter/rules/no-label-without-control.mdx | 4 +- .../rules/no-misleading-character-class.mdx | 4 +- .../rules/no-misleading-instantiator.mdx | 4 +- .../linter/rules/no-misplaced-assertion.mdx | 2 +- .../no-misrefactored-shorthand-assign.mdx | 4 +- .../linter/rules/no-missing-var-function.mdx | 2 +- ...-spaces-in-regular-expression-literals.mdx | 4 +- .../docs/linter/rules/no-namespace-import.mdx | 2 +- .../docs/linter/rules/no-namespace.mdx | 2 +- .../docs/linter/rules/no-negation-else.mdx | 2 +- .../docs/linter/rules/no-nested-ternary.mdx | 2 +- .../docs/linter/rules/no-new-symbol.mdx | 2 +- .../docs/linter/rules/no-nodejs-modules.mdx | 2 +- .../linter/rules/no-non-null-assertion.mdx | 4 +- ...nteractive-element-to-interactive-role.mdx | 4 +- .../rules/no-noninteractive-tabindex.mdx | 4 +- .../rules/no-nonoctal-decimal-escape.mdx | 4 +- .../docs/linter/rules/no-octal-escape.mdx | 2 +- .../docs/linter/rules/no-parameter-assign.mdx | 4 +- .../linter/rules/no-parameter-properties.mdx | 2 +- .../linter/rules/no-positive-tabindex.mdx | 4 +- .../docs/linter/rules/no-precision-loss.mdx | 4 +- .../docs/linter/rules/no-process-env.mdx | 2 +- .../linter/rules/no-prototype-builtins.mdx | 4 +- .../docs/linter/rules/no-re-export-all.mdx | 2 +- .../linter/rules/no-react-specific-props.mdx | 2 +- .../docs/linter/rules/no-redeclare.mdx | 4 +- .../docs/linter/rules/no-redundant-alt.mdx | 4 +- .../docs/linter/rules/no-redundant-roles.mdx | 4 +- .../linter/rules/no-redundant-use-strict.mdx | 4 +- .../linter/rules/no-render-return-value.mdx | 4 +- .../linter/rules/no-restricted-globals.mdx | 2 +- .../linter/rules/no-restricted-imports.mdx | 2 +- .../docs/linter/rules/no-restricted-types.mdx | 2 +- src/content/docs/linter/rules/no-secrets.mdx | 2 +- .../docs/linter/rules/no-self-assign.mdx | 4 +- .../docs/linter/rules/no-self-compare.mdx | 4 +- .../docs/linter/rules/no-setter-return.mdx | 4 +- .../rules/no-shadow-restricted-names.mdx | 4 +- .../rules/no-shorthand-property-overrides.mdx | 4 +- .../docs/linter/rules/no-shouty-constants.mdx | 2 +- .../docs/linter/rules/no-skipped-tests.mdx | 2 +- .../docs/linter/rules/no-sparse-array.mdx | 4 +- .../rules/no-static-element-interactions.mdx | 2 +- .../linter/rules/no-static-only-class.mdx | 4 +- .../linter/rules/no-string-case-mismatch.mdx | 4 +- src/content/docs/linter/rules/no-substr.mdx | 2 +- .../rules/no-suspicious-semicolon-in-jsx.mdx | 4 +- .../linter/rules/no-svg-without-title.mdx | 4 +- .../linter/rules/no-switch-declarations.mdx | 4 +- .../rules/no-template-curly-in-string.mdx | 2 +- .../docs/linter/rules/no-then-property.mdx | 4 +- .../docs/linter/rules/no-this-in-static.mdx | 4 +- .../rules/no-undeclared-dependencies.mdx | 2 +- .../linter/rules/no-undeclared-variables.mdx | 2 +- .../docs/linter/rules/no-unknown-at-rule.mdx | 2 +- .../docs/linter/rules/no-unknown-function.mdx | 4 +- .../rules/no-unknown-media-feature-name.mdx | 4 +- .../docs/linter/rules/no-unknown-property.mdx | 4 +- .../linter/rules/no-unknown-pseudo-class.mdx | 2 +- .../rules/no-unknown-pseudo-element.mdx | 2 +- .../linter/rules/no-unknown-type-selector.mdx | 2 +- .../docs/linter/rules/no-unknown-unit.mdx | 4 +- .../rules/no-unmatchable-anb-selector.mdx | 4 +- .../linter/rules/no-unnecessary-continue.mdx | 4 +- .../linter/rules/no-unreachable-super.mdx | 4 +- .../docs/linter/rules/no-unreachable.mdx | 4 +- .../rules/no-unsafe-declaration-merging.mdx | 4 +- .../docs/linter/rules/no-unsafe-finally.mdx | 4 +- .../docs/linter/rules/no-unsafe-negation.mdx | 4 +- .../rules/no-unsafe-optional-chaining.mdx | 4 +- .../rules/no-unused-function-parameters.mdx | 2 +- .../docs/linter/rules/no-unused-imports.mdx | 2 +- .../docs/linter/rules/no-unused-labels.mdx | 4 +- .../rules/no-unused-private-class-members.mdx | 2 +- .../rules/no-unused-template-literal.mdx | 4 +- .../docs/linter/rules/no-unused-variables.mdx | 2 +- .../docs/linter/rules/no-useless-catch.mdx | 4 +- .../linter/rules/no-useless-constructor.mdx | 4 +- .../docs/linter/rules/no-useless-else.mdx | 4 +- .../linter/rules/no-useless-empty-export.mdx | 4 +- .../rules/no-useless-escape-in-regex.mdx | 2 +- .../linter/rules/no-useless-fragments.mdx | 4 +- .../docs/linter/rules/no-useless-label.mdx | 4 +- .../no-useless-lone-block-statements.mdx | 4 +- .../docs/linter/rules/no-useless-rename.mdx | 4 +- .../linter/rules/no-useless-string-concat.mdx | 2 +- .../linter/rules/no-useless-string-raw.mdx | 2 +- .../linter/rules/no-useless-switch-case.mdx | 4 +- .../docs/linter/rules/no-useless-ternary.mdx | 4 +- .../linter/rules/no-useless-this-alias.mdx | 4 +- .../rules/no-useless-type-constraint.mdx | 4 +- .../no-useless-undefined-initialization.mdx | 2 +- .../linter/rules/no-useless-undefined.mdx | 2 +- .../docs/linter/rules/no-value-at-rule.mdx | 2 +- src/content/docs/linter/rules/no-var.mdx | 4 +- .../rules/no-void-elements-with-children.mdx | 4 +- .../docs/linter/rules/no-void-type-return.mdx | 4 +- src/content/docs/linter/rules/no-void.mdx | 2 +- src/content/docs/linter/rules/no-with.mdx | 4 +- .../docs/linter/rules/no-yoda-expression.mdx | 2 +- .../use-adjacent-overload-signatures.mdx | 2 +- .../docs/linter/rules/use-alt-text.mdx | 4 +- .../docs/linter/rules/use-anchor-content.mdx | 4 +- ...se-aria-activedescendant-with-tabindex.mdx | 4 +- .../linter/rules/use-aria-props-for-role.mdx | 4 +- .../use-aria-props-supported-by-role.mdx | 2 +- .../docs/linter/rules/use-array-literals.mdx | 2 +- .../docs/linter/rules/use-arrow-function.mdx | 4 +- .../linter/rules/use-as-const-assertion.mdx | 4 +- .../docs/linter/rules/use-at-index.mdx | 2 +- src/content/docs/linter/rules/use-await.mdx | 2 +- .../linter/rules/use-block-statements.mdx | 2 +- .../docs/linter/rules/use-button-type.mdx | 4 +- .../linter/rules/use-collapsed-else-if.mdx | 2 +- .../docs/linter/rules/use-collapsed-if.mdx | 2 +- .../use-component-export-only-modules.mdx | 2 +- .../rules/use-consistent-array-type.mdx | 2 +- .../use-consistent-builtin-instantiation.mdx | 2 +- .../rules/use-consistent-curly-braces.mdx | 2 +- .../use-consistent-member-accessibility.mdx | 2 +- src/content/docs/linter/rules/use-const.mdx | 4 +- .../docs/linter/rules/use-date-now.mdx | 2 +- .../rules/use-default-parameter-last.mdx | 4 +- .../rules/use-default-switch-clause-last.mdx | 4 +- .../rules/use-default-switch-clause.mdx | 2 +- .../linter/rules/use-deprecated-reason.mdx | 4 +- .../linter/rules/use-enum-initializers.mdx | 4 +- .../docs/linter/rules/use-error-message.mdx | 2 +- .../rules/use-exhaustive-dependencies.mdx | 4 +- .../rules/use-explicit-length-check.mdx | 2 +- .../docs/linter/rules/use-explicit-type.mdx | 2 +- .../rules/use-exponentiation-operator.mdx | 4 +- .../docs/linter/rules/use-export-type.mdx | 4 +- .../docs/linter/rules/use-exports-last.mdx | 2 +- .../rules/use-filenaming-convention.mdx | 2 +- .../docs/linter/rules/use-flat-map.mdx | 4 +- .../rules/use-focusable-interactive.mdx | 4 +- src/content/docs/linter/rules/use-for-of.mdx | 2 +- .../docs/linter/rules/use-fragment-syntax.mdx | 2 +- .../linter/rules/use-generic-font-names.mdx | 4 +- .../docs/linter/rules/use-getter-return.mdx | 4 +- .../linter/rules/use-google-font-display.mdx | 2 +- .../rules/use-google-font-preconnect.mdx | 2 +- .../docs/linter/rules/use-guard-for-in.mdx | 2 +- .../docs/linter/rules/use-heading-content.mdx | 4 +- .../linter/rules/use-hook-at-top-level.mdx | 2 +- .../docs/linter/rules/use-html-lang.mdx | 4 +- .../docs/linter/rules/use-iframe-title.mdx | 4 +- .../linter/rules/use-import-extensions.mdx | 2 +- .../linter/rules/use-import-restrictions.mdx | 2 +- .../docs/linter/rules/use-import-type.mdx | 4 +- .../docs/linter/rules/use-is-array.mdx | 4 +- src/content/docs/linter/rules/use-is-nan.mdx | 4 +- .../linter/rules/use-jsx-key-in-iterable.mdx | 4 +- .../rules/use-key-with-click-events.mdx | 4 +- .../rules/use-key-with-mouse-events.mdx | 4 +- .../linter/rules/use-literal-enum-members.mdx | 4 +- .../docs/linter/rules/use-literal-keys.mdx | 4 +- .../docs/linter/rules/use-media-caption.mdx | 4 +- .../docs/linter/rules/use-named-operation.mdx | 4 +- .../linter/rules/use-namespace-keyword.mdx | 4 +- .../linter/rules/use-naming-convention.mdx | 2 +- .../linter/rules/use-node-assert-strict.mdx | 2 +- .../rules/use-nodejs-import-protocol.mdx | 4 +- .../linter/rules/use-number-namespace.mdx | 4 +- .../use-number-to-fixed-digits-argument.mdx | 2 +- .../linter/rules/use-numeric-literals.mdx | 4 +- .../docs/linter/rules/use-optional-chain.mdx | 4 +- .../docs/linter/rules/use-regex-literals.mdx | 4 +- .../rules/use-self-closing-elements.mdx | 4 +- .../linter/rules/use-semantic-elements.mdx | 4 +- .../linter/rules/use-shorthand-array-type.mdx | 2 +- .../linter/rules/use-shorthand-assign.mdx | 2 +- .../rules/use-shorthand-function-type.mdx | 4 +- .../linter/rules/use-simple-number-keys.mdx | 4 +- .../rules/use-simplified-logic-expression.mdx | 2 +- .../rules/use-single-case-statement.mdx | 2 +- .../rules/use-single-var-declarator.mdx | 4 +- .../docs/linter/rules/use-sorted-classes.mdx | 2 +- .../docs/linter/rules/use-strict-mode.mdx | 2 +- .../docs/linter/rules/use-template.mdx | 4 +- .../docs/linter/rules/use-throw-new-error.mdx | 2 +- .../linter/rules/use-throw-only-error.mdx | 2 +- .../docs/linter/rules/use-top-level-regex.mdx | 2 +- .../docs/linter/rules/use-trim-start-end.mdx | 2 +- .../docs/linter/rules/use-valid-anchor.mdx | 4 +- .../linter/rules/use-valid-aria-props.mdx | 4 +- .../docs/linter/rules/use-valid-aria-role.mdx | 4 +- .../linter/rules/use-valid-aria-values.mdx | 4 +- .../linter/rules/use-valid-autocomplete.mdx | 2 +- .../linter/rules/use-valid-for-direction.mdx | 4 +- .../docs/linter/rules/use-valid-lang.mdx | 4 +- .../docs/linter/rules/use-valid-typeof.mdx | 4 +- src/content/docs/linter/rules/use-while.mdx | 4 +- src/content/docs/linter/rules/use-yield.mdx | 4 +- src/content/docs/pt-br/linter/index.mdx | 4 +- src/content/docs/reference/configuration.mdx | 38 +- src/content/docs/zh-cn/linter/index.mdx | 4 +- .../docs/zh-cn/reference/configuration.mdx | 2 +- 323 files changed, 1761 insertions(+), 965 deletions(-) delete mode 100644 .npmrc create mode 100644 src/components/generated/assist/Groups.astro create mode 100644 src/components/generated/assist/NumberOfRules.astro create mode 100644 src/components/generated/assist/RecommendedRules.astro create mode 100644 src/components/generated/linter/Groups.astro create mode 100644 src/components/generated/linter/NumberOfRules.astro create mode 100644 src/components/generated/linter/RecommendedRules.astro create mode 100644 src/content/docs/assist/actions/index.mdx create mode 100644 src/content/docs/assist/actions/use-sorted-attributes.mdx create mode 100644 src/content/docs/assist/actions/use-sorted-keys.mdx create mode 100644 src/content/docs/assist/index.mdx create mode 100644 src/content/docs/assist/rules-sources.mdx diff --git a/.npmrc b/.npmrc deleted file mode 100644 index 2a8653fe4..000000000 --- a/.npmrc +++ /dev/null @@ -1,3 +0,0 @@ -# Hoist the shiki package so we can import language grammars from it. -# We use this approach to add syntax highlighting support for the cjs code block. -shamefully-hoist=true diff --git a/astro.config.ts b/astro.config.ts index e3d7aac10..a37956e90 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -4,8 +4,12 @@ import starlight from "@astrojs/starlight"; import { defineConfig } from "astro/config"; import rehypeSlug from "rehype-slug"; import { searchForWorkspaceRoot } from "vite"; -import { version as biomeVersion } from "./node_modules/@biomejs/wasm-web/package.json"; -import { version as prettierVersion } from "./node_modules/prettier/package.json"; +import { version as biomeVersion } from "./node_modules/@biomejs/wasm-web/package.json" with { + type: "json", +}; +import { version as prettierVersion } from "./node_modules/prettier/package.json" with { + type: "json", +}; import { rehypeAutolink } from "./plugins/rehype-autolink"; const site = "https://biomejs.dev"; @@ -135,75 +139,15 @@ export default defineConfig({ ], }, { - label: "Tools", - translations: { - ja: "ツール", - "zh-CN": "工具", - "pt-BR": "Ferramentas", - }, + label: "Analyzer", items: [ { - label: "Analyzer", - items: [ - { - label: "Introduction", - link: "/analyzer", - translations: { - ja: "イントロダクション", - "zh-CN": "介绍", - "pt-BR": "Introdução", - }, - }, - { - label: "Import Sorting", - link: "/analyzer/import-sorting", - translations: { - ja: "Import文のソート", - "zh-CN": "导入排序", - "pt-BR": "Ordenação de importações", - }, - }, - ], - translations: { - ja: "Analyzer", - "zh-CN": "分析器", - "pt-BR": "Analisador", - }, - }, - { - label: "Formatter", - items: [ - { - label: "Introduction", - link: "/formatter", - translations: { - ja: "イントロダクション", - "zh-CN": "介绍", - "pt-BR": "Introdução", - }, - }, - { - label: "Differences with Prettier", - link: "/formatter/differences-with-prettier", - translations: { - ja: "Prettier との違い", - "zh-CN": "与 Prettier 的区别", - "pt-BR": "Diferenças em relação ao Prettier", - }, - }, - { - label: "Formatter Option Philosophy", - link: "/formatter/option-philosophy", - translations: { - ja: "Formatterオプションに対する考え方", - "zh-CN": "格式化配置理念", - "pt-BR": "Princípios de configuração", - }, - }, - ], + label: "Introduction", + link: "/analyzer", translations: { - "zh-CN": "格式化程序", - "pt-BR": "Formatador", + ja: "イントロダクション", + "zh-CN": "介绍", + "pt-BR": "Introdução", }, }, { @@ -233,7 +177,71 @@ export default defineConfig({ }, ], }, + { + label: "Assist", + badge: "new", + items: [ + { + label: "Introduction", + link: "/assist", + }, + { + label: "Actions", + link: "/assist/actions", + }, + ], + }, + { + label: "Import Sorting", + link: "/analyzer/import-sorting", + translations: { + ja: "Import文のソート", + "zh-CN": "导入排序", + "pt-BR": "Ordenação de importações", + }, + }, ], + translations: { + ja: "Analyzer", + "zh-CN": "分析器", + "pt-BR": "Analisador", + }, + }, + { + label: "Formatter", + items: [ + { + label: "Introduction", + link: "/formatter", + translations: { + ja: "イントロダクション", + "zh-CN": "介绍", + "pt-BR": "Introdução", + }, + }, + { + label: "Differences with Prettier", + link: "/formatter/differences-with-prettier", + translations: { + ja: "Prettier との違い", + "zh-CN": "与 Prettier 的区别", + "pt-BR": "Diferenças em relação ao Prettier", + }, + }, + { + label: "Formatter Option Philosophy", + link: "/formatter/option-philosophy", + translations: { + ja: "Formatterオプションに対する考え方", + "zh-CN": "格式化配置理念", + "pt-BR": "Princípios de configuração", + }, + }, + ], + translations: { + "zh-CN": "格式化程序", + "pt-BR": "Formatador", + }, }, { label: "Reference", @@ -250,7 +258,6 @@ export default defineConfig({ { label: "Diagnostics", link: "/reference/diagnostics", - badge: "new", }, { label: "Environment variables", @@ -281,7 +288,6 @@ export default defineConfig({ { label: "Zed extension", link: "/reference/zed", - badge: "new", translations: { ja: "Zed拡張機能", "zh-CN": "Zed 扩展", diff --git a/codegen/src/lintdoc.rs b/codegen/src/lintdoc.rs index 8411de51a..31e8811c5 100644 --- a/codegen/src/lintdoc.rs +++ b/codegen/src/lintdoc.rs @@ -5,8 +5,9 @@ use anyhow::Context; use anyhow::{bail, Result}; use biome_analyze::options::JsxRuntime; use biome_analyze::{ - AnalysisFilter, AnalyzerOptions, ControlFlow, FixKind, GroupCategory, Queryable, - RegistryVisitor, Rule, RuleCategory, RuleFilter, RuleGroup, RuleMetadata, RuleSourceKind, + AnalysisFilter, AnalyzerAction, AnalyzerOptions, ControlFlow, FixKind, GroupCategory, + Queryable, RegistryVisitor, Rule, RuleCategory, RuleFilter, RuleGroup, RuleMetadata, + RuleSourceKind, }; use biome_configuration::PartialConfiguration; use biome_console::fmt::Termcolor; @@ -18,7 +19,7 @@ use biome_css_parser::CssParserOptions; use biome_css_syntax::CssLanguage; use biome_deserialize::json::deserialize_from_json_ast; use biome_diagnostics::termcolor::NoColor; -use biome_diagnostics::{Diagnostic, DiagnosticExt, PrintDiagnostic}; +use biome_diagnostics::{Diagnostic, DiagnosticExt, PrintDiagnostic, Severity, Visit}; use biome_fs::BiomePath; use biome_graphql_syntax::GraphqlLanguage; use biome_js_parser::JsParserOptions; @@ -30,6 +31,7 @@ use biome_rowan::{AstNode, TextSize}; use biome_service::settings::{ServiceLanguage, WorkspaceSettings}; use biome_service::workspace::DocumentFileSource; use biome_string_case::Case; +use biome_text_edit::TextEdit; use pulldown_cmark::{CodeBlockKind, Event, LinkType, Parser, Tag, TagEnd}; use std::collections::{BTreeSet, HashMap}; use std::error::Error; @@ -50,7 +52,14 @@ pub(crate) struct RuleToDocument { } #[derive(Default)] -struct LintRulesVisitor { +struct RulesVisitor { + lints: Rules, + actions: Rules, +} + +#[derive(Default)] + +struct Rules { /// This is mapped to: /// - group (correctness) -> list of rules /// - list or rules is mapped to @@ -61,34 +70,58 @@ struct LintRulesVisitor { groups: BTreeMap<&'static str, BTreeMap<&'static str, RuleToDocument>>, number_of_rules: u16, } - -impl LintRulesVisitor { +impl RulesVisitor { fn push_rule(&mut self) where R: Rule> + 'static, { - self.number_of_rules += 1; - let group = self - .groups - .entry(::NAME) - .or_default(); - if let Some(rules_to_document) = group.get_mut(R::METADATA.name) { - rules_to_document - .language_to_metadata - .insert(R::METADATA.language, R::METADATA); + if ::Category::CATEGORY == RuleCategory::Lint { + let lints = &mut self.lints; + lints.number_of_rules += 1; + let group = lints + .groups + .entry(::NAME) + .or_default(); + if let Some(rules_to_document) = group.get_mut(R::METADATA.name) { + rules_to_document + .language_to_metadata + .insert(R::METADATA.language, R::METADATA); + } else { + let mut rule_to_document = RuleToDocument::default(); + rule_to_document + .language_to_metadata + .insert(R::METADATA.language, R::METADATA); + group.insert(R::METADATA.name, rule_to_document); + }; } else { - let mut rule_to_document = RuleToDocument::default(); - rule_to_document - .language_to_metadata - .insert(R::METADATA.language, R::METADATA); - group.insert(R::METADATA.name, rule_to_document); - }; + // For now, we exclude it from the docs + if R::METADATA.name == "organizeImports" { + return; + } + let actions = &mut self.actions; + actions.number_of_rules += 1; + let group = actions + .groups + .entry(::NAME) + .or_default(); + if let Some(rules_to_document) = group.get_mut(R::METADATA.name) { + rules_to_document + .language_to_metadata + .insert(R::METADATA.language, R::METADATA); + } else { + let mut rule_to_document = RuleToDocument::default(); + rule_to_document + .language_to_metadata + .insert(R::METADATA.language, R::METADATA); + group.insert(R::METADATA.name, rule_to_document); + }; + } } } -impl RegistryVisitor for LintRulesVisitor { +impl RegistryVisitor for RulesVisitor { fn record_category>(&mut self) { - if matches!(C::CATEGORY, RuleCategory::Lint) { + if matches!(C::CATEGORY, RuleCategory::Lint | RuleCategory::Action) { C::record_groups(self); } } @@ -101,9 +134,9 @@ impl RegistryVisitor for LintRulesVisitor { } } -impl RegistryVisitor for LintRulesVisitor { +impl RegistryVisitor for RulesVisitor { fn record_category>(&mut self) { - if matches!(C::CATEGORY, RuleCategory::Lint) { + if matches!(C::CATEGORY, RuleCategory::Lint | RuleCategory::Action) { C::record_groups(self); } } @@ -116,9 +149,9 @@ impl RegistryVisitor for LintRulesVisitor { } } -impl RegistryVisitor for LintRulesVisitor { +impl RegistryVisitor for RulesVisitor { fn record_category>(&mut self) { - if matches!(C::CATEGORY, RuleCategory::Lint) { + if matches!(C::CATEGORY, RuleCategory::Lint | RuleCategory::Action) { C::record_groups(self); } } @@ -130,9 +163,9 @@ impl RegistryVisitor for LintRulesVisitor { self.push_rule::::Language>() } } -impl RegistryVisitor for LintRulesVisitor { +impl RegistryVisitor for RulesVisitor { fn record_category>(&mut self) { - if matches!(C::CATEGORY, RuleCategory::Lint) { + if matches!(C::CATEGORY, RuleCategory::Lint | RuleCategory::Action) { C::record_groups(self); } } @@ -146,15 +179,54 @@ impl RegistryVisitor for LintRulesVisitor { } pub fn generate_rule_docs() -> Result<()> { - let root = project_root().join("src/content/docs/linter/rules"); + let mut visitor = RulesVisitor::default(); + biome_js_analyze::visit_registry(&mut visitor); + biome_json_analyze::visit_registry(&mut visitor); + biome_css_analyze::visit_registry(&mut visitor); + biome_graphql_analyze::visit_registry(&mut visitor); + + let RulesVisitor { actions, lints } = visitor; + + generate_and_write_rule_pages(RuleCategory::Lint, lints)?; + generate_and_write_rule_pages(RuleCategory::Action, actions)?; + + Ok(()) +} + +fn generate_and_write_rule_pages(rule_category: RuleCategory, rules: Rules) -> Result<()> { + let root = match rule_category { + RuleCategory::Lint => project_root().join("src/content/docs/linter/rules"), + RuleCategory::Action => project_root().join("src/content/docs/assist/actions"), + _ => unimplemented!(""), + }; let index_page = root.join("index.mdx"); - let reference_groups = project_root().join("src/components/generated/Groups.astro"); - let rules_sources = project_root().join("src/content/docs/linter/rules-sources.mdx"); - let reference_number_of_rules = - project_root().join("src/components/generated/NumberOfRules.astro"); - let reference_recommended_rules = - project_root().join("src/components/generated/RecommendedRules.astro"); - // Clear the rules directory ignoring "not found" errors + let reference_groups = match rule_category { + RuleCategory::Lint => project_root().join("src/components/generated/Groups.astro"), + RuleCategory::Action => project_root().join("src/components/generated/assist/Groups.astro"), + _ => unimplemented!(""), + }; + let rules_sources = match rule_category { + RuleCategory::Lint => project_root().join("src/content/docs/linter/rules-sources.mdx"), + RuleCategory::Action => project_root().join("src/content/docs/assist/actions-sources.mdx"), + _ => unimplemented!(""), + }; + let reference_number_of_rules = match rule_category { + RuleCategory::Lint => project_root().join("src/components/generated/NumberOfRules.astro"), + RuleCategory::Action => { + project_root().join("src/components/generated/assist/NumberOfRules.astro") + } + _ => unimplemented!(""), + }; + + let reference_recommended_rules = match rule_category { + RuleCategory::Lint => { + project_root().join("src/components/generated/RecommendedRules.astro") + } + RuleCategory::Action => { + project_root().join("src/components/generated/assist/RecommendedRules.astro") + } + _ => unimplemented!(""), + }; if root.exists() { if let Err(err) = fs::remove_dir_all(&root) { @@ -170,20 +242,48 @@ pub fn generate_rule_docs() -> Result<()> { } fs::create_dir_all(&root)?; + let mut recommended_rules = String::new(); + + let Rules { + groups, + number_of_rules, + } = rules; + + let title = match rule_category { + RuleCategory::Lint => "Rules", + RuleCategory::Action => "Actions", + _ => unimplemented!(""), + }; + + let description = match rule_category { + RuleCategory::Lint => "List of available lint rules", + RuleCategory::Action => "List of available lint actions", + _ => unimplemented!(""), + }; + + let path_prefix = match rule_category { + RuleCategory::Lint => "linter", + RuleCategory::Action => "assist", + _ => unimplemented!(""), + }; + + // Accumulate errors for all lint rules to print all outstanding issues on + // failure instead of just the first one + let mut errors = Vec::new(); // Content of the index page let mut index = Vec::new(); let mut reference_buffer = Vec::new(); writeln!(index, "---")?; add_codegen_disclaimer_frontmatter(&mut index)?; - writeln!(index, "title: Rules")?; - writeln!(index, "description: List of available lint rules.")?; + writeln!(index, "title: {title}")?; + writeln!(index, "description: {description}")?; writeln!(index, "---")?; writeln!(index)?; write!( index, r#" -import RecommendedRules from "@/components/generated/RecommendedRules.astro"; +import RecommendedRules from "@/components/generated/{path_prefix}/RecommendedRules.astro"; import {{ Icon }} from "@astrojs/starlight/components"; Below the list of rules supported by Biome, divided by group. Here's a legend of the emojis: @@ -198,34 +298,11 @@ Below the list of rules supported by Biome, divided by group. Here's a legend of "# )?; - // Accumulate errors for all lint rules to print all outstanding issues on - // failure instead of just the first one - let mut errors = Vec::new(); - - let mut visitor = LintRulesVisitor::default(); - biome_js_analyze::visit_registry(&mut visitor); - biome_json_analyze::visit_registry(&mut visitor); - biome_css_analyze::visit_registry(&mut visitor); - biome_graphql_analyze::visit_registry(&mut visitor); - - let mut recommended_rules = String::new(); - - let LintRulesVisitor { - groups, - number_of_rules, - } = visitor; - - assert!( - groups.contains_key("nursery"), - "Expected nursery group to exist" - ); - writeln!( reference_buffer, "" )?; - let rule_sources_buffer = generate_rule_sources(groups.clone())?; - for (group, rules) in groups { + for (group, rules) in &groups { generate_group( group, rules, @@ -233,6 +310,8 @@ Below the list of rules supported by Biome, divided by group. Here's a legend of &mut index, &mut errors, &mut recommended_rules, + path_prefix, + rule_category, )?; generate_reference(group, &mut reference_buffer)?; } @@ -270,22 +349,33 @@ The recommended rules are: fs::write(reference_groups, reference_buffer)?; fs::write(reference_number_of_rules, number_of_rules_buffer)?; fs::write(reference_recommended_rules, recommended_rules_buffer)?; - fs::write(rules_sources, rule_sources_buffer)?; + + if rule_category == RuleCategory::Lint { + let rule_sources_buffer = generate_rule_sources(groups.clone(), rule_category)?; + fs::write(rules_sources, rule_sources_buffer)?; + } Ok(()) } +#[allow(clippy::too_many_arguments)] fn generate_group( group: &'static str, - rules: BTreeMap<&'static str, RuleToDocument>, + rules: &BTreeMap<&'static str, RuleToDocument>, content_root: &Path, content: &mut dyn io::Write, errors: &mut Vec<(&'static str, anyhow::Error)>, recommended_rules: &mut String, + path_prefix: &str, + rule_category: RuleCategory, ) -> io::Result<()> { let (group_name, description) = extract_group_metadata(group); let is_nursery = group == "nursery"; - + let middle_path = match rule_category { + RuleCategory::Lint => "rules", + RuleCategory::Action => "actions", + _ => unimplemented!(""), + }; writeln!(content, "\n## {group_name}")?; writeln!(content)?; write_markup_to_string(content, description)?; @@ -294,13 +384,18 @@ fn generate_group( writeln!(content, "| --- | --- | --- |")?; for (rule_name, rule_to_document) in rules { - let summary = generate_rule(GenRule { - content_root, - group, - rule_name, - is_nursery, - rule_to_document: &rule_to_document, - }); + let summary = generate_rule( + GenRule { + content_root, + group, + rule_name, + is_nursery, + rule_to_document, + }, + path_prefix, + middle_path, + rule_category, + ); let summary = match summary { Ok(summary) => summary, @@ -317,9 +412,10 @@ fn generate_group( } let is_recommended = !is_nursery && meta.recommended; let dashed_rule = Case::Kebab.convert(rule_name); + if is_recommended { recommended_rules.push_str(&format!( - "\t
  • {rule_name}
  • \n" + "\t
  • {rule_name}
  • \n" )); } @@ -343,7 +439,7 @@ fn generate_group( let summary_html = events_to_text(summary.clone()); write!( content, - "| [{rule_name}](/linter/rules/{dashed_rule}) | {summary_html} | {properties} |" + "| [{rule_name}](/{path_prefix}/{middle_path}/{dashed_rule}) | {summary_html} | {properties} |" )?; writeln!(content)?; @@ -362,7 +458,12 @@ struct GenRule<'a> { } /// Generates the documentation page for a single lint rule -fn generate_rule(payload: GenRule) -> Result>> { +fn generate_rule( + payload: GenRule, + path_prefix: &str, + middle_path: &str, + rule_category: RuleCategory, +) -> Result>> { let mut summary = Vec::new(); let mut content = Vec::new(); @@ -374,14 +475,17 @@ fn generate_rule(payload: GenRule) -> Result>> { .language_to_metadata .iter() .filter_map(|(language, meta)| { - generate_rule_content( + generate_rule_content(RuleContent { language, - payload.group, - payload.rule_name, - payload.is_nursery, + group: payload.group, + rule_name: payload.rule_name, + is_nursery: payload.is_nursery, meta, - &mut summary, - ) + summary: &mut summary, + path_prefix, + middle_path, + rule_category, + }) .ok() }) .collect(); @@ -405,12 +509,6 @@ fn generate_rule(payload: GenRule) -> Result>> { writeln!(content)?; - writeln!( - content, - "**Diagnostic Category: `lint/{}/{}`**", - payload.group, payload.rule_name - )?; - writeln!(content, "")?; for (rule_content, language, icon) in result { @@ -430,14 +528,32 @@ fn generate_rule(payload: GenRule) -> Result>> { Ok(summary) } -fn generate_rule_content( +#[derive(Debug)] +struct RuleContent<'a> { language: &'static str, group: &'static str, rule_name: &'static str, is_nursery: bool, - meta: &RuleMetadata, - summary: &mut Vec>, -) -> Result<(Vec, String, String)> { + meta: &'a RuleMetadata, + summary: &'a mut Vec>, + path_prefix: &'a str, + middle_path: &'a str, + rule_category: RuleCategory, +} + +#[allow(clippy::too_many_arguments)] +fn generate_rule_content(rule_content: RuleContent) -> Result<(Vec, String, String)> { + let RuleContent { + language, + group, + rule_name, + is_nursery, + meta, + summary, + path_prefix, + middle_path, + rule_category, + } = rule_content; let is_recommended = !is_nursery && meta.recommended; let mut content = Vec::new(); @@ -448,30 +564,61 @@ fn generate_rule_content( } writeln!(content, "**Since**: `v{}`", meta.version)?; + let category = match rule_category { + RuleCategory::Lint => "lint", + RuleCategory::Action => "assist", + _ => unimplemented!(""), + }; - if is_recommended || !matches!(meta.fix_kind, FixKind::None) { - writeln!(content, ":::note")?; - if is_recommended { - writeln!(content, "- This rule is recommended by Biome. A diagnostic error will appear when linting your code.")?; - } - match meta.fix_kind { - FixKind::Safe => { - writeln!(content, "- This rule has a **safe** fix.")?; + match rule_category { + RuleCategory::Lint => { + if is_recommended || !matches!(meta.fix_kind, FixKind::None) { + writeln!(content, ":::note")?; + writeln!( + content, + "- Diagnostic Category: [`{category}/{}/{}`](/reference/diagnostics#diagnostic-category)", + group, rule_name + )?; + if is_recommended { + writeln!(content, "- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code.")?; + } + match meta.fix_kind { + FixKind::Safe => { + writeln!(content, "- This rule has a **safe** fix.")?; + } + FixKind::Unsafe => { + writeln!(content, "- This rule has an **unsafe** fix.")?; + } + FixKind::None => {} + } + writeln!(content, ":::")?; } - FixKind::Unsafe => { - writeln!(content, "- This rule has an **unsafe** fix.")?; + } + RuleCategory::Action => { + writeln!(content, ":::note")?; + writeln!( + content, + "- Diagnostic Category: [`{category}/{}/{}`](/reference/diagnostics#diagnostic-category)", + group, rule_name + )?; + if is_recommended { + writeln!(content, "- This action is **recommended**.")?; } - FixKind::None => {} + writeln!(content, "- Use the code `source.biome.{}` in your LSP-ready IDE to apply this action on save.", rule_name)?; + writeln!(content, ":::")?; + } + RuleCategory::Syntax | RuleCategory::Transformation => { + unimplemented!("Should be implemented") } - writeln!(content, ":::")?; - writeln!(content)?; } + writeln!(content)?; + if group == "nursery" { writeln!(content, ":::caution")?; writeln!( content, - "This rule is part of the [nursery](/linter/rules/#nursery) group." + "This rule is part of the [nursery](/{path_prefix}/{middle_path}/#nursery) group." )?; writeln!(content, ":::")?; writeln!(content)?; @@ -500,14 +647,19 @@ fn generate_rule_content( write_documentation(group, rule_name, meta.docs, &mut content, summary)?; - writeln!(content, "## Related links")?; - writeln!(content)?; - writeln!(content, "- [Disable a rule](/linter/#disable-a-lint-rule)")?; - writeln!( - content, - "- [Configure the rule fix](/linter#configure-the-rule-fix)" - )?; - writeln!(content, "- [Rule options](/linter/#rule-options)")?; + if rule_category == RuleCategory::Lint { + writeln!(content, "## Related links")?; + writeln!(content)?; + writeln!( + content, + "- [Disable a rule](/{path_prefix}/#disable-a-lint-rule)" + )?; + writeln!( + content, + "- [Configure the rule fix](/{path_prefix}#configure-the-rule-fix)" + )?; + writeln!(content, "- [Rule options](/{path_prefix}/#rule-options)")?; + } Ok(( content, @@ -770,17 +922,44 @@ fn write_documentation( content, "
    "
                             )?;
    +                    } else if test.expect_diff {
    +                        write!(
    +                            content,
    +                            "
    "
    +                        )?;
                         }
     
    +                    let mut buffer = HTML::new(&mut *content).with_mdx();
                         if test.options != OptionsParsingMode::NoOptions {
                             last_options = parse_rule_options(group, rule, &test, &block, content)
                                 .context("snapshot test failed")?;
                         } else {
    -                        print_diagnostics(group, rule, &test, &block, &last_options, content)
    +                        if test.expect_diagnostic {
    +                            print_diagnostics_or_actions(
    +                                group,
    +                                rule,
    +                                &test,
    +                                &block,
    +                                &last_options,
    +                                &mut buffer,
    +                                ToPrintKind::Diagnostics,
    +                            )
    +                            .context("snapshot test failed")?;
    +                        } else if test.expect_diff {
    +                            print_diagnostics_or_actions(
    +                                group,
    +                                rule,
    +                                &test,
    +                                &block,
    +                                &last_options,
    +                                &mut buffer,
    +                                ToPrintKind::Actions,
    +                            )
                                 .context("snapshot test failed")?;
    +                        }
                         }
     
    -                    if test.expect_diagnostic {
    +                    if test.expect_diagnostic || test.expect_diff {
                             writeln!(content, "
    ")?; writeln!(content)?; } @@ -962,6 +1141,9 @@ struct CodeBlockTest { /// True if this is an invalid example that should trigger a diagnostic. expect_diagnostic: bool, + /// Whether to expect a code diff + expect_diff: bool, + /// Whether to ignore this code block. ignore: bool, @@ -1014,6 +1196,7 @@ impl FromStr for CodeBlockTest { let mut test = CodeBlockTest { tag: String::new(), expect_diagnostic: false, + expect_diff: false, ignore: false, options: OptionsParsingMode::NoOptions, use_options: false, @@ -1025,6 +1208,7 @@ impl FromStr for CodeBlockTest { match token { // Other attributes "expect_diagnostic" => test.expect_diagnostic = true, + "expect_diff" => test.expect_diff = true, "ignore" => test.ignore = true, "options" => test.options = OptionsParsingMode::RuleOptionsOnly, "full_options" => test.options = OptionsParsingMode::FullConfiguration, @@ -1068,27 +1252,65 @@ where ) } +enum ToPrintKind { + Diagnostics, + Actions, +} + +fn write_diagnostic(buffer: &mut HTML<&mut Vec>, diag: biome_diagnostics::Error) -> Result<()> { + Formatter::new(buffer).write_markup(markup! { + {PrintDiagnostic::verbose(&diag)} + })?; + Ok(()) +} + +#[derive(Debug)] +struct CodeAction(TextEdit); + +impl Diagnostic for CodeAction { + fn message(&self, fmt: &mut Formatter<'_>) -> io::Result<()> { + fmt.write_markup(markup!("Source action diff:")) + } + + fn severity(&self) -> Severity { + Severity::Information + } + + fn advices(&self, visitor: &mut dyn Visit) -> io::Result<()> { + visitor.record_diff(&self.0) + } +} + +fn write_action( + buffer: &mut HTML<&mut Vec>, + source: &str, + file_path: &str, + action: AnalyzerAction, +) -> Result<()> { + let (_, text_edit) = action.mutation.as_text_range_and_edit().unwrap_or_default(); + let action = CodeAction(text_edit) + .with_file_source_code(source) + .with_file_path(file_path); + Formatter::new(buffer).write_markup(markup! { + {PrintDiagnostic::simple(&action)} + })?; + Ok(()) +} + /// Parse and analyze the provided code block, and asserts that it emits /// exactly zero or one diagnostic depending on the value of `expect_diagnostic`. /// That diagnostic is then emitted as text into the `content` buffer -fn print_diagnostics( +fn print_diagnostics_or_actions( group: &'static str, rule: &'static str, test: &CodeBlockTest, code: &str, config: &Option, - content: &mut Vec, + buffer: &mut HTML<&mut Vec>, + to_print_kind: ToPrintKind, ) -> Result<()> { let file_path = format!("code-block.{}", test.tag); - let mut write = HTML::new(content).with_mdx(); - - let mut write_diagnostic = |_: &str, diag: biome_diagnostics::Error| { - Formatter::new(&mut write).write_markup(markup! { - {PrintDiagnostic::verbose(&diag)} - })?; - Ok(()) - }; if test.ignore { return Ok(()); } @@ -1134,7 +1356,7 @@ fn print_diagnostics( if parse.has_errors() { for diag in parse.into_diagnostics() { let error = diag.with_file_path(&file_path).with_file_source_code(code); - write_diagnostic(code, error)?; + write_diagnostic(buffer, error)?; } } else { let root = parse.tree(); @@ -1152,28 +1374,45 @@ fn print_diagnostics( }; biome_js_analyze::analyze(&root, filter, &options, file_source, None, |signal| { - if let Some(mut diag) = signal.diagnostic() { - let category = diag.category().expect("linter diagnostic has no code"); - let severity = settings.get_current_settings().expect("project").get_severity_from_rule_code(category).expect( - "If you see this error, it means you need to run cargo codegen-configuration", - ); - - for action in signal.actions() { - if !action.is_suppression() { - rule_has_code_action = true; - diag = diag.add_code_suggestion(action.into()); + match to_print_kind { + ToPrintKind::Diagnostics => { + if let Some(mut diag) = signal.diagnostic() { + let category = + diag.category().expect("linter diagnostic has no code"); + let severity = settings.get_current_settings().expect("project").get_severity_from_rule_code(category).expect( + "If you see this error, it means you need to run cargo codegen-configuration", + ); + + for action in signal.actions() { + if !action.is_suppression() { + rule_has_code_action = true; + diag = diag.add_code_suggestion(action.into()); + } + } + + let error = diag + .with_severity(severity) + .with_file_path(&file_path) + .with_file_source_code(code); + let res = write_diagnostic(buffer, error); + + // Abort the analysis on error + if let Err(err) = res { + return ControlFlow::Break(err); + } } } - - let error = diag - .with_severity(severity) - .with_file_path(&file_path) - .with_file_source_code(code); - let res = write_diagnostic(code, error); - - // Abort the analysis on error - if let Err(err) = res { - return ControlFlow::Break(err); + ToPrintKind::Actions => { + for action in signal.actions() { + if !action.is_suppression() { + let res = + write_action(buffer, code, file_path.as_str(), action); + // Abort the analysis on error + if let Err(err) = res { + return ControlFlow::Break(err); + } + } + } } } @@ -1187,7 +1426,7 @@ fn print_diagnostics( if parse.has_errors() { for diag in parse.into_diagnostics() { let error = diag.with_file_path(&file_path).with_file_source_code(code); - write_diagnostic(code, error)?; + write_diagnostic(buffer, error)?; } } else { let root = parse.tree(); @@ -1202,28 +1441,45 @@ fn print_diagnostics( create_analyzer_options::(&settings, &file_path, &test); biome_json_analyze::analyze(&root, filter, &options, file_source, |signal| { - if let Some(mut diag) = signal.diagnostic() { - let category = diag.category().expect("linter diagnostic has no code"); - let severity = settings.get_current_settings().expect("project").get_severity_from_rule_code(category).expect( - "If you see this error, it means you need to run cargo codegen-configuration", - ); - - for action in signal.actions() { - if !action.is_suppression() { - rule_has_code_action = true; - diag = diag.add_code_suggestion(action.into()); + match to_print_kind { + ToPrintKind::Diagnostics => { + if let Some(mut diag) = signal.diagnostic() { + let category = + diag.category().expect("linter diagnostic has no code"); + let severity = settings.get_current_settings().expect("project").get_severity_from_rule_code(category).expect( + "If you see this error, it means you need to run cargo codegen-configuration", + ); + + for action in signal.actions() { + if !action.is_suppression() { + rule_has_code_action = true; + diag = diag.add_code_suggestion(action.into()); + } + } + + let error = diag + .with_severity(severity) + .with_file_path(&file_path) + .with_file_source_code(code); + let res: Result<()> = write_diagnostic(buffer, error); + + // Abort the analysis on error + if let Err(err) = res { + return ControlFlow::Break(err); + } } } - - let error = diag - .with_severity(severity) - .with_file_path(&file_path) - .with_file_source_code(code); - let res: Result<()> = write_diagnostic(code, error); - - // Abort the analysis on error - if let Err(err) = res { - return ControlFlow::Break(err); + ToPrintKind::Actions => { + for action in signal.actions() { + if !action.is_suppression() { + let res = + write_action(buffer, code, file_path.as_str(), action); + // Abort the analysis on error + if let Err(err) = res { + return ControlFlow::Break(err); + } + } + } } } @@ -1237,7 +1493,7 @@ fn print_diagnostics( if parse.has_errors() { for diag in parse.into_diagnostics() { let error = diag.with_file_path(&file_path).with_file_source_code(code); - write_diagnostic(code, error)?; + write_diagnostic(buffer, error)?; } } else { let root = parse.tree(); @@ -1251,28 +1507,114 @@ fn print_diagnostics( let options = create_analyzer_options::(&settings, &file_path, &test); biome_css_analyze::analyze(&root, filter, &options, |signal| { - if let Some(mut diag) = signal.diagnostic() { - let category = diag.category().expect("linter diagnostic has no code"); - let severity = settings.get_current_settings().expect("project").get_severity_from_rule_code(category).expect( - "If you see this error, it means you need to run cargo codegen-configuration", - ); - - for action in signal.actions() { - if !action.is_suppression() { - rule_has_code_action = true; - diag = diag.add_code_suggestion(action.into()); + match to_print_kind { + ToPrintKind::Diagnostics => { + if let Some(mut diag) = signal.diagnostic() { + let category = + diag.category().expect("linter diagnostic has no code"); + let severity = settings.get_current_settings().expect("project").get_severity_from_rule_code(category).expect( + "If you see this error, it means you need to run cargo codegen-configuration", + ); + + for action in signal.actions() { + if !action.is_suppression() { + rule_has_code_action = true; + diag = diag.add_code_suggestion(action.into()); + } + } + + let error = diag + .with_severity(severity) + .with_file_path(&file_path) + .with_file_source_code(code); + let res = write_diagnostic(buffer, error); + + // Abort the analysis on error + if let Err(err) = res { + return ControlFlow::Break(err); + } + } + } + ToPrintKind::Actions => { + for action in signal.actions() { + if !action.is_suppression() { + let res = + write_action(buffer, code, file_path.as_str(), action); + // Abort the analysis on error + if let Err(err) = res { + return ControlFlow::Break(err); + } + } } } + } - let error = diag - .with_severity(severity) - .with_file_path(&file_path) - .with_file_source_code(code); - let res = write_diagnostic(code, error); + ControlFlow::Continue(()) + }); + } + } - // Abort the analysis on error - if let Err(err) = res { - return ControlFlow::Break(err); + DocumentFileSource::Graphql(_) => { + let parse = biome_graphql_parser::parse_graphql(code); + + if parse.has_errors() { + for diag in parse.into_diagnostics() { + let error = diag.with_file_path(&file_path).with_file_source_code(code); + write_diagnostic(buffer, error)?; + } + } else { + let root = parse.tree(); + + let rule_filter = RuleFilter::Rule(group, rule); + let filter = AnalysisFilter { + enabled_rules: Some(slice::from_ref(&rule_filter)), + ..AnalysisFilter::default() + }; + + let options = AnalyzerOptions { + file_path: PathBuf::from(&file_path), + ..Default::default() + }; + biome_graphql_analyze::analyze(&root, filter, &options, |signal| { + match to_print_kind { + ToPrintKind::Diagnostics => { + if let Some(mut diag) = signal.diagnostic() { + let category = + diag.category().expect("linter diagnostic has no code"); + let severity = settings.get_current_settings().expect("project").get_severity_from_rule_code(category).expect( + "If you see this error, it means you need to run cargo codegen-configuration", + ); + + for action in signal.actions() { + if !action.is_suppression() { + rule_has_code_action = true; + diag = diag.add_code_suggestion(action.into()); + } + } + + let error = diag + .with_severity(severity) + .with_file_path(&file_path) + .with_file_source_code(code); + let res = write_diagnostic(buffer, error); + + // Abort the analysis on error + if let Err(err) = res { + return ControlFlow::Break(err); + } + } + } + ToPrintKind::Actions => { + for action in signal.actions() { + if !action.is_suppression() { + let res = + write_action(buffer, code, file_path.as_str(), action); + // Abort the analysis on error + if let Err(err) = res { + return ControlFlow::Break(err); + } + } + } } } @@ -1280,10 +1622,9 @@ fn print_diagnostics( }); } } + DocumentFileSource::Html(_) | DocumentFileSource::Grit(_) => todo!(), // Unknown code blocks should be ignored by tests DocumentFileSource::Unknown => {} - DocumentFileSource::Graphql(_) => {} - _ => {} } Ok(()) @@ -1358,6 +1699,12 @@ Rules that belong to this group ""are not subject to semantic version" "Rules that detect code that is likely to be incorrect or useless." }, ), + "source" => ( + "Source", + markup! { + "Rules that generate code actions that are safe to apply to the code." + }, + ), _ => panic!("Unknown group ID {group:?}"), } } diff --git a/codegen/src/rules_sources.rs b/codegen/src/rules_sources.rs index 2f3e57073..950bffffe 100644 --- a/codegen/src/rules_sources.rs +++ b/codegen/src/rules_sources.rs @@ -1,6 +1,7 @@ use crate::lintdoc::RuleToDocument; use crate::shared::add_codegen_disclaimer_frontmatter; use anyhow::Result; +use biome_analyze::RuleCategory; use biome_string_case::Case; use std::cmp::Ordering; use std::collections::{BTreeMap, BTreeSet}; @@ -29,6 +30,7 @@ impl PartialOrd for SourceSet { pub(crate) fn generate_rule_sources( rules: BTreeMap<&str, BTreeMap<&'static str, RuleToDocument>>, + rule_category: RuleCategory, ) -> Result> { let mut buffer = vec![]; @@ -50,6 +52,11 @@ description: A page that maps lint rules from other sources to Biome let mut rules_by_source = BTreeMap::>::new(); let mut exclusive_biome_rules = BTreeSet::<(String, String)>::new(); + let prefix_path = match rule_category { + RuleCategory::Lint => "linter/rules", + RuleCategory::Action => "assist/actions", + _ => unreachable!(""), + }; for (rule_name, rule_to_document) in rules { for (_, metadata) in rule_to_document.language_to_metadata { @@ -60,7 +67,7 @@ description: A page that maps lint rules from other sources to Biome if metadata.sources.is_empty() { exclusive_biome_rules.insert(( rule_name.to_string(), - format!("/linter/rules/{kebab_rule_name}"), + format!("/{prefix_path}/{kebab_rule_name}"), )); } else { for source in metadata.sources { @@ -68,7 +75,7 @@ description: A page that maps lint rules from other sources to Biome if let Some(set) = set { set.insert(SourceSet { biome_rule_name: rule_name.to_string(), - biome_link: format!("/linter/rules/{kebab_rule_name}"), + biome_link: format!("/{prefix_path}/{kebab_rule_name}"), source_link: source.to_rule_url(), source_rule_name: source.as_rule_name().to_string(), inspired: metadata @@ -79,7 +86,7 @@ description: A page that maps lint rules from other sources to Biome let mut set = BTreeSet::new(); set.insert(SourceSet { biome_rule_name: rule_name.to_string(), - biome_link: format!("/linter/rules/{kebab_rule_name}"), + biome_link: format!("/{prefix_path}/{kebab_rule_name}"), source_link: source.to_rule_url(), source_rule_name: source.as_rule_name().to_string(), inspired: metadata.source_kind.map_or(true, |kind| kind.is_inspired()), diff --git a/package.json b/package.json index 4c19faadb..c469d51fd 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "@biomejs/website", "private": true, "scripts": { - "start": "astro dev", + "dev": "astro dev", "format": "pnpm biome format --write", "check": "pnpm biome check --write", "tsc": "tsc --skipLibCheck", @@ -23,7 +23,7 @@ "@astrojs/prism": "3.1.0", "@astrojs/react": "3.6.3", "@astrojs/rss": "4.0.9", - "@astrojs/starlight": "0.26.1", + "@astrojs/starlight": "0.29.2", "@biomejs/biome": "1.8.3", "@biomejs/wasm-web": "https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@66458a1", "@codemirror/lang-css": "6.3.1", @@ -41,7 +41,7 @@ "@types/react-dom": "18.3.1", "@uiw/react-codemirror": "4.23.6", "@vitejs/plugin-react": "4.3.3", - "astro": "4.16.15", + "astro": "4.16.16", "astro-og-canvas": "0.5.4", "autoprefixer": "10.4.20", "canvaskit-wasm": "0.39.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b512e4bee..9baa6b438 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ importers: devDependencies: '@astrojs/netlify': specifier: 5.5.4 - version: 5.5.4(@opentelemetry/api@1.9.0)(@types/node@20.17.7)(astro@4.16.15(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4))(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) + version: 5.5.4(@opentelemetry/api@1.9.0)(@types/node@20.17.7)(astro@4.16.16(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4))(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) '@astrojs/prism': specifier: 3.1.0 version: 3.1.0 @@ -21,8 +21,8 @@ importers: specifier: 4.0.9 version: 4.0.9 '@astrojs/starlight': - specifier: 0.26.1 - version: 0.26.1(astro@4.16.15(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) + specifier: 0.29.2 + version: 0.29.2(astro@4.16.16(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) '@biomejs/biome': specifier: 1.8.3 version: 1.8.3 @@ -75,11 +75,11 @@ importers: specifier: 4.3.3 version: 4.3.3(vite@5.4.11(@types/node@20.17.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))) astro: - specifier: 4.16.15 - version: 4.16.15(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) + specifier: 4.16.16 + version: 4.16.16(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) astro-og-canvas: specifier: 0.5.4 - version: 0.5.4(astro@4.16.15(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) + version: 0.5.4(astro@4.16.16(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) autoprefixer: specifier: 10.4.20 version: 10.4.20(postcss@8.4.49) @@ -217,10 +217,10 @@ packages: '@astrojs/sitemap@3.1.6': resolution: {integrity: sha512-1Qp2NvAzVImqA6y+LubKi1DVhve/hXXgFvB0szxiipzh7BvtuKe4oJJ9dXSqaubaTkt4nMa6dv6RCCAYeB6xaQ==} - '@astrojs/starlight@0.26.1': - resolution: {integrity: sha512-0qNYWZJ+ZOdSfM7du6fGuwUhyTHtAeRIl0zYe+dF0TxDvcakplO1SYLbGGX6lEVYE3PdBne7dcJww85bXZJIIQ==} + '@astrojs/starlight@0.29.2': + resolution: {integrity: sha512-xv9AhWkP3fxCB6EF6MlT4yEbxzye3aMSbuVbFEGbQh8G/w1MPhdNCnQakIHpmIwwyxwG9cW3mQdAZum4oOO39w==} peerDependencies: - astro: ^4.8.6 + astro: ^4.14.0 '@astrojs/telemetry@3.1.0': resolution: {integrity: sha512-/ca/+D8MIKEC8/A9cSaPUqQNZm+Es/ZinRv0ZAzvu2ios7POQSsVD+VOj7/hypWNsNM3T7RpfgNq7H2TU1KEHA==} @@ -601,17 +601,17 @@ packages: cpu: [x64] os: [win32] - '@expressive-code/core@0.35.6': - resolution: {integrity: sha512-xGqCkmfkgT7lr/rvmfnYdDSeTdCSp1otAHgoFS6wNEeO7wGDPpxdosVqYiIcQ8CfWUABh/pGqWG90q+MV3824A==} + '@expressive-code/core@0.38.3': + resolution: {integrity: sha512-s0/OtdRpBONwcn23O8nVwDNQqpBGKscysejkeBkwlIeHRLZWgiTVrusT5Idrdz1d8cW5wRk9iGsAIQmwDPXgJg==} - '@expressive-code/plugin-frames@0.35.6': - resolution: {integrity: sha512-CqjSWjDJ3wabMJZfL9ZAzH5UAGKg7KWsf1TBzr4xvUbZvWoBtLA/TboBML0U1Ls8h/4TRCIvR4VEb8dv5+QG3w==} + '@expressive-code/plugin-frames@0.38.3': + resolution: {integrity: sha512-qL2oC6FplmHNQfZ8ZkTR64/wKo9x0c8uP2WDftR/ydwN/yhe1ed7ZWYb8r3dezxsls+tDokCnN4zYR594jbpvg==} - '@expressive-code/plugin-shiki@0.35.6': - resolution: {integrity: sha512-xm+hzi9BsmhkDUGuyAWIydOAWer7Cs9cj8FM0t4HXaQ+qCubprT6wJZSKUxuvFJIUsIOqk1xXFaJzGJGnWtKMg==} + '@expressive-code/plugin-shiki@0.38.3': + resolution: {integrity: sha512-kqHnglZeesqG3UKrb6e9Fq5W36AZ05Y9tCREmSN2lw8LVTqENIeCIkLDdWtQ5VoHlKqwUEQFTVlRehdwoY7Gmw==} - '@expressive-code/plugin-text-markers@0.35.6': - resolution: {integrity: sha512-/k9eWVZSCs+uEKHR++22Uu6eIbHWEciVHbIuD8frT8DlqTtHYaaiwHPncO6KFWnGDz5i/gL7oyl6XmOi/E6GVg==} + '@expressive-code/plugin-text-markers@0.38.3': + resolution: {integrity: sha512-dPK3+BVGTbTmGQGU3Fkj3jZ3OltWUAlxetMHI6limUGCWBCucZiwoZeFM/WmqQa71GyKRzhBT+iEov6kkz2xVA==} '@grpc/grpc-js@1.10.10': resolution: {integrity: sha512-HPa/K5NX6ahMoeBv15njAc/sfF4/jmiXLar9UlC2UfHFKZzsCVLc3wbe7+7qua7w9VPh2/L6EBxyAV7/E8Wftg==} @@ -1114,15 +1114,27 @@ packages: '@shikijs/core@1.22.2': resolution: {integrity: sha512-bvIQcd8BEeR1yFvOYv6HDiyta2FFVePbzeowf5pPS1avczrPK+cjmaxxh0nx5QzbON7+Sv0sQfQVciO7bN72sg==} + '@shikijs/core@1.24.0': + resolution: {integrity: sha512-6pvdH0KoahMzr6689yh0QJ3rCgF4j1XsXRHNEeEN6M4xJTfQ6QPWrmHzIddotg+xPJUPEPzYzYCKzpYyhTI6Gw==} + '@shikijs/engine-javascript@1.22.2': resolution: {integrity: sha512-iOvql09ql6m+3d1vtvP8fLCVCK7BQD1pJFmHIECsujB0V32BJ0Ab6hxk1ewVSMFA58FI0pR2Had9BKZdyQrxTw==} + '@shikijs/engine-javascript@1.24.0': + resolution: {integrity: sha512-ZA6sCeSsF3Mnlxxr+4wGEJ9Tto4RHmfIS7ox8KIAbH0MTVUkw3roHPHZN+LlJMOHJJOVupe6tvuAzRpN8qK1vA==} + '@shikijs/engine-oniguruma@1.22.2': resolution: {integrity: sha512-GIZPAGzQOy56mGvWMoZRPggn0dTlBf1gutV5TdceLCZlFNqWmuc7u+CzD0Gd9vQUTgLbrt0KLzz6FNprqYAxlA==} + '@shikijs/engine-oniguruma@1.24.0': + resolution: {integrity: sha512-Eua0qNOL73Y82lGA4GF5P+G2+VXX9XnuUxkiUuwcxQPH4wom+tE39kZpBFXfUuwNYxHSkrSxpB1p4kyRW0moSg==} + '@shikijs/types@1.22.2': resolution: {integrity: sha512-NCWDa6LGZqTuzjsGfXOBWfjS/fDIbDdmVDug+7ykVe1IKT4c1gakrvlfFYp5NhAXH/lyqLM8wsAPo5wNy73Feg==} + '@shikijs/types@1.24.0': + resolution: {integrity: sha512-aptbEuq1Pk88DMlCe+FzXNnBZ17LCiLIGWAeCWhoFDzia5Q5Krx3DgnULLiouSdd6+LUM39XwXGppqYE0Ghtug==} + '@shikijs/vscode-textmate@9.3.0': resolution: {integrity: sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==} @@ -1387,11 +1399,6 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn@8.12.1: - resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} - engines: {node: '>=0.4.0'} - hasBin: true - acorn@8.14.0: resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} engines: {node: '>=0.4.0'} @@ -1466,10 +1473,10 @@ packages: resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==} hasBin: true - astro-expressive-code@0.35.6: - resolution: {integrity: sha512-1U4KrvFuodaCV3z4I1bIR16SdhQlPkolGsYTtiANxPZUVv/KitGSCTjzksrkPonn1XuwVqvnwmUUVzTLWngnBA==} + astro-expressive-code@0.38.3: + resolution: {integrity: sha512-Tvdc7RV0G92BbtyEOsfJtXU35w41CkM94fOAzxbQP67Wj5jArfserJ321FO4XA7WG9QMV0GIBmQq77NBIRDzpQ==} peerDependencies: - astro: ^4.0.0-beta || ^3.3.0 + astro: ^4.0.0-beta || ^5.0.0-beta || ^3.3.0 astro-og-canvas@0.5.4: resolution: {integrity: sha512-bKopjX5DZ0WZH3kmUl82EVBhGzoCQwH5Ja4YdB5MO1EtWFZpWzvKWWptsOKGhjz+Kn85+gD/kgw25ebrvYufSg==} @@ -1477,8 +1484,8 @@ packages: peerDependencies: astro: ^3.0.0 || ^4.0.0 - astro@4.16.15: - resolution: {integrity: sha512-usybZ7nEUiwYKT7r47l4VbkqjKfaE+BgWV/ed4PT3mE3vFRTBWFsXLnkzrN7awfN6+/ekZTAcE+MAkdA551Umw==} + astro@4.16.16: + resolution: {integrity: sha512-H1CttrV6+JFrDBQx0Mcbq5i5AeLhCbztB786+9wEu3svWL/QPNeCGqF0dgNORAYmP+rODGCPu/y9qKSh87iLuA==} engines: {node: ^18.17.1 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'} hasBin: true @@ -1630,8 +1637,8 @@ packages: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} - ci-info@4.0.0: - resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==} + ci-info@4.1.0: + resolution: {integrity: sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==} engines: {node: '>=8'} cjs-module-lexer@1.3.1: @@ -2012,6 +2019,9 @@ packages: elkjs@0.9.2: resolution: {integrity: sha512-2Y/RaA1pdgSHpY0YG4TYuYCD2wh97CRvu22eLG3Kz0pgQ/6KbIFTxsTnDc4MH/6hFlg2L/9qXrDMG0nMjP63iw==} + emoji-regex-xs@1.0.0: + resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} + emoji-regex@10.3.0: resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} @@ -2089,8 +2099,8 @@ packages: eventemitter3@5.0.1: resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} - expressive-code@0.35.6: - resolution: {integrity: sha512-+mx+TPTbMqgo0mL92Xh9QgjW0kSQIsEivMgEcOnaqKqL7qCw8Vkqc5Rg/di7ZYw4aMUSr74VTc+w8GQWu05j1g==} + expressive-code@0.38.3: + resolution: {integrity: sha512-COM04AiUotHCKJgWdn7NtW2lqu8OW8owAidMpkXt1qxrZ9Q2iC7+tok/1qIn2ocGnczvr9paIySgGnEwFeEQ8Q==} extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} @@ -2297,9 +2307,6 @@ packages: hast-util-embedded@3.0.0: resolution: {integrity: sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==} - hast-util-from-html@2.0.1: - resolution: {integrity: sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==} - hast-util-from-html@2.0.3: resolution: {integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==} @@ -2379,6 +2386,9 @@ packages: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} + i18next@23.16.8: + resolution: {integrity: sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==} + iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} @@ -2658,6 +2668,9 @@ packages: magic-string@0.30.12: resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==} + magic-string@0.30.14: + resolution: {integrity: sha512-5c99P1WKTed11ZC0HMJOj6CDIue6F8ySu+bJL+85q1zBEIY8IklrJ1eiKC2NDRh3Ct3FcvmJPyQHb9erXMTJNw==} + magicast@0.3.5: resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} @@ -3127,6 +3140,9 @@ packages: resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} engines: {node: '>=18'} + oniguruma-to-es@0.7.0: + resolution: {integrity: sha512-HRaRh09cE0gRS3+wi2zxekB+I5L8C/gN60S+vb11eADHUaB/q4u8wGGOX3GvwvitG8ixaeycZfeoyruKQzUgNg==} + oniguruma-to-js@0.4.3: resolution: {integrity: sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ==} @@ -3423,9 +3439,18 @@ packages: regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + regex-recursion@4.3.0: + resolution: {integrity: sha512-5LcLnizwjcQ2ALfOj95MjcatxyqF5RPySx9yT+PaXu3Gox2vyAtLDjHB8NTJLtMGkvyau6nI3CfpwFCjPUIs/A==} + + regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} + regex@4.3.2: resolution: {integrity: sha512-kK/AA3A9K6q2js89+VMymcboLOlF5lZRCYJv3gzszXFHBr6kO6qLGzbm+UIugBEV8SMMKCTR59txoY6ctRHYVw==} + regex@5.0.2: + resolution: {integrity: sha512-/pczGbKIQgfTMRV0XjABvc5RzLqQmwqxLHdQao2RTXPk+pmTXB2P0IaUHYdYyk412YLwUIkaeMd5T+RzVgTqnQ==} + regexp.prototype.flags@1.5.2: resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} engines: {node: '>= 0.4'} @@ -3436,8 +3461,8 @@ packages: rehype-autolink-headings@7.1.0: resolution: {integrity: sha512-rItO/pSdvnvsP4QRB1pmPiNHUskikqtPojZKJPPPAVx9Hj8i8TwMBhofrrAYRhYOOBZH9tgmG5lPqDLuIWPWmw==} - rehype-expressive-code@0.35.6: - resolution: {integrity: sha512-pPdE+pRcRw01kxMOwHQjuRxgwlblZt5+wAc3w2aPGgmcnn57wYjn07iKO7zaznDxYVxMYVvYlnL+R3vWFQS4Gw==} + rehype-expressive-code@0.38.3: + resolution: {integrity: sha512-RYSSDkMBikoTbycZPkcWp6ELneANT4eTpND1DSRJ6nI2eVFUwTBDCvE2vO6jOOTaavwnPiydi4i/87NRyjpdOA==} rehype-format@5.0.0: resolution: {integrity: sha512-kM4II8krCHmUhxrlvzFSptvaWh280Fr7UGNJU5DCMuvmAwGCNmGfi9CvFAQK6JDjsNoRMWQStglK3zKJH685Wg==} @@ -3454,15 +3479,9 @@ packages: rehype-slug@6.0.0: resolution: {integrity: sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==} - rehype-stringify@10.0.0: - resolution: {integrity: sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==} - rehype-stringify@10.0.1: resolution: {integrity: sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==} - rehype@13.0.1: - resolution: {integrity: sha512-AcSLS2mItY+0fYu9xKxOu1LhUZeBZZBx8//5HKzF+0XP+eP8+6a5MXn2+DW2kfXR6Dtp1FEXMVrjyKAcvcU8vg==} - rehype@13.0.2: resolution: {integrity: sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==} @@ -3490,9 +3509,6 @@ packages: remark-parse@9.0.0: resolution: {integrity: sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==} - remark-rehype@11.1.0: - resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==} - remark-rehype@11.1.1: resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==} @@ -3642,6 +3658,9 @@ packages: shiki@1.22.2: resolution: {integrity: sha512-3IZau0NdGKXhH2bBlUk4w1IHNxPh6A5B2sUpyY+8utLu2j/h1QpFkAaUA1bAMxOWWGtTWcAh531vnS4NJKS/lA==} + shiki@1.24.0: + resolution: {integrity: sha512-qIneep7QRwxRd5oiHb8jaRzH15V/S8F3saCXOdjwRLgozZJr5x2yeBhQtqkO3FSzQDwYEFAYuifg4oHjpDghrg==} + shimmer@1.2.1: resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} @@ -3976,9 +3995,6 @@ packages: vfile@6.0.1: resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} - vfile@6.0.2: - resolution: {integrity: sha512-zND7NlS8rJYb/sPqkb13ZvbbUoExdbi4w3SfRrMq6R3FvnLQmmfpajJNITuuYm6AZ5uao9vy4BAos3EXBPf2rg==} - vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} @@ -4018,10 +4034,10 @@ packages: terser: optional: true - vitefu@1.0.3: - resolution: {integrity: sha512-iKKfOMBHob2WxEJbqbJjHAkmYgvFDPhuqrO82om83S8RLk+17FtyMBfcyeH8GqD0ihShtkMW/zzJgiA51hCNCQ==} + vitefu@1.0.4: + resolution: {integrity: sha512-y6zEE3PQf6uu/Mt6DTJ9ih+kyJLr4XcSgHR2zUkM8SWDhuixEJxfJ6CZGMHh1Ec3vPLoEA0IHU5oWzVqw8ulow==} peerDependencies: - vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0-beta.0 + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 peerDependenciesMeta: vite: optional: true @@ -4083,8 +4099,8 @@ packages: resolution: {integrity: sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==} engines: {node: '>=4'} - xxhash-wasm@1.0.2: - resolution: {integrity: sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==} + xxhash-wasm@1.1.0: + resolution: {integrity: sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==} y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} @@ -4145,15 +4161,15 @@ snapshots: dependencies: '@astrojs/prism': 3.1.0 github-slugger: 2.0.0 - hast-util-from-html: 2.0.1 + hast-util-from-html: 2.0.3 hast-util-to-text: 4.0.2 import-meta-resolve: 4.1.0 mdast-util-definitions: 6.0.0 rehype-raw: 7.0.0 - rehype-stringify: 10.0.0 + rehype-stringify: 10.0.1 remark-gfm: 4.0.0 remark-parse: 11.0.0 - remark-rehype: 11.1.0 + remark-rehype: 11.1.1 remark-smartypants: 3.0.2 shiki: 1.22.2 unified: 11.0.5 @@ -4178,7 +4194,7 @@ snapshots: remark-parse: 11.0.0 remark-rehype: 11.1.1 remark-smartypants: 3.0.2 - shiki: 1.22.2 + shiki: 1.24.0 unified: 11.0.5 unist-util-remove-position: 5.0.0 unist-util-visit: 5.0.0 @@ -4187,12 +4203,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@astrojs/mdx@3.1.3(astro@4.16.15(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4))': + '@astrojs/mdx@3.1.3(astro@4.16.16(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4))': dependencies: '@astrojs/markdown-remark': 5.2.0 '@mdx-js/mdx': 3.0.1 - acorn: 8.12.1 - astro: 4.16.15(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) + acorn: 8.14.0 + astro: 4.16.16(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) es-module-lexer: 1.5.4 estree-util-visit: 2.0.0 github-slugger: 2.0.0 @@ -4204,17 +4220,17 @@ snapshots: remark-smartypants: 3.0.2 source-map: 0.7.4 unist-util-visit: 5.0.0 - vfile: 6.0.2 + vfile: 6.0.3 transitivePeerDependencies: - supports-color - '@astrojs/netlify@5.5.4(@opentelemetry/api@1.9.0)(@types/node@20.17.7)(astro@4.16.15(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4))(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))': + '@astrojs/netlify@5.5.4(@opentelemetry/api@1.9.0)(@types/node@20.17.7)(astro@4.16.16(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4))(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))': dependencies: '@astrojs/internal-helpers': 0.4.1 '@astrojs/underscore-redirects': 0.3.4 '@netlify/functions': 2.8.0(@opentelemetry/api@1.9.0) '@vercel/nft': 0.27.4 - astro: 4.16.15(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) + astro: 4.16.16(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) esbuild: 0.21.5 vite: 5.4.11(@types/node@20.17.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) transitivePeerDependencies: @@ -4265,36 +4281,38 @@ snapshots: stream-replace-string: 2.0.0 zod: 3.23.8 - '@astrojs/starlight@0.26.1(astro@4.16.15(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4))': + '@astrojs/starlight@0.29.2(astro@4.16.16(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4))': dependencies: - '@astrojs/mdx': 3.1.3(astro@4.16.15(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) + '@astrojs/mdx': 3.1.3(astro@4.16.16(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) '@astrojs/sitemap': 3.1.6 '@pagefind/default-ui': 1.1.0 '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - astro: 4.16.15(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) - astro-expressive-code: 0.35.6(astro@4.16.15(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) + astro: 4.16.16(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) + astro-expressive-code: 0.38.3(astro@4.16.16(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)) bcp-47: 2.1.0 - hast-util-from-html: 2.0.1 + hast-util-from-html: 2.0.3 hast-util-select: 6.0.2 hast-util-to-string: 3.0.1 hastscript: 9.0.0 + i18next: 23.16.8 + js-yaml: 4.1.0 mdast-util-directive: 3.0.0 mdast-util-to-markdown: 2.1.0 mdast-util-to-string: 4.0.0 pagefind: 1.1.0 - rehype: 13.0.1 + rehype: 13.0.2 rehype-format: 5.0.0 remark-directive: 3.0.0 unified: 11.0.5 unist-util-visit: 5.0.0 - vfile: 6.0.2 + vfile: 6.0.3 transitivePeerDependencies: - supports-color '@astrojs/telemetry@3.1.0': dependencies: - ci-info: 4.0.0 + ci-info: 4.1.0 debug: 4.3.7 dlv: 1.1.3 dset: 3.1.4 @@ -4677,7 +4695,7 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true - '@expressive-code/core@0.35.6': + '@expressive-code/core@0.38.3': dependencies: '@ctrl/tinycolor': 4.1.0 hast-util-select: 6.0.2 @@ -4689,18 +4707,18 @@ snapshots: unist-util-visit: 5.0.0 unist-util-visit-parents: 6.0.1 - '@expressive-code/plugin-frames@0.35.6': + '@expressive-code/plugin-frames@0.38.3': dependencies: - '@expressive-code/core': 0.35.6 + '@expressive-code/core': 0.38.3 - '@expressive-code/plugin-shiki@0.35.6': + '@expressive-code/plugin-shiki@0.38.3': dependencies: - '@expressive-code/core': 0.35.6 + '@expressive-code/core': 0.38.3 shiki: 1.22.2 - '@expressive-code/plugin-text-markers@0.35.6': + '@expressive-code/plugin-text-markers@0.38.3': dependencies: - '@expressive-code/core': 0.35.6 + '@expressive-code/core': 0.38.3 '@grpc/grpc-js@1.10.10': dependencies: @@ -4884,7 +4902,7 @@ snapshots: periscopic: 3.1.0 remark-mdx: 3.0.1 remark-parse: 11.0.0 - remark-rehype: 11.1.0 + remark-rehype: 11.1.1 source-map: 0.7.4 unified: 11.0.5 unist-util-position-from-estree: 2.0.0 @@ -5225,22 +5243,47 @@ snapshots: '@types/hast': 3.0.4 hast-util-to-html: 9.0.3 + '@shikijs/core@1.24.0': + dependencies: + '@shikijs/engine-javascript': 1.24.0 + '@shikijs/engine-oniguruma': 1.24.0 + '@shikijs/types': 1.24.0 + '@shikijs/vscode-textmate': 9.3.0 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.3 + '@shikijs/engine-javascript@1.22.2': dependencies: '@shikijs/types': 1.22.2 '@shikijs/vscode-textmate': 9.3.0 oniguruma-to-js: 0.4.3 + '@shikijs/engine-javascript@1.24.0': + dependencies: + '@shikijs/types': 1.24.0 + '@shikijs/vscode-textmate': 9.3.0 + oniguruma-to-es: 0.7.0 + '@shikijs/engine-oniguruma@1.22.2': dependencies: '@shikijs/types': 1.22.2 '@shikijs/vscode-textmate': 9.3.0 + '@shikijs/engine-oniguruma@1.24.0': + dependencies: + '@shikijs/types': 1.24.0 + '@shikijs/vscode-textmate': 9.3.0 + '@shikijs/types@1.22.2': dependencies: '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 + '@shikijs/types@1.24.0': + dependencies: + '@shikijs/vscode-textmate': 9.3.0 + '@types/hast': 3.0.4 + '@shikijs/vscode-textmate@9.3.0': {} '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.26.0)': @@ -5603,8 +5646,6 @@ snapshots: dependencies: acorn: 8.14.0 - acorn@8.12.1: {} - acorn@8.14.0: {} agent-base@6.0.2: @@ -5669,19 +5710,19 @@ snapshots: astring@1.8.6: {} - astro-expressive-code@0.35.6(astro@4.16.15(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)): + astro-expressive-code@0.38.3(astro@4.16.16(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)): dependencies: - astro: 4.16.15(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) - rehype-expressive-code: 0.35.6 + astro: 4.16.16(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) + rehype-expressive-code: 0.38.3 - astro-og-canvas@0.5.4(astro@4.16.15(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)): + astro-og-canvas@0.5.4(astro@4.16.16(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4)): dependencies: - astro: 4.16.15(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) + astro: 4.16.16(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4) canvaskit-wasm: 0.39.1 deterministic-object-hash: 2.0.2 entities: 4.5.0 - astro@4.16.15(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4): + astro@4.16.16(@types/node@20.17.7)(rollup@4.21.2)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.5.4): dependencies: '@astrojs/compiler': 2.10.3 '@astrojs/internal-helpers': 0.4.1 @@ -5698,7 +5739,7 @@ snapshots: aria-query: 5.3.2 axobject-query: 4.1.0 boxen: 8.0.1 - ci-info: 4.0.0 + ci-info: 4.1.0 clsx: 2.1.1 common-ancestor-path: 1.0.1 cookie: 0.7.2 @@ -5720,7 +5761,7 @@ snapshots: http-cache-semantics: 4.1.1 js-yaml: 4.1.0 kleur: 4.1.5 - magic-string: 0.30.12 + magic-string: 0.30.14 magicast: 0.3.5 micromatch: 4.0.8 mrmime: 2.0.0 @@ -5732,15 +5773,15 @@ snapshots: prompts: 2.4.2 rehype: 13.0.2 semver: 7.6.3 - shiki: 1.22.2 + shiki: 1.24.0 tinyexec: 0.3.1 tsconfck: 3.1.4(typescript@5.5.4) unist-util-visit: 5.0.0 vfile: 6.0.3 vite: 5.4.11(@types/node@20.17.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) - vitefu: 1.0.3(vite@5.4.11(@types/node@20.17.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))) + vitefu: 1.0.4(vite@5.4.11(@types/node@20.17.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))) which-pm: 3.0.0 - xxhash-wasm: 1.0.2 + xxhash-wasm: 1.1.0 yargs-parser: 21.1.1 zod: 3.23.8 zod-to-json-schema: 3.23.5(zod@3.23.8) @@ -5911,7 +5952,7 @@ snapshots: chownr@2.0.0: {} - ci-info@4.0.0: {} + ci-info@4.1.0: {} cjs-module-lexer@1.3.1: {} @@ -6303,6 +6344,8 @@ snapshots: elkjs@0.9.2: {} + emoji-regex-xs@1.0.0: {} + emoji-regex@10.3.0: {} emoji-regex@8.0.0: {} @@ -6391,12 +6434,12 @@ snapshots: eventemitter3@5.0.1: {} - expressive-code@0.35.6: + expressive-code@0.38.3: dependencies: - '@expressive-code/core': 0.35.6 - '@expressive-code/plugin-frames': 0.35.6 - '@expressive-code/plugin-shiki': 0.35.6 - '@expressive-code/plugin-text-markers': 0.35.6 + '@expressive-code/core': 0.38.3 + '@expressive-code/plugin-frames': 0.38.3 + '@expressive-code/plugin-shiki': 0.38.3 + '@expressive-code/plugin-text-markers': 0.38.3 extend-shallow@2.0.1: dependencies: @@ -6596,15 +6639,6 @@ snapshots: '@types/hast': 3.0.4 hast-util-is-element: 3.0.0 - hast-util-from-html@2.0.1: - dependencies: - '@types/hast': 3.0.4 - devlop: 1.1.0 - hast-util-from-parse5: 8.0.1 - parse5: 7.1.2 - vfile: 6.0.2 - vfile-message: 4.0.2 - hast-util-from-html@2.0.3: dependencies: '@types/hast': 3.0.4 @@ -6803,6 +6837,10 @@ snapshots: transitivePeerDependencies: - supports-color + i18next@23.16.8: + dependencies: + '@babel/runtime': 7.24.4 + iconv-lite@0.6.3: dependencies: safer-buffer: 2.1.2 @@ -7050,6 +7088,10 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 + magic-string@0.30.14: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + magicast@0.3.5: dependencies: '@babel/parser': 7.26.2 @@ -7966,6 +8008,12 @@ snapshots: dependencies: mimic-function: 5.0.1 + oniguruma-to-es@0.7.0: + dependencies: + emoji-regex-xs: 1.0.0 + regex: 5.0.2 + regex-recursion: 4.3.0 + oniguruma-to-js@0.4.3: dependencies: regex: 4.3.2 @@ -8291,8 +8339,18 @@ snapshots: regenerator-runtime@0.14.1: {} + regex-recursion@4.3.0: + dependencies: + regex-utilities: 2.3.0 + + regex-utilities@2.3.0: {} + regex@4.3.2: {} + regex@5.0.2: + dependencies: + regex-utilities: 2.3.0 + regexp.prototype.flags@1.5.2: dependencies: call-bind: 1.0.7 @@ -8311,9 +8369,9 @@ snapshots: unified: 11.0.4 unist-util-visit: 5.0.0 - rehype-expressive-code@0.35.6: + rehype-expressive-code@0.38.3: dependencies: - expressive-code: 0.35.6 + expressive-code: 0.38.3 rehype-format@5.0.0: dependencies: @@ -8337,7 +8395,7 @@ snapshots: rehype-parse@9.0.0: dependencies: '@types/hast': 3.0.4 - hast-util-from-html: 2.0.1 + hast-util-from-html: 2.0.3 unified: 11.0.5 rehype-raw@7.0.0: @@ -8354,25 +8412,12 @@ snapshots: hast-util-to-string: 3.0.1 unist-util-visit: 5.0.0 - rehype-stringify@10.0.0: - dependencies: - '@types/hast': 3.0.4 - hast-util-to-html: 9.0.3 - unified: 11.0.5 - rehype-stringify@10.0.1: dependencies: '@types/hast': 3.0.4 hast-util-to-html: 9.0.3 unified: 11.0.5 - rehype@13.0.1: - dependencies: - '@types/hast': 3.0.4 - rehype-parse: 9.0.0 - rehype-stringify: 10.0.0 - unified: 11.0.5 - rehype@13.0.2: dependencies: '@types/hast': 3.0.4 @@ -8441,14 +8486,6 @@ snapshots: transitivePeerDependencies: - supports-color - remark-rehype@11.1.0: - dependencies: - '@types/hast': 3.0.4 - '@types/mdast': 4.0.4 - mdast-util-to-hast: 13.2.0 - unified: 11.0.5 - vfile: 6.0.3 - remark-rehype@11.1.1: dependencies: '@types/hast': 3.0.4 @@ -8660,6 +8697,15 @@ snapshots: '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 + shiki@1.24.0: + dependencies: + '@shikijs/core': 1.24.0 + '@shikijs/engine-javascript': 1.24.0 + '@shikijs/engine-oniguruma': 1.24.0 + '@shikijs/types': 1.24.0 + '@shikijs/vscode-textmate': 9.3.0 + '@types/hast': 3.0.4 + shimmer@1.2.1: {} signal-exit@3.0.7: {} @@ -8948,7 +8994,7 @@ snapshots: extend: 3.0.2 is-plain-obj: 4.1.0 trough: 2.2.0 - vfile: 6.0.2 + vfile: 6.0.3 unified@9.2.2: dependencies: @@ -9093,12 +9139,6 @@ snapshots: unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 - vfile@6.0.2: - dependencies: - '@types/unist': 3.0.2 - unist-util-stringify-position: 4.0.0 - vfile-message: 4.0.2 - vfile@6.0.3: dependencies: '@types/unist': 3.0.2 @@ -9126,7 +9166,7 @@ snapshots: sass: 1.77.8 sugarss: 4.0.1(postcss@8.4.49) - vitefu@1.0.3(vite@5.4.11(@types/node@20.17.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))): + vitefu@1.0.4(vite@5.4.11(@types/node@20.17.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))): optionalDependencies: vite: 5.4.11(@types/node@20.17.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) @@ -9187,7 +9227,7 @@ snapshots: dependencies: mkdirp: 0.5.6 - xxhash-wasm@1.0.2: {} + xxhash-wasm@1.1.0: {} y18n@5.0.8: {} diff --git a/src/components/generated/assist/Groups.astro b/src/components/generated/assist/Groups.astro new file mode 100644 index 000000000..42cde9840 --- /dev/null +++ b/src/components/generated/assist/Groups.astro @@ -0,0 +1,2 @@ + +
  • source: Rules that generate code actions that are safe to apply to the code.
  • diff --git a/src/components/generated/assist/NumberOfRules.astro b/src/components/generated/assist/NumberOfRules.astro new file mode 100644 index 000000000..2f66058e3 --- /dev/null +++ b/src/components/generated/assist/NumberOfRules.astro @@ -0,0 +1,2 @@ + +2 \ No newline at end of file diff --git a/src/components/generated/assist/RecommendedRules.astro b/src/components/generated/assist/RecommendedRules.astro new file mode 100644 index 000000000..240b1cca0 --- /dev/null +++ b/src/components/generated/assist/RecommendedRules.astro @@ -0,0 +1,4 @@ + +
      + +
    \ No newline at end of file diff --git a/src/components/generated/linter/Groups.astro b/src/components/generated/linter/Groups.astro new file mode 100644 index 000000000..db0bdea2c --- /dev/null +++ b/src/components/generated/linter/Groups.astro @@ -0,0 +1,9 @@ + +
  • accessibility: Rules focused on preventing accessibility problems.
  • +
  • complexity: Rules that focus on inspecting complex code that could be simplified.
  • +
  • correctness: Rules that detect code that is guaranteed to be incorrect or useless.
  • +
  • nursery: New rules that are still under development. Nursery rules require explicit opt-in via configuration on stable versions because they may still have bugs or performance problems. They are enabled by default on nightly builds, but as they are unstable their diagnostic severity may be set to either error or warning, depending on whether we intend for the rule to be recommended or not when it eventually gets stabilized. Nursery rules get promoted to other groups once they become stable or may be removed. Rules that belong to this group are not subject to semantic version.
  • +
  • performance: Rules catching ways your code could be written to run faster, or generally be more efficient.
  • +
  • security: Rules that detect potential security flaws.
  • +
  • style: Rules enforcing a consistent and idiomatic way of writing your code.
  • +
  • suspicious: Rules that detect code that is likely to be incorrect or useless.
  • diff --git a/src/components/generated/linter/NumberOfRules.astro b/src/components/generated/linter/NumberOfRules.astro new file mode 100644 index 000000000..ca2b888d5 --- /dev/null +++ b/src/components/generated/linter/NumberOfRules.astro @@ -0,0 +1,2 @@ + +300 \ No newline at end of file diff --git a/src/components/generated/linter/RecommendedRules.astro b/src/components/generated/linter/RecommendedRules.astro new file mode 100644 index 000000000..0db9efc2c --- /dev/null +++ b/src/components/generated/linter/RecommendedRules.astro @@ -0,0 +1,191 @@ + + \ No newline at end of file diff --git a/src/content/docs/assist/actions/index.mdx b/src/content/docs/assist/actions/index.mdx new file mode 100644 index 000000000..8c7e4dd2d --- /dev/null +++ b/src/content/docs/assist/actions/index.mdx @@ -0,0 +1,35 @@ +--- +# Don't modify this file manually. This file is auto generated from source, and you will lose your changes next time the website is built. +# Head to the `biomejs/biome` repository, and modify the source code in there. + +title: Actions +description: List of available lint actions +--- + + +import RecommendedRules from "@/components/generated/assist/RecommendedRules.astro"; +import { Icon } from "@astrojs/starlight/components"; + +Below the list of rules supported by Biome, divided by group. Here's a legend of the emojis: +- The icon indicates that the rule is part of the recommended rules. +- The icon indicates that the rule provides a code action (fix) that is **safe** to apply. +- The icon indicates that the rule provides a code action (fix) that is **unsafe** to apply. +- The icon indicates that the rule is applied to JavaScript and super languages files. +- The icon indicates that the rule is applied to TypeScript and TSX files. +- The icon indicates that the rule is applied to JSON files. +- The icon indicates that the rule is applied to CSS files. +- The icon indicates that the rule is applied to GraphQL files. + +## Source + +Rules that generate code actions that are safe to apply to the code. +| Rule name | Description | Properties | +| --- | --- | --- | +| [useSortedAttributes](/assist/actions/use-sorted-attributes) | Enforce attribute sorting in JSX elements. | | +| [useSortedKeys](/assist/actions/use-sorted-keys) | Sorts the keys of a JSON object in natural order | | + +## Recommended rules + +The recommended rules are: + + diff --git a/src/content/docs/assist/actions/use-sorted-attributes.mdx b/src/content/docs/assist/actions/use-sorted-attributes.mdx new file mode 100644 index 000000000..f35511c16 --- /dev/null +++ b/src/content/docs/assist/actions/use-sorted-attributes.mdx @@ -0,0 +1,50 @@ +--- +# Don't modify this file manually. This file is auto generated from source, and you will lose your changes next time the website is built. +# Head to the `biomejs/biome` repository, and modify the source code in there. + +title: useSortedAttributes +description: | + Enforce attribute sorting in JSX elements. +--- +import { Tabs, TabItem } from '@astrojs/starlight/components'; + + + +**Since**: `v2.0.0` +:::note +- Diagnostic Category: [`assist/source/useSortedAttributes`](/reference/diagnostics#diagnostic-category) +- Use the code `source.biome.useSortedAttributes` in your LSP-ready IDE to apply this action on save. +::: + +Sources: +- Same as: react/jsx-sort-props + +Enforce attribute sorting in JSX elements. + +This rule checks if the JSX props are sorted in a consistent way. +Props are sorted alphabetically. +This rule will not consider spread props as sortable. +Instead, whenever it encounters a spread prop, it will sort all the +previous non spread props up until the nearest spread prop, if one +exist. +This prevents breaking the override of certain props using spread +props. + +## Examples + +```js +; +``` + +
    code-block.js ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Source action diff:

    1 - <Hello·lastName="Smith"·firstName="John"·/>;
    1+ <Hello·firstName="John"·lastName="Smith"·/>;
    2 2

    + +```js +; +``` + +
    code-block.js ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Source action diff:

    1 - <Hello·lastName="Smith"·firstName="John"·{...this.props}·tel="0000"·address="111·Main·Street"··{...another.props}·lastName="Smith"·/>;
    1+ <Hello·firstName="John"·lastName="Smith"·{...this.props}·tel="0000"·address="111·Main·Street"··{...another.props}·lastName="Smith"·/>;
    2 2

    code-block.js ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Source action diff:

    1 - <Hello·lastName="Smith"·firstName="John"·{...this.props}·tel="0000"·address="111·Main·Street"··{...another.props}·lastName="Smith"·/>;
    1+ <Hello·lastName="Smith"·firstName="John"·{...this.props}·address="111·Main·Street"·tel="0000"··{...another.props}·lastName="Smith"·/>;
    2 2

    + + +
    +
    + diff --git a/src/content/docs/assist/actions/use-sorted-keys.mdx b/src/content/docs/assist/actions/use-sorted-keys.mdx new file mode 100644 index 000000000..a92426903 --- /dev/null +++ b/src/content/docs/assist/actions/use-sorted-keys.mdx @@ -0,0 +1,38 @@ +--- +# Don't modify this file manually. This file is auto generated from source, and you will lose your changes next time the website is built. +# Head to the `biomejs/biome` repository, and modify the source code in there. + +title: useSortedKeys +description: | + Sorts the keys of a JSON object in natural order +--- +import { Tabs, TabItem } from '@astrojs/starlight/components'; + + + +**Since**: `v1.9.0` +:::note +- Diagnostic Category: [`assist/source/useSortedKeys`](/reference/diagnostics#diagnostic-category) +- Use the code `source.biome.useSortedKeys` in your LSP-ready IDE to apply this action on save. +::: + +Sorts the keys of a JSON object in natural order + +## Examples + +```json +{ + "vase": "fancy", + "nested": { + "omega": "bar", + "alpha": "foo" + } +} +``` + +
    code-block.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Source action diff:

    1 1 {
    2 - ····"vase":·"fancy",
    3 - ····"nested":·{
    2+ ····"nested":·{
    4 3 "omega": "bar",
    5 4 "alpha": "foo"
    6 - ····}
    5+ ····},
    6+ ····"vase":·"fancy"
    7 7 }
    8 8

    code-block.json ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Source action diff:

    2 2 "vase": "fancy",
    3 3 "nested": {
    4 - ········"omega":·"bar",
    5 - ········"alpha":·"foo"
    4+ ········"alpha":·"foo",
    5+ ········"omega":·"bar"
    6 6 }
    7 7 }

    + + +
    +
    + diff --git a/src/content/docs/assist/index.mdx b/src/content/docs/assist/index.mdx new file mode 100644 index 000000000..959ac75e8 --- /dev/null +++ b/src/content/docs/assist/index.mdx @@ -0,0 +1,40 @@ +--- +title: Assist +description: Learn about Biome assist +--- + +import NumberOfRules from "@/components/generated/assist/NumberOfRules.astro"; +import PackageManagerBiomeCommand from "@/components/PackageManagerBiomeCommand.astro"; + +Biome assist offers a series of actions (or rules) meant to improve code quality and DX of the users. + +Contrary to linter rules, assist actions are meant for editors and IDEs, and they can include things like sorting of properties or fields, simplification of binary expressions and more. The assist has **[ actions](/assist/actions)**. + +Assist actions are very close [LSP code actions](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#codeActionKind) in semantics. + +Biome assist is enabled by default. In the following example, you can enable the assist and enable the action `useSortedKeys`: + +```json title="biome.json" +{ + "assist": { + "enabled": true, + "actions": { + "source": { + "useSortedKeys": "on" + } + } + } +} +``` + +Assist actions **don't** emit diagnostics in the editor, but they can + +## Enforce assist actions via CLI + +Assist actions can be enforced via CLI via `check` command: + + + +However, the `check` is meant for running multiple tools at once, so if you want to check only the assist actions, you should run: + + \ No newline at end of file diff --git a/src/content/docs/assist/rules-sources.mdx b/src/content/docs/assist/rules-sources.mdx new file mode 100644 index 000000000..5d9cb166a --- /dev/null +++ b/src/content/docs/assist/rules-sources.mdx @@ -0,0 +1,19 @@ +--- +# Don't modify this file manually. This file is auto generated from source, and you will lose your changes next time the website is built. +# Head to the `biomejs/biome` repository, and modify the source code in there. + + +title: Rules sources +description: A page that maps lint rules from other sources to Biome +--- + +## Biome exclusive rules +- [useSortedKeys](/linter/rules/use-sorted-keys) +## Rules from other sources +:::note +Some **Biome** rules might **not** have options, compared to the original rule. +::: +### eslint-plugin-react +| eslint-plugin-react rule name | Biome rule name | +| ---- | ---- | +| [jsx-sort-props](https://github.com/jsx-eslint/eslint-plugin-react/blob/master/docs/rules/jsx-sort-props.md) |[useSortedAttributes](/linter/rules/use-sorted-attributes) | diff --git a/src/content/docs/index.mdx b/src/content/docs/index.mdx index 8f80a2348..eabde7c2d 100644 --- a/src/content/docs/index.mdx +++ b/src/content/docs/index.mdx @@ -40,7 +40,7 @@ import "@/styles/_community.css"; import Netlify from "@/components/Netlify.astro"; import Sponsors from "@/components/Sponsors.astro"; import LinterExample from "@/components/linter/example.md"; -import NumberOfRules from "@/components/generated/NumberOfRules.astro"; +import NumberOfRules from "@/components/generated/linter/NumberOfRules.astro";
    diff --git a/src/content/docs/ja/linter/index.mdx b/src/content/docs/ja/linter/index.mdx index ae86a6843..dcc629987 100644 --- a/src/content/docs/ja/linter/index.mdx +++ b/src/content/docs/ja/linter/index.mdx @@ -3,8 +3,8 @@ title: Linter description: Biome linter の使い方について。 --- -import NumberOfRules from "@/components/generated/NumberOfRules.astro"; -import RecommendedRules from "@/components/generated/RecommendedRules.astro"; +import NumberOfRules from "@/components/generated/linter/NumberOfRules.astro"; +import RecommendedRules from "@/components/generated/linter/RecommendedRules.astro"; Biomeのlinterはあなたのコードを静的に分析し、典型的なエラーを検出して、より自然なコードを書く手助けをします。 [複数の言語](/internals/language-support)をサポートし、全部で[** 個のルール**](/linter/rules/)を提供しています。 diff --git a/src/content/docs/ja/reference/configuration.mdx b/src/content/docs/ja/reference/configuration.mdx index 0b27e0905..2553b65dc 100644 --- a/src/content/docs/ja/reference/configuration.mdx +++ b/src/content/docs/ja/reference/configuration.mdx @@ -3,7 +3,7 @@ title: 設定 description: biome.jsonを使用してBiomeをカスタマイズおよび設定する方法 --- -import LintGroups from "@/components/generated/Groups.astro"; +import LintGroups from "@/components/generated/linter/Groups.astro"; {/** 設定のタイトルを変更する際は、static/_redirects 内のリダイレクトも忘れずに更新してください。 --> **/} @@ -387,11 +387,11 @@ Unixシェル形式のパターンのリストで指定します。 このオプションは廃止されました。代わりに [`formatter.indentWidth`](#formatterindentwidth) を使用してください。
    -廃止されました + 廃止されました -インデントのサイズを指定します。 + インデントのサイズを指定します。 -> デフォルト: `2` + > デフォルト: `2`
    @@ -527,14 +527,14 @@ JSXの文字列リテラルを表現する際に使用する引用符の種類 このオプションは廃止されました。代わりに [`javascript.formatter.trailingCommas`](#javascriptformattertrailingcommas) を使用してください。
    -廃止されました + 廃止されました -複数行のカンマ区切りの構文構造で、可能な限り末尾カンマを追加します。可能な値は次の通りです。 -- `"all"`: 末尾カンマが常に追加されます。 -- `"es5"`: 末尾カンマが、古いバージョンのJavaScriptでサポートされている場所にのみ追加されます。 -- `"none"`: 末尾カンマは決して追加されません。 + 複数行のカンマ区切りの構文構造で、可能な限り末尾カンマを追加します。可能な値は次の通りです。 + - `"all"`: 末尾カンマが常に追加されます。 + - `"es5"`: 末尾カンマが、古いバージョンのJavaScriptでサポートされている場所にのみ追加されます。 + - `"none"`: 末尾カンマは決して追加されません。 -> デフォルト: `"all"` + > デフォルト: `"all"`
    @@ -593,11 +593,11 @@ JavaScript(およびその拡張言語)ファイルのインデントスタ このオプションは廃止されました。代わりに [`javascript.formatter.indentWidth`](#javascriptformatterindentwidth) を使用してください。
    -廃止されました + 廃止されました -JavaScript(およびその拡張言語)ファイルのインデントサイズを指定します。 + JavaScript(およびその拡張言語)ファイルのインデントサイズを指定します。 -> デフォルト: `2` + > デフォルト: `2`
    @@ -741,11 +741,11 @@ JSON(およびその拡張言語)ファイルのインデントスタイル このオプションは廃止されました。代わりに [`json.formatter.indentWidth`](#jsonformatterindentwidth) を使用してください。
    -廃止されました + 廃止されました -JSON(およびその拡張言語)ファイルのインデントサイズを指定します。 + JSON(およびその拡張言語)ファイルのインデントサイズを指定します。 -> デフォルト: `2` + > デフォルト: `2`
    diff --git a/src/content/docs/linter/index.mdx b/src/content/docs/linter/index.mdx index 63a41f010..3bf68f6c0 100644 --- a/src/content/docs/linter/index.mdx +++ b/src/content/docs/linter/index.mdx @@ -3,13 +3,40 @@ title: Linter description: How to use the Biome linter. --- -import NumberOfRules from "@/components/generated/NumberOfRules.astro"; +import NumberOfRules from "@/components/generated/linter/NumberOfRules.astro"; import PackageManagerBiomeCommand from "@/components/PackageManagerBiomeCommand.astro"; Biome's linter statically analyzes your code to find and fix common errors and to help you write better, modern code. It [supports multiple languages](/internals/language-support) and provides a total of [** rules**](/linter/rules/). +## CLI + +The following command runs the linter on all files from the root of your project: + + + +Or you can specify a folder, for example `./src` + + + +The command accepts a list of files and directories. + +:::caution +If you pass a glob as a parameter, your shell will expand it. +The result of the expansion depends on your shell. +For example, some shells don't support the recursive glob `**` or the alternation `{}` in the following command: + +```shell +biome lint ./src/**/*.test.{js,ts} +``` + +Shell expansion has a performance cost and a limit on the number of files you can pass to the command. +::: + +For more information about all the available options, check the [CLI reference](/reference/cli#biome-lint). + + ## Rules The linter is organized into rules. @@ -73,28 +100,6 @@ If a code action is not applicable a note should tell the user what they should If you think a rule doesn't follow these pillars, please [open an issue](https://github.com/biomejs/biome/issues/new?assignees=&labels=S-To+triage&projects=&template=01_bug.yml&title=%F0%9F%90%9B+%3CTITLE%3E). -## CLI - -The following command runs the linter on all files in the `src` directory: - - - -The command accepts a list of files and directories. - -:::caution -If you pass a glob as a parameter, your shell will expand it. -The result of the expansion depends on your shell. -For example, some shells don't support the recursive glob `**` or the alternation `{}` in the following command: - -```shell -biome lint ./src/**/*.test.{js,ts} -``` - -Shell expansion has a performance cost and a limit on the number of files you can pass to the command. -::: - -For more information about all the available options, check the [CLI reference](/reference/cli#biome-lint). - ### Skip a rule or a group Since version **v1.8.0**, the command `biome lint` accepts an option `--skip` that allows to disable a rule or rules that belong to a group. diff --git a/src/content/docs/linter/rules/index.mdx b/src/content/docs/linter/rules/index.mdx index aceadb247..5419cfaf5 100644 --- a/src/content/docs/linter/rules/index.mdx +++ b/src/content/docs/linter/rules/index.mdx @@ -3,11 +3,11 @@ # Head to the `biomejs/biome` repository, and modify the source code in there. title: Rules -description: List of available lint rules. +description: List of available lint rules --- -import RecommendedRules from "@/components/generated/RecommendedRules.astro"; +import RecommendedRules from "@/components/generated/linter/RecommendedRules.astro"; import { Icon } from "@astrojs/starlight/components"; Below the list of rules supported by Biome, divided by group. Here's a legend of the emojis: @@ -313,8 +313,8 @@ Rules that detect code that is likely to be incorrect or useless. | [noDuplicateClassMembers](/linter/rules/no-duplicate-class-members) | Disallow duplicate class members. | | | [noDuplicateFontNames](/linter/rules/no-duplicate-font-names) | Disallow duplicate names within font families. | | | [noDuplicateJsxProps](/linter/rules/no-duplicate-jsx-props) | Prevents JSX properties to be assigned multiple times. | | -| [noDuplicateObjectKeys](/linter/rules/no-duplicate-object-keys) | Disallow two keys with the same name inside objects. | | | [noDuplicateObjectKeys](/linter/rules/no-duplicate-object-keys) | Disallow two keys with the same name inside objects. | | +| [noDuplicateObjectKeys](/linter/rules/no-duplicate-object-keys) | Disallow two keys with the same name inside objects. | | | [noDuplicateParameters](/linter/rules/no-duplicate-parameters) | Disallow duplicate function parameter name. | | | [noDuplicateSelectorsKeyframeBlock](/linter/rules/no-duplicate-selectors-keyframe-block) | Disallow duplicate selectors within keyframe blocks. | | | [noDuplicateTestHooks](/linter/rules/no-duplicate-test-hooks) | A `describe` block should not contain duplicate hooks. | | diff --git a/src/content/docs/linter/rules/no-access-key.mdx b/src/content/docs/linter/rules/no-access-key.mdx index 7ef91bb24..e4d7435cf 100644 --- a/src/content/docs/linter/rules/no-access-key.mdx +++ b/src/content/docs/linter/rules/no-access-key.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/noAccessKey`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/noAccessKey`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-accumulating-spread.mdx b/src/content/docs/linter/rules/no-accumulating-spread.mdx index be8155e1f..2e6f9d1c3 100644 --- a/src/content/docs/linter/rules/no-accumulating-spread.mdx +++ b/src/content/docs/linter/rules/no-accumulating-spread.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/performance/noAccumulatingSpread`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/performance/noAccumulatingSpread`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Disallow the use of spread (`...`) syntax on accumulators. diff --git a/src/content/docs/linter/rules/no-approximative-numeric-constant.mdx b/src/content/docs/linter/rules/no-approximative-numeric-constant.mdx index 5241348df..686e9ddff 100644 --- a/src/content/docs/linter/rules/no-approximative-numeric-constant.mdx +++ b/src/content/docs/linter/rules/no-approximative-numeric-constant.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noApproximativeNumericConstant`** **Since**: `v1.3.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noApproximativeNumericConstant`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-arguments.mdx b/src/content/docs/linter/rules/no-arguments.mdx index 5430d0178..7dc934b55 100644 --- a/src/content/docs/linter/rules/no-arguments.mdx +++ b/src/content/docs/linter/rules/no-arguments.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/noArguments`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/style/noArguments`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-aria-hidden-on-focusable.mdx b/src/content/docs/linter/rules/no-aria-hidden-on-focusable.mdx index 326e8cf70..fb0b22b82 100644 --- a/src/content/docs/linter/rules/no-aria-hidden-on-focusable.mdx +++ b/src/content/docs/linter/rules/no-aria-hidden-on-focusable.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/noAriaHiddenOnFocusable`** **Since**: `v1.4.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/noAriaHiddenOnFocusable`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-aria-unsupported-elements.mdx b/src/content/docs/linter/rules/no-aria-unsupported-elements.mdx index 87934d0ee..78ad84a2b 100644 --- a/src/content/docs/linter/rules/no-aria-unsupported-elements.mdx +++ b/src/content/docs/linter/rules/no-aria-unsupported-elements.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/noAriaUnsupportedElements`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/noAriaUnsupportedElements`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-array-index-key.mdx b/src/content/docs/linter/rules/no-array-index-key.mdx index 881882c1a..a44bd4c8f 100644 --- a/src/content/docs/linter/rules/no-array-index-key.mdx +++ b/src/content/docs/linter/rules/no-array-index-key.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noArrayIndexKey`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noArrayIndexKey`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-assign-in-expressions.mdx b/src/content/docs/linter/rules/no-assign-in-expressions.mdx index 9af1253ad..67f8f75ea 100644 --- a/src/content/docs/linter/rules/no-assign-in-expressions.mdx +++ b/src/content/docs/linter/rules/no-assign-in-expressions.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noAssignInExpressions`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noAssignInExpressions`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-async-promise-executor.mdx b/src/content/docs/linter/rules/no-async-promise-executor.mdx index 02c2fb686..97cdf1752 100644 --- a/src/content/docs/linter/rules/no-async-promise-executor.mdx +++ b/src/content/docs/linter/rules/no-async-promise-executor.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noAsyncPromiseExecutor`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noAsyncPromiseExecutor`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-autofocus.mdx b/src/content/docs/linter/rules/no-autofocus.mdx index 06b4804c2..498b2f280 100644 --- a/src/content/docs/linter/rules/no-autofocus.mdx +++ b/src/content/docs/linter/rules/no-autofocus.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/noAutofocus`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/noAutofocus`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-banned-types.mdx b/src/content/docs/linter/rules/no-banned-types.mdx index 916c29193..49eee1efe 100644 --- a/src/content/docs/linter/rules/no-banned-types.mdx +++ b/src/content/docs/linter/rules/no-banned-types.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/noBannedTypes`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/noBannedTypes`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-barrel-file.mdx b/src/content/docs/linter/rules/no-barrel-file.mdx index 1e5b24cbd..33e1ca910 100644 --- a/src/content/docs/linter/rules/no-barrel-file.mdx +++ b/src/content/docs/linter/rules/no-barrel-file.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/performance/noBarrelFile`** **Since**: `v1.6.0` + Sources: - Inspired from: barrel-files/avoid-barrel-files diff --git a/src/content/docs/linter/rules/no-blank-target.mdx b/src/content/docs/linter/rules/no-blank-target.mdx index df8676505..4157c53e0 100644 --- a/src/content/docs/linter/rules/no-blank-target.mdx +++ b/src/content/docs/linter/rules/no-blank-target.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/noBlankTarget`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/noBlankTarget`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-catch-assign.mdx b/src/content/docs/linter/rules/no-catch-assign.mdx index 6ea6246a0..7f2719200 100644 --- a/src/content/docs/linter/rules/no-catch-assign.mdx +++ b/src/content/docs/linter/rules/no-catch-assign.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noCatchAssign`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noCatchAssign`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-children-prop.mdx b/src/content/docs/linter/rules/no-children-prop.mdx index 7f30bc76f..c98027bee 100644 --- a/src/content/docs/linter/rules/no-children-prop.mdx +++ b/src/content/docs/linter/rules/no-children-prop.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noChildrenProp`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noChildrenProp`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-class-assign.mdx b/src/content/docs/linter/rules/no-class-assign.mdx index 7491feced..e97edc1d0 100644 --- a/src/content/docs/linter/rules/no-class-assign.mdx +++ b/src/content/docs/linter/rules/no-class-assign.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noClassAssign`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noClassAssign`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-comma-operator.mdx b/src/content/docs/linter/rules/no-comma-operator.mdx index b5ff35c7c..c390d38a4 100644 --- a/src/content/docs/linter/rules/no-comma-operator.mdx +++ b/src/content/docs/linter/rules/no-comma-operator.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/noCommaOperator`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/style/noCommaOperator`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-comment-text.mdx b/src/content/docs/linter/rules/no-comment-text.mdx index 3b28b2928..a63ac7534 100644 --- a/src/content/docs/linter/rules/no-comment-text.mdx +++ b/src/content/docs/linter/rules/no-comment-text.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noCommentText`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noCommentText`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-common-js.mdx b/src/content/docs/linter/rules/no-common-js.mdx index 457404c84..c698e4819 100644 --- a/src/content/docs/linter/rules/no-common-js.mdx +++ b/src/content/docs/linter/rules/no-common-js.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noCommonJs`** **Since**: `v1.9.0` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-compare-neg-zero.mdx b/src/content/docs/linter/rules/no-compare-neg-zero.mdx index 98bbf01aa..7a7a9172f 100644 --- a/src/content/docs/linter/rules/no-compare-neg-zero.mdx +++ b/src/content/docs/linter/rules/no-compare-neg-zero.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noCompareNegZero`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noCompareNegZero`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-confusing-labels.mdx b/src/content/docs/linter/rules/no-confusing-labels.mdx index 657e820e4..4290d843c 100644 --- a/src/content/docs/linter/rules/no-confusing-labels.mdx +++ b/src/content/docs/linter/rules/no-confusing-labels.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noConfusingLabels`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noConfusingLabels`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-confusing-void-type.mdx b/src/content/docs/linter/rules/no-confusing-void-type.mdx index 271943264..9eb375ba7 100644 --- a/src/content/docs/linter/rules/no-confusing-void-type.mdx +++ b/src/content/docs/linter/rules/no-confusing-void-type.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noConfusingVoidType`** **Since**: `v1.2.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noConfusingVoidType`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-console-log.mdx b/src/content/docs/linter/rules/no-console-log.mdx index 2aef0e3bf..ac137e038 100644 --- a/src/content/docs/linter/rules/no-console-log.mdx +++ b/src/content/docs/linter/rules/no-console-log.mdx @@ -8,7 +8,6 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noConsoleLog`** :::caution[Deprecated] @@ -17,6 +16,7 @@ This rule is deprecated and will be removed in the next major release. ::: **Since**: `v1.0.0` :::note +- Diagnostic Category: [`lint/suspicious/noConsoleLog`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-console.mdx b/src/content/docs/linter/rules/no-console.mdx index e3582f56b..64d88159a 100644 --- a/src/content/docs/linter/rules/no-console.mdx +++ b/src/content/docs/linter/rules/no-console.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noConsole`** **Since**: `v1.6.0` :::note +- Diagnostic Category: [`lint/suspicious/noConsole`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-const-assign.mdx b/src/content/docs/linter/rules/no-const-assign.mdx index 6ef894cd0..2f392e2a9 100644 --- a/src/content/docs/linter/rules/no-const-assign.mdx +++ b/src/content/docs/linter/rules/no-const-assign.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noConstAssign`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noConstAssign`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-const-enum.mdx b/src/content/docs/linter/rules/no-const-enum.mdx index 97be572e0..1e080913d 100644 --- a/src/content/docs/linter/rules/no-const-enum.mdx +++ b/src/content/docs/linter/rules/no-const-enum.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noConstEnum`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noConstEnum`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-constant-condition.mdx b/src/content/docs/linter/rules/no-constant-condition.mdx index 786b5b1b0..16595664b 100644 --- a/src/content/docs/linter/rules/no-constant-condition.mdx +++ b/src/content/docs/linter/rules/no-constant-condition.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noConstantCondition`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noConstantCondition`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-constant-math-min-max-clamp.mdx b/src/content/docs/linter/rules/no-constant-math-min-max-clamp.mdx index 297d2b346..824e7325e 100644 --- a/src/content/docs/linter/rules/no-constant-math-min-max-clamp.mdx +++ b/src/content/docs/linter/rules/no-constant-math-min-max-clamp.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noConstantMathMinMaxClamp`** **Since**: `v1.7.0` :::note +- Diagnostic Category: [`lint/correctness/noConstantMathMinMaxClamp`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-constructor-return.mdx b/src/content/docs/linter/rules/no-constructor-return.mdx index 52e45ab2b..778ae9e80 100644 --- a/src/content/docs/linter/rules/no-constructor-return.mdx +++ b/src/content/docs/linter/rules/no-constructor-return.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noConstructorReturn`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noConstructorReturn`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-control-characters-in-regex.mdx b/src/content/docs/linter/rules/no-control-characters-in-regex.mdx index 8abbc74b9..a5c817021 100644 --- a/src/content/docs/linter/rules/no-control-characters-in-regex.mdx +++ b/src/content/docs/linter/rules/no-control-characters-in-regex.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noControlCharactersInRegex`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noControlCharactersInRegex`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-dangerously-set-inner-html-with-children.mdx b/src/content/docs/linter/rules/no-dangerously-set-inner-html-with-children.mdx index b48350a3b..94cb3d678 100644 --- a/src/content/docs/linter/rules/no-dangerously-set-inner-html-with-children.mdx +++ b/src/content/docs/linter/rules/no-dangerously-set-inner-html-with-children.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/security/noDangerouslySetInnerHtmlWithChildren`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/security/noDangerouslySetInnerHtmlWithChildren`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-dangerously-set-inner-html.mdx b/src/content/docs/linter/rules/no-dangerously-set-inner-html.mdx index c1776a705..249199180 100644 --- a/src/content/docs/linter/rules/no-dangerously-set-inner-html.mdx +++ b/src/content/docs/linter/rules/no-dangerously-set-inner-html.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/security/noDangerouslySetInnerHtml`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/security/noDangerouslySetInnerHtml`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-debugger.mdx b/src/content/docs/linter/rules/no-debugger.mdx index 82d00d581..99ab8dfd2 100644 --- a/src/content/docs/linter/rules/no-debugger.mdx +++ b/src/content/docs/linter/rules/no-debugger.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noDebugger`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noDebugger`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-default-export.mdx b/src/content/docs/linter/rules/no-default-export.mdx index 757713e50..eccf80f55 100644 --- a/src/content/docs/linter/rules/no-default-export.mdx +++ b/src/content/docs/linter/rules/no-default-export.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/noDefaultExport`** **Since**: `v1.4.0` + Sources: - Same as: import/no-default-export diff --git a/src/content/docs/linter/rules/no-delete.mdx b/src/content/docs/linter/rules/no-delete.mdx index 74058d0f9..197df2702 100644 --- a/src/content/docs/linter/rules/no-delete.mdx +++ b/src/content/docs/linter/rules/no-delete.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/performance/noDelete`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/performance/noDelete`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-descending-specificity.mdx b/src/content/docs/linter/rules/no-descending-specificity.mdx index 78992d7dd..4e242631c 100644 --- a/src/content/docs/linter/rules/no-descending-specificity.mdx +++ b/src/content/docs/linter/rules/no-descending-specificity.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noDescendingSpecificity`** **Since**: `v1.9.3` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-distracting-elements.mdx b/src/content/docs/linter/rules/no-distracting-elements.mdx index 637fbc6e3..3b08f1c01 100644 --- a/src/content/docs/linter/rules/no-distracting-elements.mdx +++ b/src/content/docs/linter/rules/no-distracting-elements.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/noDistractingElements`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/noDistractingElements`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-document-cookie.mdx b/src/content/docs/linter/rules/no-document-cookie.mdx index f940c6f40..4375165ac 100644 --- a/src/content/docs/linter/rules/no-document-cookie.mdx +++ b/src/content/docs/linter/rules/no-document-cookie.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noDocumentCookie`** **Since**: `v1.9.4` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-document-import-in-page.mdx b/src/content/docs/linter/rules/no-document-import-in-page.mdx index be30dae28..c805cc0bf 100644 --- a/src/content/docs/linter/rules/no-document-import-in-page.mdx +++ b/src/content/docs/linter/rules/no-document-import-in-page.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noDocumentImportInPage`** **Since**: `v1.9.4` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-done-callback.mdx b/src/content/docs/linter/rules/no-done-callback.mdx index ccbbdc2cf..17c75c104 100644 --- a/src/content/docs/linter/rules/no-done-callback.mdx +++ b/src/content/docs/linter/rules/no-done-callback.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/noDoneCallback`** **Since**: `v1.6.1` + Sources: - Same as: jest/no-done-callback diff --git a/src/content/docs/linter/rules/no-double-equals.mdx b/src/content/docs/linter/rules/no-double-equals.mdx index d87ec97ac..0c8094165 100644 --- a/src/content/docs/linter/rules/no-double-equals.mdx +++ b/src/content/docs/linter/rules/no-double-equals.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noDoubleEquals`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noDoubleEquals`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-duplicate-at-import-rules.mdx b/src/content/docs/linter/rules/no-duplicate-at-import-rules.mdx index 2e5701dfa..19a192d38 100644 --- a/src/content/docs/linter/rules/no-duplicate-at-import-rules.mdx +++ b/src/content/docs/linter/rules/no-duplicate-at-import-rules.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noDuplicateAtImportRules`** **Since**: `v1.8.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noDuplicateAtImportRules`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-duplicate-case.mdx b/src/content/docs/linter/rules/no-duplicate-case.mdx index 19ccf6ff4..91f441e52 100644 --- a/src/content/docs/linter/rules/no-duplicate-case.mdx +++ b/src/content/docs/linter/rules/no-duplicate-case.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noDuplicateCase`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noDuplicateCase`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-duplicate-class-members.mdx b/src/content/docs/linter/rules/no-duplicate-class-members.mdx index 3dfb581ed..ca3de00f1 100644 --- a/src/content/docs/linter/rules/no-duplicate-class-members.mdx +++ b/src/content/docs/linter/rules/no-duplicate-class-members.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noDuplicateClassMembers`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noDuplicateClassMembers`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-duplicate-custom-properties.mdx b/src/content/docs/linter/rules/no-duplicate-custom-properties.mdx index 1452186f5..fb679550e 100644 --- a/src/content/docs/linter/rules/no-duplicate-custom-properties.mdx +++ b/src/content/docs/linter/rules/no-duplicate-custom-properties.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noDuplicateCustomProperties`** **Since**: `v1.9.0` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-duplicate-else-if.mdx b/src/content/docs/linter/rules/no-duplicate-else-if.mdx index dbce10233..586f0698e 100644 --- a/src/content/docs/linter/rules/no-duplicate-else-if.mdx +++ b/src/content/docs/linter/rules/no-duplicate-else-if.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noDuplicateElseIf`** **Since**: `v1.6.2` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-duplicate-font-names.mdx b/src/content/docs/linter/rules/no-duplicate-font-names.mdx index 272da53e7..7696d2747 100644 --- a/src/content/docs/linter/rules/no-duplicate-font-names.mdx +++ b/src/content/docs/linter/rules/no-duplicate-font-names.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noDuplicateFontNames`** **Since**: `v1.8.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noDuplicateFontNames`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-duplicate-jsx-props.mdx b/src/content/docs/linter/rules/no-duplicate-jsx-props.mdx index cb06fb6a4..0fc46f735 100644 --- a/src/content/docs/linter/rules/no-duplicate-jsx-props.mdx +++ b/src/content/docs/linter/rules/no-duplicate-jsx-props.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noDuplicateJsxProps`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noDuplicateJsxProps`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-duplicate-object-keys.mdx b/src/content/docs/linter/rules/no-duplicate-object-keys.mdx index 0395d5ea6..b7a9e6cb2 100644 --- a/src/content/docs/linter/rules/no-duplicate-object-keys.mdx +++ b/src/content/docs/linter/rules/no-duplicate-object-keys.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noDuplicateObjectKeys`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noDuplicateObjectKeys`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: @@ -72,7 +72,8 @@ const obj = { **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noDuplicateObjectKeys`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Disallow two keys with the same name inside objects. diff --git a/src/content/docs/linter/rules/no-duplicate-parameters.mdx b/src/content/docs/linter/rules/no-duplicate-parameters.mdx index aeddf0566..39683f584 100644 --- a/src/content/docs/linter/rules/no-duplicate-parameters.mdx +++ b/src/content/docs/linter/rules/no-duplicate-parameters.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noDuplicateParameters`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noDuplicateParameters`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-duplicate-properties.mdx b/src/content/docs/linter/rules/no-duplicate-properties.mdx index e610736c1..2bccd3556 100644 --- a/src/content/docs/linter/rules/no-duplicate-properties.mdx +++ b/src/content/docs/linter/rules/no-duplicate-properties.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noDuplicateProperties`** **Since**: `v1.9.4` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-duplicate-selectors-keyframe-block.mdx b/src/content/docs/linter/rules/no-duplicate-selectors-keyframe-block.mdx index f6b76fc0c..b6335ef25 100644 --- a/src/content/docs/linter/rules/no-duplicate-selectors-keyframe-block.mdx +++ b/src/content/docs/linter/rules/no-duplicate-selectors-keyframe-block.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noDuplicateSelectorsKeyframeBlock`** **Since**: `v1.8.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noDuplicateSelectorsKeyframeBlock`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-duplicate-test-hooks.mdx b/src/content/docs/linter/rules/no-duplicate-test-hooks.mdx index ca1cd9499..ade523cec 100644 --- a/src/content/docs/linter/rules/no-duplicate-test-hooks.mdx +++ b/src/content/docs/linter/rules/no-duplicate-test-hooks.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noDuplicateTestHooks`** **Since**: `v1.6.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noDuplicateTestHooks`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-duplicated-fields.mdx b/src/content/docs/linter/rules/no-duplicated-fields.mdx index 3744d1a97..25dda2034 100644 --- a/src/content/docs/linter/rules/no-duplicated-fields.mdx +++ b/src/content/docs/linter/rules/no-duplicated-fields.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noDuplicatedFields`** **Since**: `v1.9.0` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: @@ -33,7 +33,7 @@ query test($v: String, $t: String, $v: String) { } ``` -
    +
    code-block.graphql:1:36 lint/nursery/noDuplicatedFields ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Variable `v` defined multiple times.

    > 1 │ query test($v: String, $t: String, $v: String) {
    ^^^^^^^^^^
    2 │ id
    3 │ }

    Remove the duplicated variable.

    ### Valid diff --git a/src/content/docs/linter/rules/no-dynamic-namespace-import-access.mdx b/src/content/docs/linter/rules/no-dynamic-namespace-import-access.mdx index 07c498b7c..a0f243469 100644 --- a/src/content/docs/linter/rules/no-dynamic-namespace-import-access.mdx +++ b/src/content/docs/linter/rules/no-dynamic-namespace-import-access.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noDynamicNamespaceImportAccess`** **Since**: `v1.9.0` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-empty-block-statements.mdx b/src/content/docs/linter/rules/no-empty-block-statements.mdx index 5dae086f6..da899f290 100644 --- a/src/content/docs/linter/rules/no-empty-block-statements.mdx +++ b/src/content/docs/linter/rules/no-empty-block-statements.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noEmptyBlockStatements`** **Since**: `v1.3.0` + Sources: - Same as: no-empty - Same as: no-empty-static-block diff --git a/src/content/docs/linter/rules/no-empty-block.mdx b/src/content/docs/linter/rules/no-empty-block.mdx index 4a18bc1a3..ace1dda2d 100644 --- a/src/content/docs/linter/rules/no-empty-block.mdx +++ b/src/content/docs/linter/rules/no-empty-block.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noEmptyBlock`** **Since**: `v1.8.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noEmptyBlock`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-empty-character-class-in-regex.mdx b/src/content/docs/linter/rules/no-empty-character-class-in-regex.mdx index 892f36214..be51c018f 100644 --- a/src/content/docs/linter/rules/no-empty-character-class-in-regex.mdx +++ b/src/content/docs/linter/rules/no-empty-character-class-in-regex.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noEmptyCharacterClassInRegex`** **Since**: `v1.3.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noEmptyCharacterClassInRegex`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-empty-interface.mdx b/src/content/docs/linter/rules/no-empty-interface.mdx index 4dd6ffc4a..4b7809caa 100644 --- a/src/content/docs/linter/rules/no-empty-interface.mdx +++ b/src/content/docs/linter/rules/no-empty-interface.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noEmptyInterface`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noEmptyInterface`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-empty-pattern.mdx b/src/content/docs/linter/rules/no-empty-pattern.mdx index 68791b4a4..48f7cb6cc 100644 --- a/src/content/docs/linter/rules/no-empty-pattern.mdx +++ b/src/content/docs/linter/rules/no-empty-pattern.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noEmptyPattern`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noEmptyPattern`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-empty-type-parameters.mdx b/src/content/docs/linter/rules/no-empty-type-parameters.mdx index f6847c885..eff950c7d 100644 --- a/src/content/docs/linter/rules/no-empty-type-parameters.mdx +++ b/src/content/docs/linter/rules/no-empty-type-parameters.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/noEmptyTypeParameters`** **Since**: `v1.5.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/noEmptyTypeParameters`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Disallow empty type parameters in type aliases and interfaces. diff --git a/src/content/docs/linter/rules/no-enum.mdx b/src/content/docs/linter/rules/no-enum.mdx index 44732e941..36cc17669 100644 --- a/src/content/docs/linter/rules/no-enum.mdx +++ b/src/content/docs/linter/rules/no-enum.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noEnum`** **Since**: `v1.9.0` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-evolving-types.mdx b/src/content/docs/linter/rules/no-evolving-types.mdx index b85ca76fa..c7a145200 100644 --- a/src/content/docs/linter/rules/no-evolving-types.mdx +++ b/src/content/docs/linter/rules/no-evolving-types.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noEvolvingTypes`** **Since**: `v1.6.3` + Disallow variables from evolving into `any` type through reassignments. In TypeScript, variables without explicit type annotations can evolve their types based on subsequent assignments. diff --git a/src/content/docs/linter/rules/no-excessive-cognitive-complexity.mdx b/src/content/docs/linter/rules/no-excessive-cognitive-complexity.mdx index 9613eaae5..0f3547bcd 100644 --- a/src/content/docs/linter/rules/no-excessive-cognitive-complexity.mdx +++ b/src/content/docs/linter/rules/no-excessive-cognitive-complexity.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/noExcessiveCognitiveComplexity`** **Since**: `v1.0.0` + Sources: - Same as: sonarjs/cognitive-complexity diff --git a/src/content/docs/linter/rules/no-excessive-nested-test-suites.mdx b/src/content/docs/linter/rules/no-excessive-nested-test-suites.mdx index fbcfcab75..2382d0383 100644 --- a/src/content/docs/linter/rules/no-excessive-nested-test-suites.mdx +++ b/src/content/docs/linter/rules/no-excessive-nested-test-suites.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/noExcessiveNestedTestSuites`** **Since**: `v1.6.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/noExcessiveNestedTestSuites`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-explicit-any.mdx b/src/content/docs/linter/rules/no-explicit-any.mdx index 854552320..543974a2c 100644 --- a/src/content/docs/linter/rules/no-explicit-any.mdx +++ b/src/content/docs/linter/rules/no-explicit-any.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noExplicitAny`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noExplicitAny`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-exported-imports.mdx b/src/content/docs/linter/rules/no-exported-imports.mdx index 5d6c0efec..95383fcac 100644 --- a/src/content/docs/linter/rules/no-exported-imports.mdx +++ b/src/content/docs/linter/rules/no-exported-imports.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noExportedImports`** **Since**: `v1.9.0` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-exports-in-test.mdx b/src/content/docs/linter/rules/no-exports-in-test.mdx index bd2ffabc8..368679a59 100644 --- a/src/content/docs/linter/rules/no-exports-in-test.mdx +++ b/src/content/docs/linter/rules/no-exports-in-test.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noExportsInTest`** **Since**: `v1.6.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noExportsInTest`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-extra-boolean-cast.mdx b/src/content/docs/linter/rules/no-extra-boolean-cast.mdx index 364f59b79..a51ec52c7 100644 --- a/src/content/docs/linter/rules/no-extra-boolean-cast.mdx +++ b/src/content/docs/linter/rules/no-extra-boolean-cast.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/noExtraBooleanCast`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/noExtraBooleanCast`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-extra-non-null-assertion.mdx b/src/content/docs/linter/rules/no-extra-non-null-assertion.mdx index d6c48a505..e72da6bbe 100644 --- a/src/content/docs/linter/rules/no-extra-non-null-assertion.mdx +++ b/src/content/docs/linter/rules/no-extra-non-null-assertion.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noExtraNonNullAssertion`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noExtraNonNullAssertion`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-fallthrough-switch-clause.mdx b/src/content/docs/linter/rules/no-fallthrough-switch-clause.mdx index caa78a04d..7533f35e6 100644 --- a/src/content/docs/linter/rules/no-fallthrough-switch-clause.mdx +++ b/src/content/docs/linter/rules/no-fallthrough-switch-clause.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noFallthroughSwitchClause`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noFallthroughSwitchClause`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-flat-map-identity.mdx b/src/content/docs/linter/rules/no-flat-map-identity.mdx index ef21375dc..cf99c75db 100644 --- a/src/content/docs/linter/rules/no-flat-map-identity.mdx +++ b/src/content/docs/linter/rules/no-flat-map-identity.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noFlatMapIdentity`** **Since**: `v1.7.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noFlatMapIdentity`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-focused-tests.mdx b/src/content/docs/linter/rules/no-focused-tests.mdx index ce17b1fa8..ec0107663 100644 --- a/src/content/docs/linter/rules/no-focused-tests.mdx +++ b/src/content/docs/linter/rules/no-focused-tests.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noFocusedTests`** **Since**: `v1.6.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noFocusedTests`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-for-each.mdx b/src/content/docs/linter/rules/no-for-each.mdx index 1693893f0..0ed72ba87 100644 --- a/src/content/docs/linter/rules/no-for-each.mdx +++ b/src/content/docs/linter/rules/no-for-each.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/noForEach`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/noForEach`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-function-assign.mdx b/src/content/docs/linter/rules/no-function-assign.mdx index bd6f9a7d2..9637687f5 100644 --- a/src/content/docs/linter/rules/no-function-assign.mdx +++ b/src/content/docs/linter/rules/no-function-assign.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noFunctionAssign`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noFunctionAssign`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-global-assign.mdx b/src/content/docs/linter/rules/no-global-assign.mdx index 183aa8798..5af4aabc4 100644 --- a/src/content/docs/linter/rules/no-global-assign.mdx +++ b/src/content/docs/linter/rules/no-global-assign.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noGlobalAssign`** **Since**: `v1.5.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noGlobalAssign`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-global-dirname-filename.mdx b/src/content/docs/linter/rules/no-global-dirname-filename.mdx index 9faba3784..1241958fc 100644 --- a/src/content/docs/linter/rules/no-global-dirname-filename.mdx +++ b/src/content/docs/linter/rules/no-global-dirname-filename.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noGlobalDirnameFilename`** **Since**: `vnext` :::note +- Diagnostic Category: [`lint/nursery/noGlobalDirnameFilename`](/reference/diagnostics#diagnostic-category) - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-global-eval.mdx b/src/content/docs/linter/rules/no-global-eval.mdx index bc75be381..c57d06497 100644 --- a/src/content/docs/linter/rules/no-global-eval.mdx +++ b/src/content/docs/linter/rules/no-global-eval.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/security/noGlobalEval`** **Since**: `v1.5.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/security/noGlobalEval`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-global-is-finite.mdx b/src/content/docs/linter/rules/no-global-is-finite.mdx index 0f91b1b74..f6d46faf9 100644 --- a/src/content/docs/linter/rules/no-global-is-finite.mdx +++ b/src/content/docs/linter/rules/no-global-is-finite.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noGlobalIsFinite`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noGlobalIsFinite`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-global-is-nan.mdx b/src/content/docs/linter/rules/no-global-is-nan.mdx index c63006a95..88495be2f 100644 --- a/src/content/docs/linter/rules/no-global-is-nan.mdx +++ b/src/content/docs/linter/rules/no-global-is-nan.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noGlobalIsNan`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noGlobalIsNan`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-global-object-calls.mdx b/src/content/docs/linter/rules/no-global-object-calls.mdx index 82011d28b..3a62fdfb4 100644 --- a/src/content/docs/linter/rules/no-global-object-calls.mdx +++ b/src/content/docs/linter/rules/no-global-object-calls.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noGlobalObjectCalls`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noGlobalObjectCalls`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-head-element.mdx b/src/content/docs/linter/rules/no-head-element.mdx index c871ebf62..ae2fee27f 100644 --- a/src/content/docs/linter/rules/no-head-element.mdx +++ b/src/content/docs/linter/rules/no-head-element.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noHeadElement`** **Since**: `v1.9.4` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-head-import-in-document.mdx b/src/content/docs/linter/rules/no-head-import-in-document.mdx index ef478f39f..33fefedfb 100644 --- a/src/content/docs/linter/rules/no-head-import-in-document.mdx +++ b/src/content/docs/linter/rules/no-head-import-in-document.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noHeadImportInDocument`** **Since**: `v1.9.4` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-header-scope.mdx b/src/content/docs/linter/rules/no-header-scope.mdx index e4d4e3938..7e9d94b17 100644 --- a/src/content/docs/linter/rules/no-header-scope.mdx +++ b/src/content/docs/linter/rules/no-header-scope.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/noHeaderScope`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/noHeaderScope`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-img-element.mdx b/src/content/docs/linter/rules/no-img-element.mdx index 72135281b..ee079e4ca 100644 --- a/src/content/docs/linter/rules/no-img-element.mdx +++ b/src/content/docs/linter/rules/no-img-element.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noImgElement`** **Since**: `v1.9.4` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-implicit-any-let.mdx b/src/content/docs/linter/rules/no-implicit-any-let.mdx index 0946fb76b..da012e0c8 100644 --- a/src/content/docs/linter/rules/no-implicit-any-let.mdx +++ b/src/content/docs/linter/rules/no-implicit-any-let.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noImplicitAnyLet`** **Since**: `v1.4.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noImplicitAnyLet`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Disallow use of implicit `any` type on variable declarations. diff --git a/src/content/docs/linter/rules/no-implicit-boolean.mdx b/src/content/docs/linter/rules/no-implicit-boolean.mdx index d09760d50..88bb8d3c1 100644 --- a/src/content/docs/linter/rules/no-implicit-boolean.mdx +++ b/src/content/docs/linter/rules/no-implicit-boolean.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/noImplicitBoolean`** **Since**: `v1.0.0` :::note +- Diagnostic Category: [`lint/style/noImplicitBoolean`](/reference/diagnostics#diagnostic-category) - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-import-assign.mdx b/src/content/docs/linter/rules/no-import-assign.mdx index db52ea07b..5861f8e64 100644 --- a/src/content/docs/linter/rules/no-import-assign.mdx +++ b/src/content/docs/linter/rules/no-import-assign.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noImportAssign`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noImportAssign`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-important-in-keyframe.mdx b/src/content/docs/linter/rules/no-important-in-keyframe.mdx index 38982a0f9..1a8329773 100644 --- a/src/content/docs/linter/rules/no-important-in-keyframe.mdx +++ b/src/content/docs/linter/rules/no-important-in-keyframe.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noImportantInKeyframe`** **Since**: `v1.8.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noImportantInKeyframe`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-inferrable-types.mdx b/src/content/docs/linter/rules/no-inferrable-types.mdx index d92a7d42c..31d7aaaaf 100644 --- a/src/content/docs/linter/rules/no-inferrable-types.mdx +++ b/src/content/docs/linter/rules/no-inferrable-types.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/noInferrableTypes`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/style/noInferrableTypes`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-inner-declarations.mdx b/src/content/docs/linter/rules/no-inner-declarations.mdx index 89691d3ed..e8e402262 100644 --- a/src/content/docs/linter/rules/no-inner-declarations.mdx +++ b/src/content/docs/linter/rules/no-inner-declarations.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noInnerDeclarations`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noInnerDeclarations`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-interactive-element-to-noninteractive-role.mdx b/src/content/docs/linter/rules/no-interactive-element-to-noninteractive-role.mdx index 04eaa3951..f3a797cbe 100644 --- a/src/content/docs/linter/rules/no-interactive-element-to-noninteractive-role.mdx +++ b/src/content/docs/linter/rules/no-interactive-element-to-noninteractive-role.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/noInteractiveElementToNoninteractiveRole`** **Since**: `v1.3.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/noInteractiveElementToNoninteractiveRole`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-invalid-builtin-instantiation.mdx b/src/content/docs/linter/rules/no-invalid-builtin-instantiation.mdx index 0e9626187..f8465358a 100644 --- a/src/content/docs/linter/rules/no-invalid-builtin-instantiation.mdx +++ b/src/content/docs/linter/rules/no-invalid-builtin-instantiation.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noInvalidBuiltinInstantiation`** **Since**: `v1.7.2` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noInvalidBuiltinInstantiation`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-invalid-constructor-super.mdx b/src/content/docs/linter/rules/no-invalid-constructor-super.mdx index b80fb56aa..a12a41dd8 100644 --- a/src/content/docs/linter/rules/no-invalid-constructor-super.mdx +++ b/src/content/docs/linter/rules/no-invalid-constructor-super.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noInvalidConstructorSuper`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noInvalidConstructorSuper`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-invalid-direction-in-linear-gradient.mdx b/src/content/docs/linter/rules/no-invalid-direction-in-linear-gradient.mdx index b43860258..6ffa09aec 100644 --- a/src/content/docs/linter/rules/no-invalid-direction-in-linear-gradient.mdx +++ b/src/content/docs/linter/rules/no-invalid-direction-in-linear-gradient.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noInvalidDirectionInLinearGradient`** **Since**: `v1.9.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noInvalidDirectionInLinearGradient`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-invalid-grid-areas.mdx b/src/content/docs/linter/rules/no-invalid-grid-areas.mdx index 6aff7078f..e43d8c03a 100644 --- a/src/content/docs/linter/rules/no-invalid-grid-areas.mdx +++ b/src/content/docs/linter/rules/no-invalid-grid-areas.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noInvalidGridAreas`** **Since**: `v1.9.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noInvalidGridAreas`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-invalid-new-builtin.mdx b/src/content/docs/linter/rules/no-invalid-new-builtin.mdx index 8edc1a3b1..283c803b9 100644 --- a/src/content/docs/linter/rules/no-invalid-new-builtin.mdx +++ b/src/content/docs/linter/rules/no-invalid-new-builtin.mdx @@ -8,7 +8,6 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noInvalidNewBuiltin`** :::caution[Deprecated] @@ -17,6 +16,7 @@ This rule is deprecated and will be removed in the next major release. ::: **Since**: `v1.3.0` :::note +- Diagnostic Category: [`lint/correctness/noInvalidNewBuiltin`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-invalid-position-at-import-rule.mdx b/src/content/docs/linter/rules/no-invalid-position-at-import-rule.mdx index 5e870ecd3..c6ddd902f 100644 --- a/src/content/docs/linter/rules/no-invalid-position-at-import-rule.mdx +++ b/src/content/docs/linter/rules/no-invalid-position-at-import-rule.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noInvalidPositionAtImportRule`** **Since**: `v1.8.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noInvalidPositionAtImportRule`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-invalid-use-before-declaration.mdx b/src/content/docs/linter/rules/no-invalid-use-before-declaration.mdx index b49372037..f141c3df1 100644 --- a/src/content/docs/linter/rules/no-invalid-use-before-declaration.mdx +++ b/src/content/docs/linter/rules/no-invalid-use-before-declaration.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noInvalidUseBeforeDeclaration`** **Since**: `v1.5.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noInvalidUseBeforeDeclaration`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-irregular-whitespace.mdx b/src/content/docs/linter/rules/no-irregular-whitespace.mdx index 989a21bc1..da45b8bd1 100644 --- a/src/content/docs/linter/rules/no-irregular-whitespace.mdx +++ b/src/content/docs/linter/rules/no-irregular-whitespace.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noIrregularWhitespace`** **Since**: `v1.9.0` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: @@ -58,6 +58,7 @@ const foo = ' '; **Since**: `v1.9.0` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-label-var.mdx b/src/content/docs/linter/rules/no-label-var.mdx index 08bc2d306..add25abf6 100644 --- a/src/content/docs/linter/rules/no-label-var.mdx +++ b/src/content/docs/linter/rules/no-label-var.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noLabelVar`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noLabelVar`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-label-without-control.mdx b/src/content/docs/linter/rules/no-label-without-control.mdx index 3c7f158c7..f4c08dddc 100644 --- a/src/content/docs/linter/rules/no-label-without-control.mdx +++ b/src/content/docs/linter/rules/no-label-without-control.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/noLabelWithoutControl`** **Since**: `v1.8.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/noLabelWithoutControl`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-misleading-character-class.mdx b/src/content/docs/linter/rules/no-misleading-character-class.mdx index 8815aa310..c1ae423e3 100644 --- a/src/content/docs/linter/rules/no-misleading-character-class.mdx +++ b/src/content/docs/linter/rules/no-misleading-character-class.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noMisleadingCharacterClass`** **Since**: `v1.5.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noMisleadingCharacterClass`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-misleading-instantiator.mdx b/src/content/docs/linter/rules/no-misleading-instantiator.mdx index c12a357fa..da25f9f77 100644 --- a/src/content/docs/linter/rules/no-misleading-instantiator.mdx +++ b/src/content/docs/linter/rules/no-misleading-instantiator.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noMisleadingInstantiator`** **Since**: `v1.3.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noMisleadingInstantiator`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-misplaced-assertion.mdx b/src/content/docs/linter/rules/no-misplaced-assertion.mdx index 0dcfe23d2..6b726582f 100644 --- a/src/content/docs/linter/rules/no-misplaced-assertion.mdx +++ b/src/content/docs/linter/rules/no-misplaced-assertion.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noMisplacedAssertion`** **Since**: `v1.8.0` + Sources: - Inspired from: jest/no-standalone-expect diff --git a/src/content/docs/linter/rules/no-misrefactored-shorthand-assign.mdx b/src/content/docs/linter/rules/no-misrefactored-shorthand-assign.mdx index 03685e424..0a2bec3b5 100644 --- a/src/content/docs/linter/rules/no-misrefactored-shorthand-assign.mdx +++ b/src/content/docs/linter/rules/no-misrefactored-shorthand-assign.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noMisrefactoredShorthandAssign`** **Since**: `v1.3.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noMisrefactoredShorthandAssign`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-missing-var-function.mdx b/src/content/docs/linter/rules/no-missing-var-function.mdx index ed85b6d43..91a560a51 100644 --- a/src/content/docs/linter/rules/no-missing-var-function.mdx +++ b/src/content/docs/linter/rules/no-missing-var-function.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noMissingVarFunction`** **Since**: `v1.9.2` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-multiple-spaces-in-regular-expression-literals.mdx b/src/content/docs/linter/rules/no-multiple-spaces-in-regular-expression-literals.mdx index 69e0caa0e..3719144f1 100644 --- a/src/content/docs/linter/rules/no-multiple-spaces-in-regular-expression-literals.mdx +++ b/src/content/docs/linter/rules/no-multiple-spaces-in-regular-expression-literals.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/noMultipleSpacesInRegularExpressionLiterals`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/noMultipleSpacesInRegularExpressionLiterals`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-namespace-import.mdx b/src/content/docs/linter/rules/no-namespace-import.mdx index 3ddce10c8..ff2a1aa51 100644 --- a/src/content/docs/linter/rules/no-namespace-import.mdx +++ b/src/content/docs/linter/rules/no-namespace-import.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/noNamespaceImport`** **Since**: `v1.6.0` + Sources: - Same as: barrel-files/avoid-namespace-import diff --git a/src/content/docs/linter/rules/no-namespace.mdx b/src/content/docs/linter/rules/no-namespace.mdx index c42756ecf..159a7db2a 100644 --- a/src/content/docs/linter/rules/no-namespace.mdx +++ b/src/content/docs/linter/rules/no-namespace.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/noNamespace`** **Since**: `v1.0.0` + Sources: - Same as: @typescript-eslint/no-namespace diff --git a/src/content/docs/linter/rules/no-negation-else.mdx b/src/content/docs/linter/rules/no-negation-else.mdx index 2051cc4fc..8044bc30e 100644 --- a/src/content/docs/linter/rules/no-negation-else.mdx +++ b/src/content/docs/linter/rules/no-negation-else.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/noNegationElse`** **Since**: `v1.0.0` :::note +- Diagnostic Category: [`lint/style/noNegationElse`](/reference/diagnostics#diagnostic-category) - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-nested-ternary.mdx b/src/content/docs/linter/rules/no-nested-ternary.mdx index 3cc6d3c10..6cf4a0b93 100644 --- a/src/content/docs/linter/rules/no-nested-ternary.mdx +++ b/src/content/docs/linter/rules/no-nested-ternary.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noNestedTernary`** **Since**: `v1.9.3` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-new-symbol.mdx b/src/content/docs/linter/rules/no-new-symbol.mdx index bb002fa7f..3fa290d6e 100644 --- a/src/content/docs/linter/rules/no-new-symbol.mdx +++ b/src/content/docs/linter/rules/no-new-symbol.mdx @@ -8,7 +8,6 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noNewSymbol`** :::caution[Deprecated] @@ -17,6 +16,7 @@ This rule is deprecated and will be removed in the next major release. ::: **Since**: `v1.0.0` :::note +- Diagnostic Category: [`lint/correctness/noNewSymbol`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-nodejs-modules.mdx b/src/content/docs/linter/rules/no-nodejs-modules.mdx index ff2b22859..695ea42b2 100644 --- a/src/content/docs/linter/rules/no-nodejs-modules.mdx +++ b/src/content/docs/linter/rules/no-nodejs-modules.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noNodejsModules`** **Since**: `v1.5.0` + Sources: - Same as: import/no-nodejs-modules diff --git a/src/content/docs/linter/rules/no-non-null-assertion.mdx b/src/content/docs/linter/rules/no-non-null-assertion.mdx index 763ce4dd2..d2f6c3e7d 100644 --- a/src/content/docs/linter/rules/no-non-null-assertion.mdx +++ b/src/content/docs/linter/rules/no-non-null-assertion.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/noNonNullAssertion`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/style/noNonNullAssertion`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-noninteractive-element-to-interactive-role.mdx b/src/content/docs/linter/rules/no-noninteractive-element-to-interactive-role.mdx index 34d69c603..65bcf5d89 100644 --- a/src/content/docs/linter/rules/no-noninteractive-element-to-interactive-role.mdx +++ b/src/content/docs/linter/rules/no-noninteractive-element-to-interactive-role.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/noNoninteractiveElementToInteractiveRole`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/noNoninteractiveElementToInteractiveRole`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-noninteractive-tabindex.mdx b/src/content/docs/linter/rules/no-noninteractive-tabindex.mdx index c8ff0f739..7a5df4b7b 100644 --- a/src/content/docs/linter/rules/no-noninteractive-tabindex.mdx +++ b/src/content/docs/linter/rules/no-noninteractive-tabindex.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/noNoninteractiveTabindex`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/noNoninteractiveTabindex`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-nonoctal-decimal-escape.mdx b/src/content/docs/linter/rules/no-nonoctal-decimal-escape.mdx index e38ecba9c..ffc143c28 100644 --- a/src/content/docs/linter/rules/no-nonoctal-decimal-escape.mdx +++ b/src/content/docs/linter/rules/no-nonoctal-decimal-escape.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noNonoctalDecimalEscape`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noNonoctalDecimalEscape`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-octal-escape.mdx b/src/content/docs/linter/rules/no-octal-escape.mdx index 856dc7711..fac81d3a4 100644 --- a/src/content/docs/linter/rules/no-octal-escape.mdx +++ b/src/content/docs/linter/rules/no-octal-escape.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noOctalEscape`** **Since**: `v1.9.3` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-parameter-assign.mdx b/src/content/docs/linter/rules/no-parameter-assign.mdx index 1d3c5b5e7..863f0b518 100644 --- a/src/content/docs/linter/rules/no-parameter-assign.mdx +++ b/src/content/docs/linter/rules/no-parameter-assign.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/noParameterAssign`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/style/noParameterAssign`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-parameter-properties.mdx b/src/content/docs/linter/rules/no-parameter-properties.mdx index 915b19399..e632dd8b0 100644 --- a/src/content/docs/linter/rules/no-parameter-properties.mdx +++ b/src/content/docs/linter/rules/no-parameter-properties.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/noParameterProperties`** **Since**: `v1.0.0` + Sources: - Inspired from: @typescript-eslint/parameter-properties diff --git a/src/content/docs/linter/rules/no-positive-tabindex.mdx b/src/content/docs/linter/rules/no-positive-tabindex.mdx index 920d51622..f43db0dd6 100644 --- a/src/content/docs/linter/rules/no-positive-tabindex.mdx +++ b/src/content/docs/linter/rules/no-positive-tabindex.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/noPositiveTabindex`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/noPositiveTabindex`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-precision-loss.mdx b/src/content/docs/linter/rules/no-precision-loss.mdx index fea9ba163..df11df0e6 100644 --- a/src/content/docs/linter/rules/no-precision-loss.mdx +++ b/src/content/docs/linter/rules/no-precision-loss.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noPrecisionLoss`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noPrecisionLoss`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-process-env.mdx b/src/content/docs/linter/rules/no-process-env.mdx index 60418f667..1cb6f35f8 100644 --- a/src/content/docs/linter/rules/no-process-env.mdx +++ b/src/content/docs/linter/rules/no-process-env.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noProcessEnv`** **Since**: `v1.9.1` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-prototype-builtins.mdx b/src/content/docs/linter/rules/no-prototype-builtins.mdx index 72a3cb599..cd3cf8020 100644 --- a/src/content/docs/linter/rules/no-prototype-builtins.mdx +++ b/src/content/docs/linter/rules/no-prototype-builtins.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noPrototypeBuiltins`** **Since**: `v1.1.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noPrototypeBuiltins`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-re-export-all.mdx b/src/content/docs/linter/rules/no-re-export-all.mdx index b28aab832..35ac58c53 100644 --- a/src/content/docs/linter/rules/no-re-export-all.mdx +++ b/src/content/docs/linter/rules/no-re-export-all.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/performance/noReExportAll`** **Since**: `v1.6.0` + Sources: - Same as: barrel-files/avoid-re-export-all diff --git a/src/content/docs/linter/rules/no-react-specific-props.mdx b/src/content/docs/linter/rules/no-react-specific-props.mdx index 3a80cbe99..8a5a8f2e6 100644 --- a/src/content/docs/linter/rules/no-react-specific-props.mdx +++ b/src/content/docs/linter/rules/no-react-specific-props.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noReactSpecificProps`** **Since**: `v1.7.2` :::note +- Diagnostic Category: [`lint/suspicious/noReactSpecificProps`](/reference/diagnostics#diagnostic-category) - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-redeclare.mdx b/src/content/docs/linter/rules/no-redeclare.mdx index ef9b07b40..af07700e6 100644 --- a/src/content/docs/linter/rules/no-redeclare.mdx +++ b/src/content/docs/linter/rules/no-redeclare.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noRedeclare`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noRedeclare`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-redundant-alt.mdx b/src/content/docs/linter/rules/no-redundant-alt.mdx index f68e5d4d0..3cef67d48 100644 --- a/src/content/docs/linter/rules/no-redundant-alt.mdx +++ b/src/content/docs/linter/rules/no-redundant-alt.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/noRedundantAlt`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/noRedundantAlt`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-redundant-roles.mdx b/src/content/docs/linter/rules/no-redundant-roles.mdx index e2de59df2..afa5c493f 100644 --- a/src/content/docs/linter/rules/no-redundant-roles.mdx +++ b/src/content/docs/linter/rules/no-redundant-roles.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/noRedundantRoles`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/noRedundantRoles`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-redundant-use-strict.mdx b/src/content/docs/linter/rules/no-redundant-use-strict.mdx index e3f53d64c..55ea4681c 100644 --- a/src/content/docs/linter/rules/no-redundant-use-strict.mdx +++ b/src/content/docs/linter/rules/no-redundant-use-strict.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noRedundantUseStrict`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noRedundantUseStrict`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-render-return-value.mdx b/src/content/docs/linter/rules/no-render-return-value.mdx index e02593f9e..158d660e8 100644 --- a/src/content/docs/linter/rules/no-render-return-value.mdx +++ b/src/content/docs/linter/rules/no-render-return-value.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noRenderReturnValue`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noRenderReturnValue`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Prevent the usage of the return value of `React.render`. diff --git a/src/content/docs/linter/rules/no-restricted-globals.mdx b/src/content/docs/linter/rules/no-restricted-globals.mdx index 517b1f2a1..897fed913 100644 --- a/src/content/docs/linter/rules/no-restricted-globals.mdx +++ b/src/content/docs/linter/rules/no-restricted-globals.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/noRestrictedGlobals`** **Since**: `v1.0.0` + Sources: - Same as: no-restricted-globals diff --git a/src/content/docs/linter/rules/no-restricted-imports.mdx b/src/content/docs/linter/rules/no-restricted-imports.mdx index 75b202e91..721151bff 100644 --- a/src/content/docs/linter/rules/no-restricted-imports.mdx +++ b/src/content/docs/linter/rules/no-restricted-imports.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noRestrictedImports`** **Since**: `v1.6.0` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-restricted-types.mdx b/src/content/docs/linter/rules/no-restricted-types.mdx index 80912eb26..7d18197c4 100644 --- a/src/content/docs/linter/rules/no-restricted-types.mdx +++ b/src/content/docs/linter/rules/no-restricted-types.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noRestrictedTypes`** **Since**: `v1.9.0` :::note +- Diagnostic Category: [`lint/nursery/noRestrictedTypes`](/reference/diagnostics#diagnostic-category) - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-secrets.mdx b/src/content/docs/linter/rules/no-secrets.mdx index 4f639bf14..23d840912 100644 --- a/src/content/docs/linter/rules/no-secrets.mdx +++ b/src/content/docs/linter/rules/no-secrets.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noSecrets`** **Since**: `v1.9.0` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-self-assign.mdx b/src/content/docs/linter/rules/no-self-assign.mdx index fb03a7c38..778471a9e 100644 --- a/src/content/docs/linter/rules/no-self-assign.mdx +++ b/src/content/docs/linter/rules/no-self-assign.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noSelfAssign`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noSelfAssign`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-self-compare.mdx b/src/content/docs/linter/rules/no-self-compare.mdx index 63c6e466f..627c316d8 100644 --- a/src/content/docs/linter/rules/no-self-compare.mdx +++ b/src/content/docs/linter/rules/no-self-compare.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noSelfCompare`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noSelfCompare`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-setter-return.mdx b/src/content/docs/linter/rules/no-setter-return.mdx index 5713c2eea..bb5615599 100644 --- a/src/content/docs/linter/rules/no-setter-return.mdx +++ b/src/content/docs/linter/rules/no-setter-return.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noSetterReturn`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noSetterReturn`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-shadow-restricted-names.mdx b/src/content/docs/linter/rules/no-shadow-restricted-names.mdx index 2437160ac..62f476fa4 100644 --- a/src/content/docs/linter/rules/no-shadow-restricted-names.mdx +++ b/src/content/docs/linter/rules/no-shadow-restricted-names.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noShadowRestrictedNames`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noShadowRestrictedNames`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-shorthand-property-overrides.mdx b/src/content/docs/linter/rules/no-shorthand-property-overrides.mdx index fcd0332c8..35023f6b7 100644 --- a/src/content/docs/linter/rules/no-shorthand-property-overrides.mdx +++ b/src/content/docs/linter/rules/no-shorthand-property-overrides.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noShorthandPropertyOverrides`** **Since**: `v1.8.2` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noShorthandPropertyOverrides`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-shouty-constants.mdx b/src/content/docs/linter/rules/no-shouty-constants.mdx index f7a44c934..d07f52ada 100644 --- a/src/content/docs/linter/rules/no-shouty-constants.mdx +++ b/src/content/docs/linter/rules/no-shouty-constants.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/noShoutyConstants`** **Since**: `v1.0.0` :::note +- Diagnostic Category: [`lint/style/noShoutyConstants`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-skipped-tests.mdx b/src/content/docs/linter/rules/no-skipped-tests.mdx index 64458d79c..ecab23fb8 100644 --- a/src/content/docs/linter/rules/no-skipped-tests.mdx +++ b/src/content/docs/linter/rules/no-skipped-tests.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noSkippedTests`** **Since**: `v1.6.0` :::note +- Diagnostic Category: [`lint/suspicious/noSkippedTests`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-sparse-array.mdx b/src/content/docs/linter/rules/no-sparse-array.mdx index c68ca734a..ba4e30e83 100644 --- a/src/content/docs/linter/rules/no-sparse-array.mdx +++ b/src/content/docs/linter/rules/no-sparse-array.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noSparseArray`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noSparseArray`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-static-element-interactions.mdx b/src/content/docs/linter/rules/no-static-element-interactions.mdx index cf6357645..d5564b873 100644 --- a/src/content/docs/linter/rules/no-static-element-interactions.mdx +++ b/src/content/docs/linter/rules/no-static-element-interactions.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noStaticElementInteractions`** **Since**: `v1.9.0` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-static-only-class.mdx b/src/content/docs/linter/rules/no-static-only-class.mdx index ee8cacf4c..cc73fe761 100644 --- a/src/content/docs/linter/rules/no-static-only-class.mdx +++ b/src/content/docs/linter/rules/no-static-only-class.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/noStaticOnlyClass`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/noStaticOnlyClass`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-string-case-mismatch.mdx b/src/content/docs/linter/rules/no-string-case-mismatch.mdx index 6743915d7..841715226 100644 --- a/src/content/docs/linter/rules/no-string-case-mismatch.mdx +++ b/src/content/docs/linter/rules/no-string-case-mismatch.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noStringCaseMismatch`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noStringCaseMismatch`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-substr.mdx b/src/content/docs/linter/rules/no-substr.mdx index c07c52075..9ed24f1de 100644 --- a/src/content/docs/linter/rules/no-substr.mdx +++ b/src/content/docs/linter/rules/no-substr.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noSubstr`** **Since**: `v1.8.2` :::note +- Diagnostic Category: [`lint/nursery/noSubstr`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-suspicious-semicolon-in-jsx.mdx b/src/content/docs/linter/rules/no-suspicious-semicolon-in-jsx.mdx index 1d19c0301..4dcd99287 100644 --- a/src/content/docs/linter/rules/no-suspicious-semicolon-in-jsx.mdx +++ b/src/content/docs/linter/rules/no-suspicious-semicolon-in-jsx.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noSuspiciousSemicolonInJsx`** **Since**: `v1.6.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noSuspiciousSemicolonInJsx`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: It detects possible "wrong" semicolons inside JSX elements. diff --git a/src/content/docs/linter/rules/no-svg-without-title.mdx b/src/content/docs/linter/rules/no-svg-without-title.mdx index 9db1c8f29..128911966 100644 --- a/src/content/docs/linter/rules/no-svg-without-title.mdx +++ b/src/content/docs/linter/rules/no-svg-without-title.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/noSvgWithoutTitle`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/noSvgWithoutTitle`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Enforces the usage of the `title` element for the `svg` element. diff --git a/src/content/docs/linter/rules/no-switch-declarations.mdx b/src/content/docs/linter/rules/no-switch-declarations.mdx index 8a160c071..0ded3f5df 100644 --- a/src/content/docs/linter/rules/no-switch-declarations.mdx +++ b/src/content/docs/linter/rules/no-switch-declarations.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noSwitchDeclarations`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noSwitchDeclarations`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-template-curly-in-string.mdx b/src/content/docs/linter/rules/no-template-curly-in-string.mdx index 491e1188f..1f11d6366 100644 --- a/src/content/docs/linter/rules/no-template-curly-in-string.mdx +++ b/src/content/docs/linter/rules/no-template-curly-in-string.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noTemplateCurlyInString`** **Since**: `v1.9.3` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-then-property.mdx b/src/content/docs/linter/rules/no-then-property.mdx index c98e89798..8875a3711 100644 --- a/src/content/docs/linter/rules/no-then-property.mdx +++ b/src/content/docs/linter/rules/no-then-property.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noThenProperty`** **Since**: `v1.5.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noThenProperty`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-this-in-static.mdx b/src/content/docs/linter/rules/no-this-in-static.mdx index daad5fa2a..109769761 100644 --- a/src/content/docs/linter/rules/no-this-in-static.mdx +++ b/src/content/docs/linter/rules/no-this-in-static.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/noThisInStatic`** **Since**: `v1.3.1` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/noThisInStatic`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-undeclared-dependencies.mdx b/src/content/docs/linter/rules/no-undeclared-dependencies.mdx index 2b038b1fe..f7d6a1265 100644 --- a/src/content/docs/linter/rules/no-undeclared-dependencies.mdx +++ b/src/content/docs/linter/rules/no-undeclared-dependencies.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noUndeclaredDependencies`** **Since**: `v1.6.0` + Sources: - Same as: import/no-extraneous-dependencies diff --git a/src/content/docs/linter/rules/no-undeclared-variables.mdx b/src/content/docs/linter/rules/no-undeclared-variables.mdx index 2e3a5b1cd..b706f7513 100644 --- a/src/content/docs/linter/rules/no-undeclared-variables.mdx +++ b/src/content/docs/linter/rules/no-undeclared-variables.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noUndeclaredVariables`** **Since**: `v1.0.0` + Sources: - Same as: no-undef diff --git a/src/content/docs/linter/rules/no-unknown-at-rule.mdx b/src/content/docs/linter/rules/no-unknown-at-rule.mdx index cdc66c582..6888ffa35 100644 --- a/src/content/docs/linter/rules/no-unknown-at-rule.mdx +++ b/src/content/docs/linter/rules/no-unknown-at-rule.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noUnknownAtRule`** **Since**: `vnext` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-unknown-function.mdx b/src/content/docs/linter/rules/no-unknown-function.mdx index 4d3003509..ae22e02e8 100644 --- a/src/content/docs/linter/rules/no-unknown-function.mdx +++ b/src/content/docs/linter/rules/no-unknown-function.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noUnknownFunction`** **Since**: `v1.8.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noUnknownFunction`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-unknown-media-feature-name.mdx b/src/content/docs/linter/rules/no-unknown-media-feature-name.mdx index af4c2a179..9acec7382 100644 --- a/src/content/docs/linter/rules/no-unknown-media-feature-name.mdx +++ b/src/content/docs/linter/rules/no-unknown-media-feature-name.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noUnknownMediaFeatureName`** **Since**: `v1.8.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noUnknownMediaFeatureName`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-unknown-property.mdx b/src/content/docs/linter/rules/no-unknown-property.mdx index d6e11b67d..70e398053 100644 --- a/src/content/docs/linter/rules/no-unknown-property.mdx +++ b/src/content/docs/linter/rules/no-unknown-property.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noUnknownProperty`** **Since**: `v1.8.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noUnknownProperty`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-unknown-pseudo-class.mdx b/src/content/docs/linter/rules/no-unknown-pseudo-class.mdx index ebdc46701..d0949da5f 100644 --- a/src/content/docs/linter/rules/no-unknown-pseudo-class.mdx +++ b/src/content/docs/linter/rules/no-unknown-pseudo-class.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noUnknownPseudoClass`** **Since**: `v1.8.0` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-unknown-pseudo-element.mdx b/src/content/docs/linter/rules/no-unknown-pseudo-element.mdx index ddd471c89..beb0f4c40 100644 --- a/src/content/docs/linter/rules/no-unknown-pseudo-element.mdx +++ b/src/content/docs/linter/rules/no-unknown-pseudo-element.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noUnknownPseudoElement`** **Since**: `v1.8.0` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-unknown-type-selector.mdx b/src/content/docs/linter/rules/no-unknown-type-selector.mdx index c92f94c38..97d219eaf 100644 --- a/src/content/docs/linter/rules/no-unknown-type-selector.mdx +++ b/src/content/docs/linter/rules/no-unknown-type-selector.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noUnknownTypeSelector`** **Since**: `v1.9.4` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-unknown-unit.mdx b/src/content/docs/linter/rules/no-unknown-unit.mdx index 26314019c..e80351a09 100644 --- a/src/content/docs/linter/rules/no-unknown-unit.mdx +++ b/src/content/docs/linter/rules/no-unknown-unit.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noUnknownUnit`** **Since**: `v1.8.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noUnknownUnit`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-unmatchable-anb-selector.mdx b/src/content/docs/linter/rules/no-unmatchable-anb-selector.mdx index 25707aff0..6e74a6104 100644 --- a/src/content/docs/linter/rules/no-unmatchable-anb-selector.mdx +++ b/src/content/docs/linter/rules/no-unmatchable-anb-selector.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noUnmatchableAnbSelector`** **Since**: `v1.8.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noUnmatchableAnbSelector`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-unnecessary-continue.mdx b/src/content/docs/linter/rules/no-unnecessary-continue.mdx index 69250945f..6e950f600 100644 --- a/src/content/docs/linter/rules/no-unnecessary-continue.mdx +++ b/src/content/docs/linter/rules/no-unnecessary-continue.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noUnnecessaryContinue`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noUnnecessaryContinue`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-unreachable-super.mdx b/src/content/docs/linter/rules/no-unreachable-super.mdx index d2532dbbe..f3a4e0fee 100644 --- a/src/content/docs/linter/rules/no-unreachable-super.mdx +++ b/src/content/docs/linter/rules/no-unreachable-super.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noUnreachableSuper`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noUnreachableSuper`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-unreachable.mdx b/src/content/docs/linter/rules/no-unreachable.mdx index 2ddbb307f..2dfcfe973 100644 --- a/src/content/docs/linter/rules/no-unreachable.mdx +++ b/src/content/docs/linter/rules/no-unreachable.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noUnreachable`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noUnreachable`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-unsafe-declaration-merging.mdx b/src/content/docs/linter/rules/no-unsafe-declaration-merging.mdx index 75dbff6f9..7da650bcd 100644 --- a/src/content/docs/linter/rules/no-unsafe-declaration-merging.mdx +++ b/src/content/docs/linter/rules/no-unsafe-declaration-merging.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noUnsafeDeclarationMerging`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noUnsafeDeclarationMerging`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-unsafe-finally.mdx b/src/content/docs/linter/rules/no-unsafe-finally.mdx index 5782dd40d..e55aa24a2 100644 --- a/src/content/docs/linter/rules/no-unsafe-finally.mdx +++ b/src/content/docs/linter/rules/no-unsafe-finally.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noUnsafeFinally`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noUnsafeFinally`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-unsafe-negation.mdx b/src/content/docs/linter/rules/no-unsafe-negation.mdx index d753db16b..5973865f1 100644 --- a/src/content/docs/linter/rules/no-unsafe-negation.mdx +++ b/src/content/docs/linter/rules/no-unsafe-negation.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/noUnsafeNegation`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/noUnsafeNegation`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-unsafe-optional-chaining.mdx b/src/content/docs/linter/rules/no-unsafe-optional-chaining.mdx index 9d453e3b7..99df8e2a9 100644 --- a/src/content/docs/linter/rules/no-unsafe-optional-chaining.mdx +++ b/src/content/docs/linter/rules/no-unsafe-optional-chaining.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noUnsafeOptionalChaining`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noUnsafeOptionalChaining`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-unused-function-parameters.mdx b/src/content/docs/linter/rules/no-unused-function-parameters.mdx index f71617183..c98e0dfb3 100644 --- a/src/content/docs/linter/rules/no-unused-function-parameters.mdx +++ b/src/content/docs/linter/rules/no-unused-function-parameters.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noUnusedFunctionParameters`** **Since**: `v1.8.0` :::note +- Diagnostic Category: [`lint/correctness/noUnusedFunctionParameters`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-unused-imports.mdx b/src/content/docs/linter/rules/no-unused-imports.mdx index 0703787ba..3286a8cc2 100644 --- a/src/content/docs/linter/rules/no-unused-imports.mdx +++ b/src/content/docs/linter/rules/no-unused-imports.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noUnusedImports`** **Since**: `v1.3.0` :::note +- Diagnostic Category: [`lint/correctness/noUnusedImports`](/reference/diagnostics#diagnostic-category) - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-unused-labels.mdx b/src/content/docs/linter/rules/no-unused-labels.mdx index 51582ffa8..0eb28e595 100644 --- a/src/content/docs/linter/rules/no-unused-labels.mdx +++ b/src/content/docs/linter/rules/no-unused-labels.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noUnusedLabels`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noUnusedLabels`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-unused-private-class-members.mdx b/src/content/docs/linter/rules/no-unused-private-class-members.mdx index cba3173e5..19e4968a2 100644 --- a/src/content/docs/linter/rules/no-unused-private-class-members.mdx +++ b/src/content/docs/linter/rules/no-unused-private-class-members.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noUnusedPrivateClassMembers`** **Since**: `v1.3.3` :::note +- Diagnostic Category: [`lint/correctness/noUnusedPrivateClassMembers`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-unused-template-literal.mdx b/src/content/docs/linter/rules/no-unused-template-literal.mdx index 10939d895..c4e6a711e 100644 --- a/src/content/docs/linter/rules/no-unused-template-literal.mdx +++ b/src/content/docs/linter/rules/no-unused-template-literal.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/noUnusedTemplateLiteral`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/style/noUnusedTemplateLiteral`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-unused-variables.mdx b/src/content/docs/linter/rules/no-unused-variables.mdx index 5fc445719..3e3341c98 100644 --- a/src/content/docs/linter/rules/no-unused-variables.mdx +++ b/src/content/docs/linter/rules/no-unused-variables.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noUnusedVariables`** **Since**: `v1.0.0` :::note +- Diagnostic Category: [`lint/correctness/noUnusedVariables`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-useless-catch.mdx b/src/content/docs/linter/rules/no-useless-catch.mdx index 25a04d2fc..398c1e928 100644 --- a/src/content/docs/linter/rules/no-useless-catch.mdx +++ b/src/content/docs/linter/rules/no-useless-catch.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/noUselessCatch`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/noUselessCatch`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-useless-constructor.mdx b/src/content/docs/linter/rules/no-useless-constructor.mdx index 2dd10e986..4e651ca1c 100644 --- a/src/content/docs/linter/rules/no-useless-constructor.mdx +++ b/src/content/docs/linter/rules/no-useless-constructor.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/noUselessConstructor`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/noUselessConstructor`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-useless-else.mdx b/src/content/docs/linter/rules/no-useless-else.mdx index 7c39b1369..a275304db 100644 --- a/src/content/docs/linter/rules/no-useless-else.mdx +++ b/src/content/docs/linter/rules/no-useless-else.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/noUselessElse`** **Since**: `v1.3.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/style/noUselessElse`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-useless-empty-export.mdx b/src/content/docs/linter/rules/no-useless-empty-export.mdx index f5c7e9227..c856ee508 100644 --- a/src/content/docs/linter/rules/no-useless-empty-export.mdx +++ b/src/content/docs/linter/rules/no-useless-empty-export.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/noUselessEmptyExport`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/noUselessEmptyExport`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-useless-escape-in-regex.mdx b/src/content/docs/linter/rules/no-useless-escape-in-regex.mdx index 804ba707d..57fb0e628 100644 --- a/src/content/docs/linter/rules/no-useless-escape-in-regex.mdx +++ b/src/content/docs/linter/rules/no-useless-escape-in-regex.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noUselessEscapeInRegex`** **Since**: `v1.9.0` :::note +- Diagnostic Category: [`lint/nursery/noUselessEscapeInRegex`](/reference/diagnostics#diagnostic-category) - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-useless-fragments.mdx b/src/content/docs/linter/rules/no-useless-fragments.mdx index f4862192e..deac13851 100644 --- a/src/content/docs/linter/rules/no-useless-fragments.mdx +++ b/src/content/docs/linter/rules/no-useless-fragments.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/noUselessFragments`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/noUselessFragments`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-useless-label.mdx b/src/content/docs/linter/rules/no-useless-label.mdx index 1c9e11b05..5a62d01d3 100644 --- a/src/content/docs/linter/rules/no-useless-label.mdx +++ b/src/content/docs/linter/rules/no-useless-label.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/noUselessLabel`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/noUselessLabel`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-useless-lone-block-statements.mdx b/src/content/docs/linter/rules/no-useless-lone-block-statements.mdx index 6e18411ec..a55233aed 100644 --- a/src/content/docs/linter/rules/no-useless-lone-block-statements.mdx +++ b/src/content/docs/linter/rules/no-useless-lone-block-statements.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/noUselessLoneBlockStatements`** **Since**: `v1.3.3` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/noUselessLoneBlockStatements`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-useless-rename.mdx b/src/content/docs/linter/rules/no-useless-rename.mdx index fe43df4dc..ce428d98d 100644 --- a/src/content/docs/linter/rules/no-useless-rename.mdx +++ b/src/content/docs/linter/rules/no-useless-rename.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/noUselessRename`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/noUselessRename`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-useless-string-concat.mdx b/src/content/docs/linter/rules/no-useless-string-concat.mdx index 54e13598c..8017c137c 100644 --- a/src/content/docs/linter/rules/no-useless-string-concat.mdx +++ b/src/content/docs/linter/rules/no-useless-string-concat.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/noUselessStringConcat`** **Since**: `v1.8.0` :::note +- Diagnostic Category: [`lint/complexity/noUselessStringConcat`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-useless-string-raw.mdx b/src/content/docs/linter/rules/no-useless-string-raw.mdx index e418bac6f..eb99649a2 100644 --- a/src/content/docs/linter/rules/no-useless-string-raw.mdx +++ b/src/content/docs/linter/rules/no-useless-string-raw.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noUselessStringRaw`** **Since**: `v1.9.4` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-useless-switch-case.mdx b/src/content/docs/linter/rules/no-useless-switch-case.mdx index a32c90cb5..6a7f9aab3 100644 --- a/src/content/docs/linter/rules/no-useless-switch-case.mdx +++ b/src/content/docs/linter/rules/no-useless-switch-case.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/noUselessSwitchCase`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/noUselessSwitchCase`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-useless-ternary.mdx b/src/content/docs/linter/rules/no-useless-ternary.mdx index 6e844f3d2..64df2c3a9 100644 --- a/src/content/docs/linter/rules/no-useless-ternary.mdx +++ b/src/content/docs/linter/rules/no-useless-ternary.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/noUselessTernary`** **Since**: `v1.5.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/noUselessTernary`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-useless-this-alias.mdx b/src/content/docs/linter/rules/no-useless-this-alias.mdx index eaeb1fbeb..8e5efb473 100644 --- a/src/content/docs/linter/rules/no-useless-this-alias.mdx +++ b/src/content/docs/linter/rules/no-useless-this-alias.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/noUselessThisAlias`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/noUselessThisAlias`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-useless-type-constraint.mdx b/src/content/docs/linter/rules/no-useless-type-constraint.mdx index 02dd7d3dd..83052cfe9 100644 --- a/src/content/docs/linter/rules/no-useless-type-constraint.mdx +++ b/src/content/docs/linter/rules/no-useless-type-constraint.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/noUselessTypeConstraint`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/noUselessTypeConstraint`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-useless-undefined-initialization.mdx b/src/content/docs/linter/rules/no-useless-undefined-initialization.mdx index d62496ffe..1c8642205 100644 --- a/src/content/docs/linter/rules/no-useless-undefined-initialization.mdx +++ b/src/content/docs/linter/rules/no-useless-undefined-initialization.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/noUselessUndefinedInitialization`** **Since**: `v1.7.2` :::note +- Diagnostic Category: [`lint/complexity/noUselessUndefinedInitialization`](/reference/diagnostics#diagnostic-category) - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-useless-undefined.mdx b/src/content/docs/linter/rules/no-useless-undefined.mdx index 87b30eeaf..0f15a4012 100644 --- a/src/content/docs/linter/rules/no-useless-undefined.mdx +++ b/src/content/docs/linter/rules/no-useless-undefined.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noUselessUndefined`** **Since**: `vnext` :::note +- Diagnostic Category: [`lint/nursery/noUselessUndefined`](/reference/diagnostics#diagnostic-category) - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-value-at-rule.mdx b/src/content/docs/linter/rules/no-value-at-rule.mdx index fbe1c65d5..b718e90ab 100644 --- a/src/content/docs/linter/rules/no-value-at-rule.mdx +++ b/src/content/docs/linter/rules/no-value-at-rule.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noValueAtRule`** **Since**: `v1.8.0` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/no-var.mdx b/src/content/docs/linter/rules/no-var.mdx index 0f4317d4b..69445dd5e 100644 --- a/src/content/docs/linter/rules/no-var.mdx +++ b/src/content/docs/linter/rules/no-var.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/noVar`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/style/noVar`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-void-elements-with-children.mdx b/src/content/docs/linter/rules/no-void-elements-with-children.mdx index 60c14ed1a..aa9c6bdb2 100644 --- a/src/content/docs/linter/rules/no-void-elements-with-children.mdx +++ b/src/content/docs/linter/rules/no-void-elements-with-children.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noVoidElementsWithChildren`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noVoidElementsWithChildren`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/no-void-type-return.mdx b/src/content/docs/linter/rules/no-void-type-return.mdx index 3dff18205..1bdfac29f 100644 --- a/src/content/docs/linter/rules/no-void-type-return.mdx +++ b/src/content/docs/linter/rules/no-void-type-return.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/noVoidTypeReturn`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/noVoidTypeReturn`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Disallow returning a value from a function with the return type 'void' diff --git a/src/content/docs/linter/rules/no-void.mdx b/src/content/docs/linter/rules/no-void.mdx index 3f860ebd8..fa79406fb 100644 --- a/src/content/docs/linter/rules/no-void.mdx +++ b/src/content/docs/linter/rules/no-void.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/noVoid`** **Since**: `v1.0.0` + Sources: - Same as: no-void diff --git a/src/content/docs/linter/rules/no-with.mdx b/src/content/docs/linter/rules/no-with.mdx index abcb91c5e..b77791d89 100644 --- a/src/content/docs/linter/rules/no-with.mdx +++ b/src/content/docs/linter/rules/no-with.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/noWith`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/noWith`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/no-yoda-expression.mdx b/src/content/docs/linter/rules/no-yoda-expression.mdx index 4419d888d..d1e9a5d0b 100644 --- a/src/content/docs/linter/rules/no-yoda-expression.mdx +++ b/src/content/docs/linter/rules/no-yoda-expression.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/noYodaExpression`** **Since**: `v1.8.0` :::note +- Diagnostic Category: [`lint/style/noYodaExpression`](/reference/diagnostics#diagnostic-category) - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/use-adjacent-overload-signatures.mdx b/src/content/docs/linter/rules/use-adjacent-overload-signatures.mdx index ee6ce46c6..26b7a4a18 100644 --- a/src/content/docs/linter/rules/use-adjacent-overload-signatures.mdx +++ b/src/content/docs/linter/rules/use-adjacent-overload-signatures.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/useAdjacentOverloadSignatures`** **Since**: `v1.9.0` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/use-alt-text.mdx b/src/content/docs/linter/rules/use-alt-text.mdx index cacfaeb10..bf4542284 100644 --- a/src/content/docs/linter/rules/use-alt-text.mdx +++ b/src/content/docs/linter/rules/use-alt-text.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/useAltText`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/useAltText`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/use-anchor-content.mdx b/src/content/docs/linter/rules/use-anchor-content.mdx index 90e565812..577190086 100644 --- a/src/content/docs/linter/rules/use-anchor-content.mdx +++ b/src/content/docs/linter/rules/use-anchor-content.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/useAnchorContent`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/useAnchorContent`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-aria-activedescendant-with-tabindex.mdx b/src/content/docs/linter/rules/use-aria-activedescendant-with-tabindex.mdx index b197e0c03..ebfa9a2d0 100644 --- a/src/content/docs/linter/rules/use-aria-activedescendant-with-tabindex.mdx +++ b/src/content/docs/linter/rules/use-aria-activedescendant-with-tabindex.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/useAriaActivedescendantWithTabindex`** **Since**: `v1.3.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/useAriaActivedescendantWithTabindex`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-aria-props-for-role.mdx b/src/content/docs/linter/rules/use-aria-props-for-role.mdx index e91976075..c0dd7aeff 100644 --- a/src/content/docs/linter/rules/use-aria-props-for-role.mdx +++ b/src/content/docs/linter/rules/use-aria-props-for-role.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/useAriaPropsForRole`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/useAriaPropsForRole`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/use-aria-props-supported-by-role.mdx b/src/content/docs/linter/rules/use-aria-props-supported-by-role.mdx index e55047ecc..0f7daf6da 100644 --- a/src/content/docs/linter/rules/use-aria-props-supported-by-role.mdx +++ b/src/content/docs/linter/rules/use-aria-props-supported-by-role.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/useAriaPropsSupportedByRole`** **Since**: `v1.9.0` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/use-array-literals.mdx b/src/content/docs/linter/rules/use-array-literals.mdx index 1cdd6dbcf..6e5f96b76 100644 --- a/src/content/docs/linter/rules/use-array-literals.mdx +++ b/src/content/docs/linter/rules/use-array-literals.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/useArrayLiterals`** **Since**: `v1.7.2` :::note +- Diagnostic Category: [`lint/correctness/useArrayLiterals`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-arrow-function.mdx b/src/content/docs/linter/rules/use-arrow-function.mdx index aebe5ab70..c592e0a3e 100644 --- a/src/content/docs/linter/rules/use-arrow-function.mdx +++ b/src/content/docs/linter/rules/use-arrow-function.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/useArrowFunction`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/useArrowFunction`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/use-as-const-assertion.mdx b/src/content/docs/linter/rules/use-as-const-assertion.mdx index 4ba00f1dc..22860136f 100644 --- a/src/content/docs/linter/rules/use-as-const-assertion.mdx +++ b/src/content/docs/linter/rules/use-as-const-assertion.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useAsConstAssertion`** **Since**: `v1.3.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/style/useAsConstAssertion`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/use-at-index.mdx b/src/content/docs/linter/rules/use-at-index.mdx index e882db5b2..ea295303a 100644 --- a/src/content/docs/linter/rules/use-at-index.mdx +++ b/src/content/docs/linter/rules/use-at-index.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/useAtIndex`** **Since**: `v1.9.4` :::note +- Diagnostic Category: [`lint/nursery/useAtIndex`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-await.mdx b/src/content/docs/linter/rules/use-await.mdx index 2f923d8d5..d0afeae52 100644 --- a/src/content/docs/linter/rules/use-await.mdx +++ b/src/content/docs/linter/rules/use-await.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/useAwait`** **Since**: `v1.4.0` + Sources: - Same as: require-await - Same as: @typescript-eslint/require-await diff --git a/src/content/docs/linter/rules/use-block-statements.mdx b/src/content/docs/linter/rules/use-block-statements.mdx index 06a8df97f..ad891ef58 100644 --- a/src/content/docs/linter/rules/use-block-statements.mdx +++ b/src/content/docs/linter/rules/use-block-statements.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useBlockStatements`** **Since**: `v1.0.0` :::note +- Diagnostic Category: [`lint/style/useBlockStatements`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-button-type.mdx b/src/content/docs/linter/rules/use-button-type.mdx index a8bbb7c0d..59eddc381 100644 --- a/src/content/docs/linter/rules/use-button-type.mdx +++ b/src/content/docs/linter/rules/use-button-type.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/useButtonType`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/useButtonType`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/use-collapsed-else-if.mdx b/src/content/docs/linter/rules/use-collapsed-else-if.mdx index 207857fe2..192226a06 100644 --- a/src/content/docs/linter/rules/use-collapsed-else-if.mdx +++ b/src/content/docs/linter/rules/use-collapsed-else-if.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useCollapsedElseIf`** **Since**: `v1.1.0` :::note +- Diagnostic Category: [`lint/style/useCollapsedElseIf`](/reference/diagnostics#diagnostic-category) - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/use-collapsed-if.mdx b/src/content/docs/linter/rules/use-collapsed-if.mdx index 0d225e295..75475bcbb 100644 --- a/src/content/docs/linter/rules/use-collapsed-if.mdx +++ b/src/content/docs/linter/rules/use-collapsed-if.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/useCollapsedIf`** **Since**: `v1.9.4` :::note +- Diagnostic Category: [`lint/nursery/useCollapsedIf`](/reference/diagnostics#diagnostic-category) - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/use-component-export-only-modules.mdx b/src/content/docs/linter/rules/use-component-export-only-modules.mdx index 64b205687..e76dbeef2 100644 --- a/src/content/docs/linter/rules/use-component-export-only-modules.mdx +++ b/src/content/docs/linter/rules/use-component-export-only-modules.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/useComponentExportOnlyModules`** **Since**: `v1.9.2` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/use-consistent-array-type.mdx b/src/content/docs/linter/rules/use-consistent-array-type.mdx index fc5599d8a..7b2d76b67 100644 --- a/src/content/docs/linter/rules/use-consistent-array-type.mdx +++ b/src/content/docs/linter/rules/use-consistent-array-type.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useConsistentArrayType`** **Since**: `v1.5.0` :::note +- Diagnostic Category: [`lint/style/useConsistentArrayType`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-consistent-builtin-instantiation.mdx b/src/content/docs/linter/rules/use-consistent-builtin-instantiation.mdx index 0502328a9..b31af5ca1 100644 --- a/src/content/docs/linter/rules/use-consistent-builtin-instantiation.mdx +++ b/src/content/docs/linter/rules/use-consistent-builtin-instantiation.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useConsistentBuiltinInstantiation`** **Since**: `v1.7.2` :::note +- Diagnostic Category: [`lint/style/useConsistentBuiltinInstantiation`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-consistent-curly-braces.mdx b/src/content/docs/linter/rules/use-consistent-curly-braces.mdx index 58f75936e..7697604fe 100644 --- a/src/content/docs/linter/rules/use-consistent-curly-braces.mdx +++ b/src/content/docs/linter/rules/use-consistent-curly-braces.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/useConsistentCurlyBraces`** **Since**: `v1.8.2` :::note +- Diagnostic Category: [`lint/nursery/useConsistentCurlyBraces`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-consistent-member-accessibility.mdx b/src/content/docs/linter/rules/use-consistent-member-accessibility.mdx index 50288e364..022ef96c0 100644 --- a/src/content/docs/linter/rules/use-consistent-member-accessibility.mdx +++ b/src/content/docs/linter/rules/use-consistent-member-accessibility.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/useConsistentMemberAccessibility`** **Since**: `v1.9.0` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/use-const.mdx b/src/content/docs/linter/rules/use-const.mdx index a6781319b..3bdb2a439 100644 --- a/src/content/docs/linter/rules/use-const.mdx +++ b/src/content/docs/linter/rules/use-const.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useConst`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/style/useConst`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/use-date-now.mdx b/src/content/docs/linter/rules/use-date-now.mdx index 3387c446f..fdf3d89e0 100644 --- a/src/content/docs/linter/rules/use-date-now.mdx +++ b/src/content/docs/linter/rules/use-date-now.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/useDateNow`** **Since**: `v1.8.0` :::note +- Diagnostic Category: [`lint/complexity/useDateNow`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-default-parameter-last.mdx b/src/content/docs/linter/rules/use-default-parameter-last.mdx index 8ec0e0a6f..296b0bab4 100644 --- a/src/content/docs/linter/rules/use-default-parameter-last.mdx +++ b/src/content/docs/linter/rules/use-default-parameter-last.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useDefaultParameterLast`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/style/useDefaultParameterLast`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-default-switch-clause-last.mdx b/src/content/docs/linter/rules/use-default-switch-clause-last.mdx index 360d9b1d3..b7ae9ea60 100644 --- a/src/content/docs/linter/rules/use-default-switch-clause-last.mdx +++ b/src/content/docs/linter/rules/use-default-switch-clause-last.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/useDefaultSwitchClauseLast`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/useDefaultSwitchClauseLast`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/use-default-switch-clause.mdx b/src/content/docs/linter/rules/use-default-switch-clause.mdx index 77d3fc752..f6d75719e 100644 --- a/src/content/docs/linter/rules/use-default-switch-clause.mdx +++ b/src/content/docs/linter/rules/use-default-switch-clause.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useDefaultSwitchClause`** **Since**: `v1.7.2` + Sources: - Same as: default-case diff --git a/src/content/docs/linter/rules/use-deprecated-reason.mdx b/src/content/docs/linter/rules/use-deprecated-reason.mdx index f05e375ab..b429ab7e6 100644 --- a/src/content/docs/linter/rules/use-deprecated-reason.mdx +++ b/src/content/docs/linter/rules/use-deprecated-reason.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/useDeprecatedReason`** **Since**: `v1.9.0` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: @@ -34,7 +34,7 @@ query { } ``` -
    +
    code-block.graphql:2:10 lint/nursery/useDeprecatedReason ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    The directive `@deprecated` should have a `reason` argument.

    1 │ query {
    > 2 │ member @deprecated
    ^^^^^^^^^^^
    3 │ }
    4 │

    Add a `reason` argument to the directive.

    ### Valid diff --git a/src/content/docs/linter/rules/use-enum-initializers.mdx b/src/content/docs/linter/rules/use-enum-initializers.mdx index b5011b22f..e74406069 100644 --- a/src/content/docs/linter/rules/use-enum-initializers.mdx +++ b/src/content/docs/linter/rules/use-enum-initializers.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useEnumInitializers`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/style/useEnumInitializers`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/use-error-message.mdx b/src/content/docs/linter/rules/use-error-message.mdx index ce8d2d13e..b545112a4 100644 --- a/src/content/docs/linter/rules/use-error-message.mdx +++ b/src/content/docs/linter/rules/use-error-message.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/useErrorMessage`** **Since**: `v1.8.0` + Sources: - Same as: unicorn/error-message diff --git a/src/content/docs/linter/rules/use-exhaustive-dependencies.mdx b/src/content/docs/linter/rules/use-exhaustive-dependencies.mdx index 594408e59..ba3b642ca 100644 --- a/src/content/docs/linter/rules/use-exhaustive-dependencies.mdx +++ b/src/content/docs/linter/rules/use-exhaustive-dependencies.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/useExhaustiveDependencies`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/useExhaustiveDependencies`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/use-explicit-length-check.mdx b/src/content/docs/linter/rules/use-explicit-length-check.mdx index 17ac79b26..da2f333d1 100644 --- a/src/content/docs/linter/rules/use-explicit-length-check.mdx +++ b/src/content/docs/linter/rules/use-explicit-length-check.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useExplicitLengthCheck`** **Since**: `v1.7.3` :::note +- Diagnostic Category: [`lint/style/useExplicitLengthCheck`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-explicit-type.mdx b/src/content/docs/linter/rules/use-explicit-type.mdx index df04c2ff8..268e7663b 100644 --- a/src/content/docs/linter/rules/use-explicit-type.mdx +++ b/src/content/docs/linter/rules/use-explicit-type.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/useExplicitType`** **Since**: `v1.9.3` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/use-exponentiation-operator.mdx b/src/content/docs/linter/rules/use-exponentiation-operator.mdx index 45e4c5902..0ce0ad843 100644 --- a/src/content/docs/linter/rules/use-exponentiation-operator.mdx +++ b/src/content/docs/linter/rules/use-exponentiation-operator.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useExponentiationOperator`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/style/useExponentiationOperator`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-export-type.mdx b/src/content/docs/linter/rules/use-export-type.mdx index 8a730101a..3903b5b8e 100644 --- a/src/content/docs/linter/rules/use-export-type.mdx +++ b/src/content/docs/linter/rules/use-export-type.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useExportType`** **Since**: `v1.5.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/style/useExportType`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/use-exports-last.mdx b/src/content/docs/linter/rules/use-exports-last.mdx index 96789a382..a815905a4 100644 --- a/src/content/docs/linter/rules/use-exports-last.mdx +++ b/src/content/docs/linter/rules/use-exports-last.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/useExportsLast`** **Since**: `vnext` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/use-filenaming-convention.mdx b/src/content/docs/linter/rules/use-filenaming-convention.mdx index 08c977d64..f76aba97f 100644 --- a/src/content/docs/linter/rules/use-filenaming-convention.mdx +++ b/src/content/docs/linter/rules/use-filenaming-convention.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useFilenamingConvention`** **Since**: `v1.5.0` + Sources: - Inspired from: unicorn/filename-case diff --git a/src/content/docs/linter/rules/use-flat-map.mdx b/src/content/docs/linter/rules/use-flat-map.mdx index 1a74c547f..72f7fbad7 100644 --- a/src/content/docs/linter/rules/use-flat-map.mdx +++ b/src/content/docs/linter/rules/use-flat-map.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/useFlatMap`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/useFlatMap`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/use-focusable-interactive.mdx b/src/content/docs/linter/rules/use-focusable-interactive.mdx index 87c32ecb2..0a419895b 100644 --- a/src/content/docs/linter/rules/use-focusable-interactive.mdx +++ b/src/content/docs/linter/rules/use-focusable-interactive.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/useFocusableInteractive`** **Since**: `v1.8.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/useFocusableInteractive`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/use-for-of.mdx b/src/content/docs/linter/rules/use-for-of.mdx index 43335e42a..e7a19a15c 100644 --- a/src/content/docs/linter/rules/use-for-of.mdx +++ b/src/content/docs/linter/rules/use-for-of.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useForOf`** **Since**: `v1.5.0` + Sources: - Same as: @typescript-eslint/prefer-for-of - Same as: unicorn/no-for-loop diff --git a/src/content/docs/linter/rules/use-fragment-syntax.mdx b/src/content/docs/linter/rules/use-fragment-syntax.mdx index c357878e6..271f9e7b0 100644 --- a/src/content/docs/linter/rules/use-fragment-syntax.mdx +++ b/src/content/docs/linter/rules/use-fragment-syntax.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useFragmentSyntax`** **Since**: `v1.0.0` :::note +- Diagnostic Category: [`lint/style/useFragmentSyntax`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-generic-font-names.mdx b/src/content/docs/linter/rules/use-generic-font-names.mdx index ebfcb8302..80b7a587d 100644 --- a/src/content/docs/linter/rules/use-generic-font-names.mdx +++ b/src/content/docs/linter/rules/use-generic-font-names.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/useGenericFontNames`** **Since**: `v1.8.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/useGenericFontNames`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/use-getter-return.mdx b/src/content/docs/linter/rules/use-getter-return.mdx index dc1192263..9f4b5ceab 100644 --- a/src/content/docs/linter/rules/use-getter-return.mdx +++ b/src/content/docs/linter/rules/use-getter-return.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/useGetterReturn`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/useGetterReturn`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/use-google-font-display.mdx b/src/content/docs/linter/rules/use-google-font-display.mdx index f98d2131e..7995dfe5c 100644 --- a/src/content/docs/linter/rules/use-google-font-display.mdx +++ b/src/content/docs/linter/rules/use-google-font-display.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/useGoogleFontDisplay`** **Since**: `v1.9.4` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/use-google-font-preconnect.mdx b/src/content/docs/linter/rules/use-google-font-preconnect.mdx index f116063de..87701fee2 100644 --- a/src/content/docs/linter/rules/use-google-font-preconnect.mdx +++ b/src/content/docs/linter/rules/use-google-font-preconnect.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/useGoogleFontPreconnect`** **Since**: `vnext` :::note +- Diagnostic Category: [`lint/nursery/useGoogleFontPreconnect`](/reference/diagnostics#diagnostic-category) - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/use-guard-for-in.mdx b/src/content/docs/linter/rules/use-guard-for-in.mdx index 79ddb26df..471fc0113 100644 --- a/src/content/docs/linter/rules/use-guard-for-in.mdx +++ b/src/content/docs/linter/rules/use-guard-for-in.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/useGuardForIn`** **Since**: `v1.9.4` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/use-heading-content.mdx b/src/content/docs/linter/rules/use-heading-content.mdx index 35f9ecb9d..b6b814280 100644 --- a/src/content/docs/linter/rules/use-heading-content.mdx +++ b/src/content/docs/linter/rules/use-heading-content.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/useHeadingContent`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/useHeadingContent`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/use-hook-at-top-level.mdx b/src/content/docs/linter/rules/use-hook-at-top-level.mdx index 6e3488301..f30e344c3 100644 --- a/src/content/docs/linter/rules/use-hook-at-top-level.mdx +++ b/src/content/docs/linter/rules/use-hook-at-top-level.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/useHookAtTopLevel`** **Since**: `v1.0.0` + Sources: - Same as: react-hooks/rules-of-hooks diff --git a/src/content/docs/linter/rules/use-html-lang.mdx b/src/content/docs/linter/rules/use-html-lang.mdx index 0060f9446..93ad2dd31 100644 --- a/src/content/docs/linter/rules/use-html-lang.mdx +++ b/src/content/docs/linter/rules/use-html-lang.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/useHtmlLang`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/useHtmlLang`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/use-iframe-title.mdx b/src/content/docs/linter/rules/use-iframe-title.mdx index 08b05e672..497d78beb 100644 --- a/src/content/docs/linter/rules/use-iframe-title.mdx +++ b/src/content/docs/linter/rules/use-iframe-title.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/useIframeTitle`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/useIframeTitle`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/use-import-extensions.mdx b/src/content/docs/linter/rules/use-import-extensions.mdx index 3005ea47e..5083b07dc 100644 --- a/src/content/docs/linter/rules/use-import-extensions.mdx +++ b/src/content/docs/linter/rules/use-import-extensions.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/useImportExtensions`** **Since**: `v1.8.0` :::note +- Diagnostic Category: [`lint/correctness/useImportExtensions`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-import-restrictions.mdx b/src/content/docs/linter/rules/use-import-restrictions.mdx index 1a5c643fa..f962b721d 100644 --- a/src/content/docs/linter/rules/use-import-restrictions.mdx +++ b/src/content/docs/linter/rules/use-import-restrictions.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/useImportRestrictions`** **Since**: `v1.0.0` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/use-import-type.mdx b/src/content/docs/linter/rules/use-import-type.mdx index 5423ed19c..1ae247183 100644 --- a/src/content/docs/linter/rules/use-import-type.mdx +++ b/src/content/docs/linter/rules/use-import-type.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useImportType`** **Since**: `v1.5.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/style/useImportType`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/use-is-array.mdx b/src/content/docs/linter/rules/use-is-array.mdx index a802362af..7e9d92402 100644 --- a/src/content/docs/linter/rules/use-is-array.mdx +++ b/src/content/docs/linter/rules/use-is-array.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/useIsArray`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/useIsArray`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-is-nan.mdx b/src/content/docs/linter/rules/use-is-nan.mdx index eeb02a28a..8347e6ce3 100644 --- a/src/content/docs/linter/rules/use-is-nan.mdx +++ b/src/content/docs/linter/rules/use-is-nan.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/useIsNan`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/useIsNan`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-jsx-key-in-iterable.mdx b/src/content/docs/linter/rules/use-jsx-key-in-iterable.mdx index fca2dacf6..5c7b5147b 100644 --- a/src/content/docs/linter/rules/use-jsx-key-in-iterable.mdx +++ b/src/content/docs/linter/rules/use-jsx-key-in-iterable.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/useJsxKeyInIterable`** **Since**: `v1.6.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/useJsxKeyInIterable`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/use-key-with-click-events.mdx b/src/content/docs/linter/rules/use-key-with-click-events.mdx index b395ba186..5f0f99494 100644 --- a/src/content/docs/linter/rules/use-key-with-click-events.mdx +++ b/src/content/docs/linter/rules/use-key-with-click-events.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/useKeyWithClickEvents`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/useKeyWithClickEvents`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/use-key-with-mouse-events.mdx b/src/content/docs/linter/rules/use-key-with-mouse-events.mdx index f2aafe36d..d5240db7d 100644 --- a/src/content/docs/linter/rules/use-key-with-mouse-events.mdx +++ b/src/content/docs/linter/rules/use-key-with-mouse-events.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/useKeyWithMouseEvents`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/useKeyWithMouseEvents`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/use-literal-enum-members.mdx b/src/content/docs/linter/rules/use-literal-enum-members.mdx index 68d94cc78..e2c731fe8 100644 --- a/src/content/docs/linter/rules/use-literal-enum-members.mdx +++ b/src/content/docs/linter/rules/use-literal-enum-members.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useLiteralEnumMembers`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/style/useLiteralEnumMembers`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/use-literal-keys.mdx b/src/content/docs/linter/rules/use-literal-keys.mdx index ddc81582f..2325b9618 100644 --- a/src/content/docs/linter/rules/use-literal-keys.mdx +++ b/src/content/docs/linter/rules/use-literal-keys.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/useLiteralKeys`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/useLiteralKeys`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-media-caption.mdx b/src/content/docs/linter/rules/use-media-caption.mdx index bcba3fe09..f38d6ac0d 100644 --- a/src/content/docs/linter/rules/use-media-caption.mdx +++ b/src/content/docs/linter/rules/use-media-caption.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/useMediaCaption`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/useMediaCaption`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/use-named-operation.mdx b/src/content/docs/linter/rules/use-named-operation.mdx index 432402e6f..84184d079 100644 --- a/src/content/docs/linter/rules/use-named-operation.mdx +++ b/src/content/docs/linter/rules/use-named-operation.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/useNamedOperation`** **Since**: `vnext` :::note +- Diagnostic Category: [`lint/nursery/useNamedOperation`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: @@ -35,7 +35,7 @@ This is useful because most GraphQL client libraries use the operation name for query {} ``` -
    +
    code-block.graphql:1:1 lint/nursery/useNamedOperation  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Anonymous GraphQL operations are forbidden. Make sure to name your query.

    > 1 │ query {}
    ^^^^^
    2 │

    Most GraphQL client libraries use the operation name for caching purposes.

    Unsafe fix: Rename this query to Query.

    1 │ query·Query{}
    +++++
    ### Valid diff --git a/src/content/docs/linter/rules/use-namespace-keyword.mdx b/src/content/docs/linter/rules/use-namespace-keyword.mdx index a28ef766a..12ee1aecb 100644 --- a/src/content/docs/linter/rules/use-namespace-keyword.mdx +++ b/src/content/docs/linter/rules/use-namespace-keyword.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/useNamespaceKeyword`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/useNamespaceKeyword`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/use-naming-convention.mdx b/src/content/docs/linter/rules/use-naming-convention.mdx index ce12bf805..a1128070e 100644 --- a/src/content/docs/linter/rules/use-naming-convention.mdx +++ b/src/content/docs/linter/rules/use-naming-convention.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useNamingConvention`** **Since**: `v1.0.0` :::note +- Diagnostic Category: [`lint/style/useNamingConvention`](/reference/diagnostics#diagnostic-category) - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/use-node-assert-strict.mdx b/src/content/docs/linter/rules/use-node-assert-strict.mdx index a577c8fe3..effe2f53f 100644 --- a/src/content/docs/linter/rules/use-node-assert-strict.mdx +++ b/src/content/docs/linter/rules/use-node-assert-strict.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useNodeAssertStrict`** **Since**: `v1.6.0` :::note +- Diagnostic Category: [`lint/style/useNodeAssertStrict`](/reference/diagnostics#diagnostic-category) - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/use-nodejs-import-protocol.mdx b/src/content/docs/linter/rules/use-nodejs-import-protocol.mdx index 81af42a52..8b36f0fd7 100644 --- a/src/content/docs/linter/rules/use-nodejs-import-protocol.mdx +++ b/src/content/docs/linter/rules/use-nodejs-import-protocol.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useNodejsImportProtocol`** **Since**: `v1.5.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/style/useNodejsImportProtocol`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-number-namespace.mdx b/src/content/docs/linter/rules/use-number-namespace.mdx index b0bb0e375..a5b016ada 100644 --- a/src/content/docs/linter/rules/use-number-namespace.mdx +++ b/src/content/docs/linter/rules/use-number-namespace.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useNumberNamespace`** **Since**: `v1.5.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/style/useNumberNamespace`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/use-number-to-fixed-digits-argument.mdx b/src/content/docs/linter/rules/use-number-to-fixed-digits-argument.mdx index 37d46827c..562d6698f 100644 --- a/src/content/docs/linter/rules/use-number-to-fixed-digits-argument.mdx +++ b/src/content/docs/linter/rules/use-number-to-fixed-digits-argument.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/useNumberToFixedDigitsArgument`** **Since**: `v1.8.0` :::note +- Diagnostic Category: [`lint/suspicious/useNumberToFixedDigitsArgument`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-numeric-literals.mdx b/src/content/docs/linter/rules/use-numeric-literals.mdx index 4a2a1ca9c..432d6d9f8 100644 --- a/src/content/docs/linter/rules/use-numeric-literals.mdx +++ b/src/content/docs/linter/rules/use-numeric-literals.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useNumericLiterals`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/style/useNumericLiterals`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-optional-chain.mdx b/src/content/docs/linter/rules/use-optional-chain.mdx index e5b0d4c27..9ef4b087d 100644 --- a/src/content/docs/linter/rules/use-optional-chain.mdx +++ b/src/content/docs/linter/rules/use-optional-chain.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/useOptionalChain`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/useOptionalChain`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-regex-literals.mdx b/src/content/docs/linter/rules/use-regex-literals.mdx index f950f0600..fe290bcca 100644 --- a/src/content/docs/linter/rules/use-regex-literals.mdx +++ b/src/content/docs/linter/rules/use-regex-literals.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/useRegexLiterals`** **Since**: `v1.3.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/useRegexLiterals`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/use-self-closing-elements.mdx b/src/content/docs/linter/rules/use-self-closing-elements.mdx index 56ff07c5d..62195d928 100644 --- a/src/content/docs/linter/rules/use-self-closing-elements.mdx +++ b/src/content/docs/linter/rules/use-self-closing-elements.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useSelfClosingElements`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/style/useSelfClosingElements`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-semantic-elements.mdx b/src/content/docs/linter/rules/use-semantic-elements.mdx index 4713f8f15..3c09d60d9 100644 --- a/src/content/docs/linter/rules/use-semantic-elements.mdx +++ b/src/content/docs/linter/rules/use-semantic-elements.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/useSemanticElements`** **Since**: `v1.8.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/useSemanticElements`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/use-shorthand-array-type.mdx b/src/content/docs/linter/rules/use-shorthand-array-type.mdx index 32f857d60..b5eb6ebd0 100644 --- a/src/content/docs/linter/rules/use-shorthand-array-type.mdx +++ b/src/content/docs/linter/rules/use-shorthand-array-type.mdx @@ -8,7 +8,6 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useShorthandArrayType`** :::caution[Deprecated] @@ -17,6 +16,7 @@ This rule is deprecated and will be removed in the next major release. ::: **Since**: `v1.0.0` :::note +- Diagnostic Category: [`lint/style/useShorthandArrayType`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-shorthand-assign.mdx b/src/content/docs/linter/rules/use-shorthand-assign.mdx index f1aa4f292..c2240e572 100644 --- a/src/content/docs/linter/rules/use-shorthand-assign.mdx +++ b/src/content/docs/linter/rules/use-shorthand-assign.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useShorthandAssign`** **Since**: `v1.3.0` :::note +- Diagnostic Category: [`lint/style/useShorthandAssign`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-shorthand-function-type.mdx b/src/content/docs/linter/rules/use-shorthand-function-type.mdx index 0efd5a654..0da83cac8 100644 --- a/src/content/docs/linter/rules/use-shorthand-function-type.mdx +++ b/src/content/docs/linter/rules/use-shorthand-function-type.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useShorthandFunctionType`** **Since**: `v1.5.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/style/useShorthandFunctionType`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/use-simple-number-keys.mdx b/src/content/docs/linter/rules/use-simple-number-keys.mdx index 86039e6f0..5c007a0a3 100644 --- a/src/content/docs/linter/rules/use-simple-number-keys.mdx +++ b/src/content/docs/linter/rules/use-simple-number-keys.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/useSimpleNumberKeys`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/complexity/useSimpleNumberKeys`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/use-simplified-logic-expression.mdx b/src/content/docs/linter/rules/use-simplified-logic-expression.mdx index c6ea236d1..65e87aec9 100644 --- a/src/content/docs/linter/rules/use-simplified-logic-expression.mdx +++ b/src/content/docs/linter/rules/use-simplified-logic-expression.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/complexity/useSimplifiedLogicExpression`** **Since**: `v1.0.0` :::note +- Diagnostic Category: [`lint/complexity/useSimplifiedLogicExpression`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-single-case-statement.mdx b/src/content/docs/linter/rules/use-single-case-statement.mdx index 5ffc7d0a0..fbf26ad4d 100644 --- a/src/content/docs/linter/rules/use-single-case-statement.mdx +++ b/src/content/docs/linter/rules/use-single-case-statement.mdx @@ -8,7 +8,6 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useSingleCaseStatement`** :::caution[Deprecated] @@ -17,6 +16,7 @@ This rule is deprecated and will be removed in the next major release. ::: **Since**: `v1.0.0` :::note +- Diagnostic Category: [`lint/style/useSingleCaseStatement`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-single-var-declarator.mdx b/src/content/docs/linter/rules/use-single-var-declarator.mdx index 9b5b3a606..e31eb278e 100644 --- a/src/content/docs/linter/rules/use-single-var-declarator.mdx +++ b/src/content/docs/linter/rules/use-single-var-declarator.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useSingleVarDeclarator`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/style/useSingleVarDeclarator`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-sorted-classes.mdx b/src/content/docs/linter/rules/use-sorted-classes.mdx index 0cdaf2eec..57cb037e2 100644 --- a/src/content/docs/linter/rules/use-sorted-classes.mdx +++ b/src/content/docs/linter/rules/use-sorted-classes.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/useSortedClasses`** **Since**: `v1.6.0` :::note +- Diagnostic Category: [`lint/nursery/useSortedClasses`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-strict-mode.mdx b/src/content/docs/linter/rules/use-strict-mode.mdx index dfa971bb7..6c0baa0fe 100644 --- a/src/content/docs/linter/rules/use-strict-mode.mdx +++ b/src/content/docs/linter/rules/use-strict-mode.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/useStrictMode`** **Since**: `v1.8.0` :::note +- Diagnostic Category: [`lint/nursery/useStrictMode`](/reference/diagnostics#diagnostic-category) - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/use-template.mdx b/src/content/docs/linter/rules/use-template.mdx index d24cffafe..810fda67e 100644 --- a/src/content/docs/linter/rules/use-template.mdx +++ b/src/content/docs/linter/rules/use-template.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useTemplate`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/style/useTemplate`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-throw-new-error.mdx b/src/content/docs/linter/rules/use-throw-new-error.mdx index ad5f68831..76578668c 100644 --- a/src/content/docs/linter/rules/use-throw-new-error.mdx +++ b/src/content/docs/linter/rules/use-throw-new-error.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useThrowNewError`** **Since**: `v1.8.0` :::note +- Diagnostic Category: [`lint/style/useThrowNewError`](/reference/diagnostics#diagnostic-category) - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-throw-only-error.mdx b/src/content/docs/linter/rules/use-throw-only-error.mdx index 429957de3..8cca34478 100644 --- a/src/content/docs/linter/rules/use-throw-only-error.mdx +++ b/src/content/docs/linter/rules/use-throw-only-error.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useThrowOnlyError`** **Since**: `v1.8.0` + Sources: - Inspired from: no-throw-literal - Inspired from: @typescript-eslint/only-throw-error diff --git a/src/content/docs/linter/rules/use-top-level-regex.mdx b/src/content/docs/linter/rules/use-top-level-regex.mdx index f5e3ef60d..751dd0739 100644 --- a/src/content/docs/linter/rules/use-top-level-regex.mdx +++ b/src/content/docs/linter/rules/use-top-level-regex.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/performance/useTopLevelRegex`** **Since**: `v1.8.0` + Require regex literals to be declared at the top level. This rule is useful to avoid performance issues when using regex literals inside functions called many times (hot paths). Regex literals create a new RegExp object when they are evaluated. (See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp) By declaring them at the top level, this overhead can be avoided. diff --git a/src/content/docs/linter/rules/use-trim-start-end.mdx b/src/content/docs/linter/rules/use-trim-start-end.mdx index 26556ae53..e5e748e91 100644 --- a/src/content/docs/linter/rules/use-trim-start-end.mdx +++ b/src/content/docs/linter/rules/use-trim-start-end.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/useTrimStartEnd`** **Since**: `v1.9.0` :::note +- Diagnostic Category: [`lint/nursery/useTrimStartEnd`](/reference/diagnostics#diagnostic-category) - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/use-valid-anchor.mdx b/src/content/docs/linter/rules/use-valid-anchor.mdx index a67e24983..bc0f4341b 100644 --- a/src/content/docs/linter/rules/use-valid-anchor.mdx +++ b/src/content/docs/linter/rules/use-valid-anchor.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/useValidAnchor`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/useValidAnchor`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/use-valid-aria-props.mdx b/src/content/docs/linter/rules/use-valid-aria-props.mdx index 1e0780ecf..3ee5da4f7 100644 --- a/src/content/docs/linter/rules/use-valid-aria-props.mdx +++ b/src/content/docs/linter/rules/use-valid-aria-props.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/useValidAriaProps`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/useValidAriaProps`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-valid-aria-role.mdx b/src/content/docs/linter/rules/use-valid-aria-role.mdx index 48407002f..993848170 100644 --- a/src/content/docs/linter/rules/use-valid-aria-role.mdx +++ b/src/content/docs/linter/rules/use-valid-aria-role.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/useValidAriaRole`** **Since**: `v1.4.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/useValidAriaRole`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-valid-aria-values.mdx b/src/content/docs/linter/rules/use-valid-aria-values.mdx index 8eb567512..bbfb5dfa1 100644 --- a/src/content/docs/linter/rules/use-valid-aria-values.mdx +++ b/src/content/docs/linter/rules/use-valid-aria-values.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/useValidAriaValues`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/useValidAriaValues`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/use-valid-autocomplete.mdx b/src/content/docs/linter/rules/use-valid-autocomplete.mdx index 7519e3941..b163cd5d0 100644 --- a/src/content/docs/linter/rules/use-valid-autocomplete.mdx +++ b/src/content/docs/linter/rules/use-valid-autocomplete.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/useValidAutocomplete`** **Since**: `v1.9.0` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: diff --git a/src/content/docs/linter/rules/use-valid-for-direction.mdx b/src/content/docs/linter/rules/use-valid-for-direction.mdx index 14879fc00..0e05451c9 100644 --- a/src/content/docs/linter/rules/use-valid-for-direction.mdx +++ b/src/content/docs/linter/rules/use-valid-for-direction.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/useValidForDirection`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/useValidForDirection`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/use-valid-lang.mdx b/src/content/docs/linter/rules/use-valid-lang.mdx index 5acfb5bc7..5d71a3ae2 100644 --- a/src/content/docs/linter/rules/use-valid-lang.mdx +++ b/src/content/docs/linter/rules/use-valid-lang.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/a11y/useValidLang`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/a11y/useValidLang`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/linter/rules/use-valid-typeof.mdx b/src/content/docs/linter/rules/use-valid-typeof.mdx index c7b17352d..55a9b7530 100644 --- a/src/content/docs/linter/rules/use-valid-typeof.mdx +++ b/src/content/docs/linter/rules/use-valid-typeof.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/suspicious/useValidTypeof`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/suspicious/useValidTypeof`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has an **unsafe** fix. ::: diff --git a/src/content/docs/linter/rules/use-while.mdx b/src/content/docs/linter/rules/use-while.mdx index 21ca4b7ad..560b190eb 100644 --- a/src/content/docs/linter/rules/use-while.mdx +++ b/src/content/docs/linter/rules/use-while.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/style/useWhile`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/style/useWhile`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/use-yield.mdx b/src/content/docs/linter/rules/use-yield.mdx index a060b8ade..322eeff48 100644 --- a/src/content/docs/linter/rules/use-yield.mdx +++ b/src/content/docs/linter/rules/use-yield.mdx @@ -8,12 +8,12 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/correctness/useYield`** **Since**: `v1.0.0` :::note -- This rule is recommended by Biome. A diagnostic error will appear when linting your code. +- Diagnostic Category: [`lint/correctness/useYield`](/reference/diagnostics#diagnostic-category) +- This rule is **recommended**. A [diagnostic error](/reference/diagnostics#error) will appear when linting your code. ::: Sources: diff --git a/src/content/docs/pt-br/linter/index.mdx b/src/content/docs/pt-br/linter/index.mdx index 6ca53ef0f..15b87acda 100644 --- a/src/content/docs/pt-br/linter/index.mdx +++ b/src/content/docs/pt-br/linter/index.mdx @@ -3,8 +3,8 @@ title: Linter description: Como utilizar o Linter do Biome. --- -import NumberOfRules from "@/components/generated/NumberOfRules.astro"; -import RecommendedRules from "@/components/generated/RecommendedRules.astro"; +import NumberOfRules from "@/components/generated/linter/NumberOfRules.astro"; +import RecommendedRules from "@/components/generated/linter/RecommendedRules.astro"; O Linter do Biome analisa de forma estática o seu código para encontrar erros comuns e ajudar você a escrever códigos idiomáticos. diff --git a/src/content/docs/reference/configuration.mdx b/src/content/docs/reference/configuration.mdx index 1e3e2a967..2a3997bdb 100644 --- a/src/content/docs/reference/configuration.mdx +++ b/src/content/docs/reference/configuration.mdx @@ -3,7 +3,7 @@ title: Configuration description: How to customize and configure Biome with biome.json. --- -import LintGroups from "@/components/generated/Groups.astro"; +import LintGroups from "@/components/generated/linter/Groups.astro"; {/** Make sure to update the redirect in `static/_redirects` when changing the configuration title --> **/} @@ -388,11 +388,11 @@ The style of the indentation. It can be `"tab"` or `"space"`. This option is deprecated, please use [`formatter.indentWidth`](#formatterindentwidth) instead.
    -Deprecated + Deprecated -How big the indentation should be. + How big the indentation should be. -> Default: `2` + > Default: `2`
    @@ -538,14 +538,14 @@ When properties inside objects should be quoted. It can be `"asNeeded"` or `"pre This option is deprecated, please use [`javascript.formatter.trailingCommas`](#javascriptformattertrailingcommas) instead.
    -Deprecated + Deprecated -Print trailing commas wherever possible in multi-line comma-separated syntactic structures. Possible values: -- `"all"`, the trailing comma is always added; -- `"es5"`, the trailing comma is added only in places where it's supported by older version of JavaScript; -- `"none"`, trailing commas are never added. + Print trailing commas wherever possible in multi-line comma-separated syntactic structures. Possible values: + - `"all"`, the trailing comma is always added; + - `"es5"`, the trailing comma is added only in places where it's supported by older version of JavaScript; + - `"none"`, trailing commas are never added. -> Default: `"all"` + > Default: `"all"`
    @@ -605,11 +605,11 @@ The style of the indentation for JavaScript (and its super languages) files. It This option is deprecated, please use [`javascript.formatter.indentWidth`](#javascriptformatterindentwidth) instead.
    -Deprecated + Deprecated -How big the indentation should be for JavaScript (and its super languages) files. + How big the indentation should be for JavaScript (and its super languages) files. -> Default: `2` + > Default: `2`
    @@ -671,10 +671,10 @@ A list of global names that Biome should ignore (analyzer, linter, etc.) Indicates the type of runtime or transformation used for interpreting JSX. - `"transparent"` — Indicates a modern or native JSX environment, that - doesn't require special handling by Biome. +doesn't require special handling by Biome. - `"reactClassic"` — Indicates a classic React environment that requires - the `React` import. Corresponds to the `react` value for the - `jsx` option in TypeScript's [`tsconfig.json`](https://www.typescriptlang.org/tsconfig#jsx). +the `React` import. Corresponds to the `react` value for the +`jsx` option in TypeScript's [`tsconfig.json`](https://www.typescriptlang.org/tsconfig#jsx). ```json title="biome.json" { @@ -750,11 +750,11 @@ The style of the indentation for JSON (and its super languages) files. It can be This option is deprecated, please use [`json.formatter.indentWidth`](#jsonformatterindentwidth) instead.
    -Deprecated + Deprecated -How big the indentation should be for JSON (and its super languages) files. + How big the indentation should be for JSON (and its super languages) files. -> Default: `2` + > Default: `2`
    diff --git a/src/content/docs/zh-cn/linter/index.mdx b/src/content/docs/zh-cn/linter/index.mdx index 895c028bd..b5663b5f9 100644 --- a/src/content/docs/zh-cn/linter/index.mdx +++ b/src/content/docs/zh-cn/linter/index.mdx @@ -3,8 +3,8 @@ title: Linter description: 如何使用 Biome linter。 --- -import NumberOfRules from "@/components/generated/NumberOfRules.astro"; -import RecommendedRules from "@/components/generated/RecommendedRules.astro"; +import NumberOfRules from "@/components/generated/linter/NumberOfRules.astro"; +import RecommendedRules from "@/components/generated/linter/RecommendedRules.astro"; Biome 的 linter 静态分析你的代码以捕获常见错误并帮助编写符合规范的代码。 diff --git a/src/content/docs/zh-cn/reference/configuration.mdx b/src/content/docs/zh-cn/reference/configuration.mdx index 3a2c64ad4..0a70dbb7f 100644 --- a/src/content/docs/zh-cn/reference/configuration.mdx +++ b/src/content/docs/zh-cn/reference/configuration.mdx @@ -5,7 +5,7 @@ category: 参考 description: 如何使用biome.json自定义和配置Biome。 --- -import LintGroups from "@/components/generated/Groups.astro"; +import LintGroups from "@/components/generated/linter/Groups.astro"; {/* * 当更改配置标题时,请确保更新 `static/_redirects` 中的重定向 * */} From 684967d96f01fc4bb0c2455afff493acb8b3c7c2 Mon Sep 17 00:00:00 2001 From: Carson McManus Date: Sun, 2 Feb 2025 13:31:36 -0500 Subject: [PATCH 3/3] refactor(playground): upgrade playground to be compatible with biome 2.0 --- src/playground/tabs/SettingsTab.tsx | 8 +- src/playground/types.ts | 2 +- src/playground/workers/biomeWorker.ts | 701 +++++++++++++------------- 3 files changed, 362 insertions(+), 349 deletions(-) diff --git a/src/playground/tabs/SettingsTab.tsx b/src/playground/tabs/SettingsTab.tsx index e0625f0a9..af24af3fa 100644 --- a/src/playground/tabs/SettingsTab.tsx +++ b/src/playground/tabs/SettingsTab.tsx @@ -852,12 +852,12 @@ function LinterSettings({ aria-describedby="analyzer-fix-mode-description" name="analyzer-fix-mode" disabled={!enabledLinting} - value={analyzerFixMode ?? "SafeFixes"} + value={analyzerFixMode ?? "safeFixes"} onChange={(e) => setAnalyzerFixMode(e.target.value as FixFileMode)} > - - - + + + diff --git a/src/playground/types.ts b/src/playground/types.ts index 64cb1ce3d..7465d212d 100644 --- a/src/playground/types.ts +++ b/src/playground/types.ts @@ -186,7 +186,7 @@ export const defaultPlaygroundState: PlaygroundState = { bracketSameLine: false, lintRules: LintRules.Recommended, enabledLinting: true, - analyzerFixMode: "SafeFixes", + analyzerFixMode: "safeFixes", importSortingEnabled: true, unsafeParameterDecoratorsEnabled: true, allowComments: true, diff --git a/src/playground/workers/biomeWorker.ts b/src/playground/workers/biomeWorker.ts index df4e38c2a..7afdacba3 100644 --- a/src/playground/workers/biomeWorker.ts +++ b/src/playground/workers/biomeWorker.ts @@ -1,365 +1,378 @@ import { - ArrowParentheses, - AttributePosition, - type BiomeOutput, - IndentStyle, - LintRules, - LoadingState, - type PlaygroundSettings, - QuoteProperties, - QuoteStyle, - Semicolons, + ArrowParentheses, + AttributePosition, + type BiomeOutput, + IndentStyle, + LintRules, + LoadingState, + type PlaygroundSettings, + QuoteProperties, + QuoteStyle, + Semicolons, } from "@/playground/types"; import init, { - DiagnosticPrinter, - type PartialConfiguration as Configuration, - type BiomePath, - type RuleCategories, - Workspace, + DiagnosticPrinter, + type Configuration, + type BiomePath, + type RuleCategories, + Workspace, + type ProjectKey, } from "@biomejs/wasm-web"; let workspace: Workspace | null = null; let fileCounter = 0; type File = { - filename: string; - id: number; - content: string; - version: number; + filename: string; + id: number; + content: string; + version: number; }; const files: Map = new Map(); +let projectKey: ProjectKey = 0; let configuration: undefined | Configuration; let fullSettings: undefined | PlaygroundSettings; function getPathForFile(file: File): BiomePath { - return { - path: file.filename, - kind: ["handleable"], - wasWritten: false, - }; + return file.filename; } self.addEventListener("message", async (e) => { - switch (e.data.type) { - case "init": { - try { - if (import.meta.env.DEV) { - await init( - "../../../node_modules/@biomejs/wasm-web/biome_wasm_bg.wasm?init", - ); - } else { - await init(); - } - - workspace = new Workspace(); - workspace.registerProjectFolder({ - setAsCurrentWorkspace: true, - }); - - self.postMessage({ type: "init", loadingState: LoadingState.Success }); - } catch (err) { - console.error(err); - self.postMessage({ type: "init", loadingState: LoadingState.Error }); - } - - break; - } - - case "updateSettings": { - if (!workspace) { - console.error("Workspace was not initialized"); - break; - } - - fullSettings = e.data.settings; - - const { - lineWidth, - indentStyle, - indentWidth, - quoteStyle, - jsxQuoteStyle, - quoteProperties, - lintRules, - enabledLinting, - trailingCommas, - semicolons, - arrowParentheses, - bracketSpacing, - bracketSameLine, - importSortingEnabled, - unsafeParameterDecoratorsEnabled, - allowComments, - attributePosition, - } = e.data.settings as PlaygroundSettings; - - configuration = { - formatter: { - enabled: true, - formatWithErrors: true, - lineWidth: lineWidth, - indentStyle: indentStyle === IndentStyle.Tab ? "tab" : "space", - indentWidth, - attributePosition: - attributePosition === AttributePosition.Auto ? "auto" : "multiline", - }, - - linter: { - enabled: enabledLinting, - }, - - organizeImports: { - enabled: importSortingEnabled, - }, - - javascript: { - formatter: { - quoteStyle: quoteStyle === QuoteStyle.Double ? "double" : "single", - jsxQuoteStyle: - jsxQuoteStyle === QuoteStyle.Double ? "double" : "single", - quoteProperties: - quoteProperties === QuoteProperties.Preserve - ? "preserve" - : "asNeeded", - trailingCommas, - semicolons: - semicolons === Semicolons.Always ? "always" : "asNeeded", - arrowParentheses: - arrowParentheses === ArrowParentheses.Always - ? "always" - : "asNeeded", - bracketSpacing, - bracketSameLine, - attributePosition: - attributePosition === AttributePosition.Auto - ? "auto" - : "multiline", - }, - parser: { - unsafeParameterDecoratorsEnabled, - }, - }, - css: { - formatter: { - quoteStyle: quoteStyle === QuoteStyle.Double ? "double" : "single", - }, - parser: { - allowWrongLineComments: true, - }, - }, - json: { - parser: { - allowComments, - }, - }, - }; - - switch (lintRules) { - case LintRules.Recommended: { - configuration.linter!.rules = { - nursery: { - recommended: false, - }, - }; - break; - } - case LintRules.All: { - configuration.linter!.rules = { - all: true, - }; - break; - } - } - - workspace.updateSettings({ - configuration, - gitignoreMatches: [], - }); - break; - } - - case "update": { - if (!workspace) { - console.error("Workspace was not initialized"); - break; - } - - const { filename, code, cursorPosition } = e.data; - - let file = files.get(filename); - if (file === undefined) { - file = { - filename, - version: 0, - content: code, - id: fileCounter++, - }; - - workspace.openFile({ - path: getPathForFile(file), - version: 0, - content: code, - }); - } else { - file = { - filename, - id: file.id, - version: file.version + 1, - content: code, - }; - - workspace.openFile({ - path: getPathForFile(file), - version: file.version, - content: code, - }); - } - files.set(filename, file); - const path = getPathForFile(file); - const fileFeatures = workspace.fileFeatures({ - features: ["debug", "format", "lint", "organizeImports"], - path, - }); - - const syntaxTree = - fileFeatures.featuresSupported.get("debug") === "supported" - ? workspace.getSyntaxTree({ - path, - }) - : { ast: "Not supported", cst: "Not supported" }; - - let controlFlowGraph = ""; - try { - controlFlowGraph = - fileFeatures.featuresSupported.get("debug") === "supported" - ? workspace.getControlFlowGraph({ - path, - cursor: cursorPosition, - }) - : ""; - } catch (e) { - console.warn("Failed to get control flow graph:", e); - controlFlowGraph = ""; - } - - let formatterIr = ""; - try { - formatterIr = - fileFeatures.featuresSupported.get("debug") === "supported" - ? workspace.getFormatterIr({ - path, - }) - : "Not supported"; - } catch (e) { - console.error(e); - formatterIr = "Can't format"; - } - - const importSorting = - fileFeatures.featuresSupported.get("organizeImports") === "supported" - ? workspace.organizeImports({ - path, - }) - : { - code: - fileFeatures.featuresSupported.get("organizeImports") ?? - "Not supported", - }; - - const categories: RuleCategories = []; - if (configuration?.formatter?.enabled) { - categories.push("syntax"); - } - if (configuration?.linter?.enabled) { - categories.push("lint"); - } - const diagnosticsResult = workspace.pullDiagnostics({ - path, - categories: categories, - maxDiagnostics: Number.MAX_SAFE_INTEGER, - only: [], - skip: [], - }); - - const printer = new DiagnosticPrinter(path.path, code); - for (const diag of diagnosticsResult.diagnostics) { - printer.print_verbose(diag); - } - - let printed = { - code: "", - }; - try { - printed = - fileFeatures.featuresSupported.get("format") === "supported" - ? workspace.formatFile({ - path, - }) - : { code: "Not supported" }; - } catch (e) { - console.error(e); - printed = { - code: "Can't format with errors", - }; - } - - let fixed = { - code: "", - }; - try { - fixed = - fileFeatures.features_supported.get("Lint") === "Supported" - ? workspace.fixFile({ - path, - only: [], - skip: [], - rule_categories: ["Lint"], - should_format: false, - fix_file_mode: fullSettings?.analyzerFixMode ?? "SafeFixes", - }) - : { code: "Not supported" }; - } catch (e) { - console.error(e); - fixed = { - code: "Can't apply fixes with errors", - }; - } - - const biomeOutput: BiomeOutput = { - syntax: { - // Replace 4 spaced indentation with 2 - // TODO replace this in Biome itself - ast: syntaxTree.ast.replace(/ {4}/g, " "), - cst: syntaxTree.cst, - }, - diagnostics: { - console: printer.finish(), - list: diagnosticsResult.diagnostics, - }, - formatter: { - code: printed.code, - ir: formatterIr, - }, - analysis: { - controlFlowGraph, - fixed: fixed.code, - }, - importSorting: { - code: importSorting.code, - }, - }; - - self.postMessage({ - type: "updated", - filename, - biomeOutput, - }); - break; - } - - default: - console.error(`Unknown message '${e.data.type}'.`); - } + switch (e.data.type) { + case "init": { + try { + if (import.meta.env.DEV) { + await init( + "../../../node_modules/@biomejs/wasm-web/biome_wasm_bg.wasm?init", + ); + } else { + await init(); + } + + workspace = new Workspace(); + projectKey = workspace.openProject({ + openUninitialized: true, + path: "/", + }); + + self.postMessage({ type: "init", loadingState: LoadingState.Success }); + } catch (err) { + console.error(err); + self.postMessage({ type: "init", loadingState: LoadingState.Error }); + } + + break; + } + + case "updateSettings": { + if (!workspace) { + console.error("Workspace was not initialized"); + break; + } + + fullSettings = e.data.settings; + + const { + lineWidth, + indentStyle, + indentWidth, + quoteStyle, + jsxQuoteStyle, + quoteProperties, + lintRules, + enabledLinting, + trailingCommas, + semicolons, + arrowParentheses, + bracketSpacing, + bracketSameLine, + importSortingEnabled, + unsafeParameterDecoratorsEnabled, + allowComments, + attributePosition, + } = e.data.settings as PlaygroundSettings; + + configuration = { + formatter: { + enabled: true, + formatWithErrors: true, + lineWidth: lineWidth, + indentStyle: indentStyle === IndentStyle.Tab ? "tab" : "space", + indentWidth, + attributePosition: + attributePosition === AttributePosition.Auto ? "auto" : "multiline", + }, + + linter: { + enabled: enabledLinting, + }, + + assist: { + enabled: importSortingEnabled, + }, + + javascript: { + formatter: { + quoteStyle: quoteStyle === QuoteStyle.Double ? "double" : "single", + jsxQuoteStyle: + jsxQuoteStyle === QuoteStyle.Double ? "double" : "single", + quoteProperties: + quoteProperties === QuoteProperties.Preserve + ? "preserve" + : "asNeeded", + trailingCommas, + semicolons: + semicolons === Semicolons.Always ? "always" : "asNeeded", + arrowParentheses: + arrowParentheses === ArrowParentheses.Always + ? "always" + : "asNeeded", + bracketSpacing, + bracketSameLine, + attributePosition: + attributePosition === AttributePosition.Auto + ? "auto" + : "multiline", + }, + parser: { + unsafeParameterDecoratorsEnabled, + }, + }, + css: { + formatter: { + quoteStyle: quoteStyle === QuoteStyle.Double ? "double" : "single", + }, + parser: { + allowWrongLineComments: true, + }, + }, + json: { + parser: { + allowComments, + }, + }, + }; + + switch (lintRules) { + case LintRules.Recommended: { + configuration.linter!.rules = { + nursery: { + recommended: false, + }, + }; + break; + } + case LintRules.All: { + configuration.linter!.rules = { + all: true, + }; + break; + } + } + + workspace.updateSettings({ + configuration, + gitignoreMatches: [], + projectKey, + }); + break; + } + + case "update": { + if (!workspace) { + console.error("Workspace was not initialized"); + break; + } + + const { filename, code, cursorPosition } = e.data; + + let file = files.get(filename); + if (file === undefined) { + file = { + filename, + version: 0, + content: code, + id: fileCounter++, + }; + + workspace.openFile({ + path: getPathForFile(file), + version: 0, + persistNodeCache: true, + projectKey, + content: { + type: "fromClient", + content: code, + }, + }); + } else { + file = { + filename, + id: file.id, + version: file.version + 1, + content: code, + }; + + workspace.openFile({ + path: getPathForFile(file), + version: file.version, + persistNodeCache: true, + projectKey, + content: { + type: "fromClient", + content: code, + }, + }); + } + files.set(filename, file); + const path = getPathForFile(file); + const fileFeatures = workspace.fileFeatures({ + features: ["debug", "format", "lint", "assist"], + projectKey, + path, + }); + + const syntaxTree = + fileFeatures.featuresSupported.get("debug") === "supported" + ? workspace.getSyntaxTree({ + path, + projectKey, + }) + : { ast: "Not supported", cst: "Not supported" }; + + let controlFlowGraph = ""; + try { + controlFlowGraph = + fileFeatures.featuresSupported.get("debug") === "supported" + ? workspace.getControlFlowGraph({ + path, + projectKey, + cursor: cursorPosition, + }) + : ""; + } catch (e) { + console.warn("Failed to get control flow graph:", e); + controlFlowGraph = ""; + } + + let formatterIr = ""; + try { + formatterIr = + fileFeatures.featuresSupported.get("debug") === "supported" + ? workspace.getFormatterIr({ + path, + projectKey, + }) + : "Not supported"; + } catch (e) { + console.error(e); + formatterIr = "Can't format"; + } + + const importSorting = { + code: "Moved to Analyzer Fixes tab", + }; + + const categories: RuleCategories = []; + if (configuration?.formatter?.enabled) { + categories.push("syntax"); + } + if (configuration?.linter?.enabled) { + categories.push("lint"); + } + if (configuration?.assist?.enabled) { + categories.push("action"); + } + const diagnosticsResult = workspace.pullDiagnostics({ + path, + categories, + maxDiagnostics: Number.MAX_SAFE_INTEGER, + projectKey, + only: [], + skip: [], + }); + + const printer = new DiagnosticPrinter(path, code); + for (const diag of diagnosticsResult.diagnostics) { + printer.print_verbose(diag); + } + + let printed = { + code: "", + }; + try { + printed = + fileFeatures.featuresSupported.get("format") === "supported" + ? workspace.formatFile({ + path, + projectKey, + }) + : { code: "Not supported" }; + } catch (e) { + console.error(e); + printed = { + code: "Can't format with errors", + }; + } + + let fixed = { + code: "", + }; + try { + fixed = + fileFeatures.featuresSupported.get("lint") === "supported" + ? workspace.fixFile({ + path, + projectKey, + only: [], + skip: [], + ruleCategories: categories, + shouldFormat: false, + fixFileMode: fullSettings?.analyzerFixMode ?? "safeFixes", + }) + : { code: "Not supported" }; + } catch (e) { + console.error(e); + fixed = { + code: "Can't apply fixes with errors", + }; + } + + const biomeOutput: BiomeOutput = { + syntax: { + // Replace 4 spaced indentation with 2 + // TODO replace this in Biome itself + ast: syntaxTree.ast.replace(/ {4}/g, " "), + cst: syntaxTree.cst, + }, + diagnostics: { + console: printer.finish(), + list: diagnosticsResult.diagnostics, + }, + formatter: { + code: printed.code, + ir: formatterIr, + }, + analysis: { + controlFlowGraph, + fixed: fixed.code, + }, + importSorting: { + code: importSorting.code, + }, + }; + + self.postMessage({ + type: "updated", + filename, + biomeOutput, + }); + break; + } + + default: + console.error(`Unknown message '${e.data.type}'.`); + } });