-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hermes engine target #2308
Comments
No. Each target is a very heavyweight thing. It's not just a single set of supported features. The target setting lets you specify any past version, so esbuild needs a support matrix for every version and every feature. I have some primary data sources for this for browsers and node, but I have also had to comb through browser bug reports and other random web pages too. This is an ongoing maintenance burden. While I believe it's worth it for browser runtimes, I'm not interested in maintaining additional targets for less-used JavaScript runtimes like Hermes. Instead, I will add the ability for you to specify the support matrix yourself at the individual feature level. |
I just implemented custom per-feature support overrides. In the next release, you will now be able to e.g. specify |
That makes a lot of sense, thank you! |
Sorry, I didn't realize that Hermes was listed in the data source I already use for browser compatibility data. So it shouldn't be hard to add this after all. So I can add a |
Hi, I'm using esbuild with react-native via
react-native-esbuild
and would like to add support for the Hermes engine that is announced to overtake JSC as the default engine. Unfortunately its language feature set is all over the place with many newer features, while some features stuck at es5 level.If I bundle with target es5, esbuild errors out on many features supported by hermes, but at the same time when using es6 esbuild itself will produce incompatible code (primarily re-exports IIRC). Would you accept a PR adding hermes as an engine?
The text was updated successfully, but these errors were encountered: