{"id":28836393,"url":"https://github.com/babylonjs/jsruntimehost","last_synced_at":"2025-07-08T18:34:11.671Z","repository":{"id":71200073,"uuid":"579173590","full_name":"BabylonJS/JsRuntimeHost","owner":"BabylonJS","description":"The JsRuntimeHost is a library that provides cross-platform C++ JavaScript hosting for any JavaScript engines with Node-API support such as Chakra, V8, or JavaScriptCore.","archived":false,"fork":false,"pushed_at":"2025-04-15T09:10:54.000Z","size":954,"stargazers_count":17,"open_issues_count":8,"forks_count":22,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-06-19T11:05:41.726Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BabylonJS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-12-16T21:10:40.000Z","updated_at":"2025-04-15T09:10:59.000Z","dependencies_parsed_at":"2023-10-12T17:25:41.096Z","dependency_job_id":"d26faadf-2bdd-4d57-b6fe-06c21e3f0078","html_url":"https://github.com/BabylonJS/JsRuntimeHost","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/BabylonJS/JsRuntimeHost","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BabylonJS%2FJsRuntimeHost","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BabylonJS%2FJsRuntimeHost/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BabylonJS%2FJsRuntimeHost/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BabylonJS%2FJsRuntimeHost/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BabylonJS","download_url":"https://codeload.github.com/BabylonJS/JsRuntimeHost/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BabylonJS%2FJsRuntimeHost/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264324341,"owners_count":23590851,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-19T11:05:16.729Z","updated_at":"2025-07-08T18:34:11.666Z","avatar_url":"https://github.com/BabylonJS.png","language":"C++","readme":"[![Build Status](https://dev.azure.com/babylonjs/ContinousIntegration/_apis/build/status/JsRuntimeHost%20CI?branchName=main)](https://dev.azure.com/babylonjs/ContinousIntegration/_build/latest?definitionId=22\u0026branchName=main)\n\n# JavaScript Runtime Host\nThe JsRuntimeHost is a library that provides cross-platform C++ JavaScript hosting for\nany JavaScript engines with Node-API support such as Chakra, V8, or JavaScriptCore. The\nNode-API contract from Node.js allows consumers of this library to interact with the\nJavaScript engine with a consistent interface. This library also provides some optional\npolyfills that consumers can include if required.\n\n\n## **Building - All Development Platforms**\n\n**Required Tools:** [git](https://git-scm.com/), [CMake](https://cmake.org/), [node.js](https://nodejs.org/en/)\n\nThe first step for all development environments and targets is to clone this repository. \n\nUse a git-enabled terminal to run the following command.\n\n```\ngit clone https://github.com/BabylonJS/JsRuntimeHost.git\n```\n\nThe unit tests require some NPM packages. From the root of the repository on the command line, run the following commands:\n\n```\ncd Tests\nnpm install\n```\n\n## **Building on Windows, Targeting Android**\n\n_Follow the steps from [All Development Platforms](#all-development-platforms) before proceeding._\n\n**Required Tools:**\n[Android Studio](https://developer.android.com/studio), [Node.js](https://nodejs.org/en/download/), [Ninja](https://ninja-build.org/)\n\nThe minimal requirement target is Android 5.0.\n\nOnly building with Android Studio is supported. CMake is not used directly. Instead, Gradle\nis used for building and CMake is automatically invocated for building the native part.\nAn `.apk` that can be executed on your device or simulator is the output.\n\nFirst, download the latest release of Ninja, extract the binary, and add it to your system path.\n\nOnce you have Android Studio downloaded, you need to set up an Android emulator if you do not have a physical Android device. You can do this by selecting `Tools` -\u003e `Device Manager` and then selecting a device. (We are using Pixel 2 API 27). \n\nOpen the project located at\n`JsRuntimeHost\\Tests\\UnitTests\\Android` with Android Studio. Note that this can take a while to load. (The bottom right corner of the Android Studio window shows you what is currently being loaded.) \n\nThen in the LEFT PANE, right click on `app`, and select `Run 'All Tests'`, as displayed in the image below.\n\n![Run All Tests](./Documentation/Images/android_build.png)\n\nIf you don't have an Android device plugged in or no Android image in the Android emulator, that option will be greyed and inaccessible. \n\n**Troubleshooting:**\nIf the `app\\cpp` folder on the left navigation pane is empty, select `File` -\u003e `Sync Project with Gradle Files` and try to re-run the project by selecting `Run` -\u003e `Run 'All Tests'`.\n\n## Contributing\n\nPlease read [CONTRIBUTING.md](./CONTRIBUTING.md) for details on our code of conduct, and \nthe process for submitting pull requests.\n\n## Reporting Security Issues\n\nSecurity issues and bugs should be reported privately, via email, to the Microsoft \nSecurity Response Center (MSRC) at [secure@microsoft.com](mailto:secure@microsoft.com). \nYou should receive a response within 24 hours. If for some reason you do not, please \nfollow up via email to ensure we received your original message. Further information, \nincluding the [MSRC PGP](https://technet.microsoft.com/en-us/security/dn606155) key, can \nbe found in the [Security TechCenter](https://technet.microsoft.com/en-us/security/default).","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbabylonjs%2Fjsruntimehost","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbabylonjs%2Fjsruntimehost","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbabylonjs%2Fjsruntimehost/lists"}