Hakana adalah typechecker untuk hack, dibangun oleh Slack.
Ini melengkapi typechecker peretasan yang ada yang dilengkapi dengan HHVM dengan memberikan wawasan tambahan di luar ruang lingkup typechecker resmi.
Tujuan utama Hakana adalah untuk menyimpulkan jenis yang akurat di basis kode, dan melakukannya dengan cepat.
Inferensi tipe yang baik memungkinkan Hakana melakukan beberapa hal berharga lainnya:
Ini tidak dimaksudkan untuk menggantikan typechecker default Hack, yang mendukung fitur tambahan (misalnya konteks dan kemampuan) yang tidak segera relevan untuk mengetik inferensi.
Alat ini tidak dirancang untuk dijalankan pada setiap penekanan kunci, tetapi memiliki server bahasa dengan dukungan untuk pemeriksaan on-save.
Klon repo ini, pasang karat dan kargo jika Anda belum melakukannya.
Jalankan git submodule init && git submodule update untuk memastikan HHVM hadir (Hakana meminjam parser HHVM).
Kemudian jalankan cd third-party/hhvm && git apply ../../hhvm-patch.diff && cd ../../ untuk menerapkan beberapa tambalan yang memungkinkan kompilasi wasm.
Kemudian jalankan cargo build --release
Yang akan membuat biner di ./target/release/hakana-default
Anda dapat menjalankan semua tes dengan: cargo run --bin hakana --release test tests
Anda dapat menjalankan tes individual dengan cargo run --bin hakana test <path-to-test-dir>