cli
cli copied to clipboard
Plan for CLI in Q1 - umbrella issue
Hey,
Together with the CLI team, we have been discussing the next steps as far as the development. The overall conclusion was that before we start discussing about the feature, we want to focus on cleaning up the codebase from the legacy features, so that it is easier for everyone to get involved in the library development.
If you would like to help with the following work at any stage, either as a contributor or just a reviewer/advisor, please let me know! You can do that by writing a comment in this issue or contacting me directly on RNC Discord.
With that in mind, I have prepared the following action plan, which is divided into weeks:
- [x] 1. Review and merge outstanding PRs [17.01 - 21.01] https://github.com/react-native-community/cli/pulls
Before starting a complex rewrite, it would be great to take a final look at the outstanding PRs and merge/resolve as much of them as possible to avoid unnecessary rebasing later on. It is going to be a great way to refresh the knowledge of the codebase.
- [x] 2. Re-apply work from
next[24.01 - 28.01]
Previously, link has already been removed under next branch and started a wider refactor of the CLI. Unfortunately, the work was 70% done and never completed. The branch is now impossible to merge due to complex conflicts. It will be easier to re-apply it manually.
The mistake was that each PR was "self-contained" and was ready to ship. Instead of making a new branch and repeating the same mistakes, I am going to send the PRs directly against our main branch.
The main PR is https://github.com/react-native-community/cli/pull/790, which removes link (along few other commands) as well as cleans up the configuration itself. This PR is going to clean up a larger part of the codebase.
Smaller PRs that were submitted (status to be verified, they might have been done in a different form already):
- https://github.com/react-native-community/cli/pull/811
- https://github.com/react-native-community/cli/pull/812
- https://github.com/react-native-community/cli/pull/843
- https://github.com/react-native-community/cli/pull/859
While this is not going to complete the "clean-up" entirely, it is going to set a foundation for further work.
- [x] 3. Release a beta version with
linkremoved (and codebase cleaned-up) [31.01 - 04.02]
Once all PRs are done, we're going to release a beta version of the new CLI, without the aforementioned pieces. In the optimistic scenario, this is going to be a transparent change, since most of the things were already deprecated. Unfortunately, it may turn out that certain things were removed (or are going to be removed without prior deprecation warning - as long as we have an agreement in a PR to do so). In that case, we will annotate such a breaking change and bump version number accordingly.
- Planning meeting to discuss the plan for the CLI in 2022 [07.02 - 11.02]
Once we have a beta version out there in the wild, I would like to focus on defining the strategy for the CLI in the entire 2022. This is going to be an interesting discussion and I don't expect this to finish during that week. I don't want to focus exclusively on fixing reported issues, but think on what we can do to make the overall DX with React Native better.
If you have any suggestions, please feel free to share your thoughts and make any improvements!
This sounds promising!
This is not going to be an interesting and I don't expect this to finish during that week.
I think some autocorrect happened in this sentence or it's missing a word? I'm not quite sure what it intended to say.
One thing I'd like to be part of the roadmap is the support for auto-linking TurboModules. It's been reported here, but it makes more sense to implement it in the CLI: https://github.com/microsoft/react-native-test-app/issues/581.
This sounds promising!
This is not going to be an interesting and I don't expect this to finish during that week.
I think some autocorrect happened in this sentence or it's missing a word? I'm not quite sure what it intended to say.
Haha definitely! I mean it is going to be an interesting discussion that is likely to continue into following weeks!
Update:
All PRs except for a #1480 are already merged. I will continue working on #1480 tomorrow. Afterwards, I will begin working on the link and next branch as explained in point 2.
Mike
Just merged #1480, shipped with a few important changes. I will now begin working on the link removal.
#1537 is being merged today. We will follow-up with an alpha release shortly. Meanwhile, I am going to merge an outstanding PR refactoring run-android and that should get us on the way for 8.x release.
thanks for all your work! it's exciting to see this all progressing 🚀🚀🚀
Hey you all :wave: just a note that I am slowly drowning under the weight (maintaining it across a bunch of apps) of my own "doctor" scripting and I'm looking to peel what I can out of my custom stuff and make PRs here. Is there anything I should be concerned about with regard to doctor API / object shape stability? Or is it safe to code against things as they are today (doctor in it's own package, current APIs/objects).
Thanks!
@mikehardy should be safe :) Can't wait to see the PR!
There were some voices of people using link to link assets, such as fonts. While it's possible to do it manually and most modern/recent libraries already pointed that out, there are still a few libraries that recommend using link to link assets only.
I guess we should take a closer look at that workflow to decide whether there's a need to design something for that use case or provide a recommendation on how to do it best.
Since all the major work regarding link has been merged, I am going to go ahead and release a beta version.
When this release is out and tested, the next step will be to take a closer look at the outstanding issues and fix most popular ones. Update on the next items and what's our focus will follow in the next umbrella issue, most likely for the Q2.
There hasn't been any activity on this issue in the past 3 months, so it has been marked as stale and it will be closed automatically if no further activity occurs in the next 7 days.