Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • C create-react-app
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,547
    • Issues 1,547
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 417
    • Merge requests 417
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Meta
  • create-react-app
  • Issues
  • #3815
Closed
Open
Issue created Jan 16, 2018 by Administrator@rootContributor

Roadmap for react-scripts@2.0

Created by: gaearon

We have just released react-scripts@1.1.0 and, aside from critical vulnerabilities or similar issues, we intend this to be the last 1.x release. Our work on the 2.x release of react-scripts is in the next branch, and we switched it to be the default on GitHub. This way people who automatically sync their forks with master will only get non-breaking updates until the next branch is truly ready.

Already Merged

So what’s gonna be in 2.x? Here’s a few big things that are already in the next branch:

  • Babel 7 (https://github.com/facebookincubator/create-react-app/pull/3522)
  • Jest 22 (https://github.com/facebookincubator/create-react-app/pull/3124)
  • Babel Macros (https://github.com/facebookincubator/create-react-app/pull/3675)
  • ES6-compatible Uglify (https://github.com/facebookincubator/create-react-app/pull/3618)
  • Configurable Target Browsers (JS: https://github.com/facebookincubator/create-react-app/pull/3770, CSS: https://github.com/facebookincubator/create-react-app/pull/3644)
  • Compile node_modules with Env Preset (https://github.com/facebookincubator/create-react-app/pull/3776)
  • Parallelization of Babel (https://github.com/facebookincubator/create-react-app/pull/3778)
  • Preflight Dependency Check (https://github.com/facebookincubator/create-react-app/pull/3771)
  • Opt-in support for CSS Modules (https://github.com/facebookincubator/create-react-app/pull/2285)
  • Opt-in support for Sass (https://github.com/facebook/create-react-app/pull/4195)
  • SVG as React components (https://github.com/facebookincubator/create-react-app/pull/3718)
  • Remove propTypes definitions in the production build (https://github.com/facebookincubator/create-react-app/pull/3818)
  • Service workers are now opt-in (https://github.com/facebookincubator/create-react-app/issues/2554)
  • Support for Lerna or Yarn Workspaces (https://github.com/facebookincubator/create-react-app/issues/1333)

Very Likely to Land in 2.0 (But Might Need Your Help)

There are many more things we want to do but it will require help from the community. For now, they’re optimistically tagged with a 2.0.0 milestone (issues, PRs) but it’s likely we’ll only get to some of them. If you feel strongly about any of them, look at these issues, offer help if you’d like to increase their changes of getting landed, provide feedback to people who submit PRs, help them with planning and design, etc. What gets merged in the end really depends on your participation.

I feel strongly that these are blockers that should get into 2.0:

  • Warn about duplicate dependencies (https://github.com/facebookincubator/create-react-app/pull/2011)
  • More end-to-end test coverage for compiling node_modules (https://github.com/facebookincubator/create-react-app/issues/3777, needs PRs)

They’re relatively fleshed out although Sass will need somebody to make a PR once other pieces are in place. We should also figure out a way to make Sass work with CSS Modules. We’ll also need a PR for making service workers opt-in.

Issues and PRs That Need More Work and Discussion

These look less fleshed out to me and might need more discussion, design, and implementation work:

  • Long term caching (https://github.com/facebookincubator/create-react-app/issues/2206, we have a PR in https://github.com/facebookincubator/create-react-app/issues/2206 but maybe we want https://github.com/webpack/webpack/pull/6281 instead? needs somebody to figure out the tradeoffs)
  • Add a separate lint script (https://github.com/facebookincubator/create-react-app/pull/2729)
  • Serve development from the same path as production (https://github.com/facebookincubator/create-react-app/pull/1887, broken hot reloading seems a bit wonky to me but maybe you can convince me otherwise)
  • Refuse to build when importing transitive dependencies (https://github.com/facebookincubator/create-react-app/pull/1752, needs testing and potentially someone picking it up)

Please Participate!

So, what do you think? Does this list look exciting to you? If you want to help, please participate. I don’t expect that I’ll have a ton of time to work on all of this personally, but we have a really great community and I hope you can help us flesh out these proposals. If you also want to help maintaining the project (and have some experience maintaining open source projects; not necessarily large ones) please also let us know.

☢️ How Can I Test This Now? ☢️

We're happy you'd like to test the next version of react-scripts! Before getting into the details, we'd like to make you aware of a few things:

  1. Features may be broken or not work as expected
  2. There will be more breaking changes introduced before the final release ⚠️
  3. Documentation for new features is still sparse, so look through the pull requests for how they're expected to work

You can install the latest alpha version of react-scripts using one of the following commands:

$ # Create a new application
$ npx create-react-app@next --scripts-version=2.0.0-next.2150693d app-name
$ # Upgrade an existing application
$ yarn upgrade react-scripts@2.0.0-next.2150693d

Known Issues in 2.x Alphas

None, currently.

Please report any other bugs you encounter or behavior you believe to be incorrect. Have fun!

Assignee
Assign to
Time tracking