/Vixen

A toy javascript runtime that mimics nodejs behavior 🦊

Primary LanguageC++MIT LicenseMIT

banner image

A toy javascript runtime that mimics nodejs behavior🦊


🧰 Stack

  • V8 engine: To compile and execute javascript code
  • LibUv: To initiate event loop, threads etc
  • C++: A C++ written layer to utilize above libraries and to introduce some custom functions like print, timeout etc

πŸ›  Requirements

  • Check v8 docs to setup v8 on your machine.
  • Check LibUv docs to setup LibUv on your machine
  • C++ compiler

πŸš€ Usage

To run JS code you need to first start the environment. To start run on your terminal

./start.sh

This will start the environment in watch mode. Write your JS code in example.js file.

⚠ In Vixen console.log is replace with display and setTimeout & setTimeInterval are replaced with a generic function timeout.

β€Ό Limitation

  • Vixen is just a toy runtime and it does not contains the full features of the nodejs or any other runtime
  • The setup may be tiresome for a few because v8 and LibUv does not support all kind of CPU architectures.

πŸ‘¨πŸ»β€πŸ’» AUTHOR

πŸ™‹πŸ»β€β™‚οΈ Yo! It's Meer, a senior year CS undergrad. Let's get connected

Twitter  LinkedIn  Gmail