Knip v6 Bringt oxc-Parser und 2- bis 4-fache Performance-Steigerung

Knip v6 Bringt oxc-Parser und 2- bis 4-fache Performance-Steigerung

lschvn

Das Team hinter Knip, dem beliebten Open-Source-Tool zum Finden ungenutzter Dateien, Abhängigkeiten und Exports in JavaScript- und TypeScript-Projekten, hat Version 6 veröffentlicht. Die Kernzahl: 2 bis 4 mal schneller auf ganzer Linie.

Der entscheidende Wechsel: Der komplette Austausch des TypeScript-Backends gegen oxc-parser, den Rust-basierten Parser des Oxc Project.

Warum das TypeScript-Backend an eine Wand stieß

Knip parst jede Datei nur einmal, aber die alte TypeScript-Engine schleppte den Overhead eines kompletten Programms und Typecheckers mit. Diese Einrichtung war für IDEs und Sprachserver gedacht, nicht für einen Analysator, der nur einen einzigen Durchgang braucht.

„Das TypeScript-Backend machte das gesamte Setup schwieriger und langsamer als nötig, besonders für große Monorepos.", Lars Kappert, v6-Ankündigung

Das TypeScript-Team schreibt den Compiler für v7 gerade in Go um. Die LanguageService-basierten APIs, auf die Knip für Features wie classMembers setzte, wären damit gone gewesen.

Die Zahlen

Projektv5.88.0v6.0.0Speedup
Astro4,0s2,0s2,0x
TanStack Query3,8s1,7s2,2x
Rolldown3,7s1,7s2,2x
Sentry11,0s4,0s2,8x
TypeScript (microsoft/TypeScript)3,7s0,9s4,1x

Das Microsoft-TypeScript-Repo wird in unter einer Sekunde analysiert.

Wichtige Breaking Changes

  • Node.js v20.19.0+ erforderlich: v18 wird nicht mehr unterstützt
  • classMembers-Issue-Typ entfernt: nicht mehr machbar ohne TypeScripts LanguageService-API
  • --include-libs und --isolate-workspaces Flags entfernt, das ist jetzt das Standardverhalten
  • --experimental-tags umbenannt in --tags

Upgrade

npm install -D knip@latest

Vollständige Dokumentation auf knip.dev.

Häufig gestellte Fragen

Verwandte Artikel

Weitere Berichterstattung zu ähnlichen Themen und Tags.

Oxc v0.135: Rust-Port des React Compiler und ein `#[non_exhaustive]`-AST-Break
tooling

Oxc v0.135: Rust-Port des React Compiler und ein `#[non_exhaustive]`-AST-Break

Oxc 0.135 integriert den Rust-Port des React Compilers, markiert AST-Knoten als #[non_exhaustive] (Breaking Change für nachgelagerte Rust-Crates), fügt zwei neue AstBuilder-Methoden hinzu und liefert zahlreiche Parser-Strenge- und Codegen-Whitespace-Fixes.
TypeScript 6.0 – Die Letzte Version Vor dem Go-Umschreiben
tooling

TypeScript 6.0 – Die Letzte Version Vor dem Go-Umschreiben

TypeScript 6.0 ist da, und das Microsoft-Team ist offen: Es ist eine Übergangsversion. Die eigentliche Geschichte kommt als nächstes: TypeScript 7, geschrieben in Go und bereits als Preview verfügbar, verspricht einen 10-fachen Performancegewinn.
Oxc Baut still Und Leise Das Schnellste JavaScript-Toolkit in Rust, Und Es Ist Fast Fertig
tooling

Oxc Baut still Und Leise Das Schnellste JavaScript-Toolkit in Rust, Und Es Ist Fast Fertig

Während ESLint v10 sich mit Legacy-Bereinigung herumschlug, lieferte das Oxc-Projekt einen Linter 100x schneller, einen Formatter 30x schneller als Prettier, und einen Parser, der SWC im Staub zurücklässt. Hier ist, was der JavaScript Oxidation Compiler wirklich ist.

Kommentare

Anmelden Melden Sie sich an, um an der Diskussion teilzunehmen.

Noch keine Kommentare. Seien Sie der Erste, der seine Gedanken teilt.