Hakanaは、Slackによって構築されたハックのTypecheckerです。
公式タイプチェッカーの範囲を超えて追加の洞察を提供することにより、HHVMがバンドルされた既存のハックタイプチェッカーを補完します。
ハカナの主な目標は、コードベース内の正確なタイプを推測し、迅速に行うことです。
優れたタイプの推論により、ハカナは他のいくつかの貴重なことを行うことができます。
これは、HackのデフォルトのTypeCheckerを置き換えることではありません。これは、タイプ推論にすぐには関係のない追加の機能(コンテキストや機能など)をサポートします。
このツールは、すべてのキープレスで実行されるようには設計されていませんが、オンセーブチェックをサポートする言語サーバーがあります。
このリポジトリをクローンして、まだおかしい場合は錆と貨物をインストールしてください。
git submodule init && git submodule updateを実行して、HHVMが存在するようにします(HakanaはHHVMのパーサーを借ります)。
次に、 cd third-party/hhvm && git apply ../../hhvm-patch.diff && cd ../../ WASMコンパイルを有効にするいくつかのパッチを適用します。
その後、 cargo build --release
これにより、 ./target/release/hakana-default hakana-defaultでバイナリが作成されます
すべてのテストを実行できます: cargo run --bin hakana --release test tests
cargo run --bin hakana test <path-to-test-dir>