From a933ee20dac3538838c815ca7dbdd380a32a135b Mon Sep 17 00:00:00 2001
From: Tony Gorez includejs
+Build your own JavasScript runtime
+
+
+`includejs` aims to provide an unified API to build your own JavaScript runtime.
+
+## Features
+
+- Multiple runtime support: `JavascriptCore`, `v8` (more in the furture)
+- Cross platform support
+- Direclty consumable from `CMake`
+
+> Note: These lists are not exhaustive, we'll add new items very soon.
+
+### JavasScript
+
+| Feature | JavaScriptCore | V8 |
+|----------------|-------------------|------------------|
+| Boolean | ✅ Supported | ❌ Not Supported |
+| Number | ✅ Supported | ❌ Not Supported |
+| String | ✅ Supported | ❌ Not Supported |
+| Object | ✅ Supported | ❌ Not Supported |
+| Array | ✅ Supported | ❌ Not Supported |
+| Promise | ✅ Supported | ❌ Not Supported |
+| Function | ✅ Supported | ❌ Not Supported |
+| Error | ✅ Supported | ❌ Not Supported |
+| Class | ❌ Not Supported | ❌ Not Supported |
+| Set | ❌ Not Supported | ❌ Not Supported |
+| Map | ❌ Not Supported | ❌ Not Supported |
+| BigInt | ❌ Not Supported | ❌ Not Supported |
+| Symbol | ❌ Not Supported | ❌ Not Supported |
+| ArrayBuffer | ❌ Not Supported | ❌ Not Supported |
+| TypedArray | ❌ Not Supported | ❌ Not Supported |
+
+### WHATWG APIs
+
+- [ ] Timers
+- [ ] Console
+
+### Platform support
+
+| Platform | JavaScriptCore | V8 |
+|-----------|-------------------|------------------|
+| macOS | ✅ Supported | ✅ Supported |
+| Linux | ✅ Supported | ✅ Supported |
+| Windows | ❌ Not Supported | ❌ Not Supported |
+
+## Dependencies
+
+- C++
+- CMake
+- JavascriptCore
+- Brew (macOS)
+
+## Usage
+
+You can consume `includejs` just with CMake:
+
+```cmake
+cmake_minimum_required(VERSION 3.18)
+
+project(your_runtime VERSION 0.0.1 LANGUAGES CXX)
+
+include(FetchContent)
+FetchContent_Declare(
+ includejs
+ GIT_REPOSITORY https://github.com/crossnx/includejs
+ GIT_TAG main
+ DOWNLOAD_EXTRACT_TIMESTAMP NO)
+FetchContent_MakeAvailable(includejs)
+
+add_executable(your_runtime main.cc)
+target_link_libraries(your_runtime PRIVATE includejs::engine)
+```
+
From 88135550fd4f603c20d65181a22b2ae58d63091a Mon Sep 17 00:00:00 2001
From: Tony Gorez
+ + 📖 Documentation +
+ `includejs` aims to provide an unified API to build your own JavaScript runtime. ## Features From 5a657ebff3a9a5dab05f9140ad7dcba3cce353cc Mon Sep 17 00:00:00 2001 From: Tony Gorez