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 54ce7aad1..68226011e 100644 --- a/astro.config.ts +++ b/astro.config.ts @@ -6,608 +6,665 @@ import { defineConfig } from "astro/config"; import rehypeSlug from "rehype-slug"; import starlightBlog from "starlight-blog"; 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 plugins = [ - starlightBlog({ - title: { - en: "Blog", - ja: "ブログ", - "zh-CN": "博客", - }, - authors: { - arendjr: { - name: "Arend van Beelen jr.", - picture: "https://avatars.githubusercontent.com/u/533294?v=4", - url: "https://arendjr.nl/", - }, - conaclos: { - name: "Victorien Elvinger", - picture: "https://avatars.githubusercontent.com/u/2358560?s=96&v=4", - url: "https://bsky.app/profile/conaclos.bsky.social", - }, - ema: { - name: "Emanuele Stoppa", - picture: "https://avatars.githubusercontent.com/u/602478?v=4", - url: "https://bsky.app/profile/ematipico.xyz", - }, - team: { - name: "Biome Core Team, Biome Maintainers", - picture: "/img/logo-avatar.png", - }, - core: { - name: "Biome Core Team", - picture: "/img/logo-avatar.png", - }, - }, - }), + starlightBlog({ + title: { + en: "Blog", + ja: "ブログ", + "zh-CN": "博客", + }, + authors: { + arendjr: { + name: "Arend van Beelen jr.", + picture: "https://avatars.githubusercontent.com/u/533294?v=4", + url: "https://arendjr.nl/", + }, + conaclos: { + name: "Victorien Elvinger", + picture: "https://avatars.githubusercontent.com/u/2358560?s=96&v=4", + url: "https://bsky.app/profile/conaclos.bsky.social", + }, + ema: { + name: "Emanuele Stoppa", + picture: "https://avatars.githubusercontent.com/u/602478?v=4", + url: "https://bsky.app/profile/ematipico.xyz", + }, + team: { + name: "Biome Core Team, Biome Maintainers", + picture: "/img/logo-avatar.png", + }, + core: { + name: "Biome Core Team", + picture: "/img/logo-avatar.png", + }, + }, + }), ]; if (process.env?.E2E !== "true") { - plugins.push( - lunaria({ - route: "i18n-dashboard", - }), - ); + plugins.push( + lunaria({ + route: "i18n-dashboard", + }), + ); } // https://astro.build/config export default defineConfig({ - site: "https://biomejs.dev", - output: "static", - compressHTML: true, - integrations: [ - react(), - starlight({ - title: "Biome", - defaultLocale: "root", - plugins, - locales: { - root: { - label: "English", - lang: "en", - }, - fr: { - label: "Français", - lang: "fr", - }, - ja: { - label: "日本語", - lang: "ja", - }, - "zh-cn": { - label: "简体中文", - lang: "zh-CN", - }, - "pt-br": { - label: "Português", - lang: "pt-BR", - }, - uk: { - label: "Українська", - lang: "uk", - }, - }, - sidebar: [ - { - label: "Playground", - link: "../playground", - translations: { - fr: "Bac à sable", - ja: "プレイグラウンド", - "zh-CN": "演练场", - "pt-BR": "Ambiente de testes", - uk: "Пісочниця", - }, - }, - { - label: "Enterprise", - link: "../enterprise", - translations: { - uk: "Підтримка", - }, - }, - { - label: "Guides", - translations: { - ja: "ガイド", - "zh-CN": "指南", - "pt-BR": "Guias", - uk: "Гайди", - }, - items: [ - { - label: "Getting Started", - link: "/guides/getting-started", - translations: { - fr: "Démarrage", - ja: "はじめる", - "zh-CN": "入门", - "pt-BR": "Primeiros passos", - uk: "Початок роботи", - }, - }, - { - label: "Manual installation", - link: "/guides/manual-installation", - translations: { - fr: "Installation manuelle", - ja: "手動インストール", - "zh-CN": "手动安装", - "pt-BR": "Instalação manual", - uk: "Ручна установка", - }, - }, - { - label: "Configure Biome", - link: "/guides/configure-biome", - translations: { - fr: "Configurer Biome", - ja: "Biome の設定", - "zh-CN": "配置 Biome", - "pt-BR": "Configurar Bioma", - uk: "Налаштування Biome", - }, - }, - { - label: "Use Biome in big projects", - link: "/guides/big-projects", - translations: { - fr: "Utiliser Biome dans de gros projets", - ja: "大きなプロジェクトでのBiomeの使用方法", - "zh-CN": "大型项目中使用 Biome", - "pt-BR": "Usando o Biome em projetos grandes", - uk: "Використання Biome в великих проектах", - }, - }, - { - label: "Biome in your IDE", - translations: { - fr: "Biome dans votre IDE", - ja: "Biome をあなたのエディタに導入する", - "zh-CN": "编辑器中使用 Biome", - "pt-BR": "Biome no seu editor", - uk: "Biome в вашому IDE", - }, - items: [ - { - label: "First-party extensions", - link: "/guides/editors/first-party-extensions", - translations: { - fr: "Extensions officielles", - ja: "Biome 公式拡張機能", - uk: "Офіційні розширення", - }, - }, - { - label: "Third-party extensions", - link: "/guides/editors/third-party-extensions", - translations: { - fr: "Extensions tierces", - ja: "サードパーティの拡張機能", - uk: "Розширення сторонніх розробників", - }, - }, - { - label: "Integrate Biome in an editor extension", - link: "/guides/editors/create-a-extension", - translations: { - fr: "Intégrer Biome à une extension pour un éditeur", - ja: "エディタ拡張機能への Biome の統合", - uk: "Інтеграція Biome в розширення редактора", - }, - }, - ], - }, - { - label: "Integrate Biome with your VCS", - link: "/guides/integrate-in-vcs", - translations: { - fr: "Intégrer Biome à votre VCS", - ja: "Biome をあなたの VCS と統合する", - "zh-CN": "与版本控制系统集成", - "pt-BR": "Integrando o Biome com o seu VCS", - uk: "Інтеграція Biome з вашою VCS", - }, - }, - { - label: "Migrate from ESLint & Prettier", - link: "/guides/migrate-eslint-prettier", - translations: { - fr: "Migrer depuis ESLint & Prettier", - ja: "ESLintとPrettierからの移行", - uk: "Міграція з ESLint & Prettier", - }, - }, - ], - }, - { - label: "Tools", - translations: { - fr: "Outils", - ja: "ツール", - "zh-CN": "工具", - "pt-BR": "Ferramentas", - uk: "Інструменти", - }, - items: [ - { - label: "Analyzer", - items: [ - { - label: "Introduction", - link: "/analyzer", - translations: { - ja: "イントロダクション", - "zh-CN": "介绍", - "pt-BR": "Introdução", - uk: "Вступ", - }, - }, - { - label: "Import Sorting", - link: "/analyzer/import-sorting", - translations: { - fr: "Tri des imports", - ja: "Import文のソート", - "zh-CN": "导入排序", - "pt-BR": "Ordenação de importações", - uk: "Сортування імпортів", - }, - }, - ], - translations: { - fr: "Analyseur", - ja: "Analyzer", - "zh-CN": "分析器", - "pt-BR": "Analisador", - uk: "Аналізатор", - }, - }, - { - label: "Formatter", - items: [ - { - label: "Introduction", - link: "/formatter", - translations: { - ja: "イントロダクション", - "zh-CN": "介绍", - "pt-BR": "Introdução", - uk: "Вступ", - }, - }, - { - label: "Differences with Prettier", - link: "/formatter/differences-with-prettier", - translations: { - fr: "Différences par rapport à Prettier", - ja: "Prettier との違い", - "zh-CN": "与 Prettier 的区别", - "pt-BR": "Diferenças em relação ao Prettier", - uk: "Відмінності від Prettier", - }, - }, - { - label: "Formatter Option Philosophy", - link: "/formatter/option-philosophy", - translations: { - fr: "Philosophie d’option de formatage", - ja: "Formatterオプションに対する考え方", - "zh-CN": "格式化配置理念", - "pt-BR": "Princípios de configuração", - uk: "Філософія параметрів форматування", - }, - }, - ], - translations: { - fr: "Outil de formatage", - "zh-CN": "格式化程序", - "pt-BR": "Formatador", - uk: "Форматувальник", - }, - }, - { - label: "Linter", - items: [ - { - label: "Introduction", - link: "/linter", - translations: { - ja: "イントロダクション", - "zh-CN": "介绍", - "pt-BR": "Introdução", - uk: "Вступ", - }, - }, - { - label: "Rules", - link: "/linter/rules", - translations: { - fr: "Règles", - ja: "ルール", - "zh-CN": "规则", - "pt-BR": "Regras", - uk: "Правила", - }, - }, - { - label: "Rules sources", - link: "/linter/rules-sources", - translations: { - fr: "Sources des règles", - }, - }, - ], - translations: { - fr: "Outil de linting", - uk: "Лінтер", - }, - }, - ], - }, - { - label: "Reference", - translations: { - fr: "Références", - ja: "リファレンス", - "zh-CN": "参考", - "pt-BR": "Referências", - uk: "Довідка", - }, - items: [ - { - label: "CLI", - link: "/reference/cli", - }, - { - label: "Diagnostics", - link: "/reference/diagnostics", - badge: "new", - }, - { - label: "Environment variables", - link: "/reference/environment-variables", - translations: { - fr: "Variables d’environnement", - uk: "Змінні середовища", - }, - }, - { - label: "Reporters", - link: "/reference/reporters", - translations: { - fr: "Outils de reporting", - uk: "Звіти", - }, - }, - { - label: "Configuration", - link: "/reference/configuration", - translations: { - ja: "設定", - "zh-CN": "配置", - "pt-BR": "Configuração", - uk: "Конфігурація", - }, - }, - { - label: "VSCode extension", - link: "/reference/vscode", - translations: { - fr: "Extension pour VSCode", - ja: "VSCode拡張機能", - "zh-CN": "VSCode 扩展", - "pt-BR": "Extensão do VSCode", - uk: "Розширення VSCode", - }, - }, - { - label: "Zed extension", - link: "/reference/zed", - badge: "new", - translations: { - fr: "Extension pour Zed", - ja: "Zed拡張機能", - "zh-CN": "Zed 扩展", - "pt-BR": "Extensão do Zed", - uk: "Розширення Zed", - }, - }, - { - label: "GritQL", - link: "/reference/gritql", - badge: "experimental", - }, - ], - }, - { - label: "Recipes", - translations: { - fr: "Recettes", - ja: "レシピ", - "zh-CN": "实例", - "pt-BR": "Receitas", - uk: "Рецепти", - }, - items: [ - { - label: "Continuous Integration", - link: "/recipes/continuous-integration", - translations: { - fr: "Intégration continue", - ja: "継続的インテグレーション", - "zh-CN": "持续集成", - "pt-BR": "Integração Contínua", - uk: "Безперервна інтеграція", - }, - }, - { - label: "Git Hooks", - link: "/recipes/git-hooks", - }, - { - label: "Renovate", - link: "/recipes/renovate", - }, - { - label: "Social Badges", - link: "/recipes/badges", - translations: { - ja: "ソーシャルバッジ", - uk: "Соціальні значки", - }, - }, - ], - }, - { - label: "Internals", - translations: { - fr: "Aspects internes", - ja: "内部原理", - "zh-CN": "内部原理", - "pt-BR": "Aspectos Internos", - uk: "Внутрішні аспекти", - }, - items: [ - { - label: "Philosophy", - link: "/internals/philosophy", - translations: { - fr: "Philosophie", - ja: "理念", - "zh-CN": "理念", - "pt-BR": "Filosofia", - uk: "Філософія", - }, - }, - { - label: "Language support", - link: "/internals/language-support", - translations: { - fr: "Langages pris en charge", - ja: "言語サポート", - "zh-CN": "语言支持", - "pt-BR": "Suporte de linguagens", - uk: "Підтримка мов", - }, - }, - { - label: "Architecture", - link: "/internals/architecture", - translations: { - ja: "アーキテクチャ", - "zh-CN": "架构", - "pt-BR": "Arquitetura", - uk: "Архітектура", - }, - }, - { - label: "Credits", - link: "/internals/credits", - translations: { - fr: "Crédits", - ja: "クレジット", - "zh-CN": "鸣谢", - "pt-BR": "Créditos", - uk: "Подяки", - }, - }, - { - label: "Versioning", - link: "/internals/versioning", - translations: { - fr: "Versionnage", - ja: "バージョニング", - "zh-CN": "版本控制", - "pt-BR": "Versionamento", - uk: "Версіонування", - }, - }, - { - label: "Changelog", - link: "/internals/changelog", - translations: { - "zh-CN": "更新日志", - "pt-BR": "Alterações", - uk: "Журнал змін", - }, - }, - ], - }, - ], - logo: { - light: "./src/assets/svg/logo-light-transparent.svg", - dark: "./src/assets/svg/logo-dark-transparent.svg", - replacesTitle: true, - }, - favicon: "/img/favicon.svg", - customCss: [ - // Relative path to your custom CSS file - "./src/styles/index.css", - ], - social: { - discord: "https://biomejs.dev/chat", - github: "https://github.com/biomejs/biome", - mastodon: "https://fosstodon.org/@biomejs", - openCollective: "https://opencollective.com/biome", - youtube: "https://youtube.com/@Biomejs", - blueSky: "https://bsky.app/profile/biomejs.dev", - }, - editLink: { - baseUrl: "https://github.com/biomejs/website/edit/main/", - }, - components: { - SiteTitle: "./src/components/starlight/SiteTitle.astro", - Hero: "./src/components/starlight/Hero.astro", - Head: "./src/components/starlight/Head.astro", - }, - }), - ], + site: "https://biomejs.dev", + output: "static", + compressHTML: true, + integrations: [ + react(), + starlight({ + title: "Biome", + defaultLocale: "root", + plugins, + locales: { + root: { + label: "English", + lang: "en", + }, + fr: { + label: "Français", + lang: "fr", + }, + ja: { + label: "日本語", + lang: "ja", + }, + "zh-cn": { + label: "简体中文", + lang: "zh-CN", + }, + "pt-br": { + label: "Português", + lang: "pt-BR", + }, + uk: { + label: "Українська", + lang: "uk", + }, + }, + sidebar: [ + { + label: "Playground", + link: "../playground", + translations: { + fr: "Bac à sable", + ja: "プレイグラウンド", + "zh-CN": "演练场", + "pt-BR": "Ambiente de testes", + uk: "Пісочниця", + }, + }, + { + label: "Enterprise", + link: "../enterprise", + translations: { + uk: "Підтримка", + }, + }, + { + label: "Guides", + translations: { + ja: "ガイド", + "zh-CN": "指南", + "pt-BR": "Guias", + uk: "Гайди", + }, + items: [ + { + label: "Getting Started", + link: "/guides/getting-started", + translations: { + fr: "Démarrage", + ja: "はじめる", + "zh-CN": "入门", + "pt-BR": "Primeiros passos", + uk: "Початок роботи", + }, + }, + { + label: "Manual installation", + link: "/guides/manual-installation", + translations: { + fr: "Installation manuelle", + ja: "手動インストール", + "zh-CN": "手动安装", + "pt-BR": "Instalação manual", + uk: "Ручна установка", + }, + }, + { + label: "Configure Biome", + link: "/guides/configure-biome", + translations: { + fr: "Configurer Biome", + ja: "Biome の設定", + "zh-CN": "配置 Biome", + "pt-BR": "Configurar Bioma", + uk: "Налаштування Biome", + }, + }, + { + label: "Use Biome in big projects", + link: "/guides/big-projects", + translations: { + fr: "Utiliser Biome dans de gros projets", + ja: "大きなプロジェクトでのBiomeの使用方法", + "zh-CN": "大型项目中使用 Biome", + "pt-BR": "Usando o Biome em projetos grandes", + uk: "Використання Biome в великих проектах", + }, + }, + { + label: "Biome in your IDE", + translations: { + fr: "Biome dans votre IDE", + ja: "Biome をあなたのエディタに導入する", + "zh-CN": "编辑器中使用 Biome", + "pt-BR": "Biome no seu editor", + uk: "Biome в вашому IDE", + }, + items: [ + { + label: "First-party extensions", + link: "/guides/editors/first-party-extensions", + translations: { + fr: "Extensions officielles", + ja: "Biome 公式拡張機能", + uk: "Офіційні розширення", + }, + }, + { + label: "Third-party extensions", + link: "/guides/editors/third-party-extensions", + translations: { + fr: "Extensions tierces", + ja: "サードパーティの拡張機能", + uk: "Розширення сторонніх розробників", + }, + }, + { + label: "Integrate Biome in an editor extension", + link: "/guides/editors/create-a-extension", + translations: { + fr: "Intégrer Biome à une extension pour un éditeur", + ja: "エディタ拡張機能への Biome の統合", + uk: "Інтеграція Biome в розширення редактора", + }, + }, + ], + }, + { + label: "Integrate Biome with your VCS", + link: "/guides/integrate-in-vcs", + translations: { + fr: "Intégrer Biome à votre VCS", + ja: "Biome をあなたの VCS と統合する", + "zh-CN": "与版本控制系统集成", + "pt-BR": "Integrando o Biome com o seu VCS", + uk: "Інтеграція Biome з вашою VCS", + }, + }, + { + label: "Migrate from ESLint & Prettier", + link: "/guides/migrate-eslint-prettier", + translations: { + fr: "Migrer depuis ESLint & Prettier", + ja: "ESLintとPrettierからの移行", + uk: "Міграція з ESLint & Prettier", + }, + }, + ], + }, + { + label: "Tools", + translations: { + fr: "Outils", + ja: "ツール", + "zh-CN": "工具", + "pt-BR": "Ferramentas", + uk: "Інструменти", + }, + items: [ + { + label: "Analyzer", + items: [ + { + label: "Introduction", + link: "/analyzer", + translations: { + ja: "イントロダクション", + "zh-CN": "介绍", + "pt-BR": "Introdução", + uk: "Вступ", + }, + }, + { + label: "Import Sorting", + link: "/analyzer/import-sorting", + translations: { + fr: "Tri des imports", + ja: "Import文のソート", + "zh-CN": "导入排序", + "pt-BR": "Ordenação de importações", + uk: "Сортування імпортів", + }, + }, + ], + translations: { + fr: "Analyseur", + ja: "Analyzer", + "zh-CN": "分析器", + "pt-BR": "Analisador", + uk: "Аналізатор", + }, + }, + { + label: "Formatter", + items: [ + { + label: "Introduction", + link: "/formatter", + translations: { + ja: "イントロダクション", + "zh-CN": "介绍", + "pt-BR": "Introdução", + uk: "Вступ", + }, + }, + { + label: "Differences with Prettier", + link: "/formatter/differences-with-prettier", + translations: { + fr: "Différences par rapport à Prettier", + ja: "Prettier との違い", + "zh-CN": "与 Prettier 的区别", + "pt-BR": "Diferenças em relação ao Prettier", + uk: "Відмінності від Prettier", + }, + }, + { + label: "Formatter Option Philosophy", + link: "/formatter/option-philosophy", + translations: { + fr: "Philosophie d’option de formatage", + ja: "Formatterオプションに対する考え方", + "zh-CN": "格式化配置理念", + "pt-BR": "Princípios de configuração", + uk: "Філософія параметрів форматування", + }, + }, + ], + translations: { + fr: "Outil de formatage", + "zh-CN": "格式化程序", + "pt-BR": "Formatador", + uk: "Форматувальник", + }, + }, + { + label: "Linter", + items: [ + { + label: "Introduction", + link: "/linter", + translations: { + ja: "イントロダクション", + "zh-CN": "介绍", + "pt-BR": "Introdução", + uk: "Вступ", + }, + }, + { + label: "Rules", + link: "/linter/rules", + translations: { + fr: "Règles", + ja: "ルール", + "zh-CN": "规则", + "pt-BR": "Regras", + uk: "Правила", + }, + }, + { + label: "Rules sources", + link: "/linter/rules-sources", + translations: { + fr: "Sources des règles", + }, + }, + ], + translations: { + fr: "Outil de linting", + uk: "Лінтер", + }, + }, + { + 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", + }, + }, + ], + }, + { + 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", + translations: { + fr: "Références", + ja: "リファレンス", + "zh-CN": "参考", + "pt-BR": "Referências", + uk: "Довідка", + }, + items: [ + { + label: "CLI", + link: "/reference/cli", + }, + { + label: "Diagnostics", + link: "/reference/diagnostics", + }, + { + label: "Environment variables", + link: "/reference/environment-variables", + translations: { + fr: "Variables d’environnement", + uk: "Змінні середовища", + }, + }, + { + label: "Reporters", + link: "/reference/reporters", + translations: { + fr: "Outils de reporting", + uk: "Звіти", + }, + }, + { + label: "Configuration", + link: "/reference/configuration", + translations: { + ja: "設定", + "zh-CN": "配置", + "pt-BR": "Configuração", + uk: "Конфігурація", + }, + }, + { + label: "VSCode extension", + link: "/reference/vscode", + translations: { + fr: "Extension pour VSCode", + ja: "VSCode拡張機能", + "zh-CN": "VSCode 扩展", + "pt-BR": "Extensão do VSCode", + uk: "Розширення VSCode", + }, + }, + { + label: "Zed extension", + link: "/reference/zed", + translations: { + fr: "Extension pour Zed", + ja: "Zed拡張機能", + "zh-CN": "Zed 扩展", + "pt-BR": "Extensão do Zed", + uk: "Розширення Zed", + }, + }, + { + label: "GritQL", + link: "/reference/gritql", + badge: "experimental", + }, + ], + }, + { + label: "Recipes", + translations: { + fr: "Recettes", + ja: "レシピ", + "zh-CN": "实例", + "pt-BR": "Receitas", + uk: "Рецепти", + }, + items: [ + { + label: "Continuous Integration", + link: "/recipes/continuous-integration", + translations: { + fr: "Intégration continue", + ja: "継続的インテグレーション", + "zh-CN": "持续集成", + "pt-BR": "Integração Contínua", + uk: "Безперервна інтеграція", + }, + }, + { + label: "Git Hooks", + link: "/recipes/git-hooks", + }, + { + label: "Renovate", + link: "/recipes/renovate", + }, + { + label: "Social Badges", + link: "/recipes/badges", + translations: { + ja: "ソーシャルバッジ", + uk: "Соціальні значки", + }, + }, + ], + }, + { + label: "Internals", + translations: { + fr: "Aspects internes", + ja: "内部原理", + "zh-CN": "内部原理", + "pt-BR": "Aspectos Internos", + uk: "Внутрішні аспекти", + }, + items: [ + { + label: "Philosophy", + link: "/internals/philosophy", + translations: { + fr: "Philosophie", + ja: "理念", + "zh-CN": "理念", + "pt-BR": "Filosofia", + uk: "Філософія", + }, + }, + { + label: "Language support", + link: "/internals/language-support", + translations: { + fr: "Langages pris en charge", + ja: "言語サポート", + "zh-CN": "语言支持", + "pt-BR": "Suporte de linguagens", + uk: "Підтримка мов", + }, + }, + { + label: "Architecture", + link: "/internals/architecture", + translations: { + ja: "アーキテクチャ", + "zh-CN": "架构", + "pt-BR": "Arquitetura", + uk: "Архітектура", + }, + }, + { + label: "Credits", + link: "/internals/credits", + translations: { + fr: "Crédits", + ja: "クレジット", + "zh-CN": "鸣谢", + "pt-BR": "Créditos", + uk: "Подяки", + }, + }, + { + label: "Versioning", + link: "/internals/versioning", + translations: { + fr: "Versionnage", + ja: "バージョニング", + "zh-CN": "版本控制", + "pt-BR": "Versionamento", + uk: "Версіонування", + }, + }, + { + label: "Changelog", + link: "/internals/changelog", + translations: { + "zh-CN": "更新日志", + "pt-BR": "Alterações", + uk: "Журнал змін", + }, + }, + ], + }, + ], + logo: { + light: "./src/assets/svg/logo-light-transparent.svg", + dark: "./src/assets/svg/logo-dark-transparent.svg", + replacesTitle: true, + }, + favicon: "/img/favicon.svg", + customCss: [ + // Relative path to your custom CSS file + "./src/styles/index.css", + ], + social: { + discord: "https://biomejs.dev/chat", + github: "https://github.com/biomejs/biome", + mastodon: "https://fosstodon.org/@biomejs", + openCollective: "https://opencollective.com/biome", + youtube: "https://youtube.com/@Biomejs", + blueSky: "https://bsky.app/profile/biomejs.dev", + }, + editLink: { + baseUrl: "https://github.com/biomejs/website/edit/main/", + }, + components: { + SiteTitle: "./src/components/starlight/SiteTitle.astro", + Hero: "./src/components/starlight/Hero.astro", + Head: "./src/components/starlight/Head.astro", + }, + }), + ], - build: { - format: "directory", - }, + build: { + format: "directory", + }, - markdown: { - syntaxHighlight: "shiki", - rehypePlugins: [rehypeSlug, ...rehypeAutolink()], - shikiConfig: { - langAlias: { - cjs: "javascript", - grit: "txt", - }, - }, - }, + markdown: { + syntaxHighlight: "shiki", + rehypePlugins: [rehypeSlug, ...rehypeAutolink()], + shikiConfig: { + langAlias: { + cjs: "javascript", + grit: "txt", + }, + }, + }, - adapter: netlify({ - imageCDN: false, - }), + adapter: netlify({ + imageCDN: false, + }), - vite: { - resolve: { - alias: { - "@": new URL("./src", import.meta.url).pathname, - }, - }, - plugins: [], + vite: { + resolve: { + alias: { + "@": new URL("./src", import.meta.url).pathname, + }, + }, + plugins: [], - worker: { - format: "es", - }, + worker: { + format: "es", + }, - server: { - fs: { - // https://vitejs.dev/config/server-options.html#server-fs-allow - allow: [searchForWorkspaceRoot(process.cwd())], - }, - }, + server: { + fs: { + // https://vitejs.dev/config/server-options.html#server-fs-allow + allow: [searchForWorkspaceRoot(process.cwd())], + }, + }, - define: { - PRETTIER_VERSION: JSON.stringify(prettierVersion), - BIOME_VERSION: JSON.stringify(biomeVersion), - }, - }, + define: { + PRETTIER_VERSION: JSON.stringify(prettierVersion), + BIOME_VERSION: JSON.stringify(biomeVersion), + }, + }, }); diff --git a/codegen/src/lintdoc.rs b/codegen/src/lintdoc.rs index ec68c0d34..9dd2996cf 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_formatter::LineWidth; use biome_fs::BiomePath; use biome_graphql_syntax::GraphqlLanguage; @@ -33,6 +34,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; @@ -53,7 +55,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 @@ -64,34 +73,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); } } @@ -104,9 +137,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); } } @@ -119,9 +152,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); } } @@ -133,9 +166,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); } } @@ -149,15 +182,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) { @@ -173,20 +245,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: @@ -201,34 +301,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, @@ -236,6 +313,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)?; } @@ -273,22 +352,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)?; @@ -297,13 +387,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, @@ -320,9 +415,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" )); } @@ -346,7 +442,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)?; @@ -365,7 +461,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(); @@ -377,14 +478,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(); @@ -408,12 +512,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 { @@ -433,14 +531,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(); @@ -451,30 +567,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)?; @@ -504,14 +651,19 @@ fn generate_rule_content( write_documentation(group, rule_name, meta.docs, &mut content, summary)?; write_how_to_configure(group, rule_name, &mut content)?; - 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, @@ -802,17 +954,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)?; } @@ -994,6 +1173,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, @@ -1046,6 +1228,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, @@ -1057,6 +1240,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, @@ -1100,27 +1284,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(()); } @@ -1166,7 +1388,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(); @@ -1184,28 +1406,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); + } + } + } } } @@ -1219,7 +1458,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(); @@ -1234,28 +1473,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); + } + } + } } } @@ -1269,7 +1525,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(); @@ -1283,28 +1539,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); + } + } + } } } @@ -1312,10 +1654,9 @@ fn print_diagnostics( }); } } + DocumentFileSource::Html(_) | DocumentFileSource::Grit(_) => todo!(), // Unknown code blocks should be ignored by tests DocumentFileSource::Unknown => {} - DocumentFileSource::Graphql(_) => {} - _ => {} } Ok(()) @@ -1390,6 +1731,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 a8eb6907c..4315b3143 100644 --- a/package.json +++ b/package.json @@ -1,82 +1,82 @@ { - "name": "@biomejs/website", - "private": true, - "scripts": { - "dev": "astro dev", - "format": "pnpm biome format --write", - "check": "pnpm biome check --write", - "tsc": "tsc --skipLibCheck", - "build": "astro build", - "build:no-og": "SKIP_OG=true astro build", - "preview": "astro preview", - "textlint": "textlint './src/content/docs/ja/**/*.{md,mdx}'", - "textlint:fix": "textlint --fix './src/content/docs/ja/**/*.{md,mdx}'", - "codegen": "cargo run -p codegen", - "codegen:rules": "pnpm codegen rules", - "codegen:release-files": "pnpm codegen release-files", - "codegen:metadata": "pnpm codegen metadata", - "codegen:env": "pnpm codegen env", - "codegen:diagnostics": "pnpm codegen diagnostics", - "codegen:all": "pnpm codegen all", - "lunaria:build": "lunaria build", - "lunaria:preview": "lunaria preview" - }, - "devDependencies": { - "@astrojs/netlify": "6.0.1", - "@astrojs/prism": "3.2.0", - "@astrojs/react": "4.2.0", - "@astrojs/rss": "4.0.11", - "@astrojs/starlight": "0.30.3", - "@biomejs/biome": "1.9.4", - "@biomejs/wasm-web": "https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@dff45a4", - "@codemirror/lang-css": "6.3.1", - "@codemirror/lang-html": "6.4.9", - "@codemirror/lang-javascript": "6.2.2", - "@codemirror/lang-json": "6.0.1", - "@codemirror/lang-vue": "0.1.3", - "@codemirror/lint": "6.8.4", - "@codemirror/state": "6.5.1", - "@codemirror/view": "6.36.2", - "@lunariajs/core": "0.1.1", - "@lunariajs/starlight": "0.1.1", - "@playwright/test": "1.49.1", - "@replit/codemirror-lang-svelte": "6.0.0", - "@types/node": "20.17.14", - "@types/react": "18.3.18", - "@types/react-dom": "18.3.5", - "@uiw/react-codemirror": "4.23.7", - "@vitejs/plugin-react": "4.3.4", - "astro": "5.2.4", - "astro-og-canvas": "0.5.5", - "autoprefixer": "10.4.20", - "canvaskit-wasm": "0.39.1", - "cm6-graphql": "0.2.0", - "codemirror-lang-rome-ast": "0.0.6", - "fast-diff": "1.3.0", - "hast-util-to-html": "9.0.4", - "hast-util-to-string": "3.0.1", - "hastscript": "9.0.0", - "html-escaper": "3.0.3", - "lang-rome-formatter-ir": "0.0.2", - "mdast-util-to-hast": "13.2.0", - "mermaid": "10.9.3", - "postcss": "8.4.49", - "postcss-mixins": "11.0.3", - "prettier": "3.4.2", - "prettier-plugin-svelte": "3.3.2", - "react": "18.3.1", - "react-dom": "18.3.1", - "rehype-autolink-headings": "7.1.0", - "rehype-slug": "6.0.0", - "remark-toc": "9.0.0", - "sharp": "0.33.5", - "starlight-blog": "0.16.1", - "textlint": "14.4.2", - "textlint-rule-preset-jtf-style": "2.3.14", - "textlint-rule-prh": "6.0.0", - "typescript": "5.7.3", - "vite": "6.0.9", - "vite-plugin-svgr": "4.3.0" - }, - "packageManager": "pnpm@9.15.4" + "name": "@biomejs/website", + "private": true, + "scripts": { + "dev": "astro dev", + "format": "pnpm biome format --write", + "check": "pnpm biome check --write", + "tsc": "tsc --skipLibCheck", + "build": "astro build", + "build:no-og": "SKIP_OG=true astro build", + "preview": "astro preview", + "textlint": "textlint './src/content/docs/ja/**/*.{md,mdx}'", + "textlint:fix": "textlint --fix './src/content/docs/ja/**/*.{md,mdx}'", + "codegen": "cargo run -p codegen", + "codegen:rules": "pnpm codegen rules", + "codegen:release-files": "pnpm codegen release-files", + "codegen:metadata": "pnpm codegen metadata", + "codegen:env": "pnpm codegen env", + "codegen:diagnostics": "pnpm codegen diagnostics", + "codegen:all": "pnpm codegen all", + "lunaria:build": "lunaria build", + "lunaria:preview": "lunaria preview" + }, + "devDependencies": { + "@astrojs/netlify": "6.0.1", + "@astrojs/prism": "3.2.0", + "@astrojs/react": "4.2.0", + "@astrojs/rss": "4.0.11", + "@astrojs/starlight": "0.30.3", + "@biomejs/biome": "1.9.4", + "@biomejs/wasm-web": "https://pkg.pr.new/biomejs/biome/@biomejs/wasm-web@dff45a4", + "@codemirror/lang-css": "6.3.1", + "@codemirror/lang-html": "6.4.9", + "@codemirror/lang-javascript": "6.2.2", + "@codemirror/lang-json": "6.0.1", + "@codemirror/lang-vue": "0.1.3", + "@codemirror/lint": "6.8.4", + "@codemirror/state": "6.5.1", + "@codemirror/view": "6.36.2", + "@lunariajs/core": "0.1.1", + "@lunariajs/starlight": "0.1.1", + "@playwright/test": "1.49.1", + "@replit/codemirror-lang-svelte": "6.0.0", + "@types/node": "20.17.14", + "@types/react": "18.3.18", + "@types/react-dom": "18.3.5", + "@uiw/react-codemirror": "4.23.7", + "@vitejs/plugin-react": "4.3.4", + "astro": "5.2.4", + "astro-og-canvas": "0.5.5", + "autoprefixer": "10.4.20", + "canvaskit-wasm": "0.39.1", + "cm6-graphql": "0.2.0", + "codemirror-lang-rome-ast": "0.0.6", + "fast-diff": "1.3.0", + "hast-util-to-html": "9.0.4", + "hast-util-to-string": "3.0.1", + "hastscript": "9.0.0", + "html-escaper": "3.0.3", + "lang-rome-formatter-ir": "0.0.2", + "mdast-util-to-hast": "13.2.0", + "mermaid": "10.9.3", + "postcss": "8.4.49", + "postcss-mixins": "11.0.3", + "prettier": "3.4.2", + "prettier-plugin-svelte": "3.3.2", + "react": "18.3.1", + "react-dom": "18.3.1", + "rehype-autolink-headings": "7.1.0", + "rehype-slug": "6.0.0", + "remark-toc": "9.0.0", + "sharp": "0.33.5", + "starlight-blog": "0.16.1", + "textlint": "14.4.2", + "textlint-rule-preset-jtf-style": "2.3.14", + "textlint-rule-prh": "6.0.0", + "typescript": "5.7.3", + "vite": "6.0.9", + "vite-plugin-svgr": "4.3.0" + }, + "packageManager": "pnpm@9.15.4" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4f6cceab2..94c4efc5a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ importers: devDependencies: '@astrojs/netlify': specifier: 6.0.1 - version: 6.0.1(@opentelemetry/api@1.9.0)(@types/node@20.17.14)(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3))(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) + version: 6.0.1(@opentelemetry/api@1.9.0)(@types/node@20.17.14)(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3))(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) '@astrojs/prism': specifier: 3.2.0 version: 3.2.0 @@ -22,7 +22,7 @@ importers: version: 4.0.11 '@astrojs/starlight': specifier: 0.30.3 - version: 0.30.3(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)) + version: 0.30.3(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)) '@biomejs/biome': specifier: 1.9.4 version: 1.9.4 @@ -58,7 +58,7 @@ importers: version: 0.1.1 '@lunariajs/starlight': specifier: 0.1.1 - version: 0.1.1(@astrojs/starlight@0.30.3(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)))(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)) + version: 0.1.1(@astrojs/starlight@0.30.3(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)))(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)) '@playwright/test': specifier: 1.49.1 version: 1.49.1 @@ -82,10 +82,10 @@ importers: version: 4.3.4(vite@6.0.9(@types/node@20.17.14)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))) astro: specifier: 5.2.4 - version: 5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3) + version: 5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3) astro-og-canvas: specifier: 0.5.5 - version: 0.5.5(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)) + version: 0.5.5(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)) autoprefixer: specifier: 10.4.20 version: 10.4.20(postcss@8.4.49) @@ -154,7 +154,7 @@ importers: version: 0.33.5 starlight-blog: specifier: 0.16.1 - version: 0.16.1(@astrojs/starlight@0.30.3(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)))(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)) + version: 0.16.1(@astrojs/starlight@0.30.3(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)))(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)) textlint: specifier: 14.4.2 version: 14.4.2 @@ -172,7 +172,7 @@ importers: version: 6.0.9(@types/node@20.17.14)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) vite-plugin-svgr: specifier: 4.3.0 - version: 4.3.0(rollup@4.28.1)(typescript@5.7.3)(vite@6.0.9(@types/node@20.17.14)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))) + version: 4.3.0(rollup@4.34.4)(typescript@5.7.3)(vite@6.0.9(@types/node@20.17.14)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))) packages: @@ -193,14 +193,11 @@ packages: '@astrojs/internal-helpers@0.5.1': resolution: {integrity: sha512-M7rAge1n2+aOSxNvKUFa0u/KFn0W+sZy7EW91KOSERotm2Ti8qs+1K0xx3zbOxtAVrmJb5/J98eohVvvEqtNkw==} - '@astrojs/markdown-remark@6.0.1': - resolution: {integrity: sha512-CTSYijj25NfxgZi15TU3CwPwgyD1/7yA3FcdcNmB9p94nydupiUbrIiq3IqeTp2m5kCVzxbPZeC7fTwEOaNyGw==} - '@astrojs/markdown-remark@6.1.0': resolution: {integrity: sha512-emZNNSTPGgPc3V399Cazpp5+snogjaF04ocOSQn9vy3Kw/eIC4vTQjXOrWDEoSEy+AwPDZX9bQ4wd3bxhpmGgQ==} - '@astrojs/mdx@4.0.2': - resolution: {integrity: sha512-uBoXNSSAUqhf2dVtJWFbSapwNkcnCzbISW98EcybFXvNgYt9g8yPJ7+lYnf+sH5pv0c/JEW8HlBvPSi81AVRlw==} + '@astrojs/mdx@4.0.8': + resolution: {integrity: sha512-/aiLr2yQ55W9AbpyOgfMtFXk7g2t7XoWdC2Avps/NqxAx4aYONDLneX43D79QwgqdjFhin7o3cIPp/vVppMbaA==} engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0} peerDependencies: astro: ^5.0.0 @@ -454,204 +451,102 @@ packages: '@emnapi/runtime@1.2.0': resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==} - '@esbuild/aix-ppc64@0.24.0': - resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - '@esbuild/aix-ppc64@0.24.2': resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.24.0': - resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.24.2': resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.24.0': - resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.24.2': resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.24.0': - resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.24.2': resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.24.0': - resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.24.2': resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.24.0': - resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.24.2': resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.24.0': - resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.24.2': resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.24.0': - resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.24.2': resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.24.0': - resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.24.2': resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.24.0': - resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.24.2': resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.24.0': - resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.24.2': resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.24.0': - resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.24.2': resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.24.0': - resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.24.2': resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.24.0': - resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.24.2': resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.24.0': - resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.24.2': resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.24.0': - resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.24.2': resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.24.0': - resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.24.2': resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} engines: {node: '>=18'} @@ -664,84 +559,42 @@ packages: cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.24.0': - resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.24.2': resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.24.0': - resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - '@esbuild/openbsd-arm64@0.24.2': resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.24.0': - resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.24.2': resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.24.0': - resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.24.2': resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.24.0': - resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.24.2': resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.24.0': - resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.24.2': resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.24.0': - resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.24.2': resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} engines: {node: '>=18'} @@ -945,8 +798,8 @@ packages: '@astrojs/starlight': '>=0.14.0' astro: '>=4.0.0' - '@mapbox/node-pre-gyp@2.0.0-rc.0': - resolution: {integrity: sha512-nhSMNprz3WmeRvd8iUs5JqkKr0Ncx46JtPxM3AhXes84XpSJfmIwKeWXRpsr53S7kqPkQfPhzrMFUxSNb23qSA==} + '@mapbox/node-pre-gyp@2.0.0': + resolution: {integrity: sha512-llMXd39jtP0HpQLVI37Bf1m2ADlEb35GYSh1SDSLsBhR+5iCxiNGlT31yqbNtVHygHAtMy6dWFERpU2JgufhPg==} engines: {node: '>=18'} hasBin: true @@ -1203,133 +1056,127 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.28.1': - resolution: {integrity: sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ==} + '@rollup/rollup-android-arm-eabi@4.34.4': + resolution: {integrity: sha512-gGi5adZWvjtJU7Axs//CWaQbQd/vGy8KGcnEaCWiyCqxWYDxwIlAHFuSe6Guoxtd0SRvSfVTDMPd5H+4KE2kKA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.28.1': - resolution: {integrity: sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA==} + '@rollup/rollup-android-arm64@4.34.4': + resolution: {integrity: sha512-1aRlh1gqtF7vNPMnlf1vJKk72Yshw5zknR/ZAVh7zycRAGF2XBMVDAHmFQz/Zws5k++nux3LOq/Ejj1WrDR6xg==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.28.1': - resolution: {integrity: sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ==} + '@rollup/rollup-darwin-arm64@4.34.4': + resolution: {integrity: sha512-drHl+4qhFj+PV/jrQ78p9ch6A0MfNVZScl/nBps5a7u01aGf/GuBRrHnRegA9bP222CBDfjYbFdjkIJ/FurvSQ==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.28.1': - resolution: {integrity: sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ==} + '@rollup/rollup-darwin-x64@4.34.4': + resolution: {integrity: sha512-hQqq/8QALU6t1+fbNmm6dwYsa0PDD4L5r3TpHx9dNl+aSEMnIksHZkSO3AVH+hBMvZhpumIGrTFj8XCOGuIXjw==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.28.1': - resolution: {integrity: sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA==} + '@rollup/rollup-freebsd-arm64@4.34.4': + resolution: {integrity: sha512-/L0LixBmbefkec1JTeAQJP0ETzGjFtNml2gpQXA8rpLo7Md+iXQzo9kwEgzyat5Q+OG/C//2B9Fx52UxsOXbzw==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.28.1': - resolution: {integrity: sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ==} + '@rollup/rollup-freebsd-x64@4.34.4': + resolution: {integrity: sha512-6Rk3PLRK+b8L/M6m/x6Mfj60LhAUcLJ34oPaxufA+CfqkUrDoUPQYFdRrhqyOvtOKXLJZJwxlOLbQjNYQcRQfw==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.28.1': - resolution: {integrity: sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA==} + '@rollup/rollup-linux-arm-gnueabihf@4.34.4': + resolution: {integrity: sha512-kmT3x0IPRuXY/tNoABp2nDvI9EvdiS2JZsd4I9yOcLCCViKsP0gB38mVHOhluzx+SSVnM1KNn9k6osyXZhLoCA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.28.1': - resolution: {integrity: sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg==} + '@rollup/rollup-linux-arm-musleabihf@4.34.4': + resolution: {integrity: sha512-3iSA9tx+4PZcJH/Wnwsvx/BY4qHpit/u2YoZoXugWVfc36/4mRkgGEoRbRV7nzNBSCOgbWMeuQ27IQWgJ7tRzw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.28.1': - resolution: {integrity: sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA==} + '@rollup/rollup-linux-arm64-gnu@4.34.4': + resolution: {integrity: sha512-7CwSJW+sEhM9sESEk+pEREF2JL0BmyCro8UyTq0Kyh0nu1v0QPNY3yfLPFKChzVoUmaKj8zbdgBxUhBRR+xGxg==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.28.1': - resolution: {integrity: sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A==} + '@rollup/rollup-linux-arm64-musl@4.34.4': + resolution: {integrity: sha512-GZdafB41/4s12j8Ss2izofjeFXRAAM7sHCb+S4JsI9vaONX/zQ8cXd87B9MRU/igGAJkKvmFmJJBeeT9jJ5Cbw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.28.1': - resolution: {integrity: sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA==} + '@rollup/rollup-linux-loongarch64-gnu@4.34.4': + resolution: {integrity: sha512-uuphLuw1X6ur11675c2twC6YxbzyLSpWggvdawTUamlsoUv81aAXRMPBC1uvQllnBGls0Qt5Siw8reSIBnbdqQ==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.28.1': - resolution: {integrity: sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A==} + '@rollup/rollup-linux-powerpc64le-gnu@4.34.4': + resolution: {integrity: sha512-KvLEw1os2gSmD6k6QPCQMm2T9P2GYvsMZMRpMz78QpSoEevHbV/KOUbI/46/JRalhtSAYZBYLAnT9YE4i/l4vg==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.28.1': - resolution: {integrity: sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA==} + '@rollup/rollup-linux-riscv64-gnu@4.34.4': + resolution: {integrity: sha512-wcpCLHGM9yv+3Dql/CI4zrY2mpQ4WFergD3c9cpRowltEh5I84pRT/EuHZsG0In4eBPPYthXnuR++HrFkeqwkA==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.28.1': - resolution: {integrity: sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg==} + '@rollup/rollup-linux-s390x-gnu@4.34.4': + resolution: {integrity: sha512-nLbfQp2lbJYU8obhRQusXKbuiqm4jSJteLwfjnunDT5ugBKdxqw1X9KWwk8xp1OMC6P5d0WbzxzhWoznuVK6XA==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.28.1': - resolution: {integrity: sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw==} + '@rollup/rollup-linux-x64-gnu@4.34.4': + resolution: {integrity: sha512-JGejzEfVzqc/XNiCKZj14eb6s5w8DdWlnQ5tWUbs99kkdvfq9btxxVX97AaxiUX7xJTKFA0LwoS0KU8C2faZRg==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.28.1': - resolution: {integrity: sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g==} + '@rollup/rollup-linux-x64-musl@4.34.4': + resolution: {integrity: sha512-/iFIbhzeyZZy49ozAWJ1ZR2KW6ZdYUbQXLT4O5n1cRZRoTpwExnHLjlurDXXPKEGxiAg0ujaR9JDYKljpr2fDg==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.28.1': - resolution: {integrity: sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A==} + '@rollup/rollup-win32-arm64-msvc@4.34.4': + resolution: {integrity: sha512-qORc3UzoD5UUTneiP2Afg5n5Ti1GAW9Gp5vHPxzvAFFA3FBaum9WqGvYXGf+c7beFdOKNos31/41PRMUwh1tpA==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.28.1': - resolution: {integrity: sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA==} + '@rollup/rollup-win32-ia32-msvc@4.34.4': + resolution: {integrity: sha512-5g7E2PHNK2uvoD5bASBD9aelm44nf1w4I5FEI7MPHLWcCSrR8JragXZWgKPXk5i2FU3JFfa6CGZLw2RrGBHs2Q==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.28.1': - resolution: {integrity: sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA==} + '@rollup/rollup-win32-x64-msvc@4.34.4': + resolution: {integrity: sha512-p0scwGkR4kZ242xLPBuhSckrJ734frz6v9xZzD+kHVYRAkSUmdSLCIJRfql6H5//aF8Q10K+i7q8DiPfZp0b7A==} cpu: [x64] os: [win32] - '@shikijs/core@1.27.2': - resolution: {integrity: sha512-ns1dokDr0KE1lQ9mWd4rqaBkhSApk0qGCK1+lOqwnkQSkVZ08UGqXj1Ef8dAcTMZNFkN6PSNjkL5TYNX7pyPbQ==} + '@shikijs/core@1.24.0': + resolution: {integrity: sha512-6pvdH0KoahMzr6689yh0QJ3rCgF4j1XsXRHNEeEN6M4xJTfQ6QPWrmHzIddotg+xPJUPEPzYzYCKzpYyhTI6Gw==} '@shikijs/core@1.29.2': resolution: {integrity: sha512-vju0lY9r27jJfOY4Z7+Rt/nIOjzJpZ3y+nYpqtUZInVoXQ/TJZcfGnNOGnKjFdVZb8qexiCuSlZRKcGfhhTTZQ==} - '@shikijs/engine-javascript@1.27.2': - resolution: {integrity: sha512-0JB7U5vJc16NShBdxv9hSSJYSKX79+32O7F4oXIxJLdYfomyFvx4B982ackUI9ftO9T3WwagkiiD3nOxOOLiGA==} + '@shikijs/engine-javascript@1.24.0': + resolution: {integrity: sha512-ZA6sCeSsF3Mnlxxr+4wGEJ9Tto4RHmfIS7ox8KIAbH0MTVUkw3roHPHZN+LlJMOHJJOVupe6tvuAzRpN8qK1vA==} '@shikijs/engine-javascript@1.29.2': resolution: {integrity: sha512-iNEZv4IrLYPv64Q6k7EPpOCE/nuvGiKl7zxdq0WFuRPF5PAE9PRo2JGq/d8crLusM59BRemJ4eOqrFrC4wiQ+A==} - '@shikijs/engine-oniguruma@1.27.2': - resolution: {integrity: sha512-FZYKD1KN7srvpkz4lbGLOYWlyDU4Rd+2RtuKfABTkafAPOFr+J6umfIwY/TzOQqfNtWjL7SAwPAO0dcOraRLaQ==} + '@shikijs/engine-oniguruma@1.24.0': + resolution: {integrity: sha512-Eua0qNOL73Y82lGA4GF5P+G2+VXX9XnuUxkiUuwcxQPH4wom+tE39kZpBFXfUuwNYxHSkrSxpB1p4kyRW0moSg==} '@shikijs/engine-oniguruma@1.29.2': resolution: {integrity: sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA==} - '@shikijs/langs@1.27.2': - resolution: {integrity: sha512-MSrknKL0DbeXvhtSigMLIzjPOOQfvK7fsbcRv2NUUB0EvuTTomY8/U+lAkczYrXY2+dygKOapJKk8ScFYbtoNw==} - '@shikijs/langs@1.29.2': resolution: {integrity: sha512-FIBA7N3LZ+223U7cJDUYd5shmciFQlYkFXlkKVaHsCPgfVLiO+e12FmQE6Tf9vuyEsFe3dIl8qGWKXgEHL9wmQ==} - '@shikijs/themes@1.27.2': - resolution: {integrity: sha512-Yw/uV7EijjWavIIZLoWneTAohcbBqEKj6XMX1bfMqO3llqTKsyXukPp1evf8qPqzUHY7ibauqEaQchhfi857mg==} - '@shikijs/themes@1.29.2': resolution: {integrity: sha512-i9TNZlsq4uoyqSbluIcZkmPL9Bfi3djVxRnofUHwvx/h6SRW3cwgBC5SML7vsDcWyukY0eCzVN980rqP6qNl9g==} - '@shikijs/types@1.27.2': - resolution: {integrity: sha512-DM9OWUyjmdYdnKDpaGB/GEn9XkToyK1tqxuqbmc5PV+5K8WjjwfygL3+cIvbkSw2v1ySwHDgqATq/+98pJ4Kyg==} + '@shikijs/types@1.24.0': + resolution: {integrity: sha512-aptbEuq1Pk88DMlCe+FzXNnBZ17LCiLIGWAeCWhoFDzia5Q5Krx3DgnULLiouSdd6+LUM39XwXGppqYE0Ghtug==} '@shikijs/types@1.29.2': resolution: {integrity: sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==} @@ -1337,6 +1184,9 @@ packages: '@shikijs/vscode-textmate@10.0.1': resolution: {integrity: sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==} + '@shikijs/vscode-textmate@9.3.0': + resolution: {integrity: sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==} + '@svgr/babel-plugin-add-jsx-attribute@8.0.0': resolution: {integrity: sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==} engines: {node: '>=14'} @@ -1492,6 +1342,9 @@ packages: '@types/estree-jsx@1.0.5': resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} @@ -1576,8 +1429,8 @@ packages: '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - '@vercel/nft@0.27.9': - resolution: {integrity: sha512-pTs7OchHQmSYJPR0puVQCWw/NqzuvAtnAhBurz21lq4Y4KqWoMpYKqmikkETG5r1bHNCM/hQMZ5JiRr9mhOkyg==} + '@vercel/nft@0.27.10': + resolution: {integrity: sha512-zbaF9Wp/NsZtKLE4uVmL3FyfFwlpDyuymQM1kPbeT0mVOHKDQQNjnnfslB3REg3oZprmNFJuh3pkHBk2qAaizg==} engines: {node: '>=16'} hasBin: true @@ -1590,9 +1443,9 @@ packages: '@webgpu/types@0.1.21': resolution: {integrity: sha512-pUrWq3V5PiSGFLeLxoGqReTZmiiXwY3jRkIG5sLLKjyqNxrwm/04b4nw7LSmGWJcKk59XOM/YRTUwOzo4MMlow==} - abbrev@2.0.0: - resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + abbrev@3.0.0: + resolution: {integrity: sha512-+/kfrslGQ7TNV2ecmQwMJj/B65g5KVq1/L3SGVZ3tCYGqlzFuFCGBZJtMP99wH3NpEUyAjn0zPdPUg0D+DwrOA==} + engines: {node: ^18.17.0 || >=20.5.0} acorn-import-attributes@1.9.5: resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} @@ -1761,8 +1614,8 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - cacheable@1.8.7: - resolution: {integrity: sha512-AbfG7dAuYNjYxFUtL1lAqmlWdxczCJ47w7cFjhGcnGnUdwSo6VgmSojfoW3tUI12HUkgTJ5kqj78yyq6TsFtlg==} + cacheable@1.8.8: + resolution: {integrity: sha512-OE1/jlarWxROUIpd0qGBSKFLkNsotY8pt4GeiVErUYh/NUeTNrT+SBksUgllQv4m6a0W/VZsLuiHb88maavqEw==} call-bind@1.0.7: resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} @@ -1915,8 +1768,8 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - consola@3.2.3: - resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + consola@3.4.0: + resolution: {integrity: sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==} engines: {node: ^14.18.0 || >=16.10.0} convert-source-map@2.0.0: @@ -1948,8 +1801,8 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} - crossws@0.3.1: - resolution: {integrity: sha512-HsZgeVYaG+b5zA+9PbIPGq4+J/CJynJuearykPsXx4V/eMhyQ5EDVg3Ak2FBZtVXCiOLu/U7IiwDHTr9MA+IKw==} + crossws@0.3.3: + resolution: {integrity: sha512-/71DJT3xJlqSnBr83uGJesmVHSzZEvgxHt/fIKxBAAngqMHmnBWQNxCphVxxJ2XL3xleu5+hJD6IQ3TglBedcw==} crypt@0.0.2: resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} @@ -2249,9 +2102,6 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - es-module-lexer@1.5.4: - resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} - es-module-lexer@1.6.0: resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} @@ -2261,11 +2111,6 @@ packages: esast-util-from-js@2.0.1: resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} - esbuild@0.24.0: - resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==} - engines: {node: '>=18'} - hasBin: true - esbuild@0.24.2: resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} engines: {node: '>=18'} @@ -2359,8 +2204,8 @@ packages: picomatch: optional: true - file-entry-cache@10.0.5: - resolution: {integrity: sha512-umpQsJrBNsdMDgreSryMEXvJh66XeLtZUwA8Gj7rHGearGufUFv6rB/bcXRFsiGWw/VeSUgUofF4Rf2UKEOrTA==} + file-entry-cache@10.0.6: + resolution: {integrity: sha512-0wvv16mVo9nN0Md3k7DMjgAPKG/TY4F/gYMBVb/wMThFRJvzrpaqBFqF6km9wf8QfYTN+mNg5aeaBLfy8k35uA==} file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} @@ -2384,8 +2229,8 @@ packages: find-yarn-workspace-root2@1.2.16: resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} - flat-cache@6.1.5: - resolution: {integrity: sha512-QR+2kN38f8nMfiIQ1LHYjuDEmZNZVjxuxY+HufbS3BW0EX01Q5OnH7iduOYRutmgiXb797HAKcXUeXrvRjjgSQ==} + flat-cache@6.1.6: + resolution: {integrity: sha512-F+CKgSwp0pzLx67u+Zy1aCueVWFAHWbXepvXlZ+bWVTaASbm5SyCnSJ80Fp1ePEmS57wU+Bf6cx6525qtMZ4lQ==} flatted@3.3.2: resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} @@ -2483,8 +2328,8 @@ packages: resolution: {integrity: sha512-cvVIBILwuoSyD54U4cF/UXDh5yAobhNV/tPygI4lZhgOIJQE/WLWC4waBRb4I6bDVYb3OVx3lfHbaQOEoUD5sg==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} - h3@1.13.0: - resolution: {integrity: sha512-vFEAu/yf8UMUcB4s43OaDaigcqpQd14yanmOsn+NcRX3/guSKncyE2rOYhq8RIchgJrPSs/QiIddnTTR1ddiAg==} + h3@1.14.0: + resolution: {integrity: sha512-ao22eiONdgelqcnknw0iD645qW0s9NnrJHr5OBz4WOMdBdycfSas1EQf1wXRsm+PcB2Yoj43pjBPwqIpJQTeWg==} has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} @@ -2568,8 +2413,8 @@ packages: heap@0.2.7: resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} - hookified@1.6.0: - resolution: {integrity: sha512-se7cpwTA+iA/eY548Bu03JJqBiEZAqU2jnyKdj5B5qurtBg64CZGHTgqCv4Yh7NWu6FGI09W61MCq+NoPj9GXA==} + hookified@1.7.0: + resolution: {integrity: sha512-XQdMjqC1AyeOzfs+17cnIk7Wdfu1hh2JtcyNfBf5u9jHrT3iZUlGHxLTntFBuk5lwkqJ6l3+daeQdHK5yByHVA==} hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} @@ -2858,6 +2703,9 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + magic-string@0.30.14: + resolution: {integrity: sha512-5c99P1WKTed11ZC0HMJOj6CDIue6F8ySu+bJL+85q1zBEIY8IklrJ1eiKC2NDRh3Ct3FcvmJPyQHb9erXMTJNw==} + magic-string@0.30.17: resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} @@ -2894,8 +2742,8 @@ packages: engines: {node: '>= 18'} hasBin: true - marked@15.0.4: - resolution: {integrity: sha512-TCHvDqmb3ZJ4PWG7VEGVgtefA5/euFmsIhxtD0XsBxI39gUSKL81mIRFdt0AiNQozUahd4ke98ZdirExd/vSEw==} + marked@15.0.6: + resolution: {integrity: sha512-Y07CUOE+HQXbVDCGl3LXggqJDbXDP2pArc2C1N1RRMN0ONiShoSsIInMd5Gsxupe7fKLpgimTV+HOJ9r7bA+pg==} engines: {node: '>= 18'} hasBin: true @@ -3267,6 +3115,11 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + nanoid@3.3.8: + resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + neotraverse@0.6.18: resolution: {integrity: sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==} engines: {node: '>= 10'} @@ -3277,8 +3130,8 @@ packages: no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} - node-fetch-native@1.6.4: - resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} + node-fetch-native@1.6.6: + resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==} node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} @@ -3299,8 +3152,8 @@ packages: non-layered-tidy-tree-layout@2.0.2: resolution: {integrity: sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==} - nopt@8.0.0: - resolution: {integrity: sha512-1L/fTJ4UmV/lUxT2Uf006pfZKTvAgCF+chz+0OgBHO8u2Z67pE7AaAUUj7CJy0lXqHmymUvGFt6NE9R3HER0yw==} + nopt@8.1.0: + resolution: {integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==} engines: {node: ^18.17.0 || >=20.5.0} hasBin: true @@ -3341,8 +3194,8 @@ packages: once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - oniguruma-to-es@2.0.0: - resolution: {integrity: sha512-pE7+9jQgomy10aK6BJKRNHj1Nth0YLOzb3iRuhlz4gRzNSBSd7hga6U8BE6o0SoSuSkqv+PPtt511Msd1Hkl0w==} + oniguruma-to-es@0.7.0: + resolution: {integrity: sha512-HRaRh09cE0gRS3+wi2zxekB+I5L8C/gN60S+vb11eADHUaB/q4u8wGGOX3GvwvitG8ixaeycZfeoyruKQzUgNg==} oniguruma-to-es@2.3.0: resolution: {integrity: sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g==} @@ -3555,6 +3408,10 @@ packages: resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} engines: {node: ^10 || ^12 || >=14} + postcss@8.5.1: + resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==} + engines: {node: ^10 || ^12 || >=14} + preferred-pm@4.1.1: resolution: {integrity: sha512-rU+ZAv1Ur9jAUZtGPebQVQPzdGhNzaEiQ7VL9+cjsAWPHFYOccNXPNiev1CCDSOg/2j7UujM7ojNhpkuILEVNQ==} engines: {node: '>=18.12'} @@ -3650,12 +3507,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-recursion@5.1.1: resolution: {integrity: sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==} regex-utilities@2.3.0: resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} + regex@5.0.2: + resolution: {integrity: sha512-/pczGbKIQgfTMRV0XjABvc5RzLqQmwqxLHdQao2RTXPk+pmTXB2P0IaUHYdYyk412YLwUIkaeMd5T+RzVgTqnQ==} + regex@5.1.1: resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==} @@ -3784,8 +3647,8 @@ packages: robust-predicates@3.0.2: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} - rollup@4.28.1: - resolution: {integrity: sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg==} + rollup@4.34.4: + resolution: {integrity: sha512-spF66xoyD7rz3o08sHP7wogp1gZ6itSq22SGa/IZTcUDXDlOyrShwMwkVSB+BUxFRZZCUYqdb3KWDEOMVQZxuw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -3851,8 +3714,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shiki@1.27.2: - resolution: {integrity: sha512-QtA1C41oEVixKog+V8I3ia7jjGls7oCZ8Yul8vdHrVBga5uPoyTtMvFF4lMMXIyAZo5A5QbXq91bot2vA6Q+eQ==} + shiki@1.24.0: + resolution: {integrity: sha512-qIneep7QRwxRd5oiHb8jaRzH15V/S8F3saCXOdjwRLgozZJr5x2yeBhQtqkO3FSzQDwYEFAYuifg4oHjpDghrg==} shiki@1.29.2: resolution: {integrity: sha512-njXuliz/cP+67jU2hukkxCNuH1yUi4QfdZZY+sMr5PPrIyXSu5iTb/qYC4BiWWB0vZ+7TbdvYUCeL23zpwCfbg==} @@ -4269,8 +4132,8 @@ packages: peerDependencies: vite: '>=2.6.0' - vite@6.0.11: - resolution: {integrity: sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==} + vite@6.0.9: + resolution: {integrity: sha512-MSgUxHcaXLtnBPktkbUSoQUANApKYuxZ6DrbVENlIorbhL2dZydTLaZ01tjUoE3szeFzlFk9ANOKk0xurh4MKA==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: @@ -4309,8 +4172,8 @@ packages: yaml: optional: true - vite@6.0.9: - resolution: {integrity: sha512-MSgUxHcaXLtnBPktkbUSoQUANApKYuxZ6DrbVENlIorbhL2dZydTLaZ01tjUoE3szeFzlFk9ANOKk0xurh4MKA==} + vite@6.1.0: + resolution: {integrity: sha512-RjjMipCKVoR4hVfPY6GQTgveinjNuyLw+qruksLDvA5ktI1150VmcMBKmQaEWJhg/j6Uaf6dNCNA0AfdzUb/hQ==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: @@ -4483,30 +4346,6 @@ snapshots: '@astrojs/internal-helpers@0.5.1': {} - '@astrojs/markdown-remark@6.0.1': - dependencies: - '@astrojs/prism': 3.2.0 - github-slugger: 2.0.0 - hast-util-from-html: 2.0.3 - hast-util-to-text: 4.0.2 - import-meta-resolve: 4.1.0 - js-yaml: 4.1.0 - mdast-util-definitions: 6.0.0 - rehype-raw: 7.0.0 - rehype-stringify: 10.0.1 - remark-gfm: 4.0.0 - remark-parse: 11.0.0 - remark-rehype: 11.1.1 - remark-smartypants: 3.0.2 - shiki: 1.27.2 - unified: 11.0.5 - unist-util-remove-position: 5.0.0 - unist-util-visit: 5.0.0 - unist-util-visit-parents: 6.0.1 - vfile: 6.0.3 - transitivePeerDependencies: - - supports-color - '@astrojs/markdown-remark@6.1.0': dependencies: '@astrojs/prism': 3.2.0 @@ -4532,13 +4371,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@astrojs/mdx@4.0.2(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3))': + '@astrojs/mdx@4.0.8(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3))': dependencies: - '@astrojs/markdown-remark': 6.0.1 + '@astrojs/markdown-remark': 6.1.0 '@mdx-js/mdx': 3.1.0(acorn@8.14.0) acorn: 8.14.0 - astro: 5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3) - es-module-lexer: 1.5.4 + astro: 5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3) + es-module-lexer: 1.6.0 estree-util-visit: 2.0.0 hast-util-to-html: 9.0.4 kleur: 4.1.5 @@ -4551,14 +4390,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@astrojs/netlify@6.0.1(@opentelemetry/api@1.9.0)(@types/node@20.17.14)(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3))(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))': + '@astrojs/netlify@6.0.1(@opentelemetry/api@1.9.0)(@types/node@20.17.14)(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3))(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))': dependencies: '@astrojs/internal-helpers': 0.4.1 '@astrojs/underscore-redirects': 0.4.0 '@netlify/functions': 2.8.0(@opentelemetry/api@1.9.0) - '@vercel/nft': 0.27.9(rollup@4.28.1) - astro: 5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3) - esbuild: 0.24.0 + '@vercel/nft': 0.27.10(rollup@4.34.4) + astro: 5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3) + esbuild: 0.24.2 vite: 6.0.9(@types/node@20.17.14)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) transitivePeerDependencies: - '@opentelemetry/api' @@ -4615,16 +4454,16 @@ snapshots: stream-replace-string: 2.0.0 zod: 3.23.8 - '@astrojs/starlight@0.30.3(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3))': + '@astrojs/starlight@0.30.3(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3))': dependencies: - '@astrojs/mdx': 4.0.2(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)) + '@astrojs/mdx': 4.0.8(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)) '@astrojs/sitemap': 3.1.6 '@pagefind/default-ui': 1.1.0 '@types/hast': 3.0.4 '@types/js-yaml': 4.0.9 '@types/mdast': 4.0.4 - astro: 5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3) - astro-expressive-code: 0.38.3(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)) + astro: 5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3) + astro-expressive-code: 0.38.3(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)) bcp-47: 2.1.0 hast-util-from-html: 2.0.3 hast-util-select: 6.0.2 @@ -4686,7 +4525,7 @@ snapshots: '@babel/traverse': 7.25.9 '@babel/types': 7.26.0 convert-source-map: 2.0.0 - debug: 4.4.0 + debug: 4.3.7 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -4777,7 +4616,7 @@ snapshots: '@babel/parser': 7.26.2 '@babel/template': 7.25.9 '@babel/types': 7.26.0 - debug: 4.4.0 + debug: 4.3.7 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -4936,150 +4775,78 @@ snapshots: tslib: 2.6.2 optional: true - '@esbuild/aix-ppc64@0.24.0': - optional: true - '@esbuild/aix-ppc64@0.24.2': optional: true - '@esbuild/android-arm64@0.24.0': - optional: true - '@esbuild/android-arm64@0.24.2': optional: true - '@esbuild/android-arm@0.24.0': - optional: true - '@esbuild/android-arm@0.24.2': optional: true - '@esbuild/android-x64@0.24.0': - optional: true - '@esbuild/android-x64@0.24.2': optional: true - '@esbuild/darwin-arm64@0.24.0': - optional: true - '@esbuild/darwin-arm64@0.24.2': optional: true - '@esbuild/darwin-x64@0.24.0': - optional: true - '@esbuild/darwin-x64@0.24.2': optional: true - '@esbuild/freebsd-arm64@0.24.0': - optional: true - '@esbuild/freebsd-arm64@0.24.2': optional: true - '@esbuild/freebsd-x64@0.24.0': - optional: true - '@esbuild/freebsd-x64@0.24.2': optional: true - '@esbuild/linux-arm64@0.24.0': - optional: true - '@esbuild/linux-arm64@0.24.2': optional: true - '@esbuild/linux-arm@0.24.0': - optional: true - '@esbuild/linux-arm@0.24.2': optional: true - '@esbuild/linux-ia32@0.24.0': - optional: true - '@esbuild/linux-ia32@0.24.2': optional: true - '@esbuild/linux-loong64@0.24.0': - optional: true - '@esbuild/linux-loong64@0.24.2': optional: true - '@esbuild/linux-mips64el@0.24.0': - optional: true - '@esbuild/linux-mips64el@0.24.2': optional: true - '@esbuild/linux-ppc64@0.24.0': - optional: true - '@esbuild/linux-ppc64@0.24.2': optional: true - '@esbuild/linux-riscv64@0.24.0': - optional: true - '@esbuild/linux-riscv64@0.24.2': optional: true - '@esbuild/linux-s390x@0.24.0': - optional: true - '@esbuild/linux-s390x@0.24.2': optional: true - '@esbuild/linux-x64@0.24.0': - optional: true - '@esbuild/linux-x64@0.24.2': optional: true '@esbuild/netbsd-arm64@0.24.2': optional: true - '@esbuild/netbsd-x64@0.24.0': - optional: true - '@esbuild/netbsd-x64@0.24.2': optional: true - '@esbuild/openbsd-arm64@0.24.0': - optional: true - '@esbuild/openbsd-arm64@0.24.2': optional: true - '@esbuild/openbsd-x64@0.24.0': - optional: true - '@esbuild/openbsd-x64@0.24.2': optional: true - '@esbuild/sunos-x64@0.24.0': - optional: true - '@esbuild/sunos-x64@0.24.2': optional: true - '@esbuild/win32-arm64@0.24.0': - optional: true - '@esbuild/win32-arm64@0.24.2': optional: true - '@esbuild/win32-ia32@0.24.0': - optional: true - '@esbuild/win32-ia32@0.24.2': optional: true - '@esbuild/win32-x64@0.24.0': - optional: true - '@esbuild/win32-x64@0.24.2': optional: true @@ -5102,7 +4869,7 @@ snapshots: '@expressive-code/plugin-shiki@0.38.3': dependencies: '@expressive-code/core': 0.38.3 - shiki: 1.27.2 + shiki: 1.24.0 '@expressive-code/plugin-text-markers@0.38.3': dependencies: @@ -5233,7 +5000,7 @@ snapshots: '@kwsites/file-exists@1.1.1': dependencies: - debug: 4.4.0 + debug: 4.3.7 transitivePeerDependencies: - supports-color @@ -5288,21 +5055,21 @@ snapshots: transitivePeerDependencies: - supports-color - '@lunariajs/starlight@0.1.1(@astrojs/starlight@0.30.3(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)))(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3))': + '@lunariajs/starlight@0.1.1(@astrojs/starlight@0.30.3(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)))(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3))': dependencies: - '@astrojs/starlight': 0.30.3(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)) + '@astrojs/starlight': 0.30.3(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)) '@lunariajs/core': 0.1.1 - astro: 5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3) + astro: 5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3) transitivePeerDependencies: - supports-color - '@mapbox/node-pre-gyp@2.0.0-rc.0': + '@mapbox/node-pre-gyp@2.0.0': dependencies: - consola: 3.2.3 + consola: 3.4.0 detect-libc: 2.0.3 https-proxy-agent: 7.0.6 node-fetch: 2.7.0 - nopt: 8.0.0 + nopt: 8.1.0 semver: 7.6.3 tar: 7.4.3 transitivePeerDependencies: @@ -5313,7 +5080,7 @@ snapshots: '@mdx-js/mdx@3.1.0(acorn@8.14.0)': dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 '@types/mdx': 2.0.12 @@ -5594,85 +5361,85 @@ snapshots: '@lezer/javascript': 1.4.14 '@lezer/lr': 1.4.0 - '@rollup/pluginutils@5.1.3(rollup@4.28.1)': + '@rollup/pluginutils@5.1.3(rollup@4.34.4)': dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: - rollup: 4.28.1 + rollup: 4.34.4 - '@rollup/pluginutils@5.1.4(rollup@4.28.1)': + '@rollup/pluginutils@5.1.4(rollup@4.34.4)': dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: - rollup: 4.28.1 + rollup: 4.34.4 - '@rollup/rollup-android-arm-eabi@4.28.1': + '@rollup/rollup-android-arm-eabi@4.34.4': optional: true - '@rollup/rollup-android-arm64@4.28.1': + '@rollup/rollup-android-arm64@4.34.4': optional: true - '@rollup/rollup-darwin-arm64@4.28.1': + '@rollup/rollup-darwin-arm64@4.34.4': optional: true - '@rollup/rollup-darwin-x64@4.28.1': + '@rollup/rollup-darwin-x64@4.34.4': optional: true - '@rollup/rollup-freebsd-arm64@4.28.1': + '@rollup/rollup-freebsd-arm64@4.34.4': optional: true - '@rollup/rollup-freebsd-x64@4.28.1': + '@rollup/rollup-freebsd-x64@4.34.4': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.28.1': + '@rollup/rollup-linux-arm-gnueabihf@4.34.4': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.28.1': + '@rollup/rollup-linux-arm-musleabihf@4.34.4': optional: true - '@rollup/rollup-linux-arm64-gnu@4.28.1': + '@rollup/rollup-linux-arm64-gnu@4.34.4': optional: true - '@rollup/rollup-linux-arm64-musl@4.28.1': + '@rollup/rollup-linux-arm64-musl@4.34.4': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.28.1': + '@rollup/rollup-linux-loongarch64-gnu@4.34.4': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.28.1': + '@rollup/rollup-linux-powerpc64le-gnu@4.34.4': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.28.1': + '@rollup/rollup-linux-riscv64-gnu@4.34.4': optional: true - '@rollup/rollup-linux-s390x-gnu@4.28.1': + '@rollup/rollup-linux-s390x-gnu@4.34.4': optional: true - '@rollup/rollup-linux-x64-gnu@4.28.1': + '@rollup/rollup-linux-x64-gnu@4.34.4': optional: true - '@rollup/rollup-linux-x64-musl@4.28.1': + '@rollup/rollup-linux-x64-musl@4.34.4': optional: true - '@rollup/rollup-win32-arm64-msvc@4.28.1': + '@rollup/rollup-win32-arm64-msvc@4.34.4': optional: true - '@rollup/rollup-win32-ia32-msvc@4.28.1': + '@rollup/rollup-win32-ia32-msvc@4.34.4': optional: true - '@rollup/rollup-win32-x64-msvc@4.28.1': + '@rollup/rollup-win32-x64-msvc@4.34.4': optional: true - '@shikijs/core@1.27.2': + '@shikijs/core@1.24.0': dependencies: - '@shikijs/engine-javascript': 1.27.2 - '@shikijs/engine-oniguruma': 1.27.2 - '@shikijs/types': 1.27.2 - '@shikijs/vscode-textmate': 10.0.1 + '@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.4 @@ -5685,11 +5452,11 @@ snapshots: '@types/hast': 3.0.4 hast-util-to-html: 9.0.4 - '@shikijs/engine-javascript@1.27.2': + '@shikijs/engine-javascript@1.24.0': dependencies: - '@shikijs/types': 1.27.2 - '@shikijs/vscode-textmate': 10.0.1 - oniguruma-to-es: 2.0.0 + '@shikijs/types': 1.24.0 + '@shikijs/vscode-textmate': 9.3.0 + oniguruma-to-es: 0.7.0 '@shikijs/engine-javascript@1.29.2': dependencies: @@ -5697,35 +5464,27 @@ snapshots: '@shikijs/vscode-textmate': 10.0.1 oniguruma-to-es: 2.3.0 - '@shikijs/engine-oniguruma@1.27.2': + '@shikijs/engine-oniguruma@1.24.0': dependencies: - '@shikijs/types': 1.27.2 - '@shikijs/vscode-textmate': 10.0.1 + '@shikijs/types': 1.24.0 + '@shikijs/vscode-textmate': 9.3.0 '@shikijs/engine-oniguruma@1.29.2': dependencies: '@shikijs/types': 1.29.2 '@shikijs/vscode-textmate': 10.0.1 - '@shikijs/langs@1.27.2': - dependencies: - '@shikijs/types': 1.27.2 - '@shikijs/langs@1.29.2': dependencies: '@shikijs/types': 1.29.2 - '@shikijs/themes@1.27.2': - dependencies: - '@shikijs/types': 1.27.2 - '@shikijs/themes@1.29.2': dependencies: '@shikijs/types': 1.29.2 - '@shikijs/types@1.27.2': + '@shikijs/types@1.24.0': dependencies: - '@shikijs/vscode-textmate': 10.0.1 + '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 '@shikijs/types@1.29.2': @@ -5735,6 +5494,8 @@ snapshots: '@shikijs/vscode-textmate@10.0.1': {} + '@shikijs/vscode-textmate@9.3.0': {} + '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 @@ -5929,7 +5690,7 @@ snapshots: '@types/acorn@4.0.6': dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 '@types/babel__core@7.20.5': dependencies: @@ -5968,7 +5729,9 @@ snapshots: '@types/estree-jsx@1.0.5': dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 + + '@types/estree@1.0.5': {} '@types/estree@1.0.6': {} @@ -6056,10 +5819,10 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vercel/nft@0.27.9(rollup@4.28.1)': + '@vercel/nft@0.27.10(rollup@4.34.4)': dependencies: - '@mapbox/node-pre-gyp': 2.0.0-rc.0 - '@rollup/pluginutils': 5.1.3(rollup@4.28.1) + '@mapbox/node-pre-gyp': 2.0.0 + '@rollup/pluginutils': 5.1.3(rollup@4.34.4) acorn: 8.14.0 acorn-import-attributes: 1.9.5(acorn@8.14.0) async-sema: 3.1.1 @@ -6088,7 +5851,7 @@ snapshots: '@webgpu/types@0.1.21': {} - abbrev@2.0.0: {} + abbrev@3.0.0: {} acorn-import-attributes@1.9.5(acorn@8.14.0): dependencies: @@ -6146,14 +5909,14 @@ snapshots: astring@1.8.6: {} - astro-expressive-code@0.38.3(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)): + astro-expressive-code@0.38.3(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)): dependencies: - astro: 5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3) + astro: 5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3) rehype-expressive-code: 0.38.3 - astro-og-canvas@0.5.5(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)): + astro-og-canvas@0.5.5(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)): dependencies: - astro: 5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3) + astro: 5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3) canvaskit-wasm: 0.39.1 deterministic-object-hash: 2.0.2 entities: 4.5.0 @@ -6166,14 +5929,14 @@ snapshots: marked-smartypants: 1.1.9(marked@12.0.2) ultrahtml: 1.5.3 - astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3): + astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3): dependencies: '@astrojs/compiler': 2.10.3 '@astrojs/internal-helpers': 0.5.1 '@astrojs/markdown-remark': 6.1.0 '@astrojs/telemetry': 3.2.0 '@oslojs/encoding': 1.1.0 - '@rollup/pluginutils': 5.1.4(rollup@4.28.1) + '@rollup/pluginutils': 5.1.4(rollup@4.34.4) '@types/cookie': 0.6.0 acorn: 8.14.0 aria-query: 5.3.2 @@ -6218,8 +5981,8 @@ snapshots: unist-util-visit: 5.0.0 unstorage: 1.14.4 vfile: 6.0.3 - vite: 6.0.11(@types/node@20.17.14)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) - vitefu: 1.0.5(vite@6.0.11(@types/node@20.17.14)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))) + vite: 6.1.0(@types/node@20.17.14)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) + vitefu: 1.0.5(vite@6.1.0(@types/node@20.17.14)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))) which-pm: 3.0.0 xxhash-wasm: 1.1.0 yargs-parser: 21.1.1 @@ -6348,9 +6111,9 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 - cacheable@1.8.7: + cacheable@1.8.8: dependencies: - hookified: 1.6.0 + hookified: 1.7.0 keyv: 5.2.3 call-bind@1.0.7: @@ -6446,7 +6209,7 @@ snapshots: code-red@1.0.4: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 acorn: 8.14.0 estree-walker: 3.0.3 periscopic: 3.1.0 @@ -6503,7 +6266,7 @@ snapshots: concat-map@0.0.1: {} - consola@3.2.3: {} + consola@3.4.0: {} convert-source-map@2.0.0: {} @@ -6532,7 +6295,7 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - crossws@0.3.1: + crossws@0.3.3: dependencies: uncrypto: 0.1.3 @@ -6828,8 +6591,6 @@ snapshots: es-errors@1.3.0: {} - es-module-lexer@1.5.4: {} - es-module-lexer@1.6.0: {} esast-util-from-estree@2.0.0: @@ -6846,33 +6607,6 @@ snapshots: esast-util-from-estree: 2.0.0 vfile-message: 4.0.2 - esbuild@0.24.0: - optionalDependencies: - '@esbuild/aix-ppc64': 0.24.0 - '@esbuild/android-arm': 0.24.0 - '@esbuild/android-arm64': 0.24.0 - '@esbuild/android-x64': 0.24.0 - '@esbuild/darwin-arm64': 0.24.0 - '@esbuild/darwin-x64': 0.24.0 - '@esbuild/freebsd-arm64': 0.24.0 - '@esbuild/freebsd-x64': 0.24.0 - '@esbuild/linux-arm': 0.24.0 - '@esbuild/linux-arm64': 0.24.0 - '@esbuild/linux-ia32': 0.24.0 - '@esbuild/linux-loong64': 0.24.0 - '@esbuild/linux-mips64el': 0.24.0 - '@esbuild/linux-ppc64': 0.24.0 - '@esbuild/linux-riscv64': 0.24.0 - '@esbuild/linux-s390x': 0.24.0 - '@esbuild/linux-x64': 0.24.0 - '@esbuild/netbsd-x64': 0.24.0 - '@esbuild/openbsd-arm64': 0.24.0 - '@esbuild/openbsd-x64': 0.24.0 - '@esbuild/sunos-x64': 0.24.0 - '@esbuild/win32-arm64': 0.24.0 - '@esbuild/win32-ia32': 0.24.0 - '@esbuild/win32-x64': 0.24.0 - esbuild@0.24.2: optionalDependencies: '@esbuild/aix-ppc64': 0.24.2 @@ -6911,7 +6645,7 @@ snapshots: estree-util-attach-comments@3.0.0: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 estree-util-build-jsx@3.0.1: dependencies: @@ -6924,7 +6658,7 @@ snapshots: estree-util-scope@1.0.0: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 devlop: 1.1.0 estree-util-to-js@2.0.0: @@ -6942,7 +6676,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 eventemitter3@5.0.1: {} @@ -6995,9 +6729,9 @@ snapshots: optionalDependencies: picomatch: 4.0.2 - file-entry-cache@10.0.5: + file-entry-cache@10.0.6: dependencies: - flat-cache: 6.1.5 + flat-cache: 6.1.6 file-uri-to-path@1.0.0: {} @@ -7021,11 +6755,11 @@ snapshots: micromatch: 4.0.8 pkg-dir: 4.2.0 - flat-cache@6.1.5: + flat-cache@6.1.6: dependencies: - cacheable: 1.8.7 + cacheable: 1.8.8 flatted: 3.3.2 - hookified: 1.6.0 + hookified: 1.7.0 flatted@3.3.2: {} @@ -7111,10 +6845,10 @@ snapshots: graphql@16.8.2: {} - h3@1.13.0: + h3@1.14.0: dependencies: cookie-es: 1.2.2 - crossws: 0.3.1 + crossws: 0.3.3 defu: 6.1.4 destr: 2.0.3 iron-webcrypto: 1.2.1 @@ -7228,7 +6962,7 @@ snapshots: hast-util-to-estree@3.1.0: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 comma-separated-tokens: 2.0.3 @@ -7263,7 +6997,7 @@ snapshots: hast-util-to-jsx-runtime@2.3.0: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 '@types/hast': 3.0.4 '@types/unist': 3.0.2 comma-separated-tokens: 2.0.3 @@ -7324,7 +7058,7 @@ snapshots: heap@0.2.7: {} - hookified@1.6.0: {} + hookified@1.7.0: {} hosted-git-info@2.8.9: {} @@ -7339,7 +7073,7 @@ snapshots: https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.3 - debug: 4.4.0 + debug: 4.3.7 transitivePeerDependencies: - supports-color @@ -7447,7 +7181,7 @@ snapshots: is-reference@3.0.2: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 is-utf8@0.2.1: {} @@ -7584,6 +7318,10 @@ snapshots: dependencies: yallist: 3.1.1 + magic-string@0.30.14: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + magic-string@0.30.17: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -7606,9 +7344,9 @@ snapshots: dependencies: marked: 12.0.2 - marked-plaintify@1.1.1(marked@15.0.4): + marked-plaintify@1.1.1(marked@15.0.6): dependencies: - marked: 15.0.4 + marked: 15.0.6 marked-smartypants@1.1.9(marked@12.0.2): dependencies: @@ -7617,7 +7355,7 @@ snapshots: marked@12.0.2: {} - marked@15.0.4: {} + marked@15.0.6: {} match-index@1.0.3: dependencies: @@ -8095,7 +7833,7 @@ snapshots: micromark-extension-mdx-expression@3.0.0: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 devlop: 1.1.0 micromark-factory-mdx-expression: 2.0.1 micromark-factory-space: 2.0.0 @@ -8107,7 +7845,7 @@ snapshots: micromark-extension-mdx-jsx@3.0.0: dependencies: '@types/acorn': 4.0.6 - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 micromark-factory-mdx-expression: 2.0.1 @@ -8123,7 +7861,7 @@ snapshots: micromark-extension-mdxjs-esm@3.0.0: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 devlop: 1.1.0 micromark-core-commonmark: 2.0.0 micromark-util-character: 2.1.0 @@ -8172,7 +7910,7 @@ snapshots: micromark-factory-mdx-expression@2.0.1: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 devlop: 1.1.0 micromark-util-character: 2.1.0 micromark-util-events-to-acorn: 2.0.2 @@ -8288,7 +8026,7 @@ snapshots: micromark-util-events-to-acorn@2.0.2: dependencies: '@types/acorn': 4.0.6 - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 '@types/unist': 3.0.2 devlop: 1.1.0 estree-util-visit: 2.0.0 @@ -8360,7 +8098,7 @@ snapshots: micromark@3.2.0: dependencies: '@types/debug': 4.1.12 - debug: 4.4.0 + debug: 4.3.7 decode-named-character-reference: 1.0.2 micromark-core-commonmark: 1.1.0 micromark-factory-space: 1.1.0 @@ -8382,7 +8120,7 @@ snapshots: micromark@4.0.0: dependencies: '@types/debug': 4.1.12 - debug: 4.4.0 + debug: 4.3.7 decode-named-character-reference: 1.0.2 devlop: 1.1.0 micromark-core-commonmark: 2.0.0 @@ -8445,6 +8183,8 @@ snapshots: nanoid@3.3.7: {} + nanoid@3.3.8: {} + neotraverse@0.6.18: {} nlcst-to-string@4.0.0: @@ -8456,7 +8196,7 @@ snapshots: lower-case: 2.0.2 tslib: 2.6.2 - node-fetch-native@1.6.4: {} + node-fetch-native@1.6.6: {} node-fetch@2.7.0: dependencies: @@ -8468,9 +8208,9 @@ snapshots: non-layered-tidy-tree-layout@2.0.2: {} - nopt@8.0.0: + nopt@8.1.0: dependencies: - abbrev: 2.0.0 + abbrev: 3.0.0 normalize-package-data@2.5.0: dependencies: @@ -8498,7 +8238,7 @@ snapshots: ofetch@1.4.1: dependencies: destr: 2.0.3 - node-fetch-native: 1.6.4 + node-fetch-native: 1.6.6 ufo: 1.5.4 ohash@1.1.4: {} @@ -8507,11 +8247,11 @@ snapshots: dependencies: wrappy: 1.0.2 - oniguruma-to-es@2.0.0: + oniguruma-to-es@0.7.0: dependencies: emoji-regex-xs: 1.0.0 - regex: 5.1.1 - regex-recursion: 5.1.1 + regex: 5.0.2 + regex-recursion: 4.3.0 oniguruma-to-es@2.3.0: dependencies: @@ -8657,7 +8397,7 @@ snapshots: periscopic@3.1.0: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 estree-walker: 3.0.3 is-reference: 3.0.2 @@ -8730,6 +8470,12 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + postcss@8.5.1: + dependencies: + nanoid: 3.3.8 + picocolors: 1.1.1 + source-map-js: 1.2.1 + preferred-pm@4.1.1: dependencies: find-up-simple: 1.0.0 @@ -8825,7 +8571,7 @@ snapshots: recma-build-jsx@1.0.0: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 estree-util-build-jsx: 3.0.1 vfile: 6.0.3 @@ -8841,20 +8587,24 @@ snapshots: recma-parse@1.0.0: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 esast-util-from-js: 2.0.1 unified: 11.0.5 vfile: 6.0.3 recma-stringify@1.0.0: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 estree-util-to-js: 2.0.0 unified: 11.0.5 vfile: 6.0.3 regenerator-runtime@0.14.1: {} + regex-recursion@4.3.0: + dependencies: + regex-utilities: 2.3.0 + regex-recursion@5.1.1: dependencies: regex: 5.1.1 @@ -8862,6 +8612,10 @@ snapshots: regex-utilities@2.3.0: {} + regex@5.0.2: + dependencies: + regex-utilities: 2.3.0 + regex@5.1.1: dependencies: regex-utilities: 2.3.0 @@ -8921,7 +8675,7 @@ snapshots: rehype-recma@1.0.0: dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 '@types/hast': 3.0.4 hast-util-to-estree: 3.1.0 transitivePeerDependencies: @@ -9043,7 +8797,7 @@ snapshots: require-in-the-middle@7.3.0: dependencies: - debug: 4.4.0 + debug: 4.3.7 module-details-from-path: 1.0.3 resolve: 1.22.8 transitivePeerDependencies: @@ -9092,29 +8846,29 @@ snapshots: robust-predicates@3.0.2: {} - rollup@4.28.1: + rollup@4.34.4: dependencies: '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.28.1 - '@rollup/rollup-android-arm64': 4.28.1 - '@rollup/rollup-darwin-arm64': 4.28.1 - '@rollup/rollup-darwin-x64': 4.28.1 - '@rollup/rollup-freebsd-arm64': 4.28.1 - '@rollup/rollup-freebsd-x64': 4.28.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.28.1 - '@rollup/rollup-linux-arm-musleabihf': 4.28.1 - '@rollup/rollup-linux-arm64-gnu': 4.28.1 - '@rollup/rollup-linux-arm64-musl': 4.28.1 - '@rollup/rollup-linux-loongarch64-gnu': 4.28.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.28.1 - '@rollup/rollup-linux-riscv64-gnu': 4.28.1 - '@rollup/rollup-linux-s390x-gnu': 4.28.1 - '@rollup/rollup-linux-x64-gnu': 4.28.1 - '@rollup/rollup-linux-x64-musl': 4.28.1 - '@rollup/rollup-win32-arm64-msvc': 4.28.1 - '@rollup/rollup-win32-ia32-msvc': 4.28.1 - '@rollup/rollup-win32-x64-msvc': 4.28.1 + '@rollup/rollup-android-arm-eabi': 4.34.4 + '@rollup/rollup-android-arm64': 4.34.4 + '@rollup/rollup-darwin-arm64': 4.34.4 + '@rollup/rollup-darwin-x64': 4.34.4 + '@rollup/rollup-freebsd-arm64': 4.34.4 + '@rollup/rollup-freebsd-x64': 4.34.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.34.4 + '@rollup/rollup-linux-arm-musleabihf': 4.34.4 + '@rollup/rollup-linux-arm64-gnu': 4.34.4 + '@rollup/rollup-linux-arm64-musl': 4.34.4 + '@rollup/rollup-linux-loongarch64-gnu': 4.34.4 + '@rollup/rollup-linux-powerpc64le-gnu': 4.34.4 + '@rollup/rollup-linux-riscv64-gnu': 4.34.4 + '@rollup/rollup-linux-s390x-gnu': 4.34.4 + '@rollup/rollup-linux-x64-gnu': 4.34.4 + '@rollup/rollup-linux-x64-musl': 4.34.4 + '@rollup/rollup-win32-arm64-msvc': 4.34.4 + '@rollup/rollup-win32-ia32-msvc': 4.34.4 + '@rollup/rollup-win32-x64-msvc': 4.34.4 fsevents: 2.3.3 run-parallel@1.2.0: @@ -9198,15 +8952,13 @@ snapshots: shebang-regex@3.0.0: {} - shiki@1.27.2: + shiki@1.24.0: dependencies: - '@shikijs/core': 1.27.2 - '@shikijs/engine-javascript': 1.27.2 - '@shikijs/engine-oniguruma': 1.27.2 - '@shikijs/langs': 1.27.2 - '@shikijs/themes': 1.27.2 - '@shikijs/types': 1.27.2 - '@shikijs/vscode-textmate': 10.0.1 + '@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 shiki@1.29.2: @@ -9282,15 +9034,15 @@ snapshots: sprintf-js@1.0.3: {} - starlight-blog@0.16.1(@astrojs/starlight@0.30.3(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)))(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)): + starlight-blog@0.16.1(@astrojs/starlight@0.30.3(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)))(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)): dependencies: - '@astrojs/mdx': 4.0.2(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)) + '@astrojs/mdx': 4.0.8(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)) '@astrojs/rss': 4.0.11 - '@astrojs/starlight': 0.30.3(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.28.1)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)) + '@astrojs/starlight': 0.30.3(astro@5.2.4(@types/node@20.17.14)(jiti@1.21.7)(rollup@4.34.4)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))(typescript@5.7.3)) astro-remote: 0.3.3 github-slugger: 2.0.0 - marked: 15.0.4 - marked-plaintify: 1.1.1(marked@15.0.4) + marked: 15.0.6 + marked-plaintify: 1.1.1(marked@15.0.6) ultrahtml: 1.5.3 transitivePeerDependencies: - astro @@ -9368,7 +9120,7 @@ snapshots: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 acorn: 8.14.0 aria-query: 5.3.2 axobject-query: 4.1.0 @@ -9377,7 +9129,7 @@ snapshots: estree-walker: 3.0.3 is-reference: 3.0.2 locate-character: 3.0.0 - magic-string: 0.30.17 + magic-string: 0.30.14 periscopic: 3.1.0 svg-parser@2.0.4: {} @@ -9448,7 +9200,7 @@ snapshots: '@textlint/types': 14.4.2 '@textlint/utils': 14.4.2 debug: 4.4.0 - file-entry-cache: 10.0.5 + file-entry-cache: 10.0.6 get-stdin: 5.0.1 glob: 10.4.5 md5: 2.3.0 @@ -9510,10 +9262,10 @@ snapshots: unenv@1.10.0: dependencies: - consola: 3.2.3 + consola: 3.4.0 defu: 6.1.4 mime: 3.0.0 - node-fetch-native: 1.6.4 + node-fetch-native: 1.6.6 pathe: 1.1.2 unified@11.0.4: @@ -9620,9 +9372,9 @@ snapshots: anymatch: 3.1.3 chokidar: 3.6.0 destr: 2.0.3 - h3: 1.13.0 + h3: 1.14.0 lru-cache: 10.4.3 - node-fetch-native: 1.6.4 + node-fetch-native: 1.6.6 ofetch: 1.4.1 ufo: 1.5.4 @@ -9695,9 +9447,9 @@ snapshots: '@types/unist': 3.0.2 vfile-message: 4.0.2 - vite-plugin-svgr@4.3.0(rollup@4.28.1)(typescript@5.7.3)(vite@6.0.9(@types/node@20.17.14)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))): + vite-plugin-svgr@4.3.0(rollup@4.34.4)(typescript@5.7.3)(vite@6.0.9(@types/node@20.17.14)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))): dependencies: - '@rollup/pluginutils': 5.1.3(rollup@4.28.1) + '@rollup/pluginutils': 5.1.3(rollup@4.34.4) '@svgr/core': 8.1.0(typescript@5.7.3) '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.7.3)) vite: 6.0.9(@types/node@20.17.14)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) @@ -9706,11 +9458,11 @@ snapshots: - supports-color - typescript - vite@6.0.11(@types/node@20.17.14)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)): + vite@6.0.9(@types/node@20.17.14)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)): dependencies: esbuild: 0.24.2 postcss: 8.4.49 - rollup: 4.28.1 + rollup: 4.34.4 optionalDependencies: '@types/node': 20.17.14 fsevents: 2.3.3 @@ -9718,11 +9470,11 @@ snapshots: sass: 1.77.8 sugarss: 4.0.1(postcss@8.4.49) - vite@6.0.9(@types/node@20.17.14)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)): + vite@6.1.0(@types/node@20.17.14)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)): dependencies: esbuild: 0.24.2 - postcss: 8.4.49 - rollup: 4.28.1 + postcss: 8.5.1 + rollup: 4.34.4 optionalDependencies: '@types/node': 20.17.14 fsevents: 2.3.3 @@ -9730,9 +9482,9 @@ snapshots: sass: 1.77.8 sugarss: 4.0.1(postcss@8.4.49) - vitefu@1.0.5(vite@6.0.11(@types/node@20.17.14)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))): + vitefu@1.0.5(vite@6.1.0(@types/node@20.17.14)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49))): optionalDependencies: - vite: 6.0.11(@types/node@20.17.14)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) + vite: 6.1.0(@types/node@20.17.14)(jiti@1.21.7)(sass@1.77.8)(sugarss@4.0.1(postcss@8.4.49)) vscode-languageserver-types@3.17.5: {} 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..8fdf2f697 --- /dev/null +++ b/src/content/docs/assist/actions/use-sorted-attributes.mdx @@ -0,0 +1,64 @@ +--- +# 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 + +## Description +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

    + +## How to configure +```json title="biome.json" +{ + "linter": { + "rules": { + "source": { + "useSortedAttributes": "error" + } + } + } +} + +``` + +
    +
    + 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..4721488ba --- /dev/null +++ b/src/content/docs/assist/actions/use-sorted-keys.mdx @@ -0,0 +1,52 @@ +--- +# 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. +::: + +## Description +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 }

    + +## How to configure +```json title="biome.json" +{ + "linter": { + "rules": { + "source": { + "useSortedKeys": "error" + } + } + } +} + +``` + +
    +
    + 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/ja/linter/index.mdx b/src/content/docs/ja/linter/index.mdx index a49478e3b..85db2ce50 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リンタの使い方 --- -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のリンタはあなたのコードを静的に分析し、典型的なエラーを検出して、より自然なコードを書く手助けをします。 [複数の言語](/internals/language-support)をサポートし、全部で[** 個のルール**](/linter/rules/)を提供しています。 diff --git a/src/content/docs/ja/reference/configuration.mdx b/src/content/docs/ja/reference/configuration.mdx index 6c974b4af..eeb7075a2 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`
    @@ -733,11 +733,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 3ed61c895..3b16c923f 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: @@ -176,8 +176,8 @@ New rules that are still under development.

    Nursery rules require exp | [noHeadElement](/linter/rules/no-head-element) | Prevent usage of `` element in a Next.js project. | | | [noHeadImportInDocument](/linter/rules/no-head-import-in-document) | Prevent using the `next/head` module in `pages/_document.js` on Next.js projects. | | | [noImgElement](/linter/rules/no-img-element) | Prevent usage of `` element in a Next.js project. | | -| [noIrregularWhitespace](/linter/rules/no-irregular-whitespace) | Disallows the use of irregular whitespace characters. | | | [noIrregularWhitespace](/linter/rules/no-irregular-whitespace) | Disallows the use of irregular whitespace characters. | | +| [noIrregularWhitespace](/linter/rules/no-irregular-whitespace) | Disallows the use of irregular whitespace characters. | | | [noMissingVarFunction](/linter/rules/no-missing-var-function) | Disallow missing var function for css variables. | | | [noNestedTernary](/linter/rules/no-nested-ternary) | Disallow nested ternary expressions. | | | [noOctalEscape](/linter/rules/no-octal-escape) | Disallow octal escape sequences in string literals | | @@ -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 7b3bdfd50..e88a6e954 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 a0dd9d1ea..7699ceb07 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. ::: ## Description 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 eeada58aa..7b2d43d6f 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 5ff51c8e7..0009a6747 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 7a15d0f54..669973283 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 3ad84faf1..997ec24c2 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 ad55009df..f79365027 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 ffe9d6b1a..50082f836 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 256d19339..d0ca541e9 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 95a1d2a06..dda7ca8e7 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 fd6165b9f..e91986f8b 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 7fb25062d..3eaab5c89 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 874cbb790..f8e81d717 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 cd3b2c540..187b9ab68 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 0dd6b23c0..7b1f99102 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 4557e275d..3789d4a17 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 43abd8723..25e5cfcde 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 515560bfe..af9a0b34c 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 77bb1d9e7..4453e0e17 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 c382767a1..f53c7a1c1 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 987349467..5b27c2687 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 44196de43..91023dde1 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 3348d5f33..880813c3a 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 65af26a6d..52c728710 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 02f3381c8..2fbae5d95 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 1df06e581..1261d4fec 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 7a1dac82f..f70b960bd 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 7a306a73a..ae1e82d18 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 cab7cbed0..12dc426bf 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 c5582521b..9c0f0058e 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 eb16ee4fd..5092cd591 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 5a449eedd..c9499d069 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 8a92345cc..60e151418 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 63a0f9b58..439f850d3 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 7c42cfdb3..ea61e04c5 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 2c8ddce26..0f1095ac5 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 f094a1b53..e7a8554ed 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 4b4cb7632..a571b161f 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 af176421f..0aad0d971 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 95b0454a0..c8246e20a 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 f9691a620..d5ea3593b 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 4b1d159de..c77bd2aa2 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 f9e269e17..bf9b8fe92 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 1d4f86472..e578b1a72 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 d91106a1a..06e28eb68 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 edb2e7725..de9953017 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 53a05e878..fc2008e32 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 0c7e9d47c..ad77eeeba 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 53fc93cf7..dd3eee026 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. ::: @@ -86,7 +86,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. ::: ## Description diff --git a/src/content/docs/linter/rules/no-duplicate-parameters.mdx b/src/content/docs/linter/rules/no-duplicate-parameters.mdx index cd7cfb3e8..4b7d606e6 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 5a5dbdfc7..065079803 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 09096e883..4ab34f603 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 6dee1cd64..b3d41650b 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 5d1d9d7c8..4bc3e8aed 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. ::: @@ -34,7 +34,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 fce41842d..939588c70 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 7f943bec3..612bad1e5 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 311ee97d5..0d8b2e047 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 2212fc960..09a18d9a7 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 d1e817291..43099ae74 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 c76c17bb7..1ab47387f 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 b96a03ec0..14e1f6ff0 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. ::: ## Description diff --git a/src/content/docs/linter/rules/no-enum.mdx b/src/content/docs/linter/rules/no-enum.mdx index 92603370b..cf6094701 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 6182ca38c..13146baf5 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` + ## Description Disallow variables from evolving into `any` type through reassignments. 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 eccfbde4a..b8b34f384 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 0ea85a6ab..2551084c2 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 6abdd8f22..ae0139163 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 58dd930cc..9122bb79f 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 604ee0e6b..1470d1cff 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 79978fe10..a4013a5fb 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 98b52f654..f856d1ea5 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 5f7305035..f005b6471 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 1b3adfcbb..203fa84cf 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 a0e0081da..e7d914d2c 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 e5a762cf8..d320e7d60 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 6ceb51622..7bb3df787 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 91ff2beca..bc8041753 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 1b946379b..e4501ba96 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 f502e39ce..04ff71aca 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 93df3e326..36162ba06 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 5be21c23e..48a4f2357 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 ba2f54f23..67b69114e 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 07934e45a..6a62a7102 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 b3f0a28f0..a5b69387c 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 6f22cf051..053302194 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 da61304f0..3e4bedc8e 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 22b98b74e..94024e8ce 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. ::: ## Description diff --git a/src/content/docs/linter/rules/no-implicit-boolean.mdx b/src/content/docs/linter/rules/no-implicit-boolean.mdx index 199de2678..82af9f4d7 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 2d48f11a7..eae8b9d3c 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 e8559d3b0..59836b0be 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 740bd9622..c2013d993 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 8368c6ccf..a9080509b 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 87aa588b8..d96bbc1fb 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 6f0712433..3c9a067d3 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 4335f2332..e97263e28 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 7a13232a5..7a33ab206 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 215126d96..6e983a172 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 dc8807310..113aa498a 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 73d57f9b4..daa7201a8 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 6420a9c80..3c23dc729 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 f1541850e..64aa1b0c0 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. ::: @@ -72,6 +72,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 3c2ada3c1..c2253c617 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 07f87c040..7de5d092e 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 eed2e75a3..49e07aa04 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 b4c4cc307..460340ea5 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 1b1dd5ad0..8e3cab31f 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 e7b332472..6c8d3ebc0 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 4fdff107e..5ae3a1b27 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 2106aac83..50acafb5d 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 ddf5bb66c..af4f1be92 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 7a6ce4129..e09a4f669 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 9f4d74a14..0c8ffd3d9 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 3d7d23413..5e2581254 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 396aac85f..1e881c716 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 bcb064739..dafe0cd9b 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 75f55ca58..c290d3cf5 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-interactions.mdx b/src/content/docs/linter/rules/no-noninteractive-element-interactions.mdx index eb6d1f915..ff4dceed3 100644 --- a/src/content/docs/linter/rules/no-noninteractive-element-interactions.mdx +++ b/src/content/docs/linter/rules/no-noninteractive-element-interactions.mdx @@ -8,10 +8,10 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noNoninteractiveElementInteractions`** **Since**: `vnext` + :::caution This rule is part of the [nursery](/linter/rules/#nursery) group. ::: 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 d762b05c2..1cda9c168 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 6b8985485..2db9b4055 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 ad09b98c7..942ba93c0 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 96169a795..ffe223fa9 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 2ba92e1d2..c1be27878 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 0d23f8095..79c171256 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 bf8d085a5..4d7a35fe2 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 4a289c18f..9361ba63e 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 1e0f85545..66894f61d 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-process-global.mdx b/src/content/docs/linter/rules/no-process-global.mdx index f76e8afd2..dda3e33e6 100644 --- a/src/content/docs/linter/rules/no-process-global.mdx +++ b/src/content/docs/linter/rules/no-process-global.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/noProcessGlobal`** **Since**: `vnext` :::note +- Diagnostic Category: [`lint/nursery/noProcessGlobal`](/reference/diagnostics#diagnostic-category) - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/no-prototype-builtins.mdx b/src/content/docs/linter/rules/no-prototype-builtins.mdx index b1e78aab8..32b97f8a4 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 b62aa0863..019fc183b 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 d9d20e36c..b0479d82d 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 8a479c683..14845f0a0 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 91ca2f4c4..97df4e9ea 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 336191250..c52a111ae 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 b007e001f..21486847d 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 4ac1d3a83..a2066e5dd 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. ::: ## Description diff --git a/src/content/docs/linter/rules/no-restricted-globals.mdx b/src/content/docs/linter/rules/no-restricted-globals.mdx index dfefed421..a974e9aae 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 cb139e958..8489408fc 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 65d202590..bcf1f7238 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 9394d528d..e74b2c91b 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 49099ee95..47c4d90d2 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 b7b2af03e..d53ba267f 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 e680a8b80..2f314b89a 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 27df6533c..4de80e40a 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 602a08691..e80f8f18d 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 7780390a7..1c4a2455d 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 2bb4d9b0d..48bd94c6a 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 7bf658492..e8045033e 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 a04a7c8ff..225308b65 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 9154c47d3..383a9e756 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 2e71d21fd..9a3c4318f 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 ae20e6556..f15c2eeb5 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 7e05b9d97..9d8c565dc 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. ::: ## Description 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 28f5747fa..c6830300e 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. ::: ## Description diff --git a/src/content/docs/linter/rules/no-switch-declarations.mdx b/src/content/docs/linter/rules/no-switch-declarations.mdx index 6a214f371..bb3e4a0cb 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 631a0abda..ce4993dff 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 6935259fa..809324a96 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 988d2f743..6c8f32792 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 c33869623..9e18f71e1 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 d985305a3..a14903f91 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 582f0227d..5fcb2d407 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 0997d20ad..3bfb16552 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 fdf4b4582..5af38c658 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 1502af01d..f93fb1bbf 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 e8b5fb1cc..f8b8ffda5 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 fafdff9ec..3a36b87c5 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 23a7aaca3..48794b287 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 3144b5a97..c683b4932 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 c83d66894..5b9d90cf1 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 5a7d8b569..7914c437f 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 82a269844..94412a78e 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 724d0b167..d60dc73c0 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 cb0a374f2..29102b735 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 be9cee06c..298195bfb 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 d250a78e9..782fc611d 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 6c3b79ce6..2f031aefe 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 0138576de..9265152fb 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 9a08856ea..ac7928eb6 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 2c52b0747..b7a9d0b1a 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 de2dcf49c..c01d383c6 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 e2fb6fb37..82d0e176b 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 e2430b616..c96e0ec83 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 ae7889c49..6ec4e11e6 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 b924c33c5..522554c5f 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 b4b3bf4ad..53871fd96 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 980b9821a..14717011a 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 474498410..2c918fc26 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 91032b2e3..f0053b2f1 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 4947df6bc..4b09ecaf1 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 2619de6bb..d394d9817 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 0bf36a4cd..47d59d09c 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 f0253a620..fc6276969 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 2fc55b837..b4bc77ce4 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 5ce00aaa8..20cb6f6f7 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 888454a99..e1acf9980 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 58bb31e7e..c005a28e4 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 99f212796..030eef321 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 d51743d47..455e86ff7 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 d121a1635..724e0ae58 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 5d71fd9d5..172b01a64 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 5051865d0..579b83dcf 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 8faaf78ea..5607519fe 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 22b62f1ab..6e4c13fbf 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. ::: ## Description diff --git a/src/content/docs/linter/rules/no-void.mdx b/src/content/docs/linter/rules/no-void.mdx index 35065df8c..3efb8c88c 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 3c4ee5577..0e2998230 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 ac1baafaf..ed2ebd397 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 9c1289bcc..a15574a6d 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 baf08a83d..8e32b49bb 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 d97568b3d..c70d77ea0 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 85d3611ca..9653647b5 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 f7a25efef..0cab34332 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 d98286498..3f78dae56 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 60020c478..b9236fb67 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 ac456a599..5920dc367 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 782a53a64..086983f29 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 c0eadad49..7636ebabf 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 91daea6fd..ef21a5d30 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 d01369bc8..6a74fc2ee 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 24a4cc9fd..27af7cd2c 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 734714a03..057283cff 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 3173d6d86..be19fe313 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 6b9769d4e..f966aa0f1 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 41641c4c9..83e428bf0 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 ca56431ed..f72759bb9 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 50ab207ae..1c68266f9 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 dba0e40e0..9653cd48e 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 3e3806f3b..d43dcde93 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 0e5369783..9ef380794 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 4ec127b14..a81d4a485 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 8cfbdf788..b728e14f3 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 3c438fa5e..f5be0c08c 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 3e441985f..1dafc3e90 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. ::: @@ -35,7 +35,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 995890312..e05302b44 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 b43f84db6..b91f7b8e1 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 984f0ef53..1be4dbe45 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 a5a749663..c33f94dcd 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 b68b1db39..ef06e3264 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 7aab5541c..850ec68dc 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 0f29ac055..3093c5753 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 c503555a3..93b279bbe 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 938e3bc7a..547151263 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 bc50e7a8d..6aded95cd 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 42a2ccfcd..661378a68 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 13160383c..0b1ff460e 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 6252b5994..9dfbf6975 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 656ed85ab..06a3a32f9 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 b6b3d82bd..20a76b746 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 7247a1d73..6c0753fce 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 feed12af0..f34b4ae65 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 a93b42c7d..74b27fe9e 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 e6cb60156..374004895 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 bc1dab5db..740b4105c 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 a7df7d41d..55fd6fd7e 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 d9196dc43..d17bb2af8 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 34a69392b..cef88d658 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 1da38fd9e..7562e2c4b 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 8910e8d19..10013903d 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 1deb13667..9b31cdb04 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 49298cdc2..4a0beceac 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 fafa90821..5addea3b2 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 93265c006..434c60cfc 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 22ee7b4aa..b0f493f25 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 c6a96d61d..d7967563f 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 33aa6b3fc..c9025042a 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 7f510a2a3..676d7b6ed 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 54591dca4..3a0ba5c7e 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. ::: @@ -36,7 +36,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 05f8c8fd4..77435a93e 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 7f84c2ac7..062b32c53 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 f6306656d..7a38442c0 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 77a310223..9f60b0174 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 07a009a91..7a483a509 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 5b1fd61c5..b8a72248c 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 b3342c3cb..1121299d6 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 25f6fdc56..280526cd8 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-parse-int-radix.mdx b/src/content/docs/linter/rules/use-parse-int-radix.mdx index 7cc2ee9e0..d47be3019 100644 --- a/src/content/docs/linter/rules/use-parse-int-radix.mdx +++ b/src/content/docs/linter/rules/use-parse-int-radix.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/useParseIntRadix`** **Since**: `vnext` :::note +- Diagnostic Category: [`lint/nursery/useParseIntRadix`](/reference/diagnostics#diagnostic-category) - 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 4b4c2e888..0e1077774 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 a96c5d356..180d4e87a 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 72f8324cc..e31ebb2f0 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 4576a9ad3..1eef5d485 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 e2616f37e..a7ae5627c 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 00595f98e..ff65ca482 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 7ab9d811f..98b72272c 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 ecb34786c..4e04c5caa 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 477bf33ee..5834c086b 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 4d4c53738..af781cd06 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 235db2e67..d6690cc12 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-sorted-properties.mdx b/src/content/docs/linter/rules/use-sorted-properties.mdx index e52c4fdb1..1470cf166 100644 --- a/src/content/docs/linter/rules/use-sorted-properties.mdx +++ b/src/content/docs/linter/rules/use-sorted-properties.mdx @@ -8,11 +8,11 @@ description: | --- import { Tabs, TabItem } from '@astrojs/starlight/components'; -**Diagnostic Category: `lint/nursery/useSortedProperties`** **Since**: `vnext` :::note +- Diagnostic Category: [`lint/nursery/useSortedProperties`](/reference/diagnostics#diagnostic-category) - This rule has a **safe** fix. ::: diff --git a/src/content/docs/linter/rules/use-strict-mode.mdx b/src/content/docs/linter/rules/use-strict-mode.mdx index 920232b5f..a8bc5509d 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 5bdecaa2f..995ef2f15 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 b55af38b9..d6879f220 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 fe66a345e..aad8b9e9b 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 273eae64a..4edc0b9e4 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` + ## Description Require regex literals to be declared at the top level. 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 c503b1022..50417ccf1 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 ac8305025..b850ddad7 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 018dac7d7..583ac39c8 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 a4f286d71..4bb4c6372 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 87797404b..c2922ef62 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 eab6f69e6..05f828c50 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 1f5b4e53b..069c6ba62 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 5c65965d2..1fc7a4314 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 2df253352..cabd3e247 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 eeb7fd96d..e67b4ed4f 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 5b043f584..0c3d1b8d7 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 2cdd98d36..784da49eb 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` 中的重定向 * */} 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 dffc44507..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"], - was_written: 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, - gitignore_matches: [], - }); - 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.features_supported.get("Debug") === "Supported" - ? workspace.getSyntaxTree({ - path, - }) - : { ast: "Not supported", cst: "Not supported" }; - - let controlFlowGraph = ""; - try { - controlFlowGraph = - fileFeatures.features_supported.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.features_supported.get("Debug") === "Supported" - ? workspace.getFormatterIr({ - path, - }) - : "Not supported"; - } catch (e) { - console.error(e); - formatterIr = "Can't format"; - } - - const importSorting = - fileFeatures.features_supported.get("OrganizeImports") === "Supported" - ? workspace.organizeImports({ - path, - }) - : { - code: - fileFeatures.features_supported.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, - max_diagnostics: 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.features_supported.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}'.`); + } });