Skip to content

Commit a6f7db8

Browse files
authored
Aug - CLI meeting notes (#19)
1 parent 948f004 commit a6f7db8

File tree

3 files changed

+47
-5
lines changed

3 files changed

+47
-5
lines changed

core-meetings/2018-07-ci-meeting.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ The community team is made up of volunteers who help maintain React Native, cont
66

77
## The core discussion
88

9-
This month, the group chose to discuss React Native's continuous integration tooling.
9+
This time, the group chose to discuss React Native's continuous integration tooling.
1010

1111
The React Native repository has a complex [continuous integration suite](https://circleci.com/gh/facebook/react-native) that automatically tests pull requests and master to help guarantee quality. These tests are actually split into five separate suites, ranging from checking for Flow errors to iOS end to end testing. CI should give confidence that things are good when merging pull requests and making release candidates. Recently though, CI success has been a challenge. It's even caused slowdowns in making releases.
1212

@@ -38,4 +38,6 @@ Community engagement was a recurring topic on the call. Most of the discussion f
3838

3939
All of these proposals need a home, so we're creating a location and format for them. Our ambition is to bring these conversations into the public but not force a rigid process. We're working on this now.
4040

41-
This month's topic was CI, but we covered much more. Expect to see many of these proposals soon in this repository, where we hope you will help us make React Native even better.
41+
---
42+
43+
This time's topic was CI, but we are planning to cover much more. Expect to see many of these proposals soon in this repository, where we hope you will help us make React Native even better.

core-meetings/2018-08-cli-meeting.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# The CLI and its future: August 2018 Core Meeting
2+
3+
As stewards of React Native engineers worldwide, we've contemplated ways to improve alignment and visibility of the framework's direction, where community members and Facebook alike joined to discuss issues and propose responses.
4+
5+
The community team is made up of volunteers who help maintain React Native, contribute to education materials, and improve the React Native developer's environment.
6+
7+
## The core discussion
8+
9+
This time, the group chose to discuss React Native's CLI tooling and its future.
10+
11+
This conversation is part of the greater effort to [slim down the core repository](https://github.com/react-native-community/discussions-and-proposals/issues/6), while ensuring the code health. In particular, the starting point of this meeting was the [proposal](https://github.com/react-native-community/discussions-and-proposals/pull/13) of moving the CLI out of the main repo by [@grabbou](https://github.com/grabbou).
12+
13+
## Better decoupling
14+
15+
In our discussion, the group identified that by moving the CLI tooling outside of the main repo, the Metro dependency would be _potentially_ decoupled from the main react-native library - it seems that the only files outside `/local-cli` referring to Metro are:
16+
17+
- [HMRClient](https://github.com/facebook/react-native/blob/master/Libraries/Utilities/HMRClient.js)
18+
- [jest/preprocessor](https://github.com/facebook/react-native/blob/master/jest/preprocessor.js)
19+
20+
Which also means that potentially moving it outside could make React Native more "packager agnostic".
21+
22+
That said, extracting it is not "mandatory" for having first class support of third-party libraries such as RN-Windows or RN-Dom.
23+
24+
A potential issue that may raise from this complete decoupling would be related to making sure that the different repos are always up-to-date with the newer versions of Metro (which are released quite frequently).
25+
26+
## `upgrade` and `react-native-git-upgrade`
27+
28+
The conversation then shifted towards a portion of the React Native DX which is related to updating existing React Native projects to newer versions; in the CLI there are two different commands to help with it, but newer releases are showing their limitations.
29+
30+
We are all aware of the complexities that updating to a newer React Native version can cause, and given that `react-native-git-upgrade` is the "most user-friendly" approach - but at the same time the least maintained - we tried to get back to the reason why it was merged and how it works: we found the [original PR](https://github.com/facebook/react-native/pull/11052) and the [blog-post](https://facebook.github.io/react-native/blog/2016/12/05/easier-upgrades) to help us in this.
31+
32+
Given that most of the group actually manually upgrades the files to ensure a smooth transition in their projects, we discussed a lot about what an alternative to `git-upgrade` would look like. Since we couldn't come up with a "one for all" solution (we even considered code-mods) we agreed on:
33+
34+
1. trying to get more members of the community involved with maintaining this portion of the CLI.
35+
1. similarly to Expo's approach, to write clear "how to manually upgrade" steps in the Changelog for new versions
36+
37+
---
38+
39+
This time's topic was CLI, but we are planning to cover much more. You can check both the issues and the PRs of this repository to see what conversations are ongoing, and we hope you will join us in making React Native even better!

core-meetings/README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,23 @@ The topics listed below have ongoing meetings. Expect to see more notes and prop
88

99
### Continuous Integration
1010

11-
*Lead by [@grabbou](https://twitter.com/grabbou)*
11+
_Lead by [@grabbou](https://twitter.com/grabbou)_
1212

1313
Anything related to infrastructure and releasing React Native; state of PRs, current issues, and blockers from the CI point of view.
1414

1515
### ReasonML
1616

17-
*Lead by [@grabbou](https://twitter.com/grabbou)*
17+
_Lead by [@grabbou](https://twitter.com/grabbou)_
1818

1919
ReasonML is growing in popularity and there's numerous attempts to bring first class React Native support. Discussion on the approaches underway and direction of the project.
2020

2121
### CLI
2222

23-
*Lead by [@grabbou](https://twitter.com/grabbou)*
23+
_Lead by [@grabbou](https://twitter.com/grabbou)_
2424

2525
Everything related to the way we use command line to run React Native apps, linking, compiling, building and general developer experience.
2626

2727
## Meeting Notes
2828

29+
- [2018-08 The CLI and its future](2018-08-cli-meeting.md)
2930
- [2018-07 Releases and Keeping CI green](2018-07-ci-meeting.md)

0 commit comments

Comments
 (0)