https://github.com/solarbrowser/quanta
Experimental ECMAScript (js) engine written in C++
https://github.com/solarbrowser/quanta
ecmascript javascript javascript-engine solar-project
Last synced: about 1 month ago
JSON representation
Experimental ECMAScript (js) engine written in C++
- Host: GitHub
- URL: https://github.com/solarbrowser/quanta
- Owner: solarbrowser
- License: mpl-2.0
- Created: 2025-04-04T14:47:43.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-04-18T07:05:48.000Z (about 1 month ago)
- Last Synced: 2026-04-18T08:26:33.395Z (about 1 month ago)
- Topics: ecmascript, javascript, javascript-engine, solar-project
- Language: C++
- Homepage: https://quanta.js.org
- Size: 6.73 MB
- Stars: 19
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Quanta
Quanta is an experimental ECMAScript (or JS) engine focused on both **memory efficiency** and **execution speed**.
## Specification Support
> Tested with Kangax compatibility tables
| ECMAScript Version | Support |
|--------------------|--------|
| ES1-ES5 | ~100% |
| ES6 | ~99% |
| ES2016+ | ~75% |
## Test262
You can review executed tests here: [quanta.js.org](https://quanta.js.org/pages/test262/test262.html)
If the results are outdated, use the dedicated [runner](https://github.com/ataturkcu/quanta-test262-runner)
---
## For Developers
### Documentation
You can reach all the documentation files from [here](https://quanta.js.org/pages/docs/docs.html).
### Build
Quanta uses **Clang++** across all platforms.
Windows
```bash
# Install LLVM and add to PATH
clang++ --version
git clone https://github.com/solarbrowser/quanta
cd quanta
build-windows.bat
```
Linux
```bash
# Ubuntu/Debian
sudo apt install clang lld
# Fedora
sudo dnf install clang lld
# Arch
sudo pacman -S clang lld
git clone https://github.com/solarbrowser/quanta
cd quanta
./build.sh
# or
make -j$(nproc)
```
macOS
```bash
xcode-select --install
git clone https://github.com/solarbrowser/quanta
cd quanta
./build.sh
# or
make -j$(nproc)
```
Build Outputs
- **Windows:** `build/bin/quanta.exe`
- **Linux/macOS:** `build/bin/quanta`
- **Static Library:** `build/libquanta.a`
- **Logs:** `build/build.log`, `build/errors.log`
Usage
```bash
# Run a JavaScript file
./build/bin/quanta example.js
# Start REPL
./build/bin/quanta
```
### Troubleshooting
### Clang not found
- Windows: Ensure LLVM is in PATH, restart terminal
- Linux: Install clang and lld
### Build errors
```bash
make clean
# or delete build/ directory
```
Check logs:
```
build/errors.log
```
## Roadmap
- Improve **ES6 and ES2016+** support
- Implement **bytecode virtual machine (VM)**
## Contributing
Please ignore the `CONTRIBUTING.md` file for now. I kept it because I don’t want to recreate it when the initial release is ready.
At this stage, I want to fully shape Quanta’s architecture on my own, without external changes. The engine is evolving rapidly, and even small additions can unintentionally break other parts of the system. For that reason, I prefer to develop it solo until the initial release. Thanks for your understanding and for considering contributing!
---
## License
This project is licensed under the **Mozilla Public License 2.0** - see the LICENSE file for details.