rnc-archive / .github

This repository contains the general guidelines for the RNCommunity org
https://github.com/react-native-community
200 stars 31 forks source link

Discussion: Removing "react-native" from repo names and moving packages to @react-native-community #33

Open xzilja opened 5 years ago

xzilja commented 5 years ago

Proposal

I want to propose 2 changes, that (in my opinion) could further improve "consistency" feeling around react-native-community org

  1. Strip react-native from package names under react-native-community since organisation name already implies it.
  2. Bring all packages under @react-native-community/ namespace in package registry

Discussion

  1. How would maintainers feel about this?
  2. Difficulties that can be caused by renaming repos in GitHub and possible solutions to solve them?
  3. Difficulties that can be caused by renaming / moving packages into @react-native-community/ namespace and possible solutions to solve them?
  4. And in general is this something worth doing due to effort it requires (do all maintainers need to do this or can one person make the change across the org?)

Present status

There are several examples that show case this proposal within the community already: cli, apple-sign-in, art etc..

I also mentioned this in react-native-svg repository via https://github.com/react-native-community/react-native-svg/issues/1021

kelset commented 5 years ago

Uhm I'm fairly sure there was already a conversation on this somewhere... I can't find it right now.

matt-oakes commented 5 years ago

Renaming Github repos is a good idea and shouldn't come with many downsides. Github automatically sets up redirects for the old names, so it should be fairly straightforward.

Releasing everything under the @react-native-community NPM scope would also be great, however, it might be a pain for users to need to migrate over and possibly leave some users who are unaware of the change "stranded" on older versions. Possible solutions:

Maybe it's worth talking to the maintainers of a library which has made a change to NPM package names about their experience with it? Babel comes to mind.

pvinis commented 5 years ago

Also, what do you mean by "bring all packages under RNC"?

xzilja commented 5 years ago

@pvins @react-native-community org over at npm

thymikee commented 5 years ago

Fully supportive, we already renamed a bunch, like CLI or ART.

sibelius commented 5 years ago

@sbeca wants to move https://github.com/react-native-community/react-native-audio-toolkit under @react-native-community scoped package

how can he do that?

sbeca commented 5 years ago

Yeah, react-native-audio-toolkit was transferred from Futurice's Github account to the react-native-community Github account a few months ago but is still under Futurice's npm account. What is the process for transferring the npm package to the react-native-community npm account?

xzilja commented 5 years ago

@thymikee when you have a minute, could you please outline steps that you guys took in order to make this happen? Once we have solid "miniguide" I could open proposal issues in each repo mentioning those (hopefully this won't be too spammy, but rather ensure all maintainers are aware?).

I guess we need to know how to: rename repo to remove 'react-native' and move npm package under rnc org with least resistance to maintainers and end users.

thymikee commented 5 years ago
  1. Make sure the package is published under RNC scope to npm
  2. Go to the settings
  3. Change the repo name to be exactly the same as npm package
  4. Update references to the repo address if any (e.g links in error messages)

That's it, GH takes care of everything else for us.

If the package is not published as scoped, then it needs a discussion, but we should strive to have it sooner or later.

matt-oakes commented 5 years ago

If we're going to rename the NPM packages, we should have a plan to make it clear to existing users what they need to do to migrate. Possible options are:

I recently went through this as a library user with RNC Blur View. I only noticed that the package name as changed after going to the GitHub page. If I hadn't have done that I would be "stuck" on the old version.

sbeca commented 5 years ago

So, for react-native-audio-toolkit I should do the following:

  1. Publish v2.0.0 to NPM as a new NPM package: @react-native-community/audio-toolkit
  2. Publish v1.0.7 to NPM under the old NPM package, which will just be the current version with a deprecation warning pointing to the new version.

I am not part of the react-native-community NPM organisation yet so who can help me with step 1? My NPM username is scott.beca if someone is looking to invite me to the org.

MateusAndrade commented 5 years ago

I am not part of the react-native-community NPM organisation yet so who can help me with step 1? My NPM username is scott.beca if someone is looking to invite me to the org.

I think @kelset can give you a hand with that ๐Ÿ˜ƒ

kelset commented 5 years ago

๐Ÿ‘‹ @sbeca. Actually I don't have the NPM level of auth needed, but I'll ping who has.

In the meantime, there are a few other house cleaning things that I'd need your help with (for example, in the maintainers https://github.com/react-native-community/.github/blob/master/MAINTAINERS.md you are not listed ๐Ÿ˜…).

If you are on twitter, could you send me a dm there so that I can guide you through a few of these things?

sbeca commented 5 years ago

I'll send you a DM now @kelset