Closed grabbou closed 5 years ago
This version will also likely:
(TBC)
CLI commit is shipped: https://github.com/facebook/react-native/commit/1af390be19000b2756fc646e72f152dd383a0bb1. Waiting for tests to be fixed and we are cutting it.
Will it include the latest Yoga update? https://github.com/facebook/react-native/tree/master/ReactCommon/yoga/yoga
I have a reason to believe the old one causes some issues in my hybrid app, would be nice get an update.
@yurykorzun when the branch will be cut it will be a 'replica' of everything on master up to that point, so my guess is yes ;)
we're close to cutting the release on the apis
Yes, @kelset is right. I am finalising 0.58 right now and will work on making 0.59.0-rc.0 tomorrow. I will keep you updated.
Any chances of landing Hooks in this release?
@Eyesonly88 the basic answer is that it depends, we need to wait on a commit that syncs React in the codebase. If you look at the commit history on master you'll see some commits from the FB team called "React sync", so keep an eye out for those.
We don't have an estimate yet, so don't hold your breath - we'll do what we can 💪
@kelset so you're saying we need to beg @yungsters to be our friend? https://github.com/facebook/react-native/commit/6448f4e2f1ff87600c559208f0f31c8e9fcedd9a
Pretty please! 🥂
Several things need to happen before we can cut a release with support for React Hooks:
If you folks want to hold off the 0.59 RC cut for one or two weeks until Hooks is released and synced to RN, or if you want to cherry-pick the sync commit into the 0.59 RC halfway through the soak period, I'll leave that open to discussion. I would highly discourage taking any shortcuts in the RC soak period just for the sake of getting Hooks into 0.59, but I'll let you all make that decision.
One alternative that comes to mind is the possibility of cutting a parallel 0.60 RC as soon as React w/ Hooks lands in master. This would be mostly to make it so that folks don't need to wait an extra month for 0.60 to be released (i.e. instead of waiting for 0.59 to go through its 30 day soak before cutting 0.60, we could have two RCs available concurrently). Again, I'd leave it to you all to decide if it's worth to fast-track 0.60 with Hooks at the risk of diluting people's attention between two RCs and letting major issues land on a stable release.
I don't mind hooks to be added later and 0.59 RC being released as soon as possible
the possibility of cutting a parallel 0.60 RC as soon as React w/ Hooks lands in master
This would be fantastic. Would help with development of many projects that want to start using hooks too.
I like what @hramos said before.
Based on the amount of reactions to each of the comments, my suggestion is to do as follows:
I don't want to make this process depend on the React team to avoid adding an unnecessary stress to their daily workflow. I think React Hooks are awesome and can't wait for it to land into React Native, but there's tons of other great stuff shipping at the moment too, that would be unwise to not share with you as soon as possible!
Any chances to add a native audio api?
Waiting for the few last tests to be fixed and we are making this release. Please check https://github.com/facebook/react-native/issues/23108 if you want to track progress when it happens or help us getting it fixed!
Even if 0.59 doesn't get Hooks upon initial release, it won't be "small" in terms of value -- the JSC upgrade, resulting cut polyfills, CLI, and other cleanup work is pretty huge.
Just to state my preference here, though: my preference is to get master CI stable before cutting 0.59-rc, and for 0.59 to include Hooks. I'd rather have a longer-supported 0.59 than an immediate 0.60 follow-up. I agree that it depends on what the React sync looks like in terms of complexity. If it would be possible for @hramos @yungsters to do it against the React master githash in a PR (rather than direct commit from phabricator), that might help get an idea earlier.
The later the better, worth waiting for
@kanalasumant Not for those of us waiting for other fixes that didn't make it into 0.58!
@gtebbut you can request cherry picks of fixes on the 0.58 issue in this repo. 0.57 had 8 patch releases, which allowed users with production apps to keep on a stable base while getting critical fixes (and even some quality of life improvements like a React upgrade). If there’s specific commits you’re interested in getting merged to 0.58, comment there.
@matthargett how would the PR help? Is this to gauge how complex the sync commit would be, in order to make the decision whether it's preferred to make the cut before the commit actually lands on master?
Happy to adjust as needed, we do have tooling to seamlessly export our internal diffs to a GitHub PR so this is doable, I can coordinate with Tim.
Yes, to gauge how complex the sync commit would be. If it has a bunch of ripple effects, then we know for sure not to hold up 0.59. I’d only do this if the folks who really want to get 0.59 cut immediately without a passing CI can’t wait.
We are waiting for a fix in master
regarding a crash in RCTSRWebSocket
, so our vote is to get 0.59 and use 0.60 for Hooks like @grabbou suggested.
https://github.com/facebook/react-native/pull/22439#issuecomment-450773760
I also vote for a longer-supported 0.59 with hooks, waiting for more two weeks worth it.
Looks like React sync is around week away, so the general attitude towards the core team was to wait for the sync before releasing.
@objectiveSee, would cherry-picking it into 0.58 do it for you? Looks like the commit itself should be easy to apply to that branch.
The linked issue seems like a blocker for 0.59 release with the new JSC.
React 16.8 is out! https://reactjs.org/blog/2019/02/06/react-v16.8.0.html
👋 everyone. Yes, the new version of React is out now - the FB team is working on doing the React sync commit so that we can then finally cut 0.59 rc once said commit land (we reached a decision of having Hooks in 59).
As we mentioned times and times again, it will take some time.
Is this still the best approach for us to try RN+Hooks on a custom RN build for now? https://github.com/facebook/react-native/issues/21967#issuecomment-434113687
Nothing changed here. This issue is the best place to track using hooks with React Native right now. The React sync is already in progress - the 0.59 is going to be out really soon.
On Wed, 6 Feb 2019 at 19:08 Paul Reimer notifications@github.com wrote:
Is this still the best approach for us to try RN+Hooks on a custom RN build for now? facebook/react-native#21967 (comment) https://github.com/facebook/react-native/issues/21967#issuecomment-434113687
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/react-native-community/react-native-releases/issues/79#issuecomment-461125822, or mute the thread https://github.com/notifications/unsubscribe-auth/ACWcxgWsjS9nyzIU74uTccliDBKBs9Iwks5vKxoTgaJpZM4aGpI1 .
Finally , been waiting so long , with hooks and reactn we can manage global state finally wihtout using redux :"U
@Momazo7u7 I can't say I've felt there has been any sort of Redux monopoly for managing state; I've used both Unstated, and more recently, XState with custom context providers to manage application state. And there are many others, like Mobx and Mobx-Statetree, to name a couple more. To your point, however, it will make it easier and less verbose to accomplish the same using hooks. Reducing the need for HoCs is definitely worthy of celebration!
will facebook/react-native#23278 be part of the next release? it's can reduce a lot of unnecessary refactors we need to port our native functionality to react.
@salah-ghanim - everything that is merged to master at the time of the branch cut is going to be part of next release. We haven't cut the 0.59-stable branch yet, so the answer is - yes.
As you know, the React sync commit has landed last week on Friday. We have decided to wait for a couple of days to let it settle and detect major regressions before it goes to the majority of developers. The tests are done internally at Facebook (that runs React Native master and constantly deploys to production).
I'll let you know when the 0.59.0-rc.0 is about to be released. Current estimate is around middle of the week when all fixes are merged.
@salah-ghanim AppCompatActivity will be a part of 0.59 release. See https://github.com/facebook/react-native/commit/3b9604feda8f9e8fe3dd884912ec7d9be67d7f1d.
For brown-field apps these might be a breaking change if they don't extend FragmentActivity, because RN dropped support for plain Activity.
These changes won't affect green-field apps, because ReactActivity already extends AppCompatActivity, subclass of FragmentActivity.
Cherry picks:
0.59 bumped minimum required version of Java to 8 - https://github.com/facebook/react-native/commit/38eb2a70afa87c49c1e62754f5ae3cd26e7f59c3. Not a cherry pick, but notes to release note writers 👍
cherry picks:
For cherry pick: https://github.com/facebook/react-native/commit/00392ac46b6319dcff2b6df2e5f7bb4ee094612f (just landed)
👀 v0.59.0-rc.0 is now on npm
Found a couple of issues after trying out 0.59 for a bit:
Edit: now with PRs 👀
(1) CLI
PR with fix: https://github.com/react-native-community/react-native-cli/pull/167
@grabbou the default metro config (formerly require('react-native/local-cli/util/Config');
) is no longer exposed - it's new home at https://github.com/react-native-community/react-native-cli/blob/master/packages/cli/src/util/loadMetroConfig.js doesn't allow you to access it anymore, some people use this alongside metro's mergeConfig
functionality,
Some examples that I know of that use the default config:
(2) CLI
PR with fix: https://github.com/react-native-community/react-native-cli/pull/165
https://github.com/react-native-community/react-native-cli/blob/master/packages/cli/src/util/loadMetroConfig.js#L51 this line needs wrapping in a require.resolve()
as it was before it was moved out of react-native
. As far as I can tell metro expects an extension which is what require.resolve
adds. Without this change there's various issues due to globals not being initialized:
Got an error on android after upgrading: ERROR: Could not get unknown property 'mergeResourcesProvider' for object of type com.android.build.gradle.internal.api.ApplicationVariantImpl.
react-native run-android
info Starting JS server...
info Building and installing the app on the device (cd android && ./gradlew app:installDebug)...
> Configure project :app
WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation'.
It will be removed at the end of 2018
FAILURE: Build failed with an exception.
* Where:
Script '/$MY_PROJECT/node_modules/react-native/react.gradle' line: 95
* What went wrong:
A problem occurred configuring project ':app'.
> Could not get unknown property 'mergeResourcesProvider' for object of type com.android.build.gradle.internal.api.ApplicationVariantImpl.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 0s
Any suggestions?
EDIT: Solved by following https://github.com/facebook/react-native/pull/23103#issue-246733045
Got an error on android after upgrading:
ERROR: Could not get unknown property 'mergeResourcesProvider' for object of type com.android.build.gradle.internal.api.ApplicationVariantImpl.
EDIT: Solved by following facebook/react-native#23103 (comment)
Succinctly for those following: update gradle to 4.10.1 or higher (4.10.3 is current)
For Android devs with experience Gradle 5 used to be incompatible with Gradle 3.3 (the gradle docs said wait till Android Studio 3.4) but now the gradle docs say you can go all the way to Gradle 5 if you want though I haven't tested that with react-native - only 4.10.3.
In my own case I had to do the following
android {
- compileSdkVersion 26
- buildToolsVersion "26.0.1"
+ compileSdkVersion 28
- distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
+ distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-all.zip
dependencies {
- classpath 'com.android.tools.build:gradle:3.1.0'
+ classpath 'com.android.tools.build:gradle:3.3.0'
react native 0.59.0-rc.0 can not run 'yarn start'
yarn start
yarn run v1.13.0
$ node node_modules/react-native/local-cli/cli.js start
internal/modules/cjs/loader.js:583
throw err;
^
@Kennytian they moved the cli to it's own package: https://github.com/react-native-community/react-native-cli
install that package, and change your start script to look at node_modules/react-native-cli/index.js start
Getting a build error when building in xcode
Undefined symbols for architecture x86_64:
"_JSClassCreate", referenced from:
facebook::jsc::JSCRuntime::createObject(std::__1::shared_ptr<facebook::jsi::HostObject>)::$_0::operator()() const in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createFunctionFromHostFunction(facebook::jsi::PropNameID const&, unsigned int, std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>)::$_1::operator()() const in libReact.a(JSCRuntime.o)
"_JSContextGetGlobalObject", referenced from:
facebook::jsc::JSCRuntime::global() in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createFunctionFromHostFunction(facebook::jsi::PropNameID const&, unsigned int, std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>)::HostFunctionMetadata::initialize(OpaqueJSContext const*, OpaqueJSValue*) in libReact.a(JSCRuntime.o)
"_JSEvaluateScript", referenced from:
facebook::jsc::JSCRuntime::evaluateJavaScript(std::__1::unique_ptr<facebook::jsi::Buffer const, std::__1::default_delete<facebook::jsi::Buffer const> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libReact.a(JSCRuntime.o)
"_JSGlobalContextCreateInGroup", referenced from:
facebook::jsc::JSCRuntime::JSCRuntime() in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::JSCRuntime() in libReact.a(JSCRuntime.o)
"_JSGlobalContextRelease", referenced from:
facebook::jsc::JSCRuntime::JSCRuntime() in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::~JSCRuntime() in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::JSCRuntime() in libReact.a(JSCRuntime.o)
"_JSGlobalContextRetain", referenced from:
facebook::jsc::JSCRuntime::JSCRuntime(OpaqueJSContext*) in libReact.a(JSCRuntime.o)
"_JSObjectCallAsConstructor", referenced from:
facebook::jsc::JSCRuntime::callAsConstructor(facebook::jsi::Function const&, facebook::jsi::Value const*, unsigned long) in libReact.a(JSCRuntime.o)
"_JSObjectCallAsFunction", referenced from:
facebook::jsc::JSCRuntime::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) in libReact.a(JSCRuntime.o)
"_JSObjectCopyPropertyNames", referenced from:
facebook::jsc::JSCRuntime::getPropertyNames(facebook::jsi::Object const&) in libReact.a(JSCRuntime.o)
"_JSObjectGetPrivate", referenced from:
facebook::jsc::JSCRuntime::getHostObject(facebook::jsi::Object const&) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::getHostFunction(facebook::jsi::Function const&) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createObject(std::__1::shared_ptr<facebook::jsi::HostObject>)::HostObjectProxy::finalize(OpaqueJSValue*) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createObject(std::__1::shared_ptr<facebook::jsi::HostObject>)::HostObjectProxy::getProperty(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSString*, OpaqueJSValue const**) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createObject(std::__1::shared_ptr<facebook::jsi::HostObject>)::HostObjectProxy::setProperty(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSString*, OpaqueJSValue const*, OpaqueJSValue const**) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createObject(std::__1::shared_ptr<facebook::jsi::HostObject>)::HostObjectProxy::getPropertyNames(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSPropertyNameAccumulator*) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createFunctionFromHostFunction(facebook::jsi::PropNameID const&, unsigned int, std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>)::HostFunctionMetadata::initialize(OpaqueJSContext const*, OpaqueJSValue*) in libReact.a(JSCRuntime.o)
...
"_JSObjectGetProperty", referenced from:
facebook::jsc::JSCRuntime::getProperty(facebook::jsi::Object const&, facebook::jsi::String const&) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::getProperty(facebook::jsi::Object const&, facebook::jsi::PropNameID const&) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createFunctionFromHostFunction(facebook::jsi::PropNameID const&, unsigned int, std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>)::HostFunctionMetadata::initialize(OpaqueJSContext const*, OpaqueJSValue*) in libReact.a(JSCRuntime.o)
"_JSObjectGetPropertyAtIndex", referenced from:
facebook::jsc::JSCRuntime::getValueAtIndex(facebook::jsi::Array const&, unsigned long) in libReact.a(JSCRuntime.o)
"_JSObjectGetPrototype", referenced from:
facebook::jsc::JSCRuntime::createFunctionFromHostFunction(facebook::jsi::PropNameID const&, unsigned int, std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>)::HostFunctionMetadata::initialize(OpaqueJSContext const*, OpaqueJSValue*) in libReact.a(JSCRuntime.o)
"_JSObjectHasProperty", referenced from:
facebook::jsc::JSCRuntime::hasProperty(facebook::jsi::Object const&, facebook::jsi::String const&) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::hasProperty(facebook::jsi::Object const&, facebook::jsi::PropNameID const&) in libReact.a(JSCRuntime.o)
"_JSObjectIsFunction", referenced from:
facebook::jsc::JSCRuntime::isFunction(facebook::jsi::Object const&) const in libReact.a(JSCRuntime.o)
"_JSObjectMake", referenced from:
facebook::jsc::JSCRuntime::makeObjectValue(OpaqueJSValue*) const in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createObject(std::__1::shared_ptr<facebook::jsi::HostObject>) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createFunctionFromHostFunction(facebook::jsi::PropNameID const&, unsigned int, std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>) in libReact.a(JSCRuntime.o)
"_JSObjectMakeArray", referenced from:
facebook::jsc::JSCRuntime::createArray(unsigned long) in libReact.a(JSCRuntime.o)
"_JSObjectSetPrivate", referenced from:
facebook::jsc::JSCRuntime::createObject(std::__1::shared_ptr<facebook::jsi::HostObject>)::HostObjectProxy::finalize(OpaqueJSValue*) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createFunctionFromHostFunction(facebook::jsi::PropNameID const&, unsigned int, std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>)::HostFunctionMetadata::finalize(OpaqueJSValue*) in libReact.a(JSCRuntime.o)
"_JSObjectSetProperty", referenced from:
facebook::jsc::JSCRuntime::setPropertyValue(facebook::jsi::Object&, facebook::jsi::PropNameID const&, facebook::jsi::Value const&) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::setPropertyValue(facebook::jsi::Object&, facebook::jsi::String const&, facebook::jsi::Value const&) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createArray(unsigned long) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createFunctionFromHostFunction(facebook::jsi::PropNameID const&, unsigned int, std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>)::HostFunctionMetadata::initialize(OpaqueJSContext const*, OpaqueJSValue*) in libReact.a(JSCRuntime.o)
"_JSObjectSetPropertyAtIndex", referenced from:
facebook::jsc::JSCRuntime::setValueAtIndexImpl(facebook::jsi::Array&, unsigned long, facebook::jsi::Value const&) in libReact.a(JSCRuntime.o)
"_JSObjectSetPrototype", referenced from:
facebook::jsc::JSCRuntime::createFunctionFromHostFunction(facebook::jsi::PropNameID const&, unsigned int, std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>)::HostFunctionMetadata::initialize(OpaqueJSContext const*, OpaqueJSValue*) in libReact.a(JSCRuntime.o)
"_JSPropertyNameAccumulatorAddName", referenced from:
facebook::jsc::JSCRuntime::createObject(std::__1::shared_ptr<facebook::jsi::HostObject>)::HostObjectProxy::getPropertyNames(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSPropertyNameAccumulator*) in libReact.a(JSCRuntime.o)
"_JSPropertyNameArrayGetCount", referenced from:
facebook::jsc::JSCRuntime::getPropertyNames(facebook::jsi::Object const&) in libReact.a(JSCRuntime.o)
"_JSPropertyNameArrayGetNameAtIndex", referenced from:
facebook::jsc::JSCRuntime::getPropertyNames(facebook::jsi::Object const&) in libReact.a(JSCRuntime.o)
"_JSPropertyNameArrayRelease", referenced from:
facebook::jsc::JSCRuntime::getPropertyNames(facebook::jsi::Object const&) in libReact.a(JSCRuntime.o)
"_JSStringCreateWithUTF8CString", referenced from:
facebook::jsc::JSCRuntime::evaluateJavaScript(std::__1::unique_ptr<facebook::jsi::Buffer const, std::__1::default_delete<facebook::jsi::Buffer const> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createPropNameIDFromAscii(char const*, unsigned long) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createPropNameIDFromUtf8(unsigned char const*, unsigned long) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createStringFromUtf8(unsigned char const*, unsigned long) in libReact.a(JSCRuntime.o)
facebook::jsc::(anonymous namespace)::getLengthString() in libReact.a(JSCRuntime.o)
facebook::jsc::(anonymous namespace)::getEmptyString() in libReact.a(JSCRuntime.o)
facebook::jsc::(anonymous namespace)::getNameString() in libReact.a(JSCRuntime.o)
...
"_JSStringGetMaximumUTF8CStringSize", referenced from:
facebook::jsc::(anonymous namespace)::JSStringToSTLString(OpaqueJSString*) in libReact.a(JSCRuntime.o)
"_JSStringGetUTF8CString", referenced from:
facebook::jsc::(anonymous namespace)::JSStringToSTLString(OpaqueJSString*) in libReact.a(JSCRuntime.o)
"_JSStringIsEqual", referenced from:
facebook::jsc::JSCRuntime::compare(facebook::jsi::PropNameID const&, facebook::jsi::PropNameID const&) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::strictEquals(facebook::jsi::String const&, facebook::jsi::String const&) const in libReact.a(JSCRuntime.o)
"_JSStringRelease", referenced from:
facebook::jsc::JSCRuntime::evaluateJavaScript(std::__1::unique_ptr<facebook::jsi::Buffer const, std::__1::default_delete<facebook::jsi::Buffer const> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::JSCStringValue::invalidate() in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createPropNameIDFromAscii(char const*, unsigned long) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createPropNameIDFromUtf8(unsigned char const*, unsigned long) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createValue(OpaqueJSValue const*) const in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createFunctionFromHostFunction(facebook::jsi::PropNameID const&, unsigned int, std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>)::HostFunctionMetadata::initialize(OpaqueJSContext const*, OpaqueJSValue*) in libReact.a(JSCRuntime.o)
"_JSStringRetain", referenced from:
facebook::jsc::JSCRuntime::JSCStringValue::JSCStringValue(OpaqueJSString*, std::__1::atomic<long>&) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createFunctionFromHostFunction(facebook::jsi::PropNameID const&, unsigned int, std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>)::HostFunctionMetadata::HostFunctionMetadata(facebook::jsc::JSCRuntime*, std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>, unsigned int, OpaqueJSString*) in libReact.a(JSCRuntime.o)
"_JSValueIsArray", referenced from:
facebook::jsc::JSCRuntime::isArray(facebook::jsi::Object const&) const in libReact.a(JSCRuntime.o)
"_JSValueIsBoolean", referenced from:
facebook::jsc::JSCRuntime::createValue(OpaqueJSValue const*) const in libReact.a(JSCRuntime.o)
"_JSValueIsInstanceOfConstructor", referenced from:
facebook::jsc::JSCRuntime::instanceOf(facebook::jsi::Object const&, facebook::jsi::Function const&) in libReact.a(JSCRuntime.o)
"_JSValueIsNull", referenced from:
facebook::jsc::JSCRuntime::createValue(OpaqueJSValue const*) const in libReact.a(JSCRuntime.o)
"_JSValueIsNumber", referenced from:
facebook::jsc::JSCRuntime::createValue(OpaqueJSValue const*) const in libReact.a(JSCRuntime.o)
"_JSValueIsObject", referenced from:
facebook::jsc::JSCRuntime::createValue(OpaqueJSValue const*) const in libReact.a(JSCRuntime.o)
"_JSValueIsObjectOfClass", referenced from:
facebook::jsc::JSCRuntime::isHostObject(facebook::jsi::Object const&) const in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::isHostFunction(facebook::jsi::Function const&) const in libReact.a(JSCRuntime.o)
"_JSValueIsString", referenced from:
facebook::jsc::JSCRuntime::createValue(OpaqueJSValue const*) const in libReact.a(JSCRuntime.o)
"_JSValueIsUndefined", referenced from:
facebook::jsc::JSCRuntime::createValue(OpaqueJSValue const*) const in libReact.a(JSCRuntime.o)
"_JSValueMakeBoolean", referenced from:
facebook::jsc::JSCRuntime::valueRef(facebook::jsi::Value const&) in libReact.a(JSCRuntime.o)
"_JSValueMakeNull", referenced from:
facebook::jsc::JSCRuntime::valueRef(facebook::jsi::Value const&) in libReact.a(JSCRuntime.o)
"_JSValueMakeNumber", referenced from:
facebook::jsc::JSCRuntime::valueRef(facebook::jsi::Value const&) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createArray(unsigned long) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createFunctionFromHostFunction(facebook::jsi::PropNameID const&, unsigned int, std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>)::HostFunctionMetadata::initialize(OpaqueJSContext const*, OpaqueJSValue*) in libReact.a(JSCRuntime.o)
"_JSValueMakeString", referenced from:
facebook::jsc::JSCRuntime::valueRef(facebook::jsi::Value const&) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createFunctionFromHostFunction(facebook::jsi::PropNameID const&, unsigned int, std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>)::HostFunctionMetadata::initialize(OpaqueJSContext const*, OpaqueJSValue*) in libReact.a(JSCRuntime.o)
"_JSValueMakeUndefined", referenced from:
facebook::jsc::JSCRuntime::valueRef(facebook::jsi::Value const&) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createObject(std::__1::shared_ptr<facebook::jsi::HostObject>)::HostObjectProxy::getProperty(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSString*, OpaqueJSValue const**) in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createFunctionFromHostFunction(facebook::jsi::PropNameID const&, unsigned int, std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>)::HostFunctionMetadata::call(OpaqueJSContext const*, OpaqueJSValue*, OpaqueJSValue*, unsigned long, OpaqueJSValue const* const*, OpaqueJSValue const**) in libReact.a(JSCRuntime.o)
"_JSValueProtect", referenced from:
facebook::jsc::JSCRuntime::JSCObjectValue::JSCObjectValue(OpaqueJSContext*, std::__1::atomic<bool> const&, OpaqueJSValue*, std::__1::atomic<long>&) in libReact.a(JSCRuntime.o)
"_JSValueToBoolean", referenced from:
facebook::jsc::JSCRuntime::createValue(OpaqueJSValue const*) const in libReact.a(JSCRuntime.o)
"_JSValueToNumber", referenced from:
facebook::jsc::JSCRuntime::createValue(OpaqueJSValue const*) const in libReact.a(JSCRuntime.o)
"_JSValueToObject", referenced from:
facebook::jsc::JSCRuntime::createValue(OpaqueJSValue const*) const in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createFunctionFromHostFunction(facebook::jsi::PropNameID const&, unsigned int, std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>)::HostFunctionMetadata::initialize(OpaqueJSContext const*, OpaqueJSValue*) in libReact.a(JSCRuntime.o)
"_JSValueToStringCopy", referenced from:
facebook::jsc::JSCRuntime::createValue(OpaqueJSValue const*) const in libReact.a(JSCRuntime.o)
"_JSValueUnprotect", referenced from:
facebook::jsc::JSCRuntime::JSCObjectValue::invalidate() in libReact.a(JSCRuntime.o)
"_kJSClassDefinitionEmpty", referenced from:
facebook::jsc::JSCRuntime::createObject(std::__1::shared_ptr<facebook::jsi::HostObject>)::$_0::operator()() const in libReact.a(JSCRuntime.o)
facebook::jsc::JSCRuntime::createFunctionFromHostFunction(facebook::jsi::PropNameID const&, unsigned int, std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>)::$_1::operator()() const in libReact.a(JSCRuntime.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
@blainekasten I think you didn't link your project with JavaScriptCore.framework
We have just released a patch to CLI to fix @Salakar issues. No changes required, just reinstall your Node modules.
Conversation on this thread are limited to 0.59 releases, major issues and backport (cherry-pick) requests from commits that are already on master.
An example of a good such request is a bug fix for a serious issue that has been merged into master but did not make the 0.59 RC cut.
In other words, if you cannot point to a particular commit on master, then your request likely belongs as a new issue in http://github.com/facebook/react-native/issues.