You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
a SES-specific lint rule, like the we have for @endo/polymorphic*, so that we get a lint error if we use this inside an arrow function, since evidently that will break the Hermes version.
add a lint rule that warn on async generator usages that Hermes requires special handling (getAsyncGeneratorFunctionInstance) and silence the lint warning in the EvalError fallback case (which has the special handling)
fix new Compartment() fails on removeUnpermittedIntrinsics at Tolerating undeletable intrinsics.%CompartmentPrototype%.importNow.prototype === undefined: Uncaught TypeError: property is not configurable
The previous main distribution mechanism - hermes-engine.npm and hermes-engine-cli.npm - has been deprecated. At least for now, we don't have plans to restart it, since it appears that all use cases are served by RN. It also appears that - shockingly (at least to me) - NPM is really really bad at efficiently distributing binaries for different platforms, which is why RN chose a different mechanism for distributing our binaries - Maven. Short-hand methods don't have prototype / construct facebook/hermes#1371 (comment)
Now with
done, here are the non-blocking improvements to improve: SES <--> Hermes <--> React Native compatibility
whitelistIntrinsics(intrinsics, markVirtualizedNativeFunction);a SES-specific lint rule, like the we have for@endo/polymorphic*, so that we get a lint error if we use this inside an arrow function, since evidently that will break the Hermes version.getAsyncGeneratorFunctionInstance) and silence the lint warning in the EvalError fallback case (which has the special handling)new Compartment()fails onremoveUnpermittedIntrinsicsatTolerating undeletable intrinsics.%CompartmentPrototype%.importNow.prototype === undefined:Uncaught TypeError: property is not configurablenpm i react-native@0.76.6then usenode_modules/react-native/sdks/hermesc/osx-bincmake git ninjareplace(feat(immutable-arraybuffer): sliceToImmutable Hermes ponyfill and shim #2785 (comment))immutableArrayBufferPonyfierHermes transform with [conditional sync import]Other
// hardenIntrinsics(); // React Native runtime only, app fails to boot(consider e2e test in CI)hardenIntrinsics()twice emits ses_already_locked_down #2760