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.
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"
],