- Ben (React)
- Christopher (React)
- Dan (React)
- Keyan (React, intern)
- Kevin (Developer Advocacy)
- Paul (React)
- Sebastian (React)
- Tom (React)
- Ran the
createClasscodemod on the Facebook.com codebase.
- ES6 class usage is up from 30% to 80% in it!
- More good news: Public Class Fields (aka “Class Properties”) ES proposal has advanced to Stage 2.
- Continued work on the React release manager.
- Busy reviewing two pull requests: one from Keyan and one from Sebastian.
- Keyan’s pull request changes React build process to use Rollup.
- Sebastian’s pull request significantly changes how React packages are bundled internally.
- Unfortunately those changes conflict, and we are going with Sebastian’s pull request first.
- See the section below explaining these changes in more detail.
- Released Create React App.
- Lots of positive feedback.
- Working on 0.2.0 that fixes issues with cloud editors and busy ports.
- Missing features for calling it 1.0: testing, proxying API requests.
- We merged Jest support but people are concerned because it lost a ton of community trust in the first year.
- We want to use Jest because we’re excited about Snapshot Testing and are committed to improving Jest.
- Dan will make sure the testing experience is good before releasing it officially.
- React never had people working on developer advocacy and community outreach.
- We feel it is time to improve this, and Kevin will help us.
- He already worked on revamping React Native docs which was highly successful.
- Things that need addressing: React docs, GitHub issue management.
Changes to Bundling
- Sebastian prepared a series of PRs that really split
react-dompackages. (#7164, #7168, #7173)
react-dompackage implementation used to live inside of
reactpackage for legacy reasons.
- Now they are separated:
reactonly contains “renderer-agnostic” things like
- This is still work in progress, and there are many weird hacks we have to do, but we’ll reduce them over time.
Plan for Reconcilers and Renderers
reactpackage won’t include the React algorithm (“reconciler”) anymore.
- For example,
React.Componentstay there, but not the reconciler itself.
- This makes sense because components relying on
reactdon’t actually care how reconciler is implemented.
- The React reconciler will exist in renderer packages such as
- Since almost nobody uses two renderers at the same time, each renderer will use a copy of the reconciler code.
- This makes it possible for
react-domto move at different speeds and temporarily “fork” the reconciler code if needed.
- This also makes it possible for
react-domto offer the new experimental “Fiber” reconciler behind a flag without changing all the third-party components that depend on
- This sounds confusing but we think it’ll work better in practice.
Please feel free to discuss these notes in the corresponding pull request.