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

chore: remove "rnpm" #790

Merged
merged 32 commits into from
Oct 17, 2019
Merged

chore: remove "rnpm" #790

merged 32 commits into from
Oct 17, 2019

Conversation

grabbou
Copy link
Member

@grabbou grabbou commented Oct 14, 2019

This PR removes all rnpm configuration files and related code. Everything was already deprecated and messages were being displayed.

This will ship with the next React Native.

Removed:

  • link
  • unlink
  • install
  • uninstall
  • hooks, params and assets (now taken care by autolinking or not supported)
  • linkConfig + extraneous config properties
  • RNPM migration guides from documentation

Updated:

  • Documentation to use TypeScript instead of Flow in the interface breakdown

This implements react-native-community/discussions-and-proposals#96

@grabbou grabbou changed the title chore: remove deprecated old link chore: remove "rnpm" Oct 15, 2019
@grabbou
Copy link
Member Author

grabbou commented Oct 15, 2019

e2e tests are also working now because install and uninstall were flaky (now removed).

@grabbou
Copy link
Member Author

grabbou commented Oct 15, 2019

On that note, we should add "e2e" tests for autolinking too.

@grabbou
Copy link
Member Author

grabbou commented Oct 15, 2019

@thymikee I don't think I have removed anything that would make #791 not work. In that case, we will re-add them once you rebase your PR.

docs/dependencies.md Outdated Show resolved Hide resolved
docs/dependencies.md Outdated Show resolved Hide resolved
docs/projects.md Outdated Show resolved Hide resolved
docs/platforms.md Outdated Show resolved Hide resolved
docs/projects.md Show resolved Hide resolved
Co-Authored-By: Michał Pierzchała <thymikee@gmail.com>
@elicwhite
Copy link
Contributor

Awesome!

When you say that these commands are removed now, do you mean that they will throw an exception when called?

It might be nice if the commands still existed but give a nice message and link to something. With all the older libraries with readmes that say to run link I can imagine people getting confused if those start erroring.

FWIW, I haven’t read the code. I’m on mobile and it’s too big to scroll and look for those related changes. So hopefully this isn’t a stupid question :-)

@grabbou
Copy link
Member Author

grabbou commented Oct 17, 2019

@TheSavior, I like this idea! I will bring these commands back and print an appropriate message

@grabbou
Copy link
Member Author

grabbou commented Oct 17, 2019

I will send a follow-up PR with better assets support. Removing them from documentation now because we don't support it and that the documentation will change.

This will be a non-breaking change.

* @todo: Remove this once `rnpm` config is deprecated and all major RN libs are converted.
*/
const haste = config.haste || {
const haste = {
providesModuleNodeModules: isPlatform ? [dependencyName] : [],
platforms: Object.keys(config.platforms),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we don't need to provide haste anymore since 0.61?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Writing it down and will send a follow-up PR to remove it.

Copy link
Member

@thymikee thymikee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. cc @acoates-ms this will likely affect RN for Windows. If you haven't adopted autolinking yet, please prioritize it if possible. This change will land with RN 0.62 or later

@thymikee thymikee merged commit 69fd285 into next Oct 17, 2019
@thymikee thymikee deleted the feat/remove-link branch October 17, 2019 17:23
thymikee pushed a commit that referenced this pull request Nov 20, 2019
* Remove legacy link

* Clean up ios config

* Remove install/uninstall

* Update comments

* Update test on iOS

* Clean up iOS dependencies

* Type iOS config and set proper return types

* Update scheme

* Update schema

* Not all projects need native code

* No assumptions on CocoaPods, different package managers might be used

* Fix type errors

* Update snapshots to reflect missing config properties

* Void is not undefined

* Clean up Android configuration

* Update schema

* Serious rnpm/documentation removals and cleaned up tests

* Remove remaining props

* Update snapshots for some of the tests

* Fix last test - fixture was broken

* Update docs/dependencies.md

Co-Authored-By: Michał Pierzchała <thymikee@gmail.com>

* Fix type for scriptPhases

* Update to | undefined instead of elvis

* Add deprecated commands

* Add deprecation links

* Move undefined to null

* Add documentation back

* clean up

* chore

* Update snapshots

* And update unit test back to null
@grabbou grabbou mentioned this pull request Jan 17, 2022
3 tasks
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.

3 participants