React error overlay

An overlay for displaying stack frames.

Create React App Build Status PRs Welcome

Logo

Create React apps with no build configuration.

  • Creating an App – How to create a new app.
  • User Guide – How to develop apps bootstrapped with Create React App.

Create React App works on macOS, Windows, and Linux.
If something doesn’t work, please file an issue.
If you have questions or need help, please ask in GitHub Discussions.

Quick Overview

npx create-react-app my-app
cd my-app
npm start

If you’ve previously installed create-react-app globally via npm install -g create-react-app, we recommend you uninstall the package using npm uninstall -g create-react-app or yarn global remove create-react-app to ensure that npx always uses the latest version.

(npx comes with npm 5.2+ and higher, see instructions for older npm versions)

Then open http://localhost:3000/ to see your app.
When you’re ready to deploy to production, create a minified bundle with npm run build.

npm start

Get Started Immediately

You don’t need to install or configure tools like webpack or Babel.
They are preconfigured and hidden so that you can focus on the code.

Create a project, and you’re good to go.

Creating an App

You’ll need to have Node 14.0.0 or later version on your local development machine (but it’s not required on the server). We recommend using the latest LTS version. You can use nvm (macOS/Linux) or nvm-windows to switch Node versions between different projects.

To create a new app, you may choose one of the following methods:

npx

npx create-react-app my-app

(npx is a package runner tool that comes with npm 5.2+ and higher, see instructions for older npm versions)

npm

npm init react-app my-app

npm init <initializer> is available in npm 6+

Yarn

yarn create react-app my-app

yarn create <starter-kit-package> is available in Yarn 0.25+

It will create a directory called my-app inside the current folder.
Inside that directory, it will generate the initial project structure and install the transitive dependencies:

my-app
├── README.md
├── node_modules
├── package.json
├── .gitignore
├── public
│   ├── favicon.ico
│   ├── index.html
│   └── manifest.json
└── src
    ├── App.css
    ├── App.js
    ├── App.test.js
    ├── index.css
    ├── index.js
    ├── logo.svg
    └── serviceWorker.js
    └── setupTests.js

No configuration or complicated folder structures, only the files you need to build your app.
Once the installation is done, you can open your project folder:

Inside the newly created project, you can run some built-in commands:

npm start or yarn start

Runs the app in development mode.
Open http://localhost:3000 to view it in the browser.

The page will automatically reload if you make changes to the code.
You will see the build errors and lint warnings in the console.

Build errors

npm test or yarn test

Runs the test watcher in an interactive mode.
By default, runs tests related to files changed since the last commit.

Read more about testing.

npm run build or yarn build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.

Your app is ready to be deployed.

User Guide

You can find detailed instructions on using Create React App and many tips in its documentation.

How to Update to New Versions?

Please refer to the User Guide for this and other information.

Philosophy

  • One Dependency: There is only one build dependency. It uses webpack, Babel, ESLint, and other amazing projects, but provides a cohesive curated experience on top of them.

  • No Configuration Required: You don’t need to configure anything. A reasonably good configuration of both development and production builds is handled for you so you can focus on writing code.

  • No Lock-In: You can “eject” to a custom setup at any time. Run a single command, and all the configuration and build dependencies will be moved directly into your project, so you can pick up right where you left off.

What’s Included?

Your environment will have everything you need to build a modern single-page React app:

  • React, JSX, ES6, TypeScript and Flow syntax support.
  • Language extras beyond ES6 like the object spread operator.
  • Autoprefixed CSS, so you don’t need -webkit- or other prefixes.
  • A fast interactive unit test runner with built-in support for coverage reporting.
  • A live development server that warns about common mistakes.
  • A build script to bundle JS, CSS, and images for production, with hashes and sourcemaps.
  • An offline-first service worker and a web app manifest, meeting all the Progressive Web App criteria. (Note: Using the service worker is opt-in as of react-scripts@2.0.0 and higher)
  • Hassle-free updates for the above tools with a single dependency.

Check out this guide for an overview of how these tools fit together.

The tradeoff is that these tools are preconfigured to work in a specific way. If your project needs more customization, you can «eject» and customize it, but then you will need to maintain this configuration.

Popular Alternatives

Create React App is a great fit for:

  • Learning React in a comfortable and feature-rich development environment.
  • Starting new single-page React applications.
  • Creating examples with React for your libraries and components.

Here are a few common cases where you might want to try something else:

  • If you want to try React without hundreds of transitive build tool dependencies, consider using a single HTML file or an online sandbox instead.

  • If you need to integrate React code with a server-side template framework like Rails, Django or Symfony, or if you’re not building a single-page app, consider using nwb, or Neutrino which are more flexible. For Rails specifically, you can use Rails Webpacker. For Symfony, try Symfony’s webpack Encore.

  • If you need to publish a React component, nwb can also do this, as well as Neutrino’s react-components preset.

  • If you want to do server rendering with React and Node.js, check out Next.js or Razzle. Create React App is agnostic of the backend, and only produces static HTML/JS/CSS bundles.

  • If your website is mostly static (for example, a portfolio or a blog), consider using Gatsby or Next.js. Unlike Create React App, Gatsby pre-renders the website into HTML at build time. Next.js supports both server rendering and pre-rendering.

  • Finally, if you need more customization, check out Neutrino and its React preset.

All of the above tools can work with little to no configuration.

If you prefer configuring the build yourself, follow this guide.

React Native

Looking for something similar, but for React Native?
Check out Expo CLI.

Contributing

We’d love to have your helping hand on create-react-app! See CONTRIBUTING.md for more information on what we’re looking for and how to get started.

Supporting Create React App

Create React App is a community maintained project and all contributors are volunteers. If you’d like to support the future development of Create React App then please consider donating to our Open Collective.

Credits

This project exists thanks to all the people who contribute.

Thanks to Netlify for hosting our documentation.

Acknowledgements

We are grateful to the authors of existing related projects for their ideas and collaboration:

  • @eanplatter
  • @insin
  • @mxstbr

License

Create React App is open source software licensed as MIT. The Create React App logo is licensed under a Creative Commons Attribution 4.0 International license.

5.0.1 (2022-04-12)

Create React App 5.0.1 is a maintenance release that improves compatibility with React 18. We’ve also updated our templates to use createRoot and relaxed our check for older versions of Create React App.

Migrating from 5.0.0 to 5.0.1

Inside any created project that has not been ejected, run:

npm install --save --save-exact react-scripts@5.0.1

or

yarn add --exact react-scripts@5.0.1

🐛 Bug Fix

  • react-scripts
    • #12245 fix: webpack noise printed only if error or warning (@Andrew47)
  • create-react-app
    • #11915 Warn when not using the latest version of create-react-app but do not exit (@iansu)
  • react-dev-utils
    • #11640 Ensure posix compliant joins for urls in middleware (@psiservices-justin-sullard)

💅 Enhancement

  • cra-template-typescript, cra-template, react-scripts
    • #12220 Update templates to use React 18 createRoot (@kyletsang)
  • cra-template-typescript, cra-template
    • #12223 chore: upgrade rtl version to support react 18 (@MatanBobi)
  • eslint-config-react-app
    • #11622 updated deprecated rules (@wisammechano)

📝 Documentation

  • #11594 Fix a typo in deployment.md (@fishmandev)
  • #11805 docs: Changelog 5.0.0 (@jafin)
  • #11757 prevent both npm and yarn commands from being copied (@mubarakn)

🏠 Internal

  • #11985 Ignore docs when publishing (@iansu)

Committers: 11

  • Andrew Burnie (@Andrew47)
  • Clément Vannicatte (@shortcuts)
  • Dmitriy Fishman (@fishmandev)
  • Dmitry Vinnik (@dmitryvinn)
  • Ian Sutherland (@iansu)
  • Jason Finch (@jafin)
  • Kyle Tsang (@kyletsang)
  • Matan Borenkraout (@MatanBobi)
  • Wisam Naji (@wisammechano)
  • @mubarakn
  • @psiservices-justin-sullard

v5.0.0 (2021-12-14)

Create React App 5.0 is a major release with several new features and the latest version of all major dependencies.

Thanks to all the maintainers and contributors who worked so hard on this release! 🙌

Highlights

  • webpack 5 (#11201)
  • Jest 27 (#11338)
  • ESLint 8 (#11375)
  • PostCSS 8 (#11121)
  • Fast Refresh improvements and bug fixes (#11105)
  • Support for Tailwind (#11717)
  • Improved package manager detection (#11322)
  • Unpinned all dependencies for better compatibility with other tools (#11474)
  • Dropped support for Node 10 and 12

Migrating from 4.0.x to 5.0.0

Inside any created project that has not been ejected, run:

npm install --save --save-exact react-scripts@5.0.0

or

yarn add --exact react-scripts@5.0.0

NOTE: You may need to delete your node_modules folder and reinstall your dependencies by running npm install (or yarn) if you encounter errors after upgrading.

If you previously ejected but now want to upgrade, one common solution is to find the commits where you ejected (and any subsequent commits changing the configuration), revert them, upgrade, and later optionally eject again. It’s also possible that the feature you ejected for is now supported out of the box.

Breaking Changes

Like any major release, react-scripts@5.0.0 contains a number of breaking changes. We expect that they won’t affect every user, but we recommend you look over this section to see if something is relevant to you. If we missed something, please file a new issue.

Dropped support for Node 10 and 12

Node 10 reached End-of-Life in April 2021 and Node 12 will be End-of-Life in April 2022. Going forward we will only support the latest LTS release of Node.js.

Full Changelog
💥 Breaking Change

  • create-react-app
    • #11322 Use env var to detect yarn or npm as the package manager (@lukekarrys)
  • babel-preset-react-app, cra-template-typescript, cra-template, create-react-app, eslint-config-react-app, react-app-polyfill, react-dev-utils, react-error-overlay, react-scripts
    • #11201 Webpack 5 (@raix)
  • eslint-config-react-app, react-error-overlay, react-scripts
    • #10761 chore: migrate to @babel/eslint-parser (@JLHwung)
  • react-scripts
    • #11188 Deprecate root level template.json keys (@mrmckeb)

🐛 Bug Fix

  • react-scripts
    • #11413 fix(webpackDevServer): disable overlay for warnings (@jawadsh123)
    • #10511 Fix ICSS syntax in stylesheets (@thabemmz)

💅 Enhancement

  • react-scripts
    • #11717 Add support for Tailwind (@iansu)
    • #8227 Add source-map-loader for debugging into original source of node_modules libraries that contain sourcemaps (@justingrant)
    • #10499 Remove ESLint verification when opting-out (@mrmckeb)
  • eslint-config-react-app, react-error-overlay, react-scripts
    • #11375 feat(eslint-config-react-app): support ESLint 8.x (@MichaelDeBoey)
  • create-react-app
    • #11322 Use env var to detect yarn or npm as the package manager (@lukekarrys)
    • #11057 Coerce Node versions with metadata (@mrmckeb)
  • react-dev-utils
    • #11105 fix: fast refresh stops on needed bail outs (@pmmmwh)
    • #10205 Update ModuleNotFoundPlugin to support Webpack 5 (@raix)
  • create-react-app, react-scripts
    • #11176 Run npm with —no-audit (@gaearon)

📝 Documentation

  • Other
    • #11619 The default port used by serve has changed (@leo)
    • #10907 Fix link address (@e-w-h)
    • #10805 Update PWA docs to point at the cra-template-pwa package (@slieschke)
    • #10631 Update IMAGE_INLINE_SIZE_LIMIT docs (@ianschmitz)
  • eslint-config-react-app
    • #10317 eslint-config-react-app typo fix (@Spacerat)
  • react-dev-utils
    • #10779 Suggest sass instead of node-sass package (@andrewywong)
  • babel-preset-react-app, eslint-config-react-app
    • #10288 Upgrade docs http links to https (@xom9ikk)
  • cra-template
    • #10763 Trivial English fixes (@ujihisa)

🏠 Internal

  • Other
    • #11723 chore(test): make all tests install with npm ci (@lukekarrys)
    • #11686 [WIP] Fix integration test teardown / cleanup and missing yarn installation (@raix)
    • #11252 Remove package-lock.json (@Methuselah96)
  • create-react-app
    • #11706 Remove cached lockfile (@lukekarrys)
  • babel-plugin-named-asset-import, babel-preset-react-app, confusing-browser-globals, create-react-app, react-app-polyfill, react-dev-utils, react-error-overlay, react-scripts
    • #11624 Update all dependencies (@jd1048576)
  • react-scripts
    • #11597 Update package.json (@HADMARINE)
    • #11292 fix: dependency issue after workbox-webpack-plugin 6.2 release (@fguitton)
    • #11188 Deprecate root level template.json keys (@mrmckeb)
    • #10784 Remove outdated comments on react-refresh (@luk3kang)
  • babel-plugin-named-asset-import, confusing-browser-globals, create-react-app, eslint-config-react-app, react-dev-utils, react-error-overlay, react-scripts
    • #11474 Remove dependency pinning (@mrmckeb)
  • confusing-browser-globals, cra-template-typescript, cra-template, create-react-app
    • #11415 Bump template dependency version (@shfshanyue)
  • react-error-overlay, react-scripts
    • #11304 Use npm v7 with workspaces for local development and testing (@lukekarrys)
  • babel-preset-react-app, cra-template-typescript, cra-template, create-react-app, eslint-config-react-app, react-app-polyfill, react-dev-utils, react-error-overlay, react-scripts
    • #11201 Webpack 5 (@raix)

🔨 Underlying Tools

  • react-dev-utils, react-scripts
    • #11476 Bump browserslist from 4.14.2 to 4.16.5 (@dependabot[bot])
  • react-scripts
    • #11325 allow CORS on webpack-dev-server (@hasanayan)
    • #11121 Update PostCSS version (@mrmckeb)
    • #10204 Update WebpackManifestPlugin (@raix)
    • #10456 Update PostCSS packages (@raix)
  • babel-plugin-named-asset-import, confusing-browser-globals, create-react-app, react-dev-utils, react-error-overlay, react-scripts
    • #11338 Upgrade jest and related packages from 26.6.0 to 27.1.0 (@krreet)
  • eslint-config-react-app, react-error-overlay, react-scripts
    • #10761 chore: migrate to @babel/eslint-parser (@JLHwung)
  • babel-preset-react-app, react-dev-utils, react-error-overlay, react-scripts
    • #10797 Unpin babel dependencies (@mohd-akram)
  • react-dev-utils
    • #10791 Bump immer version for fixing security issue (@shamprasadrh)

Committers: 34

  • Andrew Wong (@andrewywong)
  • Brody McKee (@mrmckeb)
  • Christiaan van Bemmel (@thabemmz)
  • Dan Abramov (@gaearon)
  • Florian Guitton (@fguitton)
  • Hasan Ayan (@hasanayan)
  • Huáng Jùnliàng (@JLHwung)
  • Ian Schmitz (@ianschmitz)
  • Ian Sutherland (@iansu)
  • James George (@jamesgeorge007)
  • Jason Williams (@jasonwilliams)
  • Jawad (@jawadsh123)
  • Joseph Atkins-Turkish (@Spacerat)
  • Justin Grant (@justingrant)
  • Konrad Stępniak (@th7nder)
  • Kristoffer K. (@merceyz)
  • Leo Lamprecht (@leo)
  • Luke Karrys (@lukekarrys)
  • Max Romanyuta (@xom9ikk)
  • Michael Mok (@pmmmwh)
  • Michaël De Boey (@MichaelDeBoey)
  • Mohamed Akram (@mohd-akram)
  • Morten N.O. Nørgaard Henriksen (@raix)
  • Nathan Bierema (@Methuselah96)
  • Reetesh Kumar (@krreet)
  • Shamprasad RH (@shamprasadrh)
  • Simon Lieschke (@slieschke)
  • @e-w-h
  • @jd1048576
  • @luk3kang
  • @ujihisa
  • hadmarine (@HADMARINE)
  • huntr.dev | the place to protect open source (@huntr-helper)

v4.0.1 is a maintenance release that includes minor bug fixes and documentation updates.

🐛 Bug Fix

  • react-scripts
    • #9921 Fix noFallthroughCasesInSwitch/jsx object is not extensible (@ryota-murakami)
    • #9869 Fix react-jsx error (@benneq)
    • #9885 fix: React is not defined compilation error after ejected (@n3tr)
    • #9911 fix: slow recompile time (@FezVrasta)
  • react-dev-utils
    • #9884 fix: page doesn’t get refreshed when FAST_REFRESH=false (@n3tr)

💅 Enhancement

  • react-scripts
    • #10048 Increase Workbox’s maximumFileSizeToCacheInBytes (@jeffposnick)

📝 Documentation

  • #10052 docs: add React Testing Library as a library requiring jsdom (@anyulled)

🏠 Internal

  • create-react-app, react-dev-utils, react-scripts
    • #10083 replace inquirer with prompts (@EvanBacon)
  • cra-template-typescript, cra-template, react-scripts
    • #9516 [ImgBot] Optimize images (@MichaelDeBoey)
  • Other
    • #9860 chore: Update .prettierrc (@MichaelDeBoey)

Committers: 9

  • Anyul Rivas (@anyulled)
  • Ben M (@benneq)
  • Evan Bacon (@EvanBacon)
  • Federico Zivolo (@FezVrasta)
  • Jeffrey Posnick (@jeffposnick)
  • Jirat Ki. (@n3tr)
  • Michaël De Boey (@MichaelDeBoey)
  • Ryota Murakami (@ryota-murakami)
  • sho90 (@sho-t)

Migrating from 4.0.0 to 4.0.1

Inside any created project that has not been ejected, run:

npm install --save --save-exact react-scripts@4.0.1

or

yarn add --exact react-scripts@4.0.1

4.0.0 (2020-10-23)

Create React App 4.0 is a major release with several new features, including support for Fast Refresh!

Thanks to all the maintainers and contributors who worked so hard on this release! 🙌

Highlights

  • Fast Refresh #8582
  • React 17 support
    • New JSX transform #9645
  • TypeScript 4 support #9734
  • ESLint 7 #8978
    • New Jest and React Testing Library rules #8963
  • Jest 26 #8955
  • PWA/workbox improvements
    • Switch to the Workbox InjectManifest plugin #9205
    • Now its own template so it can be released independently
  • Web Vitals support #9116

Migrating from 3.4.x to 4.0.0

Inside any created project that has not been ejected, run:

npm install --save --save-exact react-scripts@4.0.0

or

yarn add --exact react-scripts@4.0.0

NOTE: You may need to delete your node_modules folder and reinstall your dependencies by running yarn (or npm install) if you encounter errors after upgrading.

If you previously ejected but now want to upgrade, one common solution is to find the commits where you ejected (and any subsequent commits changing the configuration), revert them, upgrade, and later optionally eject again. It’s also possible that the feature you ejected for is now supported out of the box.

Breaking Changes

Like any major release, react-scripts@4.0.0 contains a number of breaking changes. We expect that they won’t affect every user, but we recommend you look over this section to see if something is relevant to you. If we missed something, please file a new issue.

ESLint

We’ve upgraded to ESLint 7 and added many new rules including some for Jest and React Testing Library as well as the import/no-anonymous-default-export rule. We’ve also upgraded eslint-plugin-hooks to version 4.0.0 and removed the EXTEND_ESLINT flag as it is no longer required to customize the ESLint config.

Jest

We’ve upgraded to Jest 26 and now set resetMocks to true by default in the Jest config.

Service workers

We’ve switched to the Workbox InjectManifest plugin and moved the PWA templates into their own repository.

Removed typescript flag and NODE_PATH support

We’ve removed the deprecated typescript flag when creating a new app. Use --template typescript instead. We’ve also dropped deprecated NODE_PATH flag as this has been replaced by setting the base path in jsconfig.json.

Fix dotenv file loading order

We’ve changed the loading order of env files to match the dotenv specification. See #9037 for more details.

Dropped Node 8 support

Node 8 reached End-of-Life at the end of 2019 and is no longer supported.

Detailed Changelog
🚀 New Feature

  • eslint-config-react-app, react-error-overlay, react-scripts
    • #8963 feat(eslint-config-react-app): Add jest & testing-library rules (@MichaelDeBoey)
  • react-scripts
    • #9611 Add AVIF image support (@Hongbo-Miao)
    • #9114 Allow testMatch for jest config (@Favna)
    • #8790 Add back in —stats output from webpack. (@samccone)
    • #8838 Support devDependencies in templates (@mrmckeb)
  • create-react-app
    • #9359 feat: exit on outdated create-react-app version (@mrmckeb)
  • cra-template-typescript, cra-template, react-scripts
    • #9205 Switch to the Workbox InjectManifest plugin (@jeffposnick)
  • react-dev-utils, react-scripts
    • #8582 Add experimental react-refresh support (@charrondev)

💥 Breaking Change

  • eslint-config-react-app, react-error-overlay, react-scripts
    • #8963 feat(eslint-config-react-app): Add jest & testing-library rules (@MichaelDeBoey)
    • #8978 Support ESLint 7.x (@MichaelDeBoey)
  • cra-template-typescript, cra-template, eslint-config-react-app, react-error-overlay, react-scripts
    • #9587 Remove EXTEND_ESLINT and add Jest rules (@mrmckeb)
  • eslint-config-react-app
    • #9401 fix: remove deprecated rule (@ljosberinn)
  • create-react-app
    • #9359 feat: exit on outdated create-react-app version (@mrmckeb)
  • cra-template-typescript, cra-template, react-scripts
    • #9205 Switch to the Workbox InjectManifest plugin (@jeffposnick)
  • babel-plugin-named-asset-import, confusing-browser-globals, create-react-app, react-dev-utils, react-error-overlay, react-scripts
    • #8955 Upgrade to Jest 26 (@ianschmitz)
  • create-react-app, react-scripts
    • #8934 feat: remove typescript flag and NODE_PATH support (@mrmckeb)
  • react-scripts
    • #9037 Fix dotenv file loading order (@Timer)
    • #7899 Set resetMocks to true by default in jest config (@alexkrolick)
  • babel-plugin-named-asset-import, babel-preset-react-app, create-react-app, react-app-polyfill, react-dev-utils, react-error-overlay, react-scripts
    • #8950 Dependency major version upgrades (@ianschmitz)
  • eslint-config-react-app, react-scripts
    • #8926 Add import/no-anonymous-default-export lint rule (@shakib609)
    • #8939 Bump React Hooks ESLint plugin to 4.0.0 (@gaearon)
  • cra-template-typescript, cra-template, create-react-app, react-app-polyfill, react-dev-utils, react-scripts
    • #8948 Drop Node 8 support (@ianschmitz)
  • babel-plugin-named-asset-import, babel-preset-react-app, confusing-browser-globals, cra-template-typescript, react-dev-utils, react-error-overlay, react-scripts
    • #8362 Upgrade to Jest 25 (@skovhus)

🐛 Bug Fix

  • react-scripts
    • #9805 Fix refreshOverlayInterop module scope error (@ianschmitz)
    • #9037 Fix dotenv file loading order (@Timer)
    • #8700 Skip stdin resuming to support lerna parallel (@hieuxlu)
    • #8845 Do not check for interactive session to shut down dev server (@jeremywadsack)
    • #8768 Add .cjs and .mjs files support to test runner (@ai)
  • babel-preset-react-app, eslint-config-react-app, react-scripts
    • #9788 fix: resolve new JSX transform issues (@mrmckeb)
  • eslint-config-react-app, react-scripts
    • #9683 fix: resolve ESLint config from appPath (@mrmckeb)
  • create-react-app
    • #9412 Fix template name handling (@iansu)
  • babel-preset-react-app
    • #9374 fix: use default modules option from preset-env (@JLHwung)
  • react-dev-utils
    • #9390 Publish refreshOverlayInterop with react-dev-utils (@klinem)
    • #8492 Replace period in CSS Module classnames (@evankennedy)
  • react-dev-utils, react-scripts
    • #8694 Use process.execPath to spawn node subprocess (@anuraaga)
  • cra-template-typescript, cra-template, react-scripts
    • #8734 fix: handle templates without main package field (@mrmckeb)

💅 Enhancement

  • react-scripts
    • #9734 Use new JSX setting with TypeScript 4.1.0 (@iansu)
    • #8638 Support source maps for scss in dev environments (@MKorostoff)
    • #8834 Don’t use webpack multi entry unnecessarily (@sebmarkbage)
  • babel-preset-react-app, eslint-config-react-app, react-scripts
    • #9861 New JSX Transform opt out (@iansu)
  • cra-template
    • #9853 feat: remove unused React imports (@mrmckeb)
  • babel-preset-react-app, react-scripts
    • #9645 Use new JSX transform with React 17 (@iansu)
  • react-dev-utils, react-scripts
    • #9350 Add Fast Refresh warning when using React < 16.10 (@iansu)
  • react-dev-utils, react-error-overlay, react-scripts
    • #9375 feat: better refresh plugin integration (@pmmmwh)
  • cra-template-typescript, cra-template
    • #9116 Add performance relayer + documentation (web-vitals) (@housseindjirdeh)
    • #8705 Update template tests (@MichaelDeBoey)
  • create-react-app
    • #8460 Fix —use-pnp for Yarn 2 (@nickmccurdy)

📝 Documentation

  • Other
    • #9728 Upgrade Docusaurus to latest version (@lex111)
    • #9630 Emphasise that Next.js is capable of SSG (@liamness)
    • #9073 Update running-tests.md (@MichaelDeBoey)
    • #9560 Update Vercel deployment documentation (@timothyis)
    • #9380 Update running-tests.md (@andycanderson)
    • #9245 [Doc] fix React Testing Library example (@sakito21)
    • #9231 Clarify wording in adding TypeScript to existing project (@merelinguist)
    • #8895 Fix chai URL (@BMorearty)
    • #9042 Update deployment docs for Azure Static Web Apps (@burkeholland)
    • #8246 Add a VSCode tip in the CSS reset section (@maazadeeb)
    • #8610 Update url to see prettier in action (@M165437)
    • #8684 Simplify wording in setting-up-your-editor.md (@coryhouse)
    • #8791 Add setupTests.js to the list of generated files (@MostafaNawara)
    • #8763 Use simplified import of @testing-library/jest-dom (@Dremora)
  • react-dev-utils
    • #9471 Fixes in the /packages/react-devs-utils/README.md file (@caspero-62)
    • #8651 Update build script deployment URL (@StenAL)
  • cra-template-typescript, cra-template
    • #9241 Updated README.md Templates to Follow ESLint Markdown Rules (@firehawk09)
    • #8406 Upgrade testing-library packages (@gnapse)
  • react-scripts
    • #9244 Explain how to uninstall create-react-app globally (@nickmccurdy)
    • #8838 Support devDependencies in templates (@mrmckeb)
  • cra-template-typescript, cra-template, react-dev-utils, react-scripts
    • #8957 Move shortlinks to cra.link (@iansu)
  • babel-preset-react-app
    • #5847 Include absoluteRuntime in babel preset docs (@iddan)

🏠 Internal

  • eslint-config-react-app
    • #9670 fix(eslint-config-react-app): Make eslint-plugin-jest an optional peerDependency (@MichaelDeBoey)
  • Other
    • #9258 fix: Fix azure-pipelines’ endOfLine (@MichaelDeBoey)
    • #9102 Replace Spectrum links with GitHub Discussions (@iansu)
    • #8656 Bump acorn from 6.4.0 to 6.4.1 in /docusaurus/website (@dependabot[bot])
    • #8749 Specify what files are served form a bare local copy (@challet)
  • cra-template-typescript, cra-template
    • #9252 feat: Update testing-library dependencies to latest (@MichaelDeBoey)
  • react-dev-utils
    • #9059 clean formatMessage usage (@chenxsan)
  • cra-template
    • #7787 Bump version of Verdaccio (@ianschmitz)
  • babel-preset-react-app
    • #8858 Remove outdated comment (@availchet)
  • react-scripts
    • #8952 fix react-refresh babel plugin not applied (@tanhauhau)

🔨 Underlying Tools

  • react-scripts
    • #9865 Pass JSX runtime setting to Babel preset in Jest config (@iansu)
    • #9841 Bump resolve-url-loader version (@johannespfeiffer)
    • #9348 Upgrade refresh plugin (@ianschmitz)
    • #8891 Bump style-loader to 1.2.1 (@chybisov)
  • react-error-overlay, react-scripts
    • #9863 Upgrade to React 17 (@iansu)
    • #9856 feat: Update ESLint dependencies (@MichaelDeBoey)
  • babel-plugin-named-asset-import, babel-preset-react-app, confusing-browser-globals, cra-template-typescript, cra-template, create-react-app, eslint-config-react-app, react-app-polyfill, react-error-overlay, react-scripts
    • #9857 feat: Update all dependencies (@MichaelDeBoey)
  • eslint-config-react-app, react-dev-utils, react-scripts
    • #9751 Replace deprecated eslint-loader by eslint-webpack-plugin (@tooppaaa)
  • babel-plugin-named-asset-import, babel-preset-react-app, confusing-browser-globals, cra-template-typescript, cra-template, create-react-app, eslint-config-react-app, react-dev-utils, react-error-overlay, react-scripts
    • #9639 Upgrade dependencies (@ianschmitz)
  • eslint-config-react-app, react-error-overlay, react-scripts
    • #9434 feat: Update ESLint dependencies (@MichaelDeBoey)
    • #9251 feat: Update ESLint dependencies (@MichaelDeBoey)
    • #8978 Support ESLint 7.x (@MichaelDeBoey)
  • cra-template-typescript, cra-template
    • #9526 Update template dependencies to latest version (@MichaelDeBoey)
    • #8406 Upgrade testing-library packages (@gnapse)
  • react-app-polyfill
    • #9392 Upgrade whatwg-fetch (@Lapz)
  • react-dev-utils
    • #8933 Bump immer version (@staff0rd)
  • babel-plugin-named-asset-import, babel-preset-react-app, confusing-browser-globals, create-react-app, react-dev-utils, react-error-overlay, react-scripts
    • #9317 Upgrade dependencies (@ianschmitz)
  • babel-preset-react-app, cra-template-typescript, cra-template, create-react-app, react-dev-utils, react-error-overlay, react-scripts
    • #9196 Upgrade dependencies (@ianschmitz)
    • #9132 Upgrade dependencies (@ianschmitz)
  • babel-plugin-named-asset-import, confusing-browser-globals, create-react-app, react-dev-utils, react-error-overlay, react-scripts
    • #8955 Upgrade to Jest 26 (@ianschmitz)
  • babel-preset-react-app, create-react-app, react-dev-utils, react-error-overlay, react-scripts
    • #9081 Update packages (@ianschmitz)
    • #8947 Minor/patch dependency upgrades (@ianschmitz)
  • babel-plugin-named-asset-import, babel-preset-react-app, create-react-app, react-app-polyfill, react-dev-utils, react-error-overlay, react-scripts
    • #8950 Dependency major version upgrades (@ianschmitz)
  • eslint-config-react-app, react-scripts
    • #8939 Bump React Hooks ESLint plugin to 4.0.0 (@gaearon)
  • babel-plugin-named-asset-import, babel-preset-react-app, confusing-browser-globals, cra-template-typescript, react-dev-utils, react-error-overlay, react-scripts
    • #8362 Upgrade to Jest 25 (@skovhus)

Committers: 63

  • Adam Charron (@charrondev)
  • Alex Krolick (@alexkrolick)
  • Alexey Pyltsyn (@lex111)
  • Andrey Sitnik (@ai)
  • Andy C (@andycanderson)
  • Anuraag Agrawal (@anuraaga)
  • Braedon Gough (@braedongough)
  • Brian Morearty (@BMorearty)
  • Brody McKee (@mrmckeb)
  • Burke Holland (@burkeholland)
  • Chetanya Kandhari (@availchet)
  • Clément DUNGLER (@tooppaaa)
  • Clément Hallet (@challet)
  • Cory House (@coryhouse)
  • Dan Abramov (@gaearon)
  • Dylan Brookes (@merelinguist)
  • Ernesto García (@gnapse)
  • Eugene Chybisov (@chybisov)
  • Evan Kennedy (@evankennedy)
  • Gerrit Alex (@ljosberinn)
  • Hieu Do (@hieuxlu)
  • Hongbo Miao (@Hongbo-Miao)
  • Houssein Djirdeh (@housseindjirdeh)
  • Huáng Jùnliàng (@JLHwung)
  • Ian Schmitz (@ianschmitz)
  • Ian Sutherland (@iansu)
  • Iddan Aaronsohn (@iddan)
  • Jakob Krigovsky (@sonicdoe)
  • Jeffrey Posnick (@jeffposnick)
  • Jeremy Wadsack (@jeremywadsack)
  • Jeroen Claassens (@Favna)
  • Joe Haddad (@Timer)
  • Johannes Pfeiffer (@johannespfeiffer)
  • Josemaria Nriagu (@josenriagu)
  • Kenneth Skovhus (@skovhus)
  • Kirill Korolyov (@Dremora)
  • Kline Moralee (@klinem)
  • Lenard Pratt (@Lapz)
  • Liam Duffy (@liamness)
  • Maaz Syed Adeeb (@maazadeeb)
  • Marc Hassan (@mhassan1)
  • Matt Korostoff (@MKorostoff)
  • Michael Mok (@pmmmwh)
  • Michael Schmidt-Voigt (@M165437)
  • Michaël De Boey (@MichaelDeBoey)
  • Minh Nguyen (@NMinhNguyen)
  • Mostafa Nawara (@MostafaNawara)
  • Nick McCurdy (@nickmccurdy)
  • Rafael Quijada (@firehawk09)
  • Raihan Nismara (@raihan71)
  • Sakito Mukai (@sakito21)
  • Sam Chen (@chenxsan)
  • Sam Saccone (@samccone)
  • Sebastian Markbåge (@sebmarkbage)
  • Shakib Hossain (@shakib609)
  • Simen Bekkhus (@SimenB)
  • Stafford Williams (@staff0rd)
  • Sten Arthur Laane (@StenAL)
  • Tan Li Hau (@tanhauhau)
  • Timothy (@timothyis)
  • Tobias Büschel (@tobiasbueschel)
  • Webdot_30 (@caspero-62)
  • @atlanteh

3.0.0 (April 22, 2019)

Create React App 3.0 brings some exciting new features including support for Hooks!

Thanks to all the maintainers and contributors who worked so hard on this release! 🎉

Highlights

  • Jest 24: #6278
  • Hooks support: #5997
  • TypeScript linting: #6513
  • browserslist support in @babel/preset-env: #6608
  • Absolute imports using jsconfig.json/tsconfig.json: #6656

Migrating from 2.1.x to 3.0.0

Inside any created project that has not been ejected, run:

npm install --save --save-exact react-scripts@3.0.0

or

yarn add --exact react-scripts@3.0.0

If you previously ejected but now want to upgrade, one common solution is to find the commits where you ejected (and any subsequent commits changing the configuration), revert them, upgrade, and later optionally eject again. It’s also possible that the feature you ejected for is now supported out of the box.

Breaking Changes

Like any major release, react-scripts@3.0.0 contains a few breaking changes. We expect that they won’t affect every user, but we recommend you look over this section to see if something is relevant to you. If we missed something, please file a new issue.

Jest 24

We’ve updated from Jest 23 to get the latest improvements in Jest 24. We’ve noticed some differences in snapshot serialization in Jest 24, so you may need to adjust your tests slightly once you update. You can read more about what’s changed in the Jest 24 blog post.

Hooks support

We now enforce Rules of Hooks with eslint-plugin-react-hooks. If you are breaking any of the rules of Hooks this will cause your build to fail.

TypeScript linting

We now lint TypeScript files. You can see the list of rules we enforce to check if your project is compatible. If you’re using Visual Studio Code you can follow our guide to setup up your editor to display lint warnings.

browserslist support in @babel/preset-env

The browserslist config in your package.json is now used to control the output of your JavaScript files. You can use separate configuration for development and production. See here for a good starting point which gives a good development experience, especially when using language features such as async/await, but still provides high compatibility with many browsers in production

Remove —no-watch flag

We’ve removed the --no-watch flag from the start script in favor of Jest’s own --watchAll=false.

New structure in asset-manifest.json

All asset paths have been moved under the files key in asset-manifest.json.

New Features
using jsconfig.json/tsconfig.json

We now support setting baseUrl in jsconfig.json and tsconfig.json. To configure baseUrl to point to the src directory in your JavaScript project, create a jsconfig.json file in your project root:

```json
{
  "compilerOptions": {
    "baseUrl": "src"
  },
  "include": ["src"]
}
```

If you have a TypeScript project you can configure baseUrl the same way in your tsconfig.json.

Currently the only supported options for baseUrl are node_modules (the default) and src.

PostCSS Normalize

You can now include a version of Normalize.css in your project that will use your browserslist setting to generate the appropriate styles for your target browsers. To include it simply add @import-normalize at the top of one of your CSS files.

Detailed Changelog
🚀 New Feature

  • react-scripts
    • #6656 Set baseUrl from jsconfig.json/tsconfig.json (@rovansteen)
    • #5810 Adds PostCSS Normalize (@mrchief)
  • babel-plugin-named-asset-import, confusing-browser-globals, react-dev-utils, react-error-overlay, react-scripts
    • #6278 Update to Jest 24 (@loryman)
  • eslint-config-react-app, react-scripts
    • #6513 Add TypeScript linting support (@ianschmitz)
  • babel-preset-react-app, eslint-config-react-app, react-scripts
    • #5997 Support React Hooks (#5602) (@eivind88)
  • babel-preset-react-app, react-dev-utils, react-scripts
    • #6608 Support browserslist in @babel/preset-env (@ianschmitz)

💥 Breaking Change

  • react-scripts
    • #6848 Remove no-watch flag in favor of watchAll=false (@bugzpodder)
    • #6821 Add custom function to generate asset manifest (@iansu)
    • #6750 change NODE_ENV and PUBLIC_URL into readonly (@xiaoxiangmoe)
    • #4176 Remove —coverage + —watch workaround for the test command (@stipsan)
    • #6615 Allow .json type checking (@ianschmitz)
    • #6821 Add custom function to generate asset manifest (@iansu)
  • babel-preset-react-app, react-app-polyfill
    • #6769 Update to core-js@3 (@ianschmitz)
  • babel-plugin-named-asset-import, confusing-browser-globals, react-dev-utils, react-error-overlay, react-scripts
    • #6278 Update to Jest 24 (@loryman)
  • eslint-config-react-app, react-scripts
    • #6513 Add TypeScript linting support (@ianschmitz)
  • babel-preset-react-app, eslint-config-react-app, react-scripts
    • #5997 Support React Hooks (#5602) (@eivind88)
  • babel-preset-react-app, react-dev-utils, react-scripts
    • #6608 Support browserslist in @babel/preset-env (@ianschmitz)

🐛 Bug Fix

  • react-dev-utils
    • #6735 InlineChunkHtmlPlugin works with empty publicPath (@ItalyPaleAle)
  • react-scripts
    • #6732 fix: terser-webpack-plugin hanging on WSL (@endiliey)
    • #6610 Convert JSON.stringify n to os.EOL (@MikeBeaton)
  • create-react-app
    • #6759 Fix unlogged yarn pnp message (@heyimalex)

💅 Enhancement

  • react-scripts
    • #6845 Change CRA version in react-scripts eject warning. (@lffg)
    • #6821 Add custom function to generate asset manifest (@iansu)
    • #6580 Fix react-scripts peer-deps link local issue (@transitive-bullshit)
    • #6746 Replace deprecated SFC with FunctionComponent in react-app.d.ts (@iamandrewluca)
    • #6160 Suggests that tsconfig.json is incorrect only when SyntaxError is caught (@Andarist)
    • #6696 Enable futureEmitAssets in webpack config (@iansu)
    • #6669 Remove unnecessary shrink-to-fit=no meta data (@abdelrahmanrifai)
    • #5686 Add empty mock for http2 (@kjin)
    • #5960 add command to add files to staging after eject (@clickclickonsal)
    • #6615 Allow .json type checking (@ianschmitz)
    • #6451 change class component to function component (@xiaoxiangmoe)
  • babel-plugin-named-asset-import, babel-preset-react-app, confusing-browser-globals, create-react-app, eslint-config-react-app, react-app-polyfill, react-dev-utils, react-error-overlay, react-scripts
    • #6826 Add directory details to packages/* package.json (@feelepxyz)
  • babel-preset-react-app, react-app-polyfill
    • #6769 Update to core-js@3 (@ianschmitz)
  • create-react-app
    • #6770 Warn when using react-scripts-ts (@ianschmitz)
  • react-dev-utils
    • #5821 Add wait: false to options object for opn (@evalexpr)
    • #6502 Enable click to go to error in console part 2! (@johnnyreilly)

📝 Documentation

  • Other
    • #6847 Add baseUrl documentation (@ianschmitz)
    • #6801 Copy fixes in adding Bootstrap docs (@panckreous)
    • #6820 Fix docs about minimum React version for SVG component support (@iansu)
    • #6817 Add link to TypeScript page in Getting Started (@ianschmitz)
    • #6786 Clarify production build output files documentation (@bakuzan)
    • #6783 Add SVG support dependency note (@pnarielwala)
    • #6772 Update link to React Testing Library docs (@fjoshuajr)
    • #6695 Add Render deployment section (@anurag)
    • #6082 Add explanation for adding everything as dependencies to docs (@mikeattara)
    • #5481 Document .graphql and .gql file loading with graphql.macro (@petetnt)
    • #6491 Update advanced-configuration.md (@stephengodderidge)
    • #6208 Add deployment instructions with AWS Amplify (@swaminator)
    • #6374 Add note about npx caching and link to #6119 (@TaylorBriggs)
    • #6386 Revert removal of newlines from html in docs (@JBallin)
  • react-scripts
    • #6848 Remove no-watch flag in favor of watchAll=false (@bugzpodder)
    • #6775 Fix code comment typo (@bestseob93)

🏠 Internal

  • Other
    • #6829 Upgrade to Lerna v3 (@iansu)
    • #6762 Add temporary workaround for Babel dependency issues in kitchensink-eject test suite (@iansu)
    • #6757 Add temporary workaround for Babel dependency issues in installs test suite (@iansu)
    • #6700 Kill verdaccio in CI tasks cleanup (@santoshyadav198613)
    • #6690 Remove duplicate url key in siteConfig (@charpeni)
  • react-scripts
    • #6313 Update testMatch to also be compatible with Jest 24 (@ngbrown)
    • #4176 Remove —coverage + —watch workaround for the test command (@stipsan)
    • #6655 Change app component declaration from arrow function to regular function (@iansu)
    • #6625 change named import into default import (@xiaoxiangmoe)
    • #6621 make compiler a const not a let (@Primajin)
  • babel-plugin-named-asset-import, confusing-browser-globals, react-dev-utils, react-error-overlay, react-scripts
    • #6654 Cleanup Jest config (@ianschmitz)
  • react-dev-utils
    • #6674 Remove unused eslint comment (@mohitsinghs)
  • eslint-config-react-app
    • #6662 Sync version of babel-eslint in eslint-config-react-app for react-scripts V3 (@dalcib)

🔨 Underlying Tools

  • react-scripts
    • #6843 Update fsevents dependency version (@FrancoisRmn)
    • #6725 Update to workbox-webpack-plugin v4 (@r0ughnex)
    • #6361 Updating html-webpack-plugin dep (@Aftabnack)
    • #6483 Update webpack-dev-server to 3.2.1 (@ThePrez)
  • babel-plugin-named-asset-import, babel-preset-react-app, confusing-browser-globals, create-react-app, eslint-config-react-app, react-app-polyfill, react-dev-utils, react-error-overlay, react-scripts
    • #6840 Relax ESLint version range (@ianschmitz)
  • babel-preset-react-app
    • #6780 Remove unused babel-loader from babel-preset-react-app (@tlrobinson)
  • babel-preset-react-app, react-dev-utils, react-error-overlay, react-scripts
    • #6767 Update dependency versions (@ianschmitz)
  • react-dev-utils
    • #6739 Update fork-ts-checker-webpack-plugin out of alpha (@pelotom)
  • eslint-config-react-app
    • #6701 Remove project property from @typescript-eslint/parser options (@jackwilsdon)
  • eslint-config-react-app, react-scripts
    • #6653 Unpin eslint-config-react-hooks dependency (@iansu)
  • babel-preset-react-app, eslint-config-react-app, react-scripts
    • #5997 Support React Hooks (#5602) (@eivind88)
  • babel-preset-react-app, create-react-app, react-app-polyfill, react-dev-utils, react-error-overlay, react-scripts
    • #6614 Upgrade dependencies (@ianschmitz)

Committers: 49

  • Abdelrahman Rifai (@abdelrahmanrifai)
  • Aftab Khan (@Aftabnack)
  • Alessandro (Ale) Segala (@ItalyPaleAle)
  • Alex Guerra (@heyimalex)
  • Andrew Luca (@iamandrewluca)
  • Anurag Goel (@anurag)
  • Cody Olsen (@stipsan)
  • Dalci de Jesus Bagolin (@dalcib)
  • Dan (@panckreous)
  • Eivind Arvesen (@eivind88)
  • Endilie Yacop Sucipto (@endiliey)
  • Francisco Joshua (@fjoshuajr)
  • Hrusikesh Panda (@mrchief)
  • Ian Schmitz (@ianschmitz)
  • Ian Sutherland (@iansu)
  • JBallin (@JBallin)
  • Jack Wilsdon (@jackwilsdon)
  • Jack Zhao (@bugzpodder)
  • Jannis Hell (@Primajin)
  • John Reilly (@johnnyreilly)
  • Kelvin Jin (@kjin)
  • Lorenzo Rapetti (@loryman)
  • Luiz Felipe Gonçalves (@lffg)
  • Mateusz Burzyński (@Andarist)
  • Mike Beaton (@MikeBeaton)
  • Mike Perry Y Attara (@mikeattara)
  • Mohit Singh (@mohitsinghs)
  • Nathan Brown (@ngbrown)
  • Nicolas Charpentier (@charpeni)
  • Nikhil Swaminathan (@swaminator)
  • Parth Narielwala (@pnarielwala)
  • Pete Nykänen (@petetnt)
  • Philip Harrison (@feelepxyz)
  • Pradeep Sekar (@r0ughnex)
  • Raphael.dev (@bestseob93)
  • Robert van Steen (@rovansteen)
  • Romain François (@FrancoisRmn)
  • Salvador Hernandez (@clickclickonsal)
  • Santosh Yadav (@santoshyadav198613)
  • Stephen Godderidge (@stephengodderidge)
  • Taylor Briggs (@TaylorBriggs)
  • Tom Crockett (@pelotom)
  • Tom Robinson (@tlrobinson)
  • Travis Fischer (@transitive-bullshit)
  • Wilkins (@evalexpr)
  • ZHAO Jinxiang (@xiaoxiangmoe)
  • @ThePrez
  • @bakuzan
  • @frederikhors

1.0.10 (June 29, 2017)
🐛 Bug Fix

  • react-dev-utils

    • #2692 Fix IE11 crash in development. (@pdhoopr)
  • create-react-app

    • #2683 Fix a typo. (@BenBrostoff)

📝 Documentation

  • README

    • #2402 Added gluestick to the alternatives section. (@JoeCortopassi)

Committers: 5

  • Ben Brostoff (BenBrostoff)
  • Forbes Lindesay (ForbesLindesay)
  • Joe Haddad (Timer)
  • Patrick Hooper (pdhoopr)
  • JoeCortopassi

Migrating from 1.0.9 to 1.0.10

Inside any created project that has not been ejected, run:

npm install --save --save-exact react-scripts@1.0.10

or

yarn add --exact react-scripts@1.0.10

1.0.9 (June 29, 2017)
🐛 Bug Fix

  • react-scripts

    • #2680 Fix external CSS imports. (@gaearon)

📝 Documentation

  • react-scripts

    • #2679 Fix minor typo. (@dbanck)
    • #2666 Add more info about Apache client side routing. (@viankakrisna)
    • #2671 Add JSON and CSS to Prettier instructions. (@jbovenschen)

🏠 Internal

  • Other

    • #2673 Bootstrap with Yarn. (@Timer)
    • #2659 Test Node 8 on Travis. (@gaearon)

Committers: 5

  • Ade Viankakrisna Fadlil (viankakrisna)
  • Dan Abramov (gaearon)
  • Daniel Banck (dbanck)
  • Jaco Bovenschen (jbovenschen)
  • Joe Haddad (Timer)

Migrating from 1.0.8 to 1.0.9

Inside any created project that has not been ejected, run:

npm install --save --save-exact react-scripts@1.0.9

or

yarn add --exact react-scripts@1.0.9

1.0.8 (June 28, 2017)
🐛 Bug Fix

  • react-scripts

    • #2550 Fix Node 8 compatibility. (@josephfrazier)
    • #2610 Fix sourcemap directory organization on Windows. (@plusCubed)
    • #2596 Fix an issue with minifying emojis. (@viankakrisna)
    • #2501 Fix incorrect check if CI variable is set to true. (@varnav)
    • #2432 In new projects, don’t register service worker for projects using PUBLIC_URL for CDN. (@jeffposnick)
    • #2470 In new projects, prioritize index.css over App.css. (@bryankang)
  • react-dev-utils

    • #2405 Fix detection of parent directory in ModuleScopePlugin. (@diligiant)
    • #2562 Fix eject command output. (@paweljedrzejczyk)

💅 Enhancement

  • react-scripts

    • #2648 Warn about large bundle sizes. (@gaearon)
    • #2511 Support .web.js extension for React Native Web. (@mini-eggs)
    • #2645 Hide confusing «Skipping static resource» message. (@gaearon)
    • #2389 Silence unnecessary warning from Babel. (@gaearon)
    • #2429 Update sw-precache-webpack-plugin to lastest version. (@goldhand)
    • #2600 Add empty mock for dgram Node module. (@micopiira)
    • #2458 Add names to module factories in development. (@Zaccc123)
    • #2551 In new projects, unregister service worker and force reload if service-worker.js is not found. (@ro-savage)
  • babel-preset-react-app, react-dev-utils, react-scripts

    • #2658 Bump dependencies. (@gaearon)
  • create-react-app, react-scripts

    • #2657 Put react-scripts in dependencies, not devDependencies. (@gaearon)
    • #2635 Silence unhelpful npm warnings. (@gaearon)
  • react-dev-utils

    • #2637 Auto-detect Brackets editor from error overlay. (@petetnt)
    • #2552 Auto-detect running editor on Windows for error overlay. (@levrik)
    • #2622 Support opening PhpStorm for error overlay. (@miraage)
    • #2414 Support opening WebStorm 2017+ from error overlay. (@wirmar)
    • #2518 Warn when trying to run on port below 1024 without admin permissions under Linux/macOS. (@levrik)
    • #2385 Suggest just yarn build in output. (@gaearon)
  • create-react-app

    • #1945 Fix grammar in CLI output. (@ColinEberhardt)

📝 Documentation

  • User Guide

    • #2662 Local testing docker links. (@EnoahNetzach)
    • #2660 Minor code style edits to user guide. (@gaearon)
    • #2656 Don’t ask to install webpack for using Styleguidist. (@gaearon)
    • #1641 Add instructions to use source-map-explorer. (@gr33nfury)
    • #2044 Add React Styleguidist. (@sapegin)
    • #2006 Added instruction on how to install Prettier. (@MrHus)
    • #1813 Fix grammar. (@iheng)
    • #2060 Add more info about OOM build failiure [docs]. (@GAumala)
    • #2305 Update docs with WebSocket proxy information. (@jamesblight)
    • #2445 Document REACT_EDITOR environment variable. (@wirmar)
    • #2362 Add yarn example under «Installing a Dependency». (@BrianDGLS)
    • #2423 Add docs for setting up CircleCI for CRA. (@knowbody)
    • #2427 Added link to tutorial on code splitting. (@jayair)
    • #2447 Fix wrong comment on Proxy guide. (@hellowin)
    • #2538 Fix broken link to a tutorial. (@romanyanke)
    • #2522 Flow init to run as command not flag. (@khanglu)
    • #2521 Fix broken link to Storybook docs. (@shilman)
    • #2500 Fix minor typo. (@AlexxNica)
    • #2331 Re-add storybook && update the documentation and links. (@ndelangen)
    • #2454 Update Travis CI Node versions in User Guide. (@ryansully)
    • #2420 Fix typo. (@ruskakimov)
    • #2392 Update jest-enzyme section. (@luftywiranda13)
  • README

    • #2517 Add Razzle to the alternatives. (@kireerik)
    • #1931 Updated README. (@shaunwallace)
    • #2492 Update webpack links to point to webpack 2. (@laruiss)

🏠 Internal

  • Other

    • #2465 Update Prettier to v1. (@ianschmitz)
    • #2489 chore(templates): Move GitHub templates to hidden .github folder. (@glennreyes)
    • #2400 Added cache clear to e2e scripts. (@ro-savage)
    • #2397 Fix command in e2e-kitchensink.sh cleanup. (@ro-savage)
    • #2388 Fix wrong path expansion in end-to-end test. (@gaearon)
    • #2387 Catch «No tests found» during CI. (@EnoahNetzach)
  • react-scripts

    • #2408 E2E testing enhancements. (@EnoahNetzach)
    • #2430 Remove an unnecessary webpack option. (@andykenward)
  • react-dev-utils

    • #2483 Remove a scoped package dependency. (@Timer)

Committers: 46

  • Ade Viankakrisna Fadlil (viankakrisna)
  • Alexandre Nicastro (AlexxNica)
  • Andi N. Dirgantara (hellowin)
  • Andy Kenward (andykenward)
  • Artem Sapegin (sapegin)
  • Ashton (ashtonsix)
  • Brian Douglas (BrianDGLS)
  • Colin Eberhardt (ColinEberhardt)
  • Colin Galindo (gr33nfury)
  • Dan Abramov (gaearon)
  • Daniel Ciao (plusCubed)
  • Erik Engi (kireerik)
  • Evan Jones (mini-eggs)
  • Fabrizio Castellarin (EnoahNetzach)
  • Frédéric Miserey (diligiant)
  • Gabriel Aumala (GAumala)
  • Glenn Reyes (glennreyes)
  • Heng Li (iheng)
  • Ian Schmitz (ianschmitz)
  • James Blight (jamesblight)
  • Jay V (jayair)
  • Jeffrey Posnick (jeffposnick)
  • Joe Haddad (Timer)
  • Joseph Frazier (josephfrazier)
  • Khang Lu (khanglu)
  • Levin Rickert (levrik)
  • Lufty Wiranda (luftywiranda13)
  • Maarten Hus (MrHus)
  • Marius Wirtherle (wirmar)
  • Mateusz Zatorski (knowbody)
  • Michael Shilman (shilman)
  • Mico Piira (micopiira)
  • Mikhail Osher (miraage)
  • Norbert de Langen (ndelangen)
  • Paweł Jędrzejczyk (paweljedrzejczyk)
  • Pete Nykänen (petetnt)
  • Ro Savage (ro-savage)
  • Roman (romanyanke)
  • Rustem Kakimov (ruskakimov)
  • Ryan Sullivan (ryansully)
  • Stanislas Ormières (laruiss)
  • Will Farley (goldhand)
  • Zac Kwan (Zaccc123)
  • bryankang
  • varnav
  • shaun wallace (shaunwallace)

Migrating from 1.0.7 to 1.0.8

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@1.0.8

or

yarn add --dev --exact react-scripts@1.0.8

You may optionally then move react-scripts from devDependencies to dependencies since that’s how we’ll structure newly created projects. It is not necessary though.

If you previously used HTTPS=true environment variable in development, make sure you aren’t affected by a now-fixed vulnerability in Webpack by visiting this page. You can read more about the vulnerability here.

If you left the service worker integration enabled and didn’t change how it works, you can replace src/registerServiceWorker.js with this updated version.

If you haven’t changed the default CSS organization, you may want to apply this fix that makes index.css take precedence over App.css in your project.

1.0.7 (May 27, 2017)
🐛 Bug Fix

  • react-scripts

    • #2382 Consistently set environment variables. (@gaearon)
    • #2379 Temporarily disable comparisons feature in uglify compression. (@davidascher)

💅 Enhancement

  • react-scripts

    • #2383 Update webpack to 2.6.1. (@gaearon)
    • #2349 Update webpack to v2.6.0. (@ingro)
    • #2351 Removed the overriding of reduce_vars since webpack v2.6.0 included fix of Uglify. (@Zaccc123)
  • react-dev-utils, react-scripts

    • #2361 Print file sizes with correct build folder path. (@fezhengjin)

📝 Documentation

  • react-scripts

    • #2372 Update README.md for now deployments. (@purplecones)
    • #2350 Fix broken links. (@gaearon)

Committers: 6

  • Dan Abramov (gaearon)
  • David Ascher (davidascher)
  • Emanuele Ingrosso (ingro)
  • Jin Zheng (fezhengjin)
  • Mirza Joldic (purplecones)
  • Zac Kwan (Zaccc123)

Migrating from 1.0.6 to 1.0.7

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@1.0.7

or

yarn add --dev --exact react-scripts@1.0.7

1.0.6 (May 24, 2017)
🐛 Bug Fix

  • eslint-config-react-app, react-error-overlay, react-scripts

    • #2346 Resolve Flow errors in an ESLint plugin. (@iainbeeston)
  • react-dev-utils

    • #2332 Fix proxying issues with backends that don’t support IPv6. (@Timer)

💅 Enhancement

  • react-scripts

    • #2347 Don’t precache /__* URLs to fix Firebase hosting. (@ryansully)

📝 Documentation

  • README

    • #2334 Add missing files to the list. (@jesselpalmer)

Committers: 4

  • Iain Beeston (iainbeeston)
  • Jesse Palmer (jesselpalmer)
  • Joe Haddad (Timer)
  • Ryan Sullivan (ryansully)

Migrating from 1.0.5 to 1.0.6

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@1.0.6

or

yarn add --dev --exact react-scripts@1.0.6

1.0.5 (May 22, 2017)
🐛 Bug Fix

  • react-dev-utils, react-scripts

    • #2326 Files in public/ folder should not be requested through proxy. (@gaearon)

💅 Enhancement

  • react-dev-utils

    • #2327 Limit console warnings to 5 files at most. (@gaearon)
  • eslint-config-react-app

    • #2325 Allow declaring variables before use in a scope above. (@gaearon)

🏠 Internal

  • react-dev-utils, react-scripts

    • #2320 Remove unnecessary dependencies. (@pmadar)

Committers: 2

  • Dan Abramov (gaearon)
  • Pavol Madar (pmadar)

Migrating from 1.0.4 to 1.0.5

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@1.0.5

or

yarn add --dev --exact react-scripts@1.0.5

1.0.4 (May 22, 2017)
🐛 Bug Fix

  • react-error-overlay
    • Fix a regression in published package.

Migrating from 1.0.3 to 1.0.4

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@1.0.4

or

yarn add --dev --exact react-scripts@1.0.4

1.0.3 (May 21, 2017)
🐛 Bug Fix

  • react-dev-utils

    • #2297 Don’t serve the development version from public IPs by default. (@Timer)
  • eslint-config-react-app

    • #2311 Disable flowtype/require-valid-file-annotation lint rule due to false positives. (@Robdel12)
  • react-dev-utils, react-error-overlay

    • #2301 Wrap more console calls into a check. (@BrodaNoel)
  • react-scripts

    • #2314 Fix a «File not found» false positive. (@gaearon)

Committers: 4

  • Broda Noel (BrodaNoel)
  • Dan Abramov (gaearon)
  • Joe Haddad (Timer)
  • Robert DeLuca (Robdel12)

Migrating from 1.0.2 to 1.0.3

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@1.0.3

or

yarn add --dev --exact react-scripts@1.0.3

1.0.2 (May 20, 2017)
🐛 Bug Fix

  • react-dev-utils, react-scripts

    • #2276 Serve a no-op service worker in development to ensure it doesn’t cache the production build even if it was served on the same port. (@jeffposnick)
  • react-dev-utils, react-error-overlay

    • #2290 Wrap console calls into a check for IE9. (@gaearon)
  • react-dev-utils

    • #2282 Add Windows Subsystem for Linux support to the error overlay. (@noinkling)
    • #2269 Fix a missing package dependency. (@GreenGremlin)

💅 Enhancement

  • react-scripts

    • #2221 Ejecting should ensure you have clean git status. (@milocosmopolitan)
    • #2288 Only enable host check if you use proxy, and add a way to opt out of it. (@gaearon)

🏠 Internal

  • react-dev-utils, react-scripts

    • #2283 Remove unnecessary dependencies(#751). (@pmadar)

Committers: 6

  • Dan Abramov (gaearon)
  • Jeffrey Posnick (jeffposnick)
  • Jonathan (GreenGremlin)
  • Malcolm (noinkling)
  • Milo Kang (milocosmopolitan)
  • pmadar

Migrating from 1.0.1 to 1.0.2

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@1.0.2

or

yarn add --dev --exact react-scripts@1.0.2

If you previously had issues with an Invalid Host Header error, follow these new instructions to fix it.

1.0.1 (May 19, 2017)
🐛 Bug Fix

  • react-scripts

    • #2242 Fix NODE_PATH=src for npm start and npm run build. (@ApacheEx)
    • #2261 Fix NODE_PATH=src for Jest. (@gaearon)
    • #2255 Fix Windows path issue for generated service worker. (@gaearon)
    • #2262 Additional fix to service worker config for "homepage" field. (@gaearon)
    • #2250 Ignore .env.local in test environment. (@gaearon)
    • #2246 Gracefully shut down the development server on signals. (@gaearon)
  • react-dev-utils

    • #2229 Show customized build path for serve instruction. (@chyipin)
  • react-dev-utils, react-error-overlay

    • #2243 Add missing package dependency. (@Timer)
  • react-error-overlay

    • #2238 Fix a crash when switching errors with arrow keys. (@Gandem)

💅 Enhancement

  • eslint-config-react-app

    • #2256 Turn off operator-assignment stylistic rule. (@gaearon)
  • react-scripts

    • #2224 Add <noscript> to template’s index.html. (@viankakrisna)

📝 Documentation

  • react-scripts

    • #2259 Fix broken links. (@enguerran)
    • #2258 Update readme with example of Sass include path. (@kellyrmilligan)
    • #2252 Hide React Storybook from the User Guide while it’s incompatible. (@gaearon)
    • #2247 Correct docs on which .env.* files are supported. (@AJamesPhillips)

🏠 Internal

  • react-scripts

    • #2264 Fix a bug for empty NODE_PATH. (@gaearon)

Committers: 9

  • Ade Viankakrisna Fadlil (viankakrisna)
  • Alexander James Phillips (AJamesPhillips)
  • Dan Abramov (gaearon)
  • Enguerran (enguerran)
  • Joe Haddad (Timer)
  • Kelly (kellyrmilligan)
  • Nayef Ghattas (Gandem)
  • Oleg Kuzava (ApacheEx)
  • chyipin

Migrating from 1.0.0 to 1.0.1

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@1.0.1

or

yarn add --dev --exact react-scripts@1.0.1

1.0.0 (May 18, 2017)

We’ve been working on this release for the past few months, and there are many big impovements, from migrating to webpack 2 to a brand new runtime error overlay and built-in support for Progressive Web Apps.

So instead of just enumerating them here, we decided to write a blog post about all the new features.

Check it out: What’s New in Create React App.

Have you read it? Now let’s see how to update your app to the latest version.

Migrating from 0.9.5 to 1.0.0

First, ensure you are using the latest Node 6 LTS or newer. In 1.0.0, we have dropped support for Node 4 and NPM 2.

Inside any created project that has not been ejected, run:

npm install --save-dev --save-exact react-scripts@1.0.0

You may also optionally update the global command-line utility for bug fixes:

npm install -g create-react-app

Ensure application and test files reside in src/

We’ve never supported importing files from outside src/, nor have we supported running tests outside of src/.
We also never explicitly forbid doing so, which caused confusion when things didn’t work like they should.

When running or building your application, you may see a message like so:

You attempted to import ... which falls outside of the project src/ directory.

To remedy this, simply move any files that you import within src/ and update your relative imports accordingly. This enforces that files that import each other stay in src/, and other folders serve different purposes (e.g. the public/ folder just gets served from the root).

If you used relative imports outside the project directory as a way to share code with another project, consider using a monorepo instead, so that other projects are symlinked to your project’s node_modules/. Then you can import them as a Node modules.

While running npm test, you may notice some of your tests are missing. Please move any top-level test directory (i.e. __test__, __spec__) or files (i.e. *.test.js, *.spec.js) into src/. Conversely, if you have some similarly named files that you don’t want Jest to run, move them outside of src/.

Import required locales for Moment.js

Moment.js locales are now purposely excluded from the bundle unless explicitly depended on.

Please import the locales you need:

import moment from 'moment';
import 'moment/locale/fr';
import 'moment/locale/es';

You can no longer import file content

You can no longer import a file and expect to receive its contents as an encoded string.
This behavior was confusing and inconsistent depending on the file size.

Importing files with unknown extensions will now always include them into the build and return a valid URL.

If you’d like to import a file’s contents as a string, consider contributing to #1944.
For the time being, you must embed assets within an export:

// sample.txt
export default `i want
this data as a string
`;

You can then import this as so:

import sampleText from './sample.txt';

// ...

Confusing window globals can no longer be used without window qualifier

Please prefix any global method with window., you may experience this with methods such as confirm.

Simply update references from confirm to window.confirm.

Note that this new lint error will likely uncover legitimate accidental uses of global variables where you meant to define a local variable instead.

Why is my import erroring out?

You can no longer use AMD import syntax, nor define an import anywhere other than the top of the file.

This is to reduce confusion around import statements, which do not allow you to evaluate code between them.

I see many accessibility warnings

We have enabled a new set of rules to help make applications more accessible, please take time to learn about the errors and fix them.

You can search for every lint rule name in the right column and read its description on the web. The fixes are usually very simple.

I see many warnings about PropTypes and createClass

We have enabled the lint warnings about React APIs deprecated in React 15.5.
You can automatically convert your project to fix them by running the corresponding codemods.

How do I make my tests work with Jest 20?

Please refer to the Jest 19 and Jest 20 breaking changes for migration instructions.

If you use snapshots, you will likely need to update them once because of the change in format.

Flexbox 2009 spec is no longer polyfilled

The old, 2009 specification for Flexbox is deprecated and is 2.3x slower than the latest specification.

We are no longer polyfilling it automatically.

I see «Definition for rule ‘jsx-a11y/alt-text’ was not found (jsx-a11y/alt-text)» in the editor

Follow these steps if you see errors about missing lint rules in the editor.

  1. Ensure that in your editor ESLint settings you have «Use Global ESLint» turned off
  2. Run npm install in your project (or yarn)
  3. Quit your editor completely (ensure its process doesn’t hang around)
  4. Start the editor again

If you still have the problem please file an issue.

How to turn my app into a Progressive Web App?

After the regular update procedure above, add these line to <head> in public/index.html:

    <meta name="theme-color" content="#000000">
    <!--
      manifest.json provides metadata used when your web app is added to the
      homescreen on Android. See https://developers.google.com/web/fundamentals/engage-and-retain/web-app-manifest/
    -->
    <link rel="manifest" href="%PUBLIC_URL%/manifest.json">

Then create a file called public/manifest.json that looks like this:

{
  "short_name": "React App",
  "name": "Create React App Sample",
  "icons": [
    {
      "src": "favicon.ico",
      "sizes": "192x192",
      "type": "image/png"
    }
  ],
  "start_url": "./index.html",
  "display": "standalone",
  "theme_color": "#000000",
  "background_color": "#ffffff"
}

Finally, create src/registerServiceWorker.js with this template, import it from src/index.js and call the function it exports.

Anything missing?

This was a large release, and we might have missed something.

Please file an issue and we will try to help.

Some of my tests started crashing because of unhandled rejections

Unhandled Promise rejections will now crash tests. You can fix them by explicitly catching the errors you don’t care about.

Detailed Changelog

For a readable summary of the changes, check out our blog post.

💥 Breaking Change

  • react-dev-utils, react-scripts
    • #2189 Add ModuleScopePlugin to ensure files reside in src/. (@Timer)
  • react-scripts
    • #2187 Ignore Moment.js locales by default. (@gaearon)
    • #1808 Only run tests in src/ (#544). (@motevets)
    • #1771 Some flexbox bugs are autofixed, and support for 2009 spec is dropped. (@cr101)
    • #1614 Upgrade to Jest 19 (now 20). (@rogeliog)
    • #1305 Whitelist files that can be embedded through url-loader. (@pugnascotia)
  • eslint-config-react-app, react-dev-utils
    • #2186 Tweak lint rules. (@gaearon)
  • eslint-config-react-app, react-error-overlay, react-scripts
    • #2163 Upgrade eslint-plugin-jsx-a11y and activate more rules. (@AlmeroSteyn)
  • eslint-config-react-app, react-scripts
    • #2130 Confusing global variables are now blacklisted. (@doshisid)

🚀 New Feature

  • react-scripts
    • #1728 Scaffolded applications are now Progressive Web Apps by default. (@jeffposnick)
    • #1344 Support multiple env configuration files. (@tuchk4)
    • #2168 Enable CSS sourcemaps in production. (@gaearon)
    • #1830 Make subset of Jest options overridable. (@ryansully)
  • react-dev-utils, react-scripts
    • #1101 Add react-error-overlay, our new crash overlay. (@Timer)
    • #1590 Support specifying a node script as BROWSER environment variable. (@GAumala)
    • #1790 Support multiple proxies in development. (@jamesblight)
  • eslint-config-react-app, react-scripts
    • #2163 Upgrade eslint-plugin-jsx-a11y and activate more rules. (@AlmeroSteyn)

🐛 Bug Fix

  • react-scripts
    • #2219 Improve interaction between compile and runtime overlays (@gaearon)
    • #2200 Disable Uglify reduce_vars. (@gaearon)
    • #2166 Support hoisting react-scripts and add require.resolve() to loaders. (@gaearon)
    • #2115 Do not respect .eslintignore. (@Timer)
    • #2063 Ignore yarn cache directory when searching for tests. (@jmorrell)
    • #2050 Name development chunk names. (@herrstucki)
    • #2013 Minify CSS post-webpack 2. (@viankakrisna)
    • #1839 Resolve localhost when offline (Windows). (@bunshar)
    • #1301 Bind to host environment variable. (@GAumala)
    • #1890 Ensure proxy url starts with http:// or https://. (@bunshar)
    • #1861 Upgrade detect-port. (@Andreyco)
    • #1821 Fix default responsive behavior in iOS 9+. (@GreenGremlin)
    • #1819 Makes end-to-end testing crash on unhandled rejections. (@dbismut)
    • #1810 Fixes a silent crash when ejecting. (@gaearon)
    • #1727 Fix ejecting from a scoped fork. (@gaearon)
  • react-dev-utils
    • #2076 openBrowser now supports urls with more than one parameter. (@alisonmonteiro)
    • #1690 Fix openBrowser() when BROWSER=open on macOS. (@bpierre)
    • #1696 Fix an edge-case for people with the username cwd. (@chrisdrackett)
  • create-react-app
    • #1863 Check internet connectivity with lookup instead of resolve. (@kdleijer)
    • #1867 Show package name in CLI. (@mkazantsev)
    • #1706 Properly extract package name for installing a tgz of scoped packages. (@Timer)
    • #1695 Add diagnostic code. (@tgig)
    • #1675 Fix project cleanup on Windows. (@johann-sonntagbauer)
    • #1662 Add project name validation. (@johann-sonntagbauer)
    • #1669 Fix react dependency versions during initial install. (@johann-sonntagbauer)

💅 Enhancement

  • react-dev-utils, react-scripts
    • #2202 Refactor and improve build output. (@gaearon)
    • #2152 Tweak error and warning output. (@gaearon)
    • #1772 Replace prompt function Inquirer.js. (#1767). (@iansu)
    • #1726 Extract generic build functions to react-dev-utils. (@viankakrisna)
  • react-dev-utils, react-error-overlay
    • #2201 Tweak error overlay styles. (@bvaughn)
  • react-scripts
    • #2187 Ignore Moment.js locales by default. (@gaearon)
    • #1771 Adding plugin postcss-flexbugs-fixes and flexbox: ‘no-2009’ to Autoprefixer. (@cr101)
    • #1614 Upgrade to Jest 19 (now 20). (@rogeliog)
    • #1993 Removed redundant UglifyJS options. (@marcofugaro)
    • #1800 Suggest yarn build instead of yarn run build. (@geoffdavis92)
    • #1760 Suggest serve for running in production. (@leo)
    • #1747 Display yarn instead of yarnpkg when creating a new application. (@lpalmes)
    • #1433 Modularise scripts. (@djgrant)
    • #1677 Add X-FORWARDED headers for proxy requests. (@johann-sonntagbauer)
  • eslint-config-react-app, react-dev-utils
    • #2186 Tweak lint rules. (@gaearon)
  • react-error-overlay, react-scripts
    • #2171 Use Jest 20. (@gaearon)
  • babel-preset-react-app, eslint-config-react-app, react-dev-utils, react-error-overlay, react-scripts
    • #2170 Bump dependencies. (@gaearon)
  • eslint-config-react-app
    • #2064 Removing a stylistic lint rule. (@anilreddykatta)
    • #1763 disable ignoring unused vars prefixed with _. (@doshisid)
    • #1989 Relax label rules (Closes #1835). (@anilreddykatta)
    • #1773 Remove ‘guard-for-in’ lint rule. (@spicyj)
  • eslint-config-react-app, react-scripts
    • #2130 Blacklist confusing global variables. (@doshisid)
    • #1542 Bump jsx-a11y version. (@bondz)
    • #1705 Add support for ignoreRestSiblings in no-unused-vars. (@chrisdrackett)
  • react-dev-utils
    • #2125 Only show the first compilation error. (@gaearon)
    • #2120 Omit ESLint warnings when there are ESLint errors. (@gaearon)
    • #2113 Prettify errors and warnings for Webpack 2. (@gaearon)
    • #1842 Modularize and extract crash overlay to iframe. (@Timer)
  • create-react-app
    • #1811 Allow creation of apps in empty Mercurial repos. (@GreenGremlin)
  • Other
    • #1402 Create empty package.json in e2e test (#1401). (@matoilic)

📝 Documentation

  • react-scripts
    • #2193 Fix webpack config typo. (@Justkant)
    • #2137 Remove live-editing since isn’t accurate. (@cesarvarela)
    • #2114 Update Sass README. (@kellyrmilligan)
    • #2081 Fixed link for storybook. (@scottrangerio)
    • #2052 Fix instructions for serving with now. (@davidascher)
    • #2058 Clarify .eslintrc effects. (@luftywiranda13)
    • #2054 Suggest to create .eslintrc for IDE lint plugins. (@gaearon)
    • #2033 Fix Netlify heading level. (@benpickles)
    • #1987 Suggest node-sass alternative. (@michaelwayman)
    • #1988 Update doc server example to work from any directory. (@isramos)
    • #1982 Update information in User Guide for Enzyme dependency. (@josephrace)
    • #1911 Suggest Yarn in HTML template. (@tmos)
    • #1869 User Guide: Removed blockquote from code section, due to markdown conflict. (@stochris)
    • #1756 Add Yarn steps for adding flow. (@zertosh)
    • #1710 Update now.sh deployment instructions. (@replaid)
    • #1717 Add docs for apache’s client side routing setting. (@viankakrisna)
    • #1698 Suggest to use .env for enabling polling mode. (@gaearon)
    • #1687 Fixed missing —recursive flag in first npm run watch-css command. (@mklemme)
    • #1657 Set Chrome userDataDir to be under .vscode folder. (@ryansully)
  • Other
    • #2135 Add note about yarn.lock. (@viankakrisna)
    • #2040 Fix typo. (@tijwelch)
    • #1991 Add folder structure docs for new contributors. (@anilreddykatta)
    • #1962 Add sku to the list of alternatives. (@markdalgleish)
    • #1799 Improve phrasing. (@moniuch)
  • babel-preset-react-app
    • #1787 Update side-effect documentation. (@evenchange4)

🏠 Internal

  • react-scripts
    • #2213 Use some ES6 syntax. (@shashkovdanil)
    • #1913 Add linked modules test. (@Timer)
    • #1736 Fix eject for linked react-scripts. (@tuchk4)
    • #1741 Fix internal linting setup. (@gaearon)
    • #1730 Fix Node 4 e2e tests. (@Timer)
    • #1715 Remove unused url import in Webpack config. (@pd4d10)
    • #1700 Update extract-text-webpack-plugin to stable. (@SimenB)
  • react-dev-utils, react-scripts
    • #2209 Move more logic from react-scripts to react-dev-utils. (@gaearon)
    • #2138 Add custom eslint formatter. (@doshisid)
  • babel-preset-react-app, react-scripts
    • #2175 Resolve regenerator runtime relative to react-scripts. (@gaearon)
    • #1894 Re-disable babel modules transform. (@Timer)
    • #1742 Switch to preset-env. (@Timer)
  • create-react-app, react-dev-utils, react-scripts
    • #1897 Bump minimal Node version to 6. (@ianschmitz)
  • Other
    • #1868 Fix AppVeyor CI. (@darrenscerri)
    • #1825 Added test to check for accidental extraneous dependencies. (@lpalmes)
    • #1876 Fix AppVeyor CI. (@darrenscerri)
    • #1723 Skip AppVeyor CI builds for Markdown changes. (@gaearon)
    • #1707 Add double quotes to escape spaces in paths in e2e. (@viankakrisna)
    • #1688 Pin and upgrade lerna version. (@viankakrisna)
    • #1648 Add appveyor.yml. (@Timer)
  • babel-preset-react-app, create-react-app, eslint-config-react-app, react-dev-utils, react-scripts
    • #1738 Update to modern code style (ES6). (@tuchk4)
  • eslint-config-react-app
    • #1740 Relax ESLint config peerDependency. (@gaearon)
  • eslint-config-react-app, react-dev-utils, react-scripts
    • #1729 Lint internal scripts with eslint:recommended. (@gaearon)
  • react-dev-utils
    • #1724 Don’t use ES6 in a file that should run on Node 4. (@gaearon)

Committers: 66

  • Ade Viankakrisna Fadlil (viankakrisna)
  • Alison Monteiro (alisonmonteiro)
  • Almero Steyn (AlmeroSteyn)
  • Andrej Badin (Andreyco)
  • Andres Suarez (zertosh)
  • Asa Ayers (AsaAyers)
  • Ben Alpert (spicyj)
  • Ben Pickles (benpickles)
  • Bond (bondz)
  • Brian Vaughn (bvaughn)
  • Buns Shar (bunshar)
  • Cesar Varela (cesarvarela)
  • Chris Drackett (chrisdrackett)
  • Cristian Rosescu (cr101)
  • Dan Abramov (gaearon)
  • Daniel Grant (djgrant)
  • Danil Shashkov (shashkovdanil)
  • Darren Scerri (darrenscerri)
  • David (dbismut)
  • David Ascher (davidascher)
  • Gabriel Aumala (GAumala)
  • Geoff Davis (geoffdavis92)
  • Ian Schmitz (ianschmitz)
  • Ian Sutherland (iansu)
  • Igor Ramos (isramos)
  • James Blight (jamesblight)
  • Jeffrey Posnick (jeffposnick)
  • Jeremy Morrell (jmorrell)
  • Jeremy Stucki (herrstucki)
  • Joe Haddad (Timer)
  • Johann Hubert Sonntagbauer (johann-sonntagbauer)
  • Jonathan (GreenGremlin)
  • Joseph Race (josephrace)
  • Kant (Justkant)
  • Kelly (kellyrmilligan)
  • Kent C. Dodds (kentcdodds)
  • Koen de Leijer (kdleijer)
  • Leo Lamprecht (leo)
  • Lorenzo Palmes (lpalmes)
  • Lufty Wiranda (luftywiranda13)
  • Marco Fugaro (marcofugaro)
  • Mark Dalgleish (markdalgleish)
  • Mato Ilic (matoilic)
  • Maxim Kazantsev (mkazantsev)
  • Michael Hsu (evenchange4)
  • Michael Wayman (michaelwayman)
  • Myk Klemme (mklemme)
  • Pierre Bertet (bpierre)
  • Rogelio Guzman (rogeliog)
  • Rory Hunter (pugnascotia)
  • Ryan Platte (replaid)
  • Ryan Sullivan (ryansully)
  • Scott Ranger (scottrangerio)
  • Siddharth Doshi (doshisid)
  • Simen Bekkhus (SimenB)
  • Simon Vocella (voxsim)
  • Stoicescu Cristi (stochris)
  • Tim Welch (tijwelch)
  • Tom Canac (tmos)
  • Tom Dunlap (motevets)
  • Travis Giggy (tgig)
  • Valerii Sorokobatko (tuchk4)
  • alberto (alberto)
  • anraka (anilreddykatta)
  • moniuch (moniuch)
  • pd4d10 (pd4d10)

react-error-overlay is an overlay which displays when there is a runtime error.

Development

When developing within this package, make sure you run npm start (or yarn start) so that the files are compiled as you work.
This is run in watch mode by default.

If you would like to build this for production, run npm run build:prod (or yarn build:prod).
If you would like to build this one-off for development, you can run NODE_ENV=development npm run build (or NODE_ENV=development yarn build).

Current Tags

  • 6.1.0-next.38

                        
             

             
    canary
    (3 years ago)

  • 6.0.11

                        
             

             
    latest
    (10 months ago)

  • 6.1.0-next.14

                        
             

             
    next
    (10 months ago)

84 Versions

  • 6.0.10

                        

             

             
    a year ago

  • 7.0.0-next.67

                        

             

             
    a year ago

  • 7.0.0-next.65

                        

             

             
    a year ago

  • 7.0.0-next.54

                        

             

             
    a year ago

  • 7.0.0-next.44

                        

             

             
    a year ago

  • 7.0.0-next.38

                        

             

             
    2 years ago

  • 6.0.9

                        

             

             
    2 years ago

  • 6.0.8

                        

             

             
    2 years ago

  • 7.0.0-next.117

                        

             

             
    2 years ago

  • 7.0.0-next.116

                        

             

             
    2 years ago

  • 7.0.0-next.98

                        

             

             
    2 years ago

  • 7.0.0-next.96

                        

             

             
    2 years ago

  • 7.0.0-next.77

                        

             

             
    3 years ago

  • 7.0.0-next.64

                        

             

             
    3 years ago

  • 6.0.7

                        

             

             
    3 years ago

  • 6.0.6

                        

             

             
    3 years ago

  • 6.0.5

                        

             

             
    3 years ago

  • 6.0.4

                        

             

             
    3 years ago

  • 6.1.0-next.80

                        

             

             
    3 years ago

  • 6.1.0-next.62

                        

             

             
    3 years ago

  • 6.1.0-next.39

                        

             

             
    3 years ago

  • 6.1.0-next.38

                        

             

             
    3 years ago

  • 6.0.3

                        

             

             
    3 years ago

  • 6.0.2

                        

             

             
    3 years ago

  • 6.0.1

                        

             

             
    3 years ago

  • 6.0.0

                        

             

             
    4 years ago

  • 5.1.6

                        

             

             
    4 years ago

  • 5.1.5

                        

             

             
    4 years ago

  • 6.0.0-next.74

                        

             

             
    4 years ago

  • 6.0.0-next.b0cbf2ca

                        

             

             
    4 years ago

  • 5.1.4

                        

             

             
    4 years ago

  • 5.1.3

                        

             

             
    4 years ago

  • 5.1.2

                        

             

             
    4 years ago

  • 5.1.2-next.6a95aae9

                        

             

             
    4 years ago

  • 5.1.1

                        

             

             
    4 years ago

  • 5.1.0

                        

             

             
    4 years ago

  • 5.0.6

                        

             

             
    4 years ago

  • 5.0.6-next.c662dfb0

                        

             

             
    4 years ago

  • 5.0.6-next.9b4009d7

                        

             

             
    4 years ago

  • 5.0.5

                        

             

             
    4 years ago

  • 5.0.4

                        

             

             
    4 years ago

  • 5.0.3

                        

             

             
    4 years ago

  • 5.0.2

                        

             

             
    4 years ago

  • 5.0.1

                        

             

             
    4 years ago

  • 5.0.0

                        

             

             
    4 years ago

  • 5.0.0-next.fb6e6f70

                        

             

             
    4 years ago

  • 5.0.0-next.2150693d

                        

             

             
    4 years ago

  • 5.0.0-next.a671462c

                        

             

             
    4 years ago

  • 4.0.1

                        

             

             
    4 years ago

  • 5.0.0-next.3e165448

                        

             

             
    5 years ago

  • 5.0.0-next.66cc7a90

                        

             

             
    5 years ago

  • 5.0.0-next.b2fd8db8

                        

             

             
    5 years ago

  • 5.0.0-next.47d2d941

                        

             

             
    5 years ago

  • 5.0.0-next.03604a46

                        

             

             
    5 years ago

  • 5.0.0-next.9754a231

                        

             

             
    5 years ago

  • 5.0.0-next.096703ab

                        

             

             
    5 years ago

  • 4.0.0

                        

             

             
    5 years ago

  • 3.0.0

                        

             

             
    5 years ago

  • 2.0.2

                        

             

             
    5 years ago

  • 2.0.1

                        

             

             
    5 years ago

  • 2.0.0

                        

             

             
    5 years ago

  • 1.0.10

                        

             

             
    6 years ago

  • 1.0.9

                        

             

             
    6 years ago

  • 1.0.8

                        

             

             
    6 years ago

  • 1.0.7-alpha.60ae2b6d

                        

             

             
    6 years ago

  • 1.0.7

                        

             

             
    6 years ago

  • 1.0.6

                        

             

             
    6 years ago

  • 1.0.5

                        

             

             
    6 years ago

  • 1.0.4

                        

             

             
    6 years ago

  • 1.0.3

                        

             

             
    6 years ago

  • 1.0.2

                        

             

             
    6 years ago

  • 1.0.1

                        

             

             
    6 years ago

  • 1.0.0

                        

             

             
    6 years ago

  • 1.0.0-alpha.55afd862

                        

             

             
    6 years ago

  • 1.0.0-alpha.02968ecd

                        

             

             
    6 years ago

  • 1.0.0-alpha.0d0536f9

                        

             

             
    6 years ago

  • 1.0.0-alpha.c82c4f05

                        

             

             
    6 years ago

  • 1.0.0-alpha.e280254d

                        

             

             
    6 years ago

  • 1.0.0-alpha.134d2297

                        

             

             
    6 years ago

  • 1.0.0-alpha.dadf93b2

                        

             

             
    6 years ago

  • 1.0.0-alpha.58689133

                        

             

             
    6 years ago

  • 0.0.0

                        

             

             
    6 years ago

  • 6.1.0-next.14

                        

             

             
    10 months ago

  • 6.0.11

                        

             

             
    10 months ago

Понравилась статья? Поделить с друзьями:
  • React error boundary npm
  • React error boundary hooks
  • React error boundary hook
  • React error boundary functional components
  • React consider adding an error boundary to your tree to customize error handling behavior