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ší Nejvíce hlasů

Vercel zrychlil směrování v CDN. Překvapivě pomohly menší bloky

Vercel zrychlil směrování v CDN tím, že začal načítat víc dat najednou. U velkých webů mu po každém nasazení scházely v cache údaje o mnoha jednotlivých cestách, takže je musel opakovaně dohledávat. U nových bloků metadat Vercel naměřil o 91 % kratší dobu tohoto hledání v 99. percentilu. Cesta k výsledku ale vedla přes nečekané zjištění: příliš velký blok se při vyřizování požadavků nevyplatil.

GraphQL: Alternativa k REST API zblízka

Když se dnes navrhuje nové API, většina vývojářů automaticky sáhne po RESTu. Je to pochopitelné: REST je jednoduchý, dobře zdokumentovaný, podporují ho všechny jazyky a frameworky a většina z nás s ním pracuje léta. Přesto se v posledních letech stále častěji objevuje otázka, zda je REST vždy tou nejlepší volbou. Nejčastěji zmiňovanou alternativou je GraphQL, dotazovací jazyk pro API, který vznikl ve Facebooku a který dnes používají firmy jako GitHub, Shopify nebo Netflix.

Technologická úzkost drtí české firmy. Data ukazují chaos v digitalizaci, festival Digifest s prestižními záštitami nabízí cestu ven

Přesycenost trhu softwarem, desítky vyzkoušených a opuštěných nástrojů, hodiny ztracené v formulářích a neustálý strach z toho, že firmě ujede vlak. Český byznys prochází obdobím technologické úzkosti. Přestože podle aktuálních dat vyčleňuje AI rozpočet naprostá většina společností, realita v českých kancelářích má k opravdové transformaci daleko. Odpověď na to, jak proměnit technologie v reálný zisk a udržet krok s konkurencí, přináší 5. ročník festivalu a konference Digifest, který se koná 14.října v pražském Cubexu.