CHANGELOG-1.x.md
Please refer to CHANGELOG-2.x.md for the 2.x range, and CHANGELOG.md for the newer versions.
react-scripts
webpack-dev-server dependencyreact-dev-utils
Inside any created project that has not been ejected, run:
npm install --save --save-exact [email protected]
or
yarn add --exact [email protected]
Inside any created project that has not been ejected, run:
npm install --save --save-exact [email protected]
or
yarn add --exact [email protected]
react-scripts
Inside any created project that has not been ejected, run:
npm install --save --save-exact [email protected]
or
yarn add --exact [email protected]
react-scripts
Inside any created project that has not been ejected, run:
npm install --save --save-exact [email protected]
or
yarn add --exact [email protected]
react-scripts
{json,css} files in prettier command. (@reyronald)Inside any created project that has not been ejected, run:
npm install --save --save-exact [email protected]
or
yarn add --exact [email protected]
react-scripts
react-error-overlay
create-react-app
--info flag to help gather bug reports. (@tabrindle)--use-npm flag to bypass Yarn even on systems that have it. (@tabrindle)--scripts-version to include .tar.gz format. (@SaschaDens)"file:<path>" --scripts-version values. (@GreenGremlin)babel-preset-react-app, react-scripts
react-dev-utils
GET. (@doshisid)lsof. (@rmccue)++ in the name. (@Norris1z)create-react-app
.npmrc. (@mdogadailo)react-scripts
react-scripts
create-react-app
react-dev-utils
code-insiders to the editor list. (@shrynx)react-dev-utils, react-error-overlay
react-dev-utils, react-scripts
eslint-config-react-app
User Guide
Other
eslint-config-react-app
Other
cra.sh development task to javascript. (@ianschmitz)dismissRuntimeErrors function. (@skidding)printHostingInstructions a bit. (@GreenGremlin)FileSizeReporter for multi build webpack setups. (@iiska)react-dev-utils. (@xjlim)Inside any created project that has not been ejected, run:
npm install --save --save-exact [email protected]
or
yarn add --exact [email protected]
react-scripts
Inside any created project that has not been ejected, run:
npm install --save --save-exact [email protected]
or
yarn add --exact [email protected]
react-scripts
react-dev-utils
Inside any created project that has not been ejected, run:
npm install --save --save-exact [email protected]
or
yarn add --exact [email protected]
react-scripts
react-dev-utils, react-scripts
react-scripts
babel-preset-react-app, react-dev-utils, react-error-overlay, react-scripts
react-dev-utils, react-error-overlay
create-react-app
User Guide
npm-run-all to build Sass and JS. (@shime)README
Other
react-error-overlay
react-error-overlay in production. (@Timer)react-error-overlay has no dependencies now (it's bundled). (@Timer)react-scripts
registerServiceWorker.js. (@dunglas)output.path from dev webpack config. (@nikolas)reason-react support. (@lpalmes)style-loader and disable inclusion of its HMR code in builds. (@insin)url-loader to 0.6.2 for mime ReDoS vulnerability. (@d3viant0ne)<!doctype html> -> <!DOCTYPE html>. (@Hurtak)Inside any created project that has not been ejected, run:
npm install --save --save-exact [email protected]
or
yarn add --exact [email protected]
react-dev-utils
react-error-overlay
react-dev-utils
Other
react-scripts
#2908 Note that class fields have progressed to stage 3. (@rickbeerendonk)
#3160 Update unclear wording in webpack configuration (file loader section). (@kristiehoward)
eslint-config-react-app
react-scripts
#2989 Update install template to match accessibility guidelines. (@davidleger95)
react-error-overlay
create-react-app, react-dev-utils, react-error-overlay, react-scripts
#3058 Re-run prettier for all files and pin the version. (@viankakrisna)
#3107 Run CI on npm@^4. (@viankakrisna)
Inside any created project that has not been ejected, run:
npm install --save --save-exact [email protected]
or
yarn add --exact [email protected]
react-error-overlay
react-dev-utils
react-scripts
react-scripts
child_process to let some libraries compile. (@McFlurriez)react-dev-utils, react-error-overlay
Inside any created project that has not been ejected, run:
npm install --save --save-exact [email protected]
or
yarn add --exact [email protected]
react-error-overlay
react-dev-utils
react-scripts
react-scripts
react-dev-utils
react-error-overlay, react-scripts
babel-runtime dependency (@christophehurpeau)react-dev-utils, react-error-overlay, react-scripts
react-error-overlay to React (@tharakawj)Inside any created project that has not been ejected, run:
npm install --save --save-exact [email protected]
or
yarn add --exact [email protected]
Note: there’s a known issue that might cause the project to not compile after upgrading. In this case, migrate straight to 1.0.13 which doesn’t have this issue.
create-react-app
#2884 Improve offline heuristic for proxied environments. (@bsyk)
When a Yarn proxy is set, we will check its connectivity if we cannot reach Yarn's registry. This is often the case when DNS lookups must be made through the proxy.
#2853 Allow use of scoped packages with a pinned version. (@wileybenet)
react-dev-utils
react-dev-utils, react-scripts
react-scripts
node file resolution. (@mostafah)react-scripts
#2818 Allow sourcemaps to be disabled. (@viankakrisna)
As applications grow more complex, it is possible webpack may run out of memory while generating source maps. They may now be disabled by setting GENERATE_SOURCEMAP=false.
#2913 Allow flags to be passed to node when running react-scripts. (@koistya)
#2747 Simplify webpack configuration using Rule.oneOf. (@Furizaa)
react-dev-utils, react-scripts
package.json. (@iamdoron)create-react-app
react-dev-utils
eslint-config-react-app, react-scripts
eslint@4. (@trungdq88)eslint-config-react-app
allowTaggedTemplates to true (eslint). (@denkristoffer)react-dev-utils
webpackHotDevClient support. (@ForbesLindesay)react-scripts
babel-preset-react-app
create-react-app, eslint-config-react-app, react-dev-utils, react-error-overlay, react-scripts
eslint-config-react-app
react-scripts
Inside any created project that has not been ejected, run:
npm install --save --save-exact [email protected]
or
yarn add --exact [email protected]
react-dev-utils
create-react-app
README
gluestick to the alternatives section. (@JoeCortopassi)Inside any created project that has not been ejected, run:
npm install --save --save-exact [email protected]
or
yarn add --exact [email protected]
react-scripts
Inside any created project that has not been ejected, run:
npm install --save --save-exact [email protected]
or
yarn add --exact [email protected]
react-scripts
CI variable is set to true. (@varnav)PUBLIC_URL for CDN. (@jeffposnick)index.css over App.css. (@bryankang)react-dev-utils
ModuleScopePlugin. (@diligiant)react-scripts
.web.js extension for React Native Web. (@mini-eggs)sw-precache-webpack-plugin to lastest version. (@goldhand)dgram Node module. (@micopiira)service-worker.js is not found. (@ro-savage)babel-preset-react-app, react-dev-utils, react-scripts
create-react-app, react-scripts
react-dev-utils
yarn build in output. (@gaearon)create-react-app
User Guide
source-map-explorer. (@gr33nfury)REACT_EDITOR environment variable. (@wirmar)jest-enzyme section. (@luftywiranda13)README
Other
react-scripts
react-dev-utils
Inside any created project that has not been ejected, run:
npm install --save-dev --save-exact [email protected]
or
yarn add --dev --exact [email protected]
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.
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 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.
react-scripts
comparisons feature in uglify compression. (@davidascher)react-scripts
react-dev-utils, react-scripts
react-scripts
now deployments. (@purplecones)Inside any created project that has not been ejected, run:
npm install --save-dev --save-exact [email protected]
or
yarn add --dev --exact [email protected]
eslint-config-react-app, react-error-overlay, react-scripts
react-dev-utils
react-scripts
/__* URLs to fix Firebase hosting. (@ryansully)README
Inside any created project that has not been ejected, run:
npm install --save-dev --save-exact [email protected]
or
yarn add --dev --exact [email protected]
react-dev-utils, react-scripts
react-dev-utils
eslint-config-react-app
Inside any created project that has not been ejected, run:
npm install --save-dev --save-exact [email protected]
or
yarn add --dev --exact [email protected]
react-error-overlay
Inside any created project that has not been ejected, run:
npm install --save-dev --save-exact [email protected]
or
yarn add --dev --exact [email protected]
react-dev-utils
eslint-config-react-app
react-dev-utils, react-error-overlay
console calls into a check. (@BrodaNoel)react-scripts
Inside any created project that has not been ejected, run:
npm install --save-dev --save-exact [email protected]
or
yarn add --dev --exact [email protected]
react-dev-utils, react-scripts
react-dev-utils, react-error-overlay
react-dev-utils
react-scripts
git status. (@milocosmopolitan)Inside any created project that has not been ejected, run:
npm install --save-dev --save-exact [email protected]
or
yarn add --dev --exact [email protected]
If you previously had issues with an Invalid Host Header error, follow these new instructions to fix it.
react-scripts
NODE_PATH=src for npm start and npm run build. (@ApacheEx)NODE_PATH=src for Jest. (@gaearon)"homepage" field. (@gaearon).env.local in test environment. (@gaearon)react-dev-utils
react-dev-utils, react-error-overlay
react-error-overlay
eslint-config-react-app
react-scripts
<noscript> to template's index.html. (@viankakrisna)react-scripts
.env.* files are supported. (@AJamesPhillips)Inside any created project that has not been ejected, run:
npm install --save-dev --save-exact [email protected]
or
yarn add --dev --exact [email protected]
We’ve been working on this release for the past few months, and there are many big improvements, 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.
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 [email protected]
You may also optionally update the global command-line utility for bug fixes:
npm install -g create-react-app
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/.
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 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';
// ...
window qualifierPlease 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.
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.
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.
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.
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.
The old, 2009 specification for Flexbox is deprecated and is 2.3x slower than the latest specification.
We are no longer polyfilling it automatically.
Follow these steps if you see errors about missing lint rules in the editor.
npm install in your project (or yarn)If you still have the problem please file an issue.
Unhandled Promise rejections will now crash tests. You can fix them by explicitly catching the errors you don’t care about.
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" />
Add <noscript> to <body> in public/index.html:
<noscript> You need to enable JavaScript to run this app. </noscript>
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.
This was a large release, and we might have missed something.
Please file an issue and we will try to help.
For a readable summary of the changes, check out our blog post.
react-dev-utils, react-scripts
react-scripts
src/ (#544). (@motevets)eslint-config-react-app, react-dev-utils
eslint-config-react-app, react-error-overlay, react-scripts
eslint-plugin-jsx-a11y and activate more rules. (@AlmeroSteyn)eslint-config-react-app, react-scripts
react-scripts
react-dev-utils, react-scripts
eslint-config-react-app, react-scripts
eslint-plugin-jsx-a11y and activate more rules. (@AlmeroSteyn)react-scripts
react-scripts and add require.resolve() to loaders. (@gaearon).eslintignore. (@Timer)localhost when offline (Windows). (@bunshar)http:// or https://. (@bunshar)detect-port. (@Andreyco)react-dev-utils
openBrowser now supports urls with more than one parameter. (@alisonmonteiro)openBrowser() when BROWSER=open on macOS. (@bpierre)cwd. (@chrisdrackett)create-react-app
react-dev-utils, react-scripts
react-dev-utils, react-error-overlay
react-scripts
yarn build instead of yarn run build. (@geoffdavis92)serve for running in production. (@leo)yarn instead of yarnpkg when creating a new application. (@lpalmes)X-FORWARDED headers for proxy requests. (@johann-sonntagbauer)eslint-config-react-app, react-dev-utils
react-error-overlay, react-scripts
babel-preset-react-app, eslint-config-react-app, react-dev-utils, react-error-overlay, react-scripts
eslint-config-react-app
eslint-config-react-app, react-scripts
react-dev-utils
create-react-app
react-scripts
.eslintrc effects. (@luftywiranda13).eslintrc for IDE lint plugins. (@gaearon)node-sass alternative. (@michaelwayman).env for enabling polling mode. (@gaearon)npm run watch-css command. (@mklemme)yarn.lock. (@viankakrisna)babel-preset-react-app
react-scripts
url import in webpack config. (@pd4d10)react-dev-utils, react-scripts
babel-preset-react-app, react-scripts
create-react-app, react-dev-utils, react-scripts
appveyor.yml. (@Timer)babel-preset-react-app, create-react-app, eslint-config-react-app, react-dev-utils, react-scripts
eslint-config-react-app
eslint-config-react-app, react-dev-utils, react-scripts
react-dev-utils
Please refer to CHANGELOG-0.x.md for earlier versions.