Hakana ist ein Typecher für Hack, der von Slack gebaut wurde.
Es ergänzt den vorhandenen Hack -Typecher, der mit HHVM gebündelt wird, indem zusätzliche Erkenntnisse über den Rahmen des offiziellen Typecheckers hinausgeht.
Hakanas Hauptziel ist es, genaue Typen in die Codebasis zu schließen und dies schnell zu tun.
Ein guter Typ -Inferenz ermöglicht Hakana, mehrere andere wertvolle Dinge zu tun:
Dies ist nicht dazu gedacht, Hacks Standard -Typecher -Typecker zu ersetzen, der zusätzliche Funktionen (z. B. Kontexte und Funktionen) unterstützt, die für die Typ -Inferenz nicht sofort relevant sind.
Dieses Tool ist nicht so konzipiert, dass er auf jedem Schlüsselpress ausgeführt wird, sondern einen Sprachserver mit Unterstützung für On-Save-Überprüfungen.
Klonen Sie dieses Repo, installieren Sie Rost und Fracht, wenn Sie es noch nicht getan haben.
Führen Sie git submodule init && git submodule update aus, um sicherzustellen, dass HHVM vorhanden ist (Hakana lehnt HHVM -Parser).
Dann führen Sie cd third-party/hhvm && git apply ../../hhvm-patch.diff && cd ../../
Dann cargo build --release
Das wird ein Binärer bei ./target/release/hakana-default erzeugen
Sie können alle Tests mit: cargo run --bin hakana --release test tests durchführen
Sie können einen individuellen Test mit cargo run --bin hakana test <path-to-test-dir>