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

Jak Reddit migroval svou funkcionalitu komentářů z Pythonu do Go

Různé
Komentáře: 0
Reddit modernizuje jednu ze svých nejdůležitějších částí infrastruktury: systém komentářů, který denně obsluhuje miliony uživatelů. Původní Pythonový monolit přestával vyhovovat nárokům na výkon a škálování, a proto se tým rozhodl přepsat celý backend komentářů do Go. Migrace probíhala postupně, s paralelním během staré a nové služby, aby nedošlo k narušení uživatelské zkušenosti. Inženýři zavedli detailní porovnávání odpovědí, izolované databáze a robustní monitoring, což umožnilo bezpečné testování na živém provozu. Celý proces ukazuje, jak lze zásadní infrastrukturní změny provést bez výpadků a s důrazem na konzistenci dat.

Vite 8 Beta přináší nový bundler Rolldown a zásadní zrychlení buildů

Vite je moderní nástroj pro vývoj webových aplikací, který klade důraz na rychlost a jednoduchou konfiguraci. Umožňuje okamžitý start dev serveru a optimalizované produkční buildy, což urychluje vývoj i nasazení. Verze 8 Beta přináší zásadní změnu díky integraci bundleru Rolldown napsaného v Rustu, který sjednocuje vývojovou a produkční pipeline. Novinka výrazně zrychluje buildy a přináší moderní optimalizace. Součástí jsou také nové funkce pro TypeScript a připravovaný Full Bundle Mode pro rychlejší dev server.