Hakana - Typechecker для взлома, построенный Slack.
Он дополняет существующий Hack Typechecker, который поставляется в комплекте с HHVM, предоставляя дополнительную информацию за пределами официального типографии.
Основная цель Хаканы - вывести точные типы в кодовой базе и сделать это быстро.
Хороший тип вывод позволяет Хакане делать несколько других ценных вещей:
Это не предназначено для замены Typechecker от Hack's Default, который поддерживает дополнительные функции (например, контексты и возможности), которые не имеют отношения к выводу типа.
Этот инструмент не предназначен для запуска на каждом клавиш, но он имеет языковой сервер с поддержкой чеков на SAVE.
Клонировать это репо, установить ржавчину и груз, если вы еще этого не сделали.
Запустите 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
Вы можете запустить все тесты с помощью: cargo run --bin hakana --release test tests
Вы можете запустить индивидуальный тест с cargo run --bin hakana test <path-to-test-dir>