ratel-core

High performance JavaScript to JavaScript compiler with a Rust core

Github星跟蹤圖

Ratel

ratel-core

Travis CI
Crates.io
Discord
Gitter

Ratel is a high performance JavaScript to JavaScript compiler with a Rust core. Its goal is to take newest versions of JavaScript as input, and produce output that's compatible with older versions of the language.

Online REPL with Wasm, courtesy of cmtt.

This repo is split in two separate folders:

  • core contains the main Rust codebase that does all the heavy lifting.
  • ffi contains the Node.js wrapper around the Rust core with Neon bindings.

For common usage checkout the ratel-cli repo.

Performance

While still incomplete, the Parser part of Ratel can run circles around even the fastest parsers built in JavaScript, here it is compared to Esprima using the ratel FFI.

ratel chart

The benchmarks visualized above can be executed in the ffi folder using the npm run benches command.

Contributors

This project is created and maintained by Maciej Hirsz with the help of awesome contributors. Extended thanks to:

  • cmtt for work on the Node.js FFI and testing.
  • Jan Schulte for the initial version of transformer and codegen.

The smirky Ratel by the courtesy of A. L. Palmer.

License

This code is distributed under the terms of both the MIT license
and the Apache License (Version 2.0), choose whatever works for you.

See LICENSE-APACHE and LICENSE-MIT for details.

主要指標

概覽
名稱與所有者ratel-rust/ratel-core
主編程語言Rust
編程語言Rust (語言數: 5)
平台
許可證Apache License 2.0
所有者活动
創建於2016-04-21 00:03:01
推送於2023-01-07 02:42:38
最后一次提交2019-03-11 12:40:49
發布數11
最新版本名稱v0.7.0 (發布於 )
第一版名稱v0.3.0 (發布於 )
用户参与
星數435
關注者數13
派生數17
提交數520
已啟用問題?
問題數68
打開的問題數26
拉請求數65
打開的拉請求數19
關閉的拉請求數13
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?