Hermes aims to be a drop in replacement for JS to allow for seamless opt in for WASM targeting. It will be a super set of JS, with additional opt in features to improve performance. With Hermes, you will be able to take any existing JS package and easily compile it with minimal overhead. The benefit of this is ultimatley that the developer will be able to access the existing massive ecosystem of JS packages, whilst being able to write JS interopable code.
- AST Lowering
- Reader
- Lexer
- Parser
- HLIR Lowering
- Type inferencing and Checking
- MLIR Lowering
- LLVM Lowering
- CodeGen
- Traits
- Explicit References
- JS Interpreter Runtime Standard Library Compatibility
- NodeJS
- BunJS
- Deno
- Just
- Txiki
- Napa
- Elsa
- Window
- Additional Features
- Syntactic similarity to Jest
- API Compatibility with existing JS Package Managers (NPM, Yarn, ect...)
- API for accessing Hermes-first packages
- Conversion tool (TS -> JS -> Hermes)