Volver al ranking

Hans-Halverson/brimstone

Rust

New JavaScript engine written in Rust

ecmascriptjavascriptjavascript-engineruntimevmcompilerinterpreter
Crecimiento de estrellas
Estrellas
1.3k
Forks
31
Crecimiento semanal
Issues
4
5001k
abr 2023may 2024jun 2025jul 2026
Artefactoscrates.iocargo add brimstone
README

Brimstone

Brimstone is a JavaScript engine written from scratch in Rust with full support for the JavaScript language.

Brimstone is a work in progress but already supports almost all of the JavaScript language (>97% of the ECMAScript language in test262). Not ready for use in production.

Implements the ECMAScript specification. Heavy inspiration is taken from the design of V8 and SerenityOS's LibJS. Brimstone chooses to implement almost all components of the engine from scratch with minimal dependencies, with the notable exceptions of ICU4X and temporal_rs.

Brimstone features:

  • Complete JavaScript language and standard library, other than SharedArrayBuffer and Atomics
  • Up to date with the latest features (ES2026) and includes Temporal
  • Bytecode VM, heavily inspired by the design of V8's Ignition
  • Compacting garbage collector, written in very unsafe Rust
  • Custom RegExp engine
  • Custom parser

Building and testing

Standard cargo commands to build and run.

  • cargo build to build the bs executable
  • cargo run to run from source

JavaScript files can be executed with bs:

# Build brimstone
cargo build

# Execute a JavaScript file
./target/debug/bs ./hello.js
Hello world!

Testing

Brimstone relies heavily on a set of first and third party integration test suites, most notably the official test262 test suite. A custom integration test runner is included. This can be run with:

cargo btest

Unit and snapshot tests can be run with cargo test.

Fuzz testing can be run with ./tests/fuzz/run.sh.

For more information on testing see the testing README.

Development

Brimstone includes aliases for cargo commands in .cargo/config.toml:

Missing features

All features up to ES2026 have been implemented except for the following:

  • SharedArrayBuffer
  • Atomics
Repositorios relacionados
swc-project/swc

Rust-based platform for the Web

Rustcrates.ioApache License 2.0ecmascriptcompiler
swc.rs
34.1k1.5k
standard/standard

🌟 JavaScript Style Guide, with linter & automatic code fixer

JavaScriptnpmMIT Licenseeslintjavascript
standardjs.com
29.4k2.3k
eslint/eslint

Find and fix problems in your JavaScript code.

JavaScriptnpmMIT Licenseeslintjavascript
eslint.org
27.4k5.1k
tc39/proposals

Tracking ECMAScript Proposals

proposalecmascript
tc39.github.io/process-document/
19.2k748
tc39/ecma262

Status, process, and documents for ECMA-262

HTMLOtherecmascriptjavascript
tc39.es/ecma262/
15.7k1.4k
jsx-eslint/eslint-plugin-react

React-specific linting rules for ESLint

JavaScriptnpmMIT Licensejavascripteslint
9.3k2.7k
mouredev/hello-javascript

Curso para aprender el lenguaje de programación JavaScript desde cero y para principiantes. +120 lecciones, 14 horas en vídeo y 220 ejercicios.

JavaScriptnpmApache License 2.0javascriptjs
mouredev.link/javascript
8.1k2k
boa-dev/boa

Boa is an embeddable Javascript engine written in Rust.

Rustcrates.ioMIT Licenserustjavascript-engine
7.4k642
jquery/esprima

ECMAScript parsing infrastructure for multipurpose analysis

TypeScriptnpmBSD 2-Clause "Simplified" Licenseesprimaecmascript
esprima.org
7.1k773
es-shims/es5-shim

ECMAScript 5 compatibility shims for legacy (and modern) JavaScript engines

JavaScriptnpmMIT Licenseshimpolyfill
7.1k881
YauhenKavalchuk/interview-questions

Популярные HTML / CSS / JavaScript / ECMAScript / TypeScript / React / Vue / Angular / Node вопросы на интервью и ответы на них (https://tinyurl.com/wxysrpsy)

htmlcss
youtube.com/c/YauhenKavalchuk/
4.5k593
kdchang/reactjs101

從零開始學 ReactJS(ReactJS 101)是一本希望讓初學者一看就懂的 React 中文入門教學書,由淺入深學習 React.js 生態系 (Flux, Redux, React Router, ImmutableJS, React Native, Relay/GraphQL etc.)。

JavaScriptnpmOtherreactimmutablejs
gitbook.com/book/kdchang/react101/details
4.3k1.2k