Hakana es un typechecker para hack, construido por Slack.
Complementa el Hack Typechecker existente que viene incluido con HHVM al proporcionar ideas adicionales más allá del alcance del typechecker oficial.
El objetivo principal de Hakana es inferir tipos precisos en la base de código y hacerlo rápidamente.
La inferencia de buena tipo le permite a Hakana hacer varias otras cosas valiosas:
Esto no está destinado a reemplazar el Typechecker predeterminado de Hack, que admite características adicionales (por ejemplo, contextos y capacidades) que no son inmediatamente relevantes para el tipo de inferencia.
Esta herramienta no está diseñada para ejecutarse en cada KeyPress, pero tiene un servidor de idiomas con soporte para verificaciones en el salvamento.
Clone este repositorio, instale óxido y carga si aún no lo ha hecho.
Ejecutar git submodule init && git submodule update para garantizar que HHVM esté presente (Hakana toma prestado el analizador de HHVM).
Luego ejecute cd third-party/hhvm && git apply ../../hhvm-patch.diff && cd ../../ para aplicar algunos parches que habilitan la compilación WASM.
Luego ejecute cargo build --release
Que creará un binario en ./target/release/hakana-default
Puede ejecutar todas las pruebas con: cargo run --bin hakana --release test tests
Puede ejecutar una prueba individual con cargo run --bin hakana test <path-to-test-dir>