94 KiB
3.0.0 and Newer Versions
Please refer to CHANGELOG.md for the newer versions.
2.1.8 (March 7, 2019)
v2.1.8 is a maintenance release that reapplies the TypeScript speed improvements (#6406) in a new major version of react-dev-utils.
Migrating from 2.1.7 to 2.1.8
Inside any created project that has not been ejected, run:
npm install --save --save-exact react-scripts@2.1.8
or
yarn add --exact react-scripts@2.1.8
2.1.7 (March 7, 2019)
v2.1.7 is a maintenance release that temporarily reverts the TypeScript speed improvements (#6406) to fix a dependency issue in react-dev-utils.
Migrating from 2.1.6 to 2.1.7
Inside any created project that has not been ejected, run:
npm install --save --save-exact react-scripts@2.1.7
or
yarn add --exact react-scripts@2.1.7
2.1.6 (March 6, 2019)
v2.1.6 is a maintenance release that brings a few new improvements, most notably:
- 🚀 Reduced TypeScript rebuild times while running the development server. This was previously introduced in v2.1.4 but had to be reverted. Thanks to @ianschmitz for getting this ready.
🐛 Bug Fix
react-dev-utils- #6511 Fix deploy instructions to make link clickable. (@sbimochan)
react-scripts- #6472 Revert CSS sourcemaps in development. (@bugzpodder)
- #6444 Revert "Switch to eval-source-map (#5060)". (@ianschmitz)
💅 Enhancement
react-dev-utils,react-scripts- #6406 Speed up TypeScript rebuild times in development. (@ianschmitz)
create-react-app- #6253 Only use
yarn.lock.cachedif using the default Yarn registry. (@hangryCat)
- #6253 Only use
react-scripts- #5457 Add forward ref to React SVG Component. (@GasimGasimzada)
📝 Documentation
babel-preset-react-app- #6254 Improve Flow and TypeScript usage docs. (@saranshkataria)
babel-preset-react-app,confusing-browser-globals,react-app-polyfill- #6419 Improve language used in markdown code blocks. (@cherouvim)
create-react-appreact-dev-utils- #6482 Fix typo. (@mattfwood)
- Other
- #6438 Update
source-map-explorerdocs to analyze all chunks. (@Kamahl19) - #6454 Fix typo. (@DenrizSusam)
- #5767 Add information about using custom registries in e2e testing #4488. (@juanpicado)
- #6438 Update
react-dev-utils,react-scripts- #6239 Convert all bit.ly links from http to https. (@leighhalliday)
🏠 Internal
- #6493 Remove AppVeyor config files. (@iansu)
- #6474 Remove latest Node version from Travis config. (@iansu)
🔨 Underlying Tools
react-scripts- #6387 Use contenthash instead of chunkhash for better long-term caching. (@ianschmitz)
- Other
Committers: 15
- Abdelhadi Dyouri (adyouri)
- Bimochan Shrestha (sbimochan)
- Deniz Susman (DenrizSusam)
- Gasim Gasimzada (GasimGasimzada)
- Ian Schmitz (ianschmitz)
- Ian Sutherland (iansu)
- Ioannis Cherouvim (cherouvim)
- Jack Zhao (bugzpodder)
- Juan Picado @jotadeveloper (juanpicado)
- Leigh Halliday (leighhalliday)
- Martin Litvaj (Kamahl19)
- Matt Wood (mattfwood)
- Meo H. (hangryCat)
- Saransh Kataria (saranshkataria)
- Yangshun Tay (yangshun)
Migrating from 2.1.5 to 2.1.6
Inside any created project that has not been ejected, run:
npm install --save --save-exact react-scripts@2.1.6
or
yarn add --exact react-scripts@2.1.6
2.1.5 (February 11, 2019)
v2.1.5 is a maintenance release that reverts the TypeScript speed improvements (#5903) to fix a dependency issue in react-dev-utils.
Migrating from 2.1.4 to 2.1.5
Inside any created project that has not been ejected, run:
npm install --save --save-exact react-scripts@2.1.5
or
yarn add --exact react-scripts@2.1.5
2.1.4 (February 10, 2019)
v2.1.4 is a maintenance release that brings a number of awesome improvements. A few notable ones include:
- 🚀 Reduced TypeScript rebuild times while running the development server. TypeScript is now blazing fast! Special thanks to @deftomat and @johnnyreilly and the other contributors for their hard work on this. (#5903)
- Jest type ahead support which provides a much nicer experience when filtering your tests using the Jest CLI (#5213)
- And many more improvements!
🐛 Bug Fix
react-scripts- #6364 Use semicolons in the ProcessEnv interface. (@DominikPalo)
- #6276 Prevent cursor events on app-logo svg. (@kostadriano)
💅 Enhancement
react-scripts- #5213 Add Jest typeahead plugin. (@gaearon)
- #5713 Sass source map for dev. (@zhuoli99)
- #6285 Allow react-scripts test --no-watch. (@ricokahler)
- #5060 Enable eval-source-map for firefox. (@jasonLaster)
react-dev-utils,react-scripts
📝 Documentation
- Other
- #6383 Update docs links to prefer HTTPS for supported domains. (@ianschmitz)
- #6062 [docs] Warn/clarify that env vars are NOT "SECRET". (@JBallin)
- #6359 Update ZEIT Now deployment instructions. (@timothyis)
- #6346 Minor issue in README.md. (@nathanlschneider)
- #6331 Update docs to document
--no-watch. (@ricokahler) - #6229 Update
serveport flag and add example. (@lyzhovnik) - #6190 Updating updating-to-new-releases.md for users who installed CRA globally. (@carpben)
- #6095 Changes to steps for publishing GitHub User Page. (@StevenTan)
- #6157 Add note for global install of CLI. (@ianschmitz)
- #6149 update link for difference between proposal stages. (@loveky)
- #6141 Remove extra table cell. (@yangshun)
react-scripts- #6355 Make manifest.json description more generic. (@chrisself)
🏠 Internal
- Other
- #6050 Fix e2e:docker failure with "access denied". (@jamesknelson)
- #6179 Update local-test.sh to return test exit code. (@dallonf)
- #6165 Fix CI builds. (@ianschmitz)
react-scripts- #5798 Added
moduleto ignored node modules list. (@dotansimha) - #6022 TypeScript detection filtering 'node_modules'.. (@holloway)
- #5798 Added
react-dev-utils,react-scripts- #6150 dependencies: move chalk to react-dev-utils. (@otaviopace)
babel-plugin-named-asset-import,react-scriptsreact-dev-utils- #6162 Update react-dev-util globby dependency to v8.0.2. (@davidlukerice)
babel-preset-react-app,react-app-polyfill,react-dev-utils,react-error-overlay,react-scripts
🔨 Underlying Tools
babel-preset-react-app,react-app-polyfill,react-dev-utils,react-scripts- #6393 Upgrade dependencies. (@ianschmitz)
babel-preset-react-appeslint-config-react-app,react-scripts- #6132 Bump eslint-plugin-react version and update webpack config. (@ianschmitz)
Committers: 29
- Adam Laycock (alaycock)
- Adriano Costa (kostadriano)
- Andrew Turgeon (maniax89)
- Ben Carp (carpben)
- Charles Pritchard (Downchuck)
- Chris Self (chrisself)
- Dallon Feldner (dallonf)
- Dan Abramov (gaearon)
- David Rice (davidlukerice)
- Dominik Palo (DominikPalo)
- Dotan Simha (dotansimha)
- Ian Schmitz (ianschmitz)
- JBallin (JBallin)
- James George (jamesgeorge007)
- James K Nelson (jamesknelson)
- Jason Laster (jasonLaster)
- Joe Haddad (Timer)
- Matthew Holloway (holloway)
- Nathan Schneider (nathanlschneider)
- Nikita Lyzhov (lyzhovnik)
- Otávio Pace (otaviopace)
- Rico Kahler (ricokahler)
- Steven Tan (StevenTan)
- Timothy (timothyis)
- Tomáš Szabo (deftomat)
- Yangshun Tay (yangshun)
- gottfired
- zhuoli99
- loveky (loveky)
Migrating from 2.1.3 to 2.1.4
Inside any created project that has not been ejected, run:
npm install --save --save-exact react-scripts@2.1.4
or
yarn add --exact react-scripts@2.1.4
2.1.3 (January 4, 2019)
v2.1.3 is a maintenance release to fix a vulnerability in webpack-dev-server.
📝 Documentation
- Other
- #6067 Correct an error for documentation. (@hardo)
- #6110 Replace deprecated VSCode launch.json variable. (@raiskila)
- #5631 Generalize the adding bootstrap documentation. (@jquense)
- #6084 Remove outdated docs for setting up eslint in editor. (@LukasWerfel)
- #6061 Fix control comment of CSS Grid prefixing. (@denexapp)
react-scripts
🏠 Internal
create-react-app,react-error-overlay- #6104 Typo fixes. (@prashant-andani)
🔨 Underlying Tools
Committers: 8
- Denis Mukhametov (denexapp)
- Hardo (hardo)
- Janne Raiskila (raiskila)
- Jason Quense (jquense)
- Lukas Werfel (LukasWerfel)
- Prashant Andani (prashant-andani)
- Zachary Friss (Friss)
- shawtung
Migrating from 2.1.2 to 2.1.3
Inside any created project that has not been ejected, run:
npm install --save --save-exact react-scripts@2.1.3
or
yarn add --exact react-scripts@2.1.3
2.1.2 (December 23, 2018)
v2.1.2 is a maintenance release including various bug fixes.
🚀 New Feature
🐛 Bug Fix
create-react-app- #5905 Disable copy to clipboard in
create-react-app --info(@heyimalex) - #5685 Update envinfo to
5.11.1(@tabrindle)
- #5905 Disable copy to clipboard in
babel-preset-react-app- #5783 Fix TypeScript decorator support (@ianschmitz)
babel-plugin-named-asset-importreact-app-polyfillreact-scripts- #5721 Version bump
postcss-preset-envto latest (@BPScott) - #5701 Fix
tsconfig.jsonlib suggested value (@ianschmitz)
- #5721 Version bump
💅 Enhancement
react-scripts- #5698 Add support for
setupTests.ts(@ianschmitz)
- #5698 Add support for
📝 Documentation
- Other
- #6009 Correct markdown to avoid comment. (@souzasmatheus)
- #6015 Add example command to create typed project. (@mbelsky)
- #6000 Make links to docs consistent in README. (@iansu)
- #5900 Add production build section to docs. (@ianschmitz)
- #5985 Use https for linked images to fix mixed content warnings. (@iansu)
- #5919 Docs: update localStorage mock in “Running Tests”. (@phacks)
- #5917 Add SASS_PATH instructions to Sass stylesheet docs. (@jayantbh)
- #5823 Add default values to
file_extnote. (@alaycock) - #5907 Update README.md with updated link about PWAs. (@wuweiweiwu)
- #5858 Some Grammar fixes. (@nikhilknoldus)
- #5883 Fix link to page about running tests. (@wsmoak)
- #5849 React native repository updated in
README.md. (@pavinthan) - #5806 Rename 'getting started' link to 'docs'. (@kulek1)
- #5788 docs: Simplify installing Storybook with
npx(@sagirk) - #5779 docs: Change story book command to
sb init(@andys8) - #5759 Add PR welcoming badge (@open-source-explorer)
- #5730 Suggest Encore when not building a SPA with Symfony (@dunglas)
- #5710 Updated the link to firebase hosting (@githubsaturn)
- #5704 Fixed link to manifest.json file (@m4jing)
- #5670 Fix public folder documentation link (@makovkastar)
eslint-config-react-app- #5990 Updated docs for
.eslintrc(@ManoelLobo)
- #5990 Updated docs for
babel-preset-react-app,create-react-app,eslint-config-react-app,react-dev-utils,react-scriptsreact-scriptsreact-app-polyfillbabel-preset-react-app,eslint-config-react-app,react-error-overlay,react-scripts
🏠 Internal
react-scripts- Other
- #5988 Added extension to
.eslintrc(@ManoelLobo) - #5546 Add the latest stable node version. (@noelyoo)
- #5988 Added extension to
react-dev-utilsreact-error-overlaybabel-preset-react-appcreate-react-app- #4605 ignore intellij module files when generating an app. (@denofevil)
Committers: 36
- <Explorer /> (open-source-explorer)
- Adam Laycock (alaycock)
- Adam Wanninger (ajwann)
- Alex Guerra (heyimalex)
- Andy (andys8)
- Ben Scott (BPScott)
- Dennis Ushakov (denofevil)
- Dugagjin Lashi (dugagjin)
- Gregory Shilin (gshilin)
- Ian Schmitz (ianschmitz)
- Ian Sutherland (iansu)
- Jayant Bhawal (jayantbh)
- Jing Ma (m4jing)
- Joe Haddad (Timer)
- Kasra Bigdeli (githubsaturn)
- Kévin Dunglas (dunglas)
- Manoel (ManoelLobo)
- Matheus Souza (souzasmatheus)
- Max Belsky (mbelsky)
- Michael Jackson (mjackson)
- Nicolas Goutay (phacks)
- Nikhil (nikhilknoldus)
- Nima Shahri (NShahri)
- Noel Yoo (noelyoo)
- Oleksandr Melnykov (makovkastar)
- Pavinthan (pavinthan)
- Rasmus Eneman (Pajn)
- Sagir Khan (sagirk)
- Sibiraj (sibiraj-s)
- Simen Bekkhus (SimenB)
- Stephen Algeo (sjalgeo)
- Trevor Brindle (tabrindle)
- Wei-Wei Wu (wuweiweiwu)
- Wendy Smoak (wsmoak)
- kulek1
- swyx (sw-yx)
Migrating from 2.1.1 to 2.1.2
Inside any created project that has not been ejected, run:
npm install --save --save-exact react-scripts@2.1.2
or
yarn add --exact react-scripts@2.1.2
2.1.1 (October 31, 2018)
Happy Halloween 🎃 👻! This spooky release brings a treat: decorator support in TypeScript files!
🐛 Bug Fix
babel-preset-react-appreact-scripts- #5621 fix 'Duplicate string index signature' in ProcessEnv. (@xiaoxiangmoe)
💅 Enhancement
📝 Documentation
- #5658 Update making-a-progressive-web-app.md. (@jakeboone02)
- #5635 Update minimum node version to 8.10 in README. (@iansu)
- #5629 Add link to cra-ts migration guide. (@Vinnl)
🏠 Internal
react-error-overlay- #4709 Expose
reportRuntimeError. (@hipstersmoothie)
- #4709 Expose
babel-plugin-named-asset-importreact-scripts
Committers: 8
- Andrew Lisowski (hipstersmoothie)
- Eduardo Duran (eddedd88)
- Ian Sutherland (iansu)
- Jake Boone (jakeboone02)
- Joe Haddad (Timer)
- Nima Shahri (NShahri)
- Vincent (Vinnl)
- ZHAO Jinxiang (xiaoxiangmoe)
Migrating from 2.1.0 to 2.1.1
Inside any created project that has not been ejected, run:
npm install --save --save-exact react-scripts@2.1.1
or
yarn add --exact react-scripts@2.1.1
2.1.0 (October 29, 2018)
Create React App 2.1 adds support for TypeScript! Read the documentation to get started.
New applications can be created using TypeScript by running:
$ npx create-react-app my-app --typescript
🚀 New Feature
create-react-app,react-scriptsbabel-preset-react-app,react-scripts- #4837 TypeScript support using Babel 7 (@brunolemos)
🐛 Bug Fix
react-scripts- #5611 Remove react-scripts type reference on eject. (@Timer)
- #5614 Ignore json files from TypeScript type checking. (@brunolemos)
- #5609 Remove unsupported options. (@Timer)
- #5608 Ignore test files from reported type errors. (@Timer)
- #5589 Update react-app.d.ts. (@brunolemos)
- #5557 Add typings for process.env. (@brunolemos)
- #5532 Use TypeScript parser to read tsconfig.json. (@brunolemos)
- #5527 Update Workbox dependency. (@jeffposnick)
react-dev-utils,react-scripts- #5549 Automatically setup TypeScript when detected. (@Timer)
- #5537 Respect tsconfig.json extends when validating config. (@ianschmitz)
💅 Enhancement
create-react-app,react-scriptsreact-scriptsreact-dev-utils,react-scripts
📝 Documentation
- Other
- #5552 Fixing Internal Links. (@ehfeng)
- #5551 Add Algolia search bar to Docusaurus. (@amyrlam)
- #5533 Simplified TypeScript steps. (@brunolemos)
- #5492 Add "edit" feature to Docusaurus pages. (@amyrlam)
- #5499 Fix title on Safari. (@yuyokk)
- #5494 Fix typo. (@noelyoo)
- #5493 Fixed typo in getting-started. (@jessepeterman)
- #5344 Add some headings to the getting started section. (@selbekk)
- #5251 Add SoMe links to documentation. (@selbekk)
react-scripts
🏠 Internal
react-scripts- #5607 Turn on certain TypeScript options. (@Timer)
- #5559 Change import syntax from typescript declaration. (@brunolemos)
- #5469 Avoid pushing .pnp folder to git. (@NShahri)
- #5527 Update Workbox dependency. (@jeffposnick)
eslint-config-react-app- #5586 Fixing the code splitting links in the ESLint output. (@jheijmans)
Committers: 15
- Amy Lam (amyrlam)
- Bruno Lemos (brunolemos)
- Eric Feng (ehfeng)
- Ian Schmitz (ianschmitz)
- Ian Sutherland (iansu)
- Iurii Kucherov (yuyokk)
- Jeffrey Posnick (jeffposnick)
- Jeroen Heijmans (jheijmans)
- Jesse Peterman (jessepeterman)
- Joe Haddad (Timer)
- Kit Thompson (thompk2)
- Kristofer Selbekk (selbekk)
- Nima Shahri (NShahri)
- Noel Yoo (noelyoo)
- Ran Yitzhaki (ranyitz)
Migrating from 2.0.5 to 2.1.0
Inside any created project that has not been ejected, run:
npm install --save --save-exact react-scripts@2.1.0
or
yarn add --exact react-scripts@2.1.0
2.0.5 (October 14, 2018)
🐛 Bug Fix
-
react-dev-utils- #5431 Fix click-to-open on Windows. (@gaearon)
- #5335 Fix file size report after build. (@OskarPersson)
-
create-react-app -
react-scripts
💅 Enhancement
-
babel-preset-react-app -
react-scripts- #5354 Add environment variable to optionaly disable inlining of chunks. (@0xdeafcafe)
- #5330 Update
eslint-plugin-jsx-a11yversion. (@AlmeroSteyn)
📝 Documentation
-
react-scripts- #5321 Added note on update to
.flowconfigfor .scss imports. (@rlueder) - #5394 Correct instructions for HTTPS and PowerShell. (@gavinbarron)
- #5410 Updates to clarify the "waiting" SW behavior. (@jeffposnick)
- #5302 Update README.md. (@simonCordovaByte9)
- #5334 Update README due to deprecation of react-testing-library's toBeInTheDOM. (@rrebase)
- #5326 README link fixes. (@davidgilbertson)
- #5327 Updated the URL in index.html. (@behzod)
- #5296 Adding documentation about git init. (@ryancogswell)
- #5290 Add react-testing-library documentation/examples (#4679). (@gnapse)
- #5286 Fix broken links to src/serviceWorker.js. (@adambowles)
- #5321 Added note on update to
-
Other
-
eslint-config-react-app- #5416 Fix eslint config docs. (@ludovicofischer)
🏠 Internal
-
Other
-
create-react-app -
react-scripts- #5317 Remove unused require for getCacheIdentifier after ejecting. (@benbrandt)
Committers: 23
- Adam Bowles (adambowles)
- Alex Forbes-Reed (0xdeafcafe)
- Almero Steyn (AlmeroSteyn)
- Behzod Saidov (behzod)
- Ben Brandt (benbrandt)
- Dan Abramov (gaearon)
- David Gilbertson (davidgilbertson)
- Ernesto García (gnapse)
- Gavin Barron (gavinbarron)
- Jeffrey Posnick (jeffposnick)
- Joe Haddad (Timer)
- Jon Clark (jonscottclark)
- Kristofer Selbekk (selbekk)
- Ludovico Fischer (ludovicofischer)
- Mikhail Vasin (mvasin)
- Oskar Persson (OskarPersson)
- Peter Bengtsson (peterbe)
- Rafael Lüder (rlueder)
- Ragnar Rebase (rrebase)
- Ryan Cogswell (ryancogswell)
- Vikram Rangaraj (vikr01)
- Wenchen Li (neo)
- simonCordovaByte9
Migrating from 2.0.4 to 2.0.5
Inside any created project that has not been ejected, run:
npm install --save --save-exact react-scripts@2.0.5
or
yarn add --exact react-scripts@2.0.5
2.0.4 (October 3, 2018)
🐛 Bug Fix
react-scriptsbabel-preset-react-app
💅 Enhancement
create-react-appreact-scripts
📝 Documentation
- Other
- #5228 removed create-react-app-parcel link (@lockround)
- #5254 Update README links for CSS modules and SASS (@yuyokk)
- #5249 Set the color palette to something a bit more React-y (@selbekk)
- #5244 Update favicon and OpenGraph images (@selbekk)
- #5242 5238 Removing sample pages (@selbekk)
- #5243 Set the project name and owner correctly (@selbekk)
- #5239 5238 removing blog from Docusaurus (@selbekk)
- #5227 Initial setup of Docusaurus (@amyrlam)
react-scripts
🏠 Internal
Committers: 11
- Amy Lam (@amyrlam)
- Crux (@crux153)
- Dan Abramov (@gaearon)
- Ian Sutherland (@iansu)
- Iurii Kucherov (@yuyokk)
- Joe Haddad (@Timer)
- Kohei Hasegawa (@banyan)
- Kristofer Selbekk (@selbekk)
- Maël Nison (@arcanis)
- Shubham Tiwari (@lockround)
- Zacharias Knudsen (@zachasme)
Migrating from 2.0.3 to 2.0.4
Inside any created project that has not been ejected, run:
npm install --save --save-exact react-scripts@2.0.4
or
yarn add --exact react-scripts@2.0.4
2.0.3 (October 1, 2018)
Create React App 2.0 brings a year’s worth of improvements in a single dependency update.
We summarized all of the changes in a blog post!
Check it out: Create React App 2.0: Babel 7, Sass, and More.
It provides a high-level overview of new features and improvements. Now let's see how to update your app to the latest version in detail.
Migrating from 1.x to 2.0.3
Inside any created project that has not been ejected, run:
npm install --save --save-exact react-scripts@2.0.3
or
yarn add --exact react-scripts@2.0.3
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 (maybe Sass or CSS Modules?) is now supported out of the box. You can find a list of notable new features in the Create React App 2.0 blog post.
Breaking Changes
Like any major release, react-scripts@2.0 contains a few breaking changes. We expect that they won't affect every user, but we recommend to scan over these sections to see if something is relevant to you. If we missed something, please file a new issue.
Node 6 is no longer supported
Please upgrade to Node 8 (LTS) or later.
Polyfills for IE 9, IE 10, and IE 11 are no longer included by default (but you can opt in!)
We have dropped default support for Internet Explorer 9, 10, and 11. If you still need to support these browsers, follow the instructions below.
First, install react-app-polyfill:
npm install react-app-polyfill
or
yarn add react-app-polyfill
Next, place one of the following lines at the very top of src/index.js:
import 'react-app-polyfill/ie9'; // For IE 9-11 support
import 'react-app-polyfill/ie11'; // For IE 11 support
You can read more about these polyfills here.
Dynamic import() of a CommonJS module now has a .default property
Webpack 4 changed the behavior of import() to be closer in line with the specification.
Previously, importing a CommonJS module did not require you specify the default export. In most cases, this is now required.
If you see errors in your application about ... is not a function, you likely need to update your dynamic import, e.g.:
const throttle = await import('lodash/throttle');
// replace with
const throttle = await import('lodash/throttle').then(m => m.default);
require.ensure() is superseded by dynamic import()
We previously allowed code splitting with a webpack-specific directive, require.ensure(). It is now disabled in favor of import(). To switch to import(), follow the examples below:
Single Module
require.ensure(['module-a'], function() {
var a = require('module-a');
// ...
});
// Replace with:
import('module-a').then(a => {
// ...
});
Multiple Module
require.ensure(['module-a', 'module-b'], function() {
var a = require('module-a');
var b = require('module-b');
// ...
});
// Replace with:
Promise.all([import('module-a'), import('module-b')]).then(([a, b]) => {
// ...
});
The default Jest environment was changed to jsdom
Look at the test entry in the scripts section of your package.json.
Here's a table how to change it from "before" and "after", depending on what you have there:
| 1.x (if you have this...) | 2.x (...change it to this!) |
|---|---|
react-scripts test --env=jsdom |
react-scripts test |
react-scripts test |
react-scripts test --env=node |
Object proxy configuration is superseded by src/setupProxy.js
To check if action is required, look for the proxy key in package.json and follow this table:
- I couldn't find a
proxykey inpackage.json- No action is required!
- The value of
proxyis a string (e.g.http://localhost:5000)- No action is required!
- The value of
proxyis an object- Follow the migration instructions below.
It's worth highlighting: if your proxy field is a string, e.g. http://localhost:5000, or you don't have it, skip this section. This feature is still supported and has the same behavior.
If your proxy is an object, that means you are using the advanced proxy configuration. It has become fully customizable so we removed the limited support for the object-style configuration. Here's how to recreate it.
First, install http-proxy-middleware using npm or Yarn:
npm install http-proxy-middleware
or
yarn add http-proxy-middleware
Next, create src/setupProxy.js and place the following contents in it:
const proxy = require('http-proxy-middleware');
module.exports = function(app) {
// ...
};
Now, migrate each entry in your proxy object one by one, e.g.:
"proxy": {
"/api": {
"target": "http://localhost:5000/"
},
"/*.svg": {
"target": "http://localhost:5000/"
}
}
Place entries into src/setupProxy.js like so:
const proxy = require('http-proxy-middleware');
module.exports = function(app) {
app.use(proxy('/api', { target: 'http://localhost:5000/' }));
app.use(proxy('/*.svg', { target: 'http://localhost:5000/' }));
};
You can also use completely custom logic there now! This wasn't possible before.
.mjs file extension support is removed
Change the extension of any files in your project using .mjs to just .js.
It was removed because of inconsistent support from underlying tools. We will add it back after it stops being experimental, and Jest gets built-in support for it.
PropTypes definitions are now removed in production
Normally, this shouldn't affect your logic and should make the resulting bundle smaller. However, you may be relying on PropTypes definition for production logic. This is not recommended, and will break now. If a library does it, one possible solution is to file an issue in it with a proposal to use a different field (not propTypes) to signal that the declaration needs to be retained.
Anything missing?
This was a large release, and we might have missed something.
Please file an issue and we will try to help.
Migrating from 2.0.0-next.xyz
If you used 2.x alphas, please follow these instructions.
Detailed Changelog
For a readable summary of the changes, check out our blog post.
🚀 New Feature
react-scripts- #5218 Support globalSetup and globalTeardown Jest options (@gaearon)
- #5073 Add user defined proxy via middleware (@Timer)
- #3945 Allow bundles to be analyzed with Webpack-specific tools (@joshwcomeau)
- #4195 Sass loader (@Fabianopb)
- #3909 Add loader for .graphql files (@petetnt)
- #1288 Create git repository with initial commit (@mauricedb)
- #3718 Import SVGs as React components (#1388) (@iansu)
- #2285 Add support for CSS Modules with explicit filename - [name].module.css (@ro-savage)
- #3804 Support Jest --watchAll flag (@gaearon)
- #3802 Add feature #3116 extended Jest config (@garmeeh)
react-dev-utils,react-scriptsbabel-preset-react-app- #5047 Allow dynamic import proposal in node_modules (@Timer)
- #3865 Add opt-out for preset-flow to work with @babel/preset-typescript (@oieduardorabelo)
- #3675 add experimental babel-plugin-macros support (@kentcdodds)
babel-preset-react-app,confusing-browser-globals,eslint-config-react-app,react-dev-utils,react-error-overlay,react-scripts- #4077 Webpack 4 (@andriijas)
create-react-appbabel-preset-react-app,react-scripts
💥 Breaking Change
react-app-polyfill,react-scriptsreact-scripts- #5074 Change default test environment to jsdom (@Timer)
- #5027 Remove
mjssupport (@Timer) - #4009 Update dotenv to 5.0.0 (@iansu)
- #2544 Set the public path to the asset manifest entries (@robinvdvleuten)
- #3884 Don't use app node_modules folder as a resolve fallback (@gaearon)
- #3817 Disable service worker by default (@iansu)
- #2285 Add support for CSS Modules with explicit filename - [name].module.css (@ro-savage)
- #3771 Add preflight check to guard against wrong versions of webpack/eslint/jest higher up the tree (@gaearon)
- #3346 Change the default
start_urlto.(@evilchuck) - #3419 Remove the navigateFallback behavior from the generated service worker (@jeffposnick)
- #3644 Move browsers to cross-tool config (@ai)
react-dev-utilsbabel-preset-react-appeslint-config-react-appeslint-config-react-app,react-error-overlay,react-scriptseslint-config-react-app,react-scripts- #3121 Redisable require.ensure() (@everdimension)
🐛 Bug Fix
react-scripts- #5217 Verify more package versions (@Timer)
- #5214 Fix absolute paths on eject (@gaearon)
- #5212 Don't crash npm test when hg/git are missing (@gaearon)
- #5197 Treat .css and .sass/.scss as side effectful (@gaearon)
- #5196 Format SVG React snapshots as
- #5163 Correctly lookup assets when using a relative build directory (@Timer)
- #5151 Toggle
mjsfiles tojavascript/autotype (@Timer) - #5131 Output CSS sourcemaps in separate file (@Timer)
- #5043 Always lint with latest React version (@Timer)
- #5030 Disable webpack chunk coalescing (@Timer)
- #5027 Remove
mjssupport (@Timer) - #4706 Only use safe options when packing CSS assets (@bugzpodder)
- #4562 Configured the thread-loader to keeping workers alive in development mode (@sadkovoy)
- #4318
.mjsshould not resolve before .js files (#4085) (#4317) (@hobochild) - #4419 Map (s?css|sass) modules to identity-obj-proxy in jest (@kusold)
- #4424 ensureSlash: Fix accidental string-to-NaN coercion (@wchargin)
- #4376 Update sass-loader (#4363) (@miraage)
- #4247 Work around Jest environment resolving bug (@gaearon)
- #4234 [next] Revert to use ecma 5 in uglifyOptions (@danielberndt)
- #2544 Set the public path to the asset manifest entries (@robinvdvleuten)
- #3992 Upgrade dotenv-expand to 4.2.0 (#3961) (@iansu)
- #3989 add default value for globPatterns (@viankakrisna)
react-error-overlayreact-dev-utilsbabel-preset-react-app- #5182 Strip flow syntax before any other transform (@Timer)
- #4630 Eliminate regenerator from preset-react-app plugins (@conartist6)
- #5110 Add dynamic import transformer for dependencies in test env (@lixiaoyan)
- #5052 Add Babel config sourceType: 'unambiguous' for dependencies (@lixiaoyan)
- #5046 Correct Babel dependency behavior (@Timer)
- #4248 Enable loose mode for
class-properties(@rgrochowicz)
babel-preset-react-app,react-error-overlay,react-scriptsreact-app-polyfillreact-error-overlay,react-scripts- #5109 Prevent Babel config overridden (@lixiaoyan)
babel-preset-react-app,react-scriptsreact-dev-utils,react-error-overlay,react-scriptscreate-react-app- #4677 Support scoped package names for scripts-version option in create-react-app cli (@bugzpodder)
- #2705 Don't delete error logs when install fails (@mg)
react-dev-utils,react-scriptsbabel-plugin-named-asset-import,babel-preset-react-app,eslint-config-react-app,react-dev-utils,react-error-overlay,react-scripts- #4159 Bump babel-related deps (@existentialism)
create-react-app,react-dev-utils,react-scripts- #3997 Use yarn when running inside yarn workspace. (@bradfordlemley)
💅 Enhancement
create-react-app,react-scriptsreact-dev-utils,react-scriptsreact-dev-utils- #5150 Run behavioral smoke tests with Jest, add output tests (@Timer)
- #4623 Use yarn build command in predeploy script if using yarn (@alexbrazier)
- #4470 Adjust browser defaults (@Timer)
- #4001 Add support for new yarn workspaces config format (@detrohutt)
- #3980 Autodetect GoLand editor (@ifedyukin)
- #3808 Use wmic to get process list on Windows (@levrik)
react-scripts- #4169 Workbox service worker (@davejm)
- #5096 Disable source maps for node_modules (@Timer)
- #4716 add postcss-preset-env, remove autoprefixer (@heygrady)
- #1457 Add eslintConfig to new projects automatically (@lifeiscontent)
- #5030 Disable webpack chunk coalescing (@Timer)
- #4582 Added thread-loader tweak for application code entry-point (@sadkovoy)
- #4562 Configured the thread-loader to keeping workers alive in development mode (@sadkovoy)
- #4504 webpack 4 scope hoisting (@bugzpodder)
- #4461 Update svgr (@iansu)
- #3867 Provide callbacks in serviceWorker (next) (@piotr-cz)
- #3235 Applies new theme and adds docs link to template (@lukejacksonn)
- #3512 Enhance Jest config error for
setupTestFrameworkScriptFile(@jackfranklin) - #3778 Compile code in parallel (@Timer)
- #3771 Add preflight check to guard against wrong versions of webpack/eslint/jest higher up the tree (@gaearon)
- #3618 use uglifyjs-webpack-plugin v1 (@viankakrisna)
babel-preset-react-app,react-error-overlay,react-scriptsreact-dev-utils,react-error-overlay,react-scripts- #4930 Switch from cheap-module-source-map eval-source-map (@jasonLaster)
- #3124 update jest to 22 and support watchPathIgnorePatterns configuration (@aisensiy)
confusing-browser-globals,react-dev-utils,react-error-overlay,react-scripts- #4846 Update jest version (@skoging)
- #4362 Bumped jest version to 22.4.1 (@CGreenburg)
babel-preset-react-app,confusing-browser-globals,eslint-config-react-app,react-dev-utils,react-error-overlay,react-scripts- #4077 Webpack 4 (@andriijas)
babel-preset-react-app- #4432 Update babel-plugin-macros to fix a bug (@stereobooster)
- #3818 Remove PropTypes from production build (#209) (@iansu)
create-react-app- #4375 fix: update envinfo + implementation, update issue_template (@tabrindle)
eslint-config-react-app,react-error-overlay,react-scriptseslint-config-react-app- #3844 remove radix eslint rule (@sendilkumarn)
create-react-app,react-dev-utils,react-scriptsbabel-preset-react-app,create-react-app,react-dev-utils,react-error-overlay,react-scriptsbabel-preset-react-app,react-scriptsbabel-preset-react-app,eslint-config-react-app,react-dev-utils,react-error-overlay,react-scripts
📝 Documentation
react-scripts- #5211 Adds instructions to README on how to customize Bootstrap with Sass (@mslooten)
- #5147 Document adding SVGs as React components (@mareksuscak)
- #5193 Fix typo in 'Configuring the Proxy Manually' (@fabriziocucci)
- #5111 Updates to README to reflect Workbox usage. (@jeffposnick)
- #5169 Add additional troubleshooting for Github Pages (@dwang)
- #5145 Mention .module.scss/sass convention (@mareksuscak)
- #5105 as per #5104 (@sag1v)
- #5071 Update usage advice of husky to 1.0 (@martinlechner1)
- #5077 small typo fix (@tteltrab)
- #5070 Integrating with an API Backend: add API Platform (@dunglas)
- #5064 fix minor typo in troubleshooting github pages (@kaznovac)
- #5035 Remove paywalled tutorial link for Storybook (@imgntn)
- #3924 Updates to reflect service worker registration being opt-in. (@jeffposnick)
- #4881 flowtype.org -> flow.org (@web2033)
- #4825 Update support info for service workers (@j-f1)
- #4738 Fix typo (@mjw56)
- #4741 remove extra dot on devtool link comment (@shelldandy)
- #4703 Suggest
reactstrapinstead ofreact-bootstrap(@zx6658) - #4566 Move whitespace comment closer to where it applies (@mgedmin)
- #4497 [Read Me template patch] Warn about #871 until it's actually fixed. (@saimonmoore)
- #4205 Chokidar Updates (@originell)
- #4286 Fix some typos in README.md (@apaatsio)
- #4298 Added learnstorybook.com to Storybook links (@tmeasday)
- #4117 Document multiple build environments via
env-cmd#4071 (@jMuzsik) - #4197 Add troubleshooting for Github Pages (@xnt)
- #4236 use the lastest url of gitignore file (@Plortinus)
- #4239 Fix typo in comment and be clearer about
ecmasettings in uglifyjs options (@danielberndt) - #4164 Fix typos in example monorepo documentation. (@bradfordlemley)
- #4089 Fix a typo in packages/react-scripts/template/README.md (@nott)
- #4101 Docs: Update status of Object Rest/Spread proposal (@jpaquim)
- #4107 docs: use node_js 8 in example travis.yml (@nikolas2)
- #3821 Updated react-scripts Readme.md to better document GitHub Pages (@EdwaRen)
- Other
- #5102 Fix Troubleshooting link (@gdi2290)
- #4551 Update targeted IE version in documentation (@antzshrek)
- #4814 Update CODE_OF_CONDUCT.md (@Ashleyotero)
- #4638 Add instructions on alternative methods of app creation (@RusinovAnton)
- #4546 Update file tree view (@antzshrek)
- #4449 add create-react-app-parcel to Alternatives section in README (@sw-yx)
- #4294 documentation: added License to the README.md (@thiagopaiva99)
- #4323 Fix typo in e2e-simple.sh comment (@bmuenzenmeyer)
- #4134 fix: Minor typos (@fejes713)
- #4114 Update CONTRIBUTING.md (@jkzing)
- #3825 Add svg rendering for error example (@marionebl)
- #3810 Update screencast to use npx (@marionebl)
create-react-app- #4309 Fix typo to word bootstrapped in condition to check for old version o… (@jamesvsshark)
- #4015 add
create-react-app --helpinfo for local file path--scripts-versionsupport (@albertstill)
react-dev-utils,react-scripts
🏠 Internal
eslint-config-react-appbabel-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- Other
- #5183 Test class properties (@Timer)
- #5146 Add behavior e2e tests (@Timer)
- #4774 [internal] Use Yarn cache for travis (@bugzpodder)
- #4626 [internal] Fix node 10 test issue (@bugzpodder)
- #3816 Automate screencast recordings (@marionebl)
react-scripts- #5180 Fetch Workbox from CDN (@Timer)
- #5170 Remove thread-loader (@Timer)
- #5157 Forwards args through thread-loader (@arcanis)
- #5085 Remove highlightCode:true because it's now the default (@marcofugaro)
- #5098 [internal] remove babelrc dependency for kitchensink test (@bugzpodder)
- #5076 Revert "Add loader for .graphql files (#3909)" (@Timer)
- #5062 Upgrade svgr to v2 and disable Prettier & SVGO (@Timer)
- #5059 Switch back to cheap-module-source-map (@jasonLaster)
- #4891 Move favicon.ico to accommodate Chrome (@thejohnfreeman)
- #5053 Normalize babel caching across the board (@Timer)
- #4550 Jest 23 and tests (@bugzpodder)
- #5043 Always lint with latest React version (@Timer)
- #4955 Update webpack-dev-server 3.1.5 → 3.1.7 (@addaleax)
- #4776 Bump babel-loader to fix npm warning (@frenzzy)
- #4767 [internal] Separate out kitchensink test into two (@bugzpodder)
- #4014 enable manifest plugin on dev (@viankakrisna)
- #4435 Update paths.js, rename shadow path variable (@graemecode)
- #4331 Bump
fsevents. (@wtgtybhertgeghgtwtg) - #4174 Yarn workspace transpilation verification. (@bradfordlemley)
- #3842 fix small grammatical typo in webpack config documentation (@andrewerrico)
react-dev-utilsbabel-preset-react-app,react-error-overlay,react-scriptsbabel-preset-react-app- #5119 Clean up @babel/plugin-transform-regenerator (@lixiaoyan)
- #5033 Lock babel configuration back to IE 9 support (ES5) (@Timer)
react-dev-utils,react-scriptsbabel-preset-react-app,create-react-app,react-dev-utils,react-error-overlay,react-scriptsreact-error-overlay,react-scripts- #5050 Eslint 5.6 (@bugzpodder)
babel-plugin-named-asset-import,babel-preset-react-app,react-dev-utils,react-error-overlay,react-scripts- #5042 Upgrade to Babel 7 stable (@Timer)
- #4253 Upgrade Babel to
beta.44(@andriijas)
confusing-browser-globals,react-dev-utils,react-error-overlay,react-scriptsreact-dev-utils,react-error-overlay,react-scriptscreate-react-appreact-error-overlay- #4211 Revert lint-related changes made in #4193 (@NMinhNguyen)
- #4193 Minor fixes to CI (@ro-savage)
confusing-browser-globals,eslint-config-react-appeslint-config-react-app,react-scripts- #3723 Updating ESlint to ^4.15.0 and adding new rules to config (@chrislaughlin)
Committers: 116
- A.J. Roberts (@detrohutt)
- Aaron Reisman (@lifeiscontent)
- Ade Viankakrisna Fadlil (@viankakrisna)
- Albert Still (@albertstill)
- Alex Brazier (@alexbrazier)
- Andreas Cederström (@andriijas)
- Andrew (@andrewerrico)
- Andrew Clark (@acdlite)
- Andrew Ho (@andrwh)
- Andrey Sitnik (@ai)
- Anna Henningsen (@addaleax)
- Anton Rusinov (@RusinovAnton)
- Antti Ahti (@apaatsio)
- Ashley Otero (@Ashleyotero)
- Bond (@bondz)
- Bradford Lemley (@bradfordlemley)
- Brian Muenzenmeyer (@bmuenzenmeyer)
- Brian Ng (@existentialism)
- Chad Greenburg (@CGreenburg)
- Chris Laughlin (@chrislaughlin)
- Clement Hoang (@clemmy)
- Conrad Buck (@conartist6)
- Craig Mulligan (@hobochild)
- Dan Abramov (@gaearon)
- Daniel (@danielberndt)
- Daniel Wang (@dwang)
- David Moodie (@davejm)
- Dmitriy Sadkovoy (@sadkovoy)
- Eduardo Rabelo (@oieduardorabelo)
- Edward Ren (Eddie) (@EdwaRen)
- Ernesto García (@gnapse)
- Eugene Kopich (@web2033)
- Fabiano Brito (@Fabianopb)
- Fabrizio Cucci (@fabriziocucci)
- Fredrik Palmquist (@fiddep)
- Futa Ogawa (@ogawa0071)
- Gary Meehan (@garmeeh)
- Gonzalo Pozzo (@goncy)
- Grady Kuhnline (@heygrady)
- Graeme (@graemecode)
- Harry Moreno (@morenoh149)
- Ian Sutherland (@iansu)
- Ideveloper (@zx6658)
- Igor Fedyukin (@ifedyukin)
- Irvin Denzel Torcuato (@identor)
- JK (@jkzing)
- Jack Franklin (@jackfranklin)
- Jack Zhao (@bugzpodder)
- James B. Pollack (@imgntn)
- James Simoes (@jamesvsshark)
- Jason Laster (@jasonLaster)
- Jed Fox (@j-f1)
- Jeffrey Posnick (@jeffposnick)
- Jerry (@jMuzsik)
- Jih-Chi Lee (@jihchi)
- Joe Haddad (@Timer)
- Joel George V (@joelgeorgev)
- John Freeman (@thejohnfreeman)
- Joshua Comeau (@joshwcomeau)
- João Paquim (@jpaquim)
- Kent C. Dodds (@kentcdodds)
- Kévin Dunglas (@dunglas)
- Levin Rickert (@levrik)
- Luis Nell (@originell)
- Luke Jackson (@lukejacksonn)
- Maciej Kasprzyk (@maciej-ka)
- Magnús Örn Gylfason (@mg)
- Marco Fugaro (@marcofugaro)
- Marco Slooten (@mslooten)
- Marek Suscak (@mareksuscak)
- Mario Nebl (@marionebl)
- Marius Gedminas (@mgedmin)
- Marko Kaznovac (@kaznovac)
- Martin Lechner (@martinlechner1)
- Maurice de Beijer (@mauricedb)
- Maël Nison (@arcanis)
- Michaël De Boey (@MichaelDeBoey)
- Miguel Palau (@shelldandy)
- Mike Kusold (@kusold)
- Mike Wilcox (@mjw56)
- Mikhail Osher (@miraage)
- Minh Nguyen (@NMinhNguyen)
- Nick Bartlett (@tteltrab)
- PatrickJS (@gdi2290)
- Pete Nykänen (@petetnt)
- Piotr (@piotr-cz)
- Rami (@evilchuck)
- Reuben Antz (@antzshrek)
- Ro Savage (@ro-savage)
- Rob Grochowicz (@rgrochowicz)
- Robin van der Vleuten (@robinvdvleuten)
- Sagiv ben giat (@sag1v)
- Saimon Moore (@saimonmoore)
- Sendil Kumar N (@sendilkumarn)
- Siddharth Doshi (@sidoshi)
- Stas Rudakou (@nott)
- Stefan Feješ (@fejes713)
- Thiago Galvani (@thiagopaiva99)
- Tom Coleman (@tmeasday)
- Tore Hammervoll (@skoging)
- Trevor Brindle (@tabrindle)
- Vicente Plata (@xnt)
- Victor Amupitan (@amupitan)
- Viktor Havrylin (@Fer0x)
- Vladimir Kutepov (@frenzzy)
- William Chargin (@wchargin)
- XiaoYan Li (@lixiaoyan)
- @Plortinus
- @arianon
- @everdimension
- @nikolas2
- @stereobooster
- @wtgtybhertgeghgtwtg
- aisensiy (@aisensiy)
- froyog (@froyog)
- shawn wang (@sw-yx)
Releases Before 2.x
Please refer to CHANGELOG-1.x.md for earlier versions.