Přejít k navigační liště

Zdroják » Zprávičky » Biome 2.3: chytrější, rychlejší a kompatibilnější než kdy dřív

Biome 2.3: chytrější, rychlejší a kompatibilnější než kdy dřív

Biome – nástroj pro formátování, lintování a analýzu kódu vydal verzi 2.3, která přináší velký krok vpřed směrem k plné podpoře moderního webového ekosystému. Aktualizace přináší podporu pro Vue, Svelte i Astro, lepší práci s Tailwind CSS 4 a nový systém pro ignorování souborů.

Po aktualizaci na verzi 2.3 stačí spustit:

biome migrate --writeCode language: Bash (bash)

Plná podpora pro Vue, Svelte a Astro

Nová verze umožňuje Biome pracovat s frameworky Vue, Svelte a Astro na stejné úrovni jako s běžným JavaScriptem. Biome dokáže formátovat <script> i <style> bloky, a dokonce zpracovávat i šablony uvnitř těchto souborů.

Podpora je zatím experimentální, protože zmíněné frameworky mají vlastní syntaxi. Aktivuje se přidáním do konfigurace:

{
  "html": {
    "experimentalFullSupportEnabled": true
  }
}
Code language: JSON / JSON with Comments (json)

Současně lze konfigurovat i odsazení kódu uvnitř <script> a <style>:

{
  "html": {
    "formatter": {
      "indentScriptAndStyle": true
    }
  }
}
Code language: JSON / JSON with Comments (json)

Nový systém ignorování souborů

Biome 2.3 zavádí nový způsob, jak přesně řídit, které soubory se mají indexovat a analyzovat.

  • ! – soubor se nelintuje ani neformátuje, ale zůstává indexován pro typovou analýzu
  • !! – Biome soubor zcela ignoruje
{
  "files": {
    "includes": [
      "**",
      "!**/generated",
      "!!**/dist"
    ]
  }
}
Code language: JSON / JSON with Comments (json)

V tomto nastavení složka generated/ je ignorována pro formátování/lintování, ale zůstává indexována pro typy. Složka dist/ je úplně vyjmuta ze všech operací Biome.
V důsledku toho byla možnost files.experimentalScannerIgnores vyřazena a plánuje se ji odstranit v budoucích vydáních.

Tento přístup řeší problémy s pamětí, symbolickými odkazy i pomalou analýzou velkých projektů.

Podpora Tailwind CSS 4

Nově lze zapnout parser s podporou Tailwind direktiv:

{
  "css": {
    "parser": {
      "tailwindDirectives": true
    }
  }
}
Code language: JSON / JSON with Comments (json)

V souboru tailwind.css by pak mohly být direktivy jako:

@utility container {
  margin-inline: auto;
  padding-inline: 2rem;
}
@theme {
  --color-*: initial;
}Code language: CSS (css)

Lintovací pravidla

Povýšená pravidla

  • noNonNullAssertedOptionalChain bylo přesunuto do skupiny „suspicious“
  • useReactFunctionComponents do skupiny „style“
  • useImageSize do skupiny „correctness“
  • useConsistentTypeDefinitions do skupiny „style“
  • useQwikClasslist do skupiny „correctness“
  • noSecrets do skupiny „security“

Odebraná pravidla

  • useAnchorHref, protože jeho případ použití pokrývá již pravidlo useValidAnchor

Aktualizována doména „react“

Následující pravidla nyní patří do domény react, a nebudou automaticky aktivována, pokud doména není zapnuta, nebo Biome detekuje react jako závislost v nejbližším package.json:

  • lint/correctness/noChildrenProp (doporučeno)
  • lint/correctness/noReactPropAssignments
  • lint/security/noDangerouslySetInnerHtml (doporučeno)
  • lint/security/noDangerouslySetInnerHtmlWithChildren (doporučeno)
  • lint/style/useComponentExportOnlyModules
  • lint/suspicious/noArrayIndexKey (doporučeno)

Vylepšené flagy --skip a --only

Flagy byly rozšířeny, aby akceptovaly také lintovací domény.
Například:

biome lint --only=projectCode language: Bash (bash)

Tím se spustí pouze pravidla, která patří do domény „project“. Nebo:

biome lint --skip=testCode language: Bash (bash)

Tím se spustí všechna nastavená pravidla, kromě těch která patří do domény „test“.

Vylepšený příkaz init

Příkaz init nyní kontroluje, zda projekt obsahuje soubory ignore nebo složky dist/. Pokud najde podporované soubory ignore, Biome automaticky povolí integraci s verzovacím systémem (VCS). Pokud najde složku dist/, automaticky ji vyloučí pomocí nové syntaxe ignorování.

Konfigurace může vypadat takto:

{
  "vcs": {
    "enabled": true,
    "clientKind": "git",
    "useIgnoreFile": true
  }
}Code language: JSON / JSON with Comments (json)

Noví reportéři

Byli přidáni dva noví CLI reportéři:

Nové CLI flagy

Přidaly se nové flagy, které umožňují lepší kontrolu nad Biome bez nutnosti upravovat konfigurační soubor. Zde je seznam novinek:

  • --format-with-errors: formátuje kód, který obsahuje chyby při parsování
  • --css-parse-css-modules: ovlivňuje, zda je povolena syntaxe CSS Modules
  • --css-parse-tailwind-directives: ovlivňuje, zda jsou povoleny direktivy a funkce Tailwind CSS 4.0
  • --json-parse-allow-comments: ovlivňuje, zda jsou v JSON souborech povoleny komentáře
  • --json-parse-allow-trailing-commas: ovlivňuje, zda jsou povoleny závěrečné čárky v JSON souborech

Volba formátu koncovek řádků (lineEnding)

Možnost lineEnding nyní obsahuje variantu auto, která odpovídá stylu koncovek řádků očekávanému operačním systémem: na Windows bude CRLF (\r\n), na macOS/Linux LF (\n).
Příklad nastavení:

{
  "formatter": {
    "lineEnding": "auto"
  }
}Code language: JSON / JSON with Comments (json)

A spuštění:

biome format --line-ending autoCode language: Bash (bash)

A více!

Další funkce a opravy byly také vydány – například podpora React v19, podpora baseUrl v tsconfig.json a mnoho dalšího. Podrobné rozpisy najdete v changelogu.

Komentáře

Odebírat
Upozornit na
guest
0 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
Zobrazit všechny komentáře

Vitest 4.0 – nové vizuální testování, lepší debugging a stabilní Browser Mode

Nová verze Vitest 4.0 posouvá hranice testování webových aplikací. Přináší stabilní běh testů přímo v prohlížeči, podporu vizuálního regresního testování i chytřejší práci s lokátory a typováním. Vývojáři tak získávají robustnější, rychlejší a přehlednější nástroje pro zajištění kvality UI i logiky aplikací.