diff --git a/README.md b/README.md index 4672c9f993d..e56eda93e40 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,12 @@ -# Create React App [![Build & Test](https://github.com/facebook/create-react-app/actions/workflows/build-and-test.yml/badge.svg?branch=main)](https://github.com/facebook/create-react-app/actions/workflows/build-and-test.yml) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-green.svg)](https://github.com/facebook/create-react-app/blob/main/CONTRIBUTING.md) +## Create React App [![Build & Test](https://github.com/facebook/create-react-app/actions/workflows/build-and-test.yml/badge.svg?branch=main)](https://github.com/facebook/create-react-app/actions/workflows/build-and-test.yml) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-green.svg)](https://github.com/facebook/create-react-app/blob/main/CONTRIBUTING.md) + +> [!CAUTION] +> +> ## Deprecated +> +> Create React App was one of the key tools for getting a React project up-and-running in 2017-2021, it is now in long-term stasis and we recommend that you migrate to one of React frameworks documented on [Start a New React Project](https://react.dev/learn/start-a-new-react-project). +> +> If you are following a tutorial to learn React, there is still value in continuing your tutorial, but we do not recommend starting production apps based on Create React App. Logo diff --git a/packages/create-react-app/createReactApp.js b/packages/create-react-app/createReactApp.js index b3c7ca7c1d6..b7ea395a774 100755 --- a/packages/create-react-app/createReactApp.js +++ b/packages/create-react-app/createReactApp.js @@ -53,9 +53,41 @@ function isUsingYarn() { return (process.env.npm_config_user_agent || '').indexOf('yarn') === 0; } +function hasGivenWarning() { + const localWarningFilePath = path.join( + __dirname, + 'given-deprecation-warning' + ); + return fs.existsSync(localWarningFilePath); +} + +function writeWarningFile() { + const localWarningFilePath = path.join( + __dirname, + 'given-deprecation-warning' + ); + fs.writeFileSync(localWarningFilePath, 'true'); +} + let projectName; function init() { + if (!hasGivenWarning()) { + console.log(chalk.yellow.bold('create-react-app is deprecated.')); + console.log(''); + console.log( + 'You can find a list of up-to-date React frameworks on react.dev' + ); + console.log( + chalk.underline('https://react.dev/learn/start-a-new-react-project') + ); + console.log(''); + console.log( + chalk.grey('This error message will only be shown once per install.') + ); + writeWarningFile(); + } + const program = new commander.Command(packageJson.name) .version(packageJson.version) .arguments('') diff --git a/packages/create-react-app/package.json b/packages/create-react-app/package.json index 0624a442834..325c1433f90 100644 --- a/packages/create-react-app/package.json +++ b/packages/create-react-app/package.json @@ -1,6 +1,6 @@ { "name": "create-react-app", - "version": "5.0.1", + "version": "5.0.2", "keywords": [ "react" ],