Bun? Deno? Node.js? Creating your own JavaScript Runtime using V8, Libuv and more
CapivaraBR is a JavaScript runtime built on top of V8 Javascript Engine and Libuv
Welcome, this repo is part of my youtube video about Recreating the Node.js project from Scratch using V8, Libuv and C++
First of all, leave your star 🌟 on this repo.
Access our exclusive telegram channel so I'll let you know about all the content I've been producing
It comes with live reload
enabled for C++
and JS
files using nodemon
It comes with a simple Print
function, a custom C++ function used as a console.log
function
The ./start.sh script generates a binary
called capivara
.
Node.js
works.
capivara index.js
it will read the JavaScript
content from the file and use V8
to interpret it nd libuv
to wait for async events.Project uses V8 v10.7.0
Project uses Libuv v1.x
All other dependencies are listed on scripts folder.
I left some file exmaples on examples folder in case you wanna check out how to create uv timers, uv threads, native cpp threads or the v8 custom print function.
make example-without-extension
For example executing the v8-print-hello.cpp:
make v8-print-hello
# Hello, World!...
if you wanna compile binaries it by yourself, I left some scripts in case you wanna compile all binaries by yourself