facebook/hermes

A JavaScript engine optimized for running React Native.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 17 minutes ago
Added to GitGenius on August 8th, 2026
Created on October 22nd, 2018
Open Issues & Pull Requests: 222 (+0)
Number of forks: 839
Total Stargazers: 11,241 (+0)
Total Subscribers: 139 (+0)

Issue Activity (beta)

Open issues: 80
New in 7 days: 1
Closed in 7 days: 1
Avg open age: 698 days
Stale 30+ days: 77
Stale 90+ days: 70

Recent activity

Opened in 7 days: 1
Closed in 7 days: 1
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (116)
  • enhancement (67)
  • need more info (19)
  • fixed-in-sh (9)
  • need-repro (6)
  • Needs: Triage :mag: (5)
  • Tech: Hermes (3)
  • community-support-needed (3)

Repository Insights (GitGenius)

Median issue/PR response: N/A
Mean response time: 29.3 hours
90th percentile: 1.2 hours
Tracked items: 265

Most active contributors

Detailed Description

Hermes is a JavaScript engine developed by Facebook specifically optimized for running React Native applications. The engine prioritizes fast startup times for mobile apps through ahead-of-time static optimization and compact bytecode generation, addressing a key performance concern in React Native development where initialization speed directly impacts user experience.

The repository serves as the primary source for Hermes development and maintenance. Users who simply want to use Hermes in their React Native projects do not need to build from source; they can enable it through standard React Native configuration. However, developers interested in building Hermes directly from source, understanding its internals, or integrating custom builds into React Native applications can access comprehensive documentation within the repository, including guides on building and running Hermes and instructions for React Native integration.

A critical aspect of Hermes deployment is version alignment with React Native. The documentation explicitly warns that each Hermes release targets a specific React Native version, and version mismatches can cause immediate application crashes. This tight coupling reflects the engine's deep integration with React Native's runtime requirements and the importance of maintaining compatibility across the ecosystem.

The repository includes substantial technical documentation beyond basic build instructions. A dedicated blog section provides technical articles and deep dives into Hermes internals, allowing developers to understand the engine's architecture and optimization strategies. Build documentation covers dependencies, various build options, and platform-specific instructions for macOS, Linux, and Windows environments, with support for cmake and Ninja build systems.

The project maintains an active development process with clear contribution guidelines. The repository includes a Code of Conduct adopted by Facebook, establishing community standards for participation. A detailed contributing guide outlines the development process, procedures for proposing bugfixes and improvements, and testing requirements for changes. The project explicitly welcomes pull requests and community involvement, positioning itself as an evolving platform where external contributors can help improve performance and efficiency.

Hermes is distributed under the MIT license, making it freely available for both open-source and commercial use. The engine is published on npm as hermes-engine, enabling straightforward installation and integration into JavaScript toolchains. The repository's structure supports both CLI tool development and library integration, allowing developers to run JavaScript directly through Hermes command-line tools or embed the engine within larger applications.

The primary motivation driving Hermes development remains performance optimization for React Native. By focusing specifically on the needs of React Native applications rather than attempting to be a general-purpose JavaScript engine, Hermes can make targeted optimizations that benefit mobile app developers. The emphasis on startup time and bytecode compactness directly addresses the constraints of mobile platforms where resources are limited and user expectations for app responsiveness are high.

hermes
by
facebookfacebook/hermes

Repository Details

Fetching additional details & charts...