Hermes is a small and lightweight JavaScript engine optimized for running React Native apps..
Перейти к файлу
dependabot[bot] b506abc65f Bump ua-parser-js from 0.7.22 to 0.7.28 in /website (#508)
Summary:
Bumps [ua-parser-js](https://github.com/faisalman/ua-parser-js) from 0.7.22 to 0.7.28.
<details>
<summary>Commits</summary>
<ul>
<li><a href="1d3c98a10c"><code>1d3c98a</code></a> Revert breaking fix <a href="https://github-redirect.dependabot.com/faisalman/ua-parser-js/issues/279">https://github.com/facebook/hermes/issues/279</a> and release as 0.7.28</li>
<li><a href="535f11bd24"><code>535f11b</code></a> Delete redundant code</li>
<li><a href="642c0399e8"><code>642c039</code></a> Fix <a href="https://github-redirect.dependabot.com/faisalman/ua-parser-js/issues/492">https://github.com/facebook/hermes/issues/492</a> LG TV WebOS detection</li>
<li><a href="3edacddb24"><code>3edacdd</code></a> Merge branch 'master' into develop</li>
<li><a href="acc0b91ff5"><code>acc0b91</code></a> Update contributor list</li>
<li><a href="f726dcd1ae"><code>f726dcd</code></a> Merge branch 'master' into develop</li>
<li><a href="383ca587ef"><code>383ca58</code></a> More test for tablet devices</li>
<li><a href="7c8aa435b2"><code>7c8aa43</code></a> Minor rearrangement</li>
<li><a href="09aa9105dc"><code>09aa910</code></a> Add new device &amp; browser: Tesla</li>
<li><a href="557cc2198d"><code>557cc21</code></a> More test for latest phones with unique form factor (fold/flip/qwerty/swivel)</li>
<li>Additional commits viewable in <a href="https://github.com/faisalman/ua-parser-js/compare/0.7.22...0.7.28">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ua-parser-js&package-manager=npm_and_yarn&previous-version=0.7.22&new-version=0.7.28)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

 ---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/facebook/hermes/network/alerts).

</details>

Pull Request resolved: https://github.com/facebook/hermes/pull/508

Reviewed By: neildhar

Differential Revision: D29005501

Pulled By: Huxpro

fbshipit-source-id: 6714b51b485444f6f60295d137696b5958477867
2021-06-09 14:58:33 -07:00
.circleci Upgrade CMake version for android builds 2021-06-02 00:08:24 -07:00
.github Change issue template to say OS version 2021-01-14 18:08:29 -08:00
API Use prefab JNI in Hermes 2021-06-08 13:40:45 -07:00
android Use prefab JNI in Hermes 2021-06-08 13:40:45 -07:00
cmake/modules Fix GCC 9 warnings (#488) 2021-04-05 13:54:10 -07:00
config Tidy up license headers [1/2] 2019-10-15 12:34:49 -07:00
doc Update VM documentation 2021-05-17 10:29:09 -07:00
external Fix warnings about implicitly defined copy and assignment 2021-05-20 12:59:23 -07:00
first-party/fbjni Use prefab JNI in Hermes 2021-06-08 13:40:45 -07:00
include Fix for stack-overflow in isConstructor in Operations.cpp 2021-06-04 09:08:53 -07:00
lib Detect host platform instead of target for InternalBytecode Cmake (#527) 2021-06-09 14:55:42 -07:00
lldb apply upgraded black 21.4b2 formatting to fbsource 2021-05-04 22:16:26 -07:00
npm Bump version to 0.8.0 2021-04-28 13:05:56 -07:00
public Remove ES6Symbol RuntimeConfig (#479) 2021-03-29 21:18:17 -07:00
test Fix Function.prototype.length 2021-06-09 13:50:21 -07:00
tools Bump ws from 7.4.2 to 7.4.6 in /tools/hermes-parser/js (#520) 2021-06-09 14:58:33 -07:00
unittests Use makeHandle instead of pointerRoots 2021-06-09 13:57:00 -07:00
utils Fix indexOf/lastIndexOf not early return on 0-len array. 2021-06-09 13:50:21 -07:00
website Bump ua-parser-js from 0.7.22 to 0.7.28 in /website (#508) 2021-06-09 14:58:33 -07:00
.clang-format Initial commit 2019-07-10 09:43:55 -07:00
.clang-tidy EASY: disable facebook-hte-MissingBraces 2020-12-10 19:39:32 -08:00
.gitignore Build Hermes for iOS (#332) 2020-09-08 19:20:22 -07:00
CMakeLists.txt Use prefab JNI in Hermes 2021-06-08 13:40:45 -07:00
CODE_OF_CONDUCT.md Update Code of Conduct 2019-09-05 16:59:11 -07:00
CONTRIBUTING.md Initial commit 2019-07-10 09:43:55 -07:00
LICENSE Initial commit 2019-07-10 09:43:55 -07:00
README.md Drop "on Android" in README (#490) 2021-04-14 19:32:02 -07:00
git-revision Initial commit 2019-07-10 09:43:55 -07:00
hermes-engine.podspec Bump version to 0.8.0 2021-04-28 13:05:56 -07:00

README.md

Hermes JS Engine

MIT license npm version PRs Welcome Hermes logo - large H with wings

Hermes is a JavaScript engine optimized for fast start-up of React Native apps. It features ahead-of-time static optimization and compact bytecode.

If you're only interested in using pre-built Hermes in a new or existing React Native app, you do not need to follow this guide or have direct access to the Hermes source. Instead, just follow these instructions to enable Hermes.

Noted that each Hermes release is aimed at a specific RN version. The rule of thumb is to always follow Hermes releases strictly. Version mismatch can result in instant crash of your apps in the worst case scenario.

If you want to know how to build and hack on Hermes directly, and/or integrate Hermes built from source into a React Native app then read on.

The instructions here very briefly cover steps to build the Hermes CLI. They assume you have typical native development tools setup for your OS, and support for cmake and Ninja. For more details of required dependencies, building Hermes with different options, etc. follow these links instead:

To build a local debug version of the Hermes CLI tools the following steps should get you started on macOS/Linux:

mkdir hermes_workingdir
cd hermes_workingdir
git clone https://github.com/facebook/hermes.git
hermes/utils/build/configure.py
cd build
ninja

Or if you're using Windows, the following should get you going in a Git Bash shell:

mkdir hermes_workingdir
cd hermes_workingdir
git -c core.autocrlf=false clone https://github.com/facebook/hermes.git
hermes/utils/build/configure.py --build-system='Visual Studio 16 2019' --cmake-flags='-A x64' --distribute
cd build
MSBuild.exe ALL_BUILD.vcxproj /p:Configuration=Release

You will now be in a directory with the output of building Hermes into CLI tools. From here you can run a piece of JavaScript as follows:

echo "'use strict'; function hello() { print('Hello World'); } hello();" | ./bin/hermes

Contributing

The main purpose of this repository is to continue to evolve Hermes, making it faster and more efficient. We are grateful to the community for contributing bugfixes and improvements. Read below to learn how you can take part in improving Hermes.

Code of Conduct

Facebook has adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.

Contributing Guide

Read our contributing guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to Hermes.

License

Hermes is MIT licensed.