Skip to content
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

upgrade react-native compability from 0.57.* to 0.62.2 #115

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

arehman849
Copy link

@arehman849 arehman849 commented Jan 19, 2021

This branch has been upgraded from react-native 0.57 to 0.62.

Thanks to Gavish, Sasmit and Harpreet for continues contribution in upgrading react-native-dom.

Below are the changes made in brief.

  1. Native implementation moved from react-native-dom to react-native-dom-renderer (new package to be published in npm)
    Reasons:
    a. deprecation of rnpm and haste modules from react-native
    b. implementations/changes done to bring functionalities inline with react-native 0.62 (such as Image.getSize() has been moved from RCTImage to RCTImageLoader)
  2. Moved CLI from local-cli folder to react-native-dom-cli (new package to be published in npm)
    Reasons:
    a. deprecation of rnpm and haste modules from react-native
    b. to be inline with react-native's structure.
    c. added dom bundling script to CLI and can be invoked using command 'react-native build-dom'
  3. Created react-native-dom-init package to bootstrap react-native-dom into react-native project (new package to be published in npm)
    Reasons:
    a. deprecation of rnpm
    b. to ingest bundling and start commands in package.json.
  4. Modified react-native-dom libraries (JS implementation) to be inline with react-native 0.62

TODO:

  1. To be tested rntester, examples how ever individual components and api's were manually tested and we are working on fixing some of the issues we have observed.
  2. moving non core components to react-native-community, we have worked on asyncStorage as a sample.
  3. moving to react-native 0.62.* compatible version of yoga-dom and adding platform independent build script.
  4. Changes related to autolinking of third party modules.

@hps1978
Copy link

hps1978 commented Feb 11, 2021

Even the "moving to react-native 0.62.* compatible version of yoga-dom" from the TODO list above was also completed.
Expect a pull request for that as well soon :-)

@gavdix
Copy link

gavdix commented Feb 15, 2021

Even the "moving to react-native 0.62.* compatible version of yoga-dom" from the TODO list above was also completed.
Expect a pull request for that as well soon :-)

Even Yoga-dom is also upgraded. Pull Request

@vincentriemer
Copy link
Owner

Hey! I really appreciate the effort/initiative ya'll have made towards updating this project. Unfortunately it's been over a year now since I've worked on this codebase — my approach was going to be to revisit this project when the Fabric rewrite was complete and more-or-less rewriting the project to match that new architecture. What I didn't anticipate was it taking as long as it has and in that time I've lost more and more context to this project. Losing all that context + the size of a PR like this would require a lot of bandwidth from me to review — and frankly w/ the personal situation I'm in it's bandwidth I just don't have.

The last thing I'd want to do however is block you, so here's my recommendation: continue working on your fork and publish your own version (I think using a scoped package name would work best). Once you have your fork fully working (it'd be best to see a non-trivial app running with it), I'd be more than happy to direct people to your updated fork in the readme.

@arehman849
Copy link
Author

Hey! I really appreciate the effort/initiative ya'll have made towards updating this project. Unfortunately it's been over a year now since I've worked on this codebase — my approach was going to be to revisit this project when the Fabric rewrite was complete and more-or-less rewriting the project to match that new architecture. What I didn't anticipate was it taking as long as it has and in that time I've lost more and more context to this project. Losing all that context + the size of a PR like this would require a lot of bandwidth from me to review — and frankly w/ the personal situation I'm in it's bandwidth I just don't have.

The last thing I'd want to do however is block you, so here's my recommendation: continue working on your fork and publish your own version (I think using a scoped package name would work best). Once you have your fork fully working (it'd be best to see a non-trivial app running with it), I'd be more than happy to direct people to your updated fork in the readme.

Thank you for looking at the pull request and suggesting we could go ahead with our fork for now. Since we have new packages for Renderer, CLI, init and some folder restructuring in react-native-dom it would be wise to create separate NPM packages for each.

planning to name them as
rn-dom-init - used to bootstrap react-native project with rn-dom .
rn-dom-renderer - part of the rn-dom library.
rn-dom-cli - out of tree platform commands as supported by react-native.
rn-dom - library code itself.
rn-yoga-dom - yoga dom upgrades.

We will keep posting here on the progress of rn-dom-* packages.

We were able to bring up movies demo code with this latest upgrade & would host the same on heroku / any other hosting provider. Let me know if you have any other suggestions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants