🌜
🌞
react-scripts

react-scripts

v5.0.1

Configuration and scripts for Create React App.

npm install react-scripts

README

react-scripts

This package includes scripts and configuration used by Create React App.
Please refer to its documentation:

Release Notes

5.0.1
By Ian Sutherland • Published on April 12, 2022

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 [email protected]

or

yarn add --exact [email protected]

:bug: Bug Fix

:nail_care: Enhancement

  • cra-template-typescript, cra-template, react-scripts
  • cra-template-typescript, cra-template
  • eslint-config-react-app

:memo: Documentation

:house: Internal

Committers: 11

5.0.0
By Ian Sutherland • Published on December 14, 2021

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 [email protected]

or

yarn add --exact [email protected]

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, [email protected] 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

:boom: Breaking Change

  • create-react-app
  • 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
  • eslint-config-react-app, react-error-overlay, react-scripts
  • react-scripts

:bug: Bug Fix

:nail_care: 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
  • create-react-app
  • 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

:memo: Documentation

:house: Internal

  • Other
  • create-react-app
  • 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
  • react-scripts
  • babel-plugin-named-asset-import, confusing-browser-globals, create-react-app, eslint-config-react-app, react-dev-utils, react-error-overlay, react-scripts
  • confusing-browser-globals, cra-template-typescript, cra-template, create-react-app
  • react-error-overlay, react-scripts
  • 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

:hammer: Underlying Tools

  • react-dev-utils, react-scripts
  • react-scripts
  • 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
  • babel-preset-react-app, react-dev-utils, react-error-overlay, react-scripts
  • react-dev-utils

Committers: 34

4.0.3
By Ian Sutherland • Published on February 22, 2021

4.0.3 (2021-02-22)

v4.0.3 is a maintenance release that includes minor bug fixes and dependency updates.

:bug: Bug Fix

  • react-scripts

:house: Internal

  • react-dev-utils
    • #10412 update immer to 8.0.1 to address vulnerability (@wclem4)
  • create-react-app

Committers: 4

Migrating from 4.0.2 to 4.0.3

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

npm install --save --save-exact [email protected]

or

yarn add --exact [email protected]
4.0.2
By Ian Sutherland • Published on February 3, 2021

4.0.2 (2021-02-03)

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

:rocket: New Feature

  • react-scripts
    • #8986 Add support for new BUILD_PATH advanced configuration variable (@ajhyndman)

:bug: Bug Fix

  • react-scripts
    • #10170 Add opt-out for eslint-webpack-plugin (@mrmckeb)
    • #9872 fix(react-scripts): add missing peer dependency react and update react-refresh-webpack-plugin (@merceyz)
    • #9964 Add TypeScript 4.x as peerDependency to react-scripts (@sheepsteak)

:nail_care: Enhancement

  • react-scripts

:memo: Documentation

:house: Internal

:hammer: Underlying Tools

Committers: 15

4.0.1
By Ian Sutherland • Published on November 23, 2020

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

:bug: Bug Fix

  • react-scripts
  • react-dev-utils
    • #9884 fix: page doesn't get refreshed when FAST_REFRESH=false (@n3tr)

:nail_care: Enhancement

:memo: Documentation

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

:house: Internal

Committers: 9

Migrating from 4.0.0 to 4.0.1

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

npm install --save --save-exact [email protected]

or

yarn add --exact [email protected]
4.0.0
By Ian Sutherland • Published on October 23, 2020

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! :raised_hands:

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 [email protected]

or

yarn add --exact [email protected]

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, [email protected] 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

:rocket: New Feature

  • eslint-config-react-app, react-error-overlay, react-scripts
  • react-scripts
  • create-react-app
    • #9359 feat: exit on outdated create-react-app version (@mrmckeb)
  • cra-template-typescript, cra-template, react-scripts
  • react-dev-utils, react-scripts

:boom: Breaking Change

  • eslint-config-react-app, react-error-overlay, react-scripts
  • cra-template-typescript, cra-template, eslint-config-react-app, react-error-overlay, react-scripts
  • eslint-config-react-app
  • create-react-app
    • #9359 feat: exit on outdated create-react-app version (@mrmckeb)
  • cra-template-typescript, cra-template, react-scripts
  • babel-plugin-named-asset-import, confusing-browser-globals, create-react-app, react-dev-utils, react-error-overlay, react-scripts
  • create-react-app, react-scripts
    • #8934 feat: remove typescript flag and NODE_PATH support (@mrmckeb)
  • react-scripts
  • babel-plugin-named-asset-import, babel-preset-react-app, create-react-app, react-app-polyfill, react-dev-utils, react-error-overlay, react-scripts
  • eslint-config-react-app, react-scripts
  • cra-template-typescript, cra-template, create-react-app, react-app-polyfill, react-dev-utils, react-scripts
  • babel-plugin-named-asset-import, babel-preset-react-app, confusing-browser-globals, cra-template-typescript, react-dev-utils, react-error-overlay, react-scripts

:bug: Bug Fix

  • react-scripts
  • babel-preset-react-app, eslint-config-react-app, react-scripts
  • eslint-config-react-app, react-scripts
  • create-react-app
  • babel-preset-react-app
    • #9374 fix: use default modules option from preset-env (@JLHwung)
  • react-dev-utils
  • react-dev-utils, react-scripts
  • cra-template-typescript, cra-template, react-scripts
    • #8734 fix: handle templates without main package field (@mrmckeb)

:nail_care: Enhancement

  • react-scripts
  • babel-preset-react-app, eslint-config-react-app, react-scripts
  • cra-template
  • babel-preset-react-app, react-scripts
  • react-dev-utils, react-scripts
    • #9350 Add Fast Refresh warning when using React < 16.10 (@iansu)
  • react-dev-utils, react-error-overlay, react-scripts
  • cra-template-typescript, cra-template
  • create-react-app

:memo: Documentation

:house: Internal

:hammer: Underlying Tools

  • react-scripts
  • react-error-overlay, react-scripts
  • 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
  • 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
  • eslint-config-react-app, react-error-overlay, react-scripts
  • cra-template-typescript, cra-template
  • react-app-polyfill
  • react-dev-utils
  • babel-plugin-named-asset-import, babel-preset-react-app, confusing-browser-globals, create-react-app, react-dev-utils, react-error-overlay, react-scripts
  • babel-preset-react-app, cra-template-typescript, cra-template, create-react-app, react-dev-utils, react-error-overlay, react-scripts
  • babel-plugin-named-asset-import, confusing-browser-globals, create-react-app, react-dev-utils, react-error-overlay, react-scripts
  • babel-preset-react-app, create-react-app, react-dev-utils, react-error-overlay, react-scripts
  • babel-plugin-named-asset-import, babel-preset-react-app, create-react-app, react-app-polyfill, react-dev-utils, react-error-overlay, react-scripts
  • eslint-config-react-app, react-scripts
  • babel-plugin-named-asset-import, babel-preset-react-app, confusing-browser-globals, cra-template-typescript, react-dev-utils, react-error-overlay, react-scripts

Committers: 63

3.4.4
By dan • Published on October 20, 2020

3.4.4 (2020-10-20)

v3.4.4 release bumps resolve-url-loader to a version for which npm audit does not report a vulnerability. Note that this vulnerability did not affect Create React App projects, so this change is only necessary to satisfy auditing tools.

Migrating from 3.4.3 to 3.4.4

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

npm install --save --save-exact [email protected]

or

yarn add --exact [email protected]
3.4.3
By dan • Published on August 12, 2020

3.4.3 (2020-08-12)

v3.4.3 release bumps terser-webpack-plugin to a version for which npm audit does not report a vulnerability. Note that this vulnerability did not affect Create React App projects, so this change is only necessary to satisfy auditing tools.

Migrating from 3.4.2 to 3.4.3

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

npm install --save --save-exact [email protected]

or

yarn add --exact [email protected]
3.4.2
By dan • Published on August 11, 2020

3.4.2 (2020-08-11)

v3.4.2 release bumps webpack-dev-server to a version for which npm audit does not report a vulnerability. Note that this vulnerability did not affect Create React App projects, so this change is only necessary to satisfy auditing tools.

Migrating from 3.4.1 to 3.4.2

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

npm install --save --save-exact [email protected]

or

yarn add --exact [email protected]
3.4.1
By Ian Sutherland • Published on March 21, 2020

3.4.1 (2020-03-20)

v3.4.1 is a maintenance release that includes minor bug fixes and documentation updates including upgrading Babel to fix a bug in the 7.8 release line. This release also brings support for TypeScript 3.8.

:bug: Bug Fix

  • react-scripts
  • babel-preset-react-app
  • cra-template, eslint-config-react-app, react-scripts
    • #7790 Widen eslint-config-react-app peer dependency versions (@lukyth)

:nail_care: Enhancement

  • cra-template-typescript, cra-template
  • react-scripts

:memo: Documentation

  • Other
    • #8515 Fix proxying API request docs (@hjr3)
    • #8561 Indicate that the file structure is the template's (@Vinnl)
  • react-scripts

:hammer: Underlying Tools

  • babel-preset-react-app, create-react-app, react-dev-utils, react-error-overlay, react-scripts
  • react-scripts

Committers: 9

Migrating from 3.4.0 to 3.4.1

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

npm install --save --save-exact [email protected]

or

yarn add --exact [email protected]

General

License
MIT
Typescript Types
Built-in
Tree-shakeable
No

Popularity

GitHub Stargazers
97.1K
Community Interest
116K
Number of Forks
25.3K

Maintenance

Commits
10/219/22020
Last Commit
Open Issues
1,421
Closed Issues
6,428
Open Pull Requests
367
Closed Pull Requests
1,747

Versions

Versions Released
10/219/2203
Latest Version Released
Apr 12, 2022
Current Tags
latest5.0.1
next5.1.0-next.14
canary3.3.0-next.38

Contributors

gaearon
gaearon
Commits: 654
Timer
Timer
Commits: 292
iansu
iansu
Commits: 144
ianschmitz
ianschmitz
Commits: 85
selbekk
selbekk
Commits: 72
fson
fson
Commits: 49
vjeux
vjeux
Commits: 28
mrmckeb
mrmckeb
Commits: 28
viankakrisna
viankakrisna
Commits: 23
andriijas
andriijas
Commits: 17
MichaelDeBoey
MichaelDeBoey
Commits: 17
mxstbr
mxstbr
Commits: 13
jeffposnick
jeffposnick
Commits: 11
tharakawj
tharakawj
Commits: 10
brunolemos
brunolemos
Commits: 9