Skip to content
This repository was archived by the owner on Nov 2, 2023. It is now read-only.

Commit 5d96a18

Browse files
author
Jeremy Moore
committed
Merge branch 'facebook'
2 parents f6d018f + 20fa344 commit 5d96a18

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+1643
-687
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@ npm-debug.log*
1111
yarn-debug.log*
1212
yarn-error.log*
1313
/.changelog
14+
.npm/

CHANGELOG.md

+205-36
Large diffs are not rendered by default.

CONTRIBUTING.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,9 @@ By default git would use `CRLF` line endings which would cause the scripts to fa
142142
9. Wait for a long time, and it will get published. Don’t worry that it’s stuck. In the end the publish script will prompt for versions before publishing the packages.
143143
10. After publishing, create a GitHub Release with the same text as the changelog entry. See previous Releases for inspiration.
144144

145-
Make sure to test the released version! If you want to be extra careful, you can publish a prerelease by running `npm run publish -- --tag next` instead of `npm run publish`.
145+
Make sure to test the released version! If you want to be extra careful, you can publish a prerelease by running `npm run publish -- --npm-tag=next` instead of `npm run publish`.
146+
147+
Optionally, you can cut a prerelease instead by running `npm run publish -- --canary=next --exact --cd-version patch --npm-tag=next`.
146148

147149
---
148150

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Just create a project, and you’re good to go.
3434

3535
## Creating an App
3636

37-
**You’ll need to have Node 8.9.0 or later on your local development machine** (but it’s not required on the server). You can use [nvm](https://github.com/creationix/nvm#installation) (macOS/Linux) or [nvm-windows](https://github.com/coreybutler/nvm-windows#node-version-manager-nvm-for-windows) to easily switch Node versions between different projects.
37+
**You’ll need to have Node 8.10.0 or later on your local development machine** (but it’s not required on the server). You can use [nvm](https://github.com/creationix/nvm#installation) (macOS/Linux) or [nvm-windows](https://github.com/coreybutler/nvm-windows#node-version-manager-nvm-for-windows) to easily switch Node versions between different projects.
3838

3939
To create a new app, you may choose one of the following methods:
4040

docusaurus/docs/adding-a-css-modules-stylesheet.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ sidebar_label: Adding CSS Modules
88
99
This project supports [CSS Modules](https://github.com/css-modules/css-modules) alongside regular stylesheets using the `[name].module.css` file naming convention. CSS Modules allows the scoping of CSS by automatically creating a unique classname of the format `[filename]\_[classname]\_\_[hash]`.
1010

11-
> **Tip:** Should you want to preprocess a stylesheet with Sass then make sure to [follow the installation instructions](/docs/adding-a-sass-stylesheet) and then change the stylesheet file extension as follows: `[name].module.scss` or `[name].module.sass`.
11+
> **Tip:** Should you want to preprocess a stylesheet with Sass then make sure to [follow the installation instructions](adding-a-sass-stylesheet.md) and then change the stylesheet file extension as follows: `[name].module.scss` or `[name].module.sass`.
1212
1313
CSS Modules let you use the same CSS class name in different files without worrying about naming clashes. Learn more about CSS Modules [here](https://css-tricks.com/css-modules-part-1-need/).
1414

docusaurus/docs/adding-a-router.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ yarn add react-router-dom
1919

2020
To try it, delete all the code in `src/App.js` and replace it with any of the examples on its website. The [Basic Example](https://reacttraining.com/react-router/web/example/basic) is a good place to get started.
2121

22-
Note that [you may need to configure your production server to support client-side routing](/docs/deployments#serving-apps-with-client-side-routing) before deploying your app.
22+
Note that [you may need to configure your production server to support client-side routing](deployment.md#serving-apps-with-client-side-routing) before deploying your app.

docusaurus/docs/adding-a-sass-stylesheet.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ This will allow you to do imports like
3030
@import '~nprogress/nprogress'; // importing a css file from the nprogress node module
3131
```
3232

33-
> **Tip:** You can opt into using this feature with [CSS modules](/docs/adding-a-css-modules-stylesheet) too!
33+
> **Tip:** You can opt into using this feature with [CSS modules](adding-a-css-modules-stylesheet.md) too!
3434
3535
> **Note:** You must prefix imports from `node_modules` with `~` as displayed above.
3636

docusaurus/docs/adding-custom-environment-variables.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,14 @@ id: adding-custom-environment-variables
33
title: Adding Custom Environment Variables
44
sidebar_label: Environment Variables
55
---
6+
67
> Note: this feature is available with `[email protected]` and higher.
78
89
Your project can consume variables declared in your environment as if they were declared locally in your JS files. By
910
default you will have `NODE_ENV` defined for you, and any other environment variables starting with
1011
`REACT_APP_`.
1112

12-
**The environment variables are embedded during the build time**. Since Create React App produces a static HTML/CSS/JS bundle, it can’t possibly read them at runtime. To read them at runtime, you would need to load HTML into memory on the server and replace placeholders in runtime, just like [described here](/docs/injecting-data-from-the-server-into-the-page). Alternatively you can rebuild the app on the server anytime you change them.
13+
**The environment variables are embedded during the build time**. Since Create React App produces a static HTML/CSS/JS bundle, it can’t possibly read them at runtime. To read them at runtime, you would need to load HTML into memory on the server and replace placeholders in runtime, just like [described here](title-and-meta-tags.md#injecting-data-from-the-server-into-the-page). Alternatively you can rebuild the app on the server anytime you change them.
1314

1415
> Note: You must create custom environment variables beginning with `REACT_APP_`. Any other variables except `NODE_ENV` will be ignored to avoid accidentally [exposing a private key on the machine that could have the same name](https://github.com/facebook/create-react-app/issues/865#issuecomment-252199527). Changing any environment variables will require you to restart the development server if it is running.
1516
@@ -77,7 +78,7 @@ You can also access the environment variables starting with `REACT_APP_` in the
7778
Note that the caveats from the above section apply:
7879

7980
- Apart from a few built-in variables (`NODE_ENV` and `PUBLIC_URL`), variable names must start with `REACT_APP_` to work.
80-
- The environment variables are injected at build time. If you need to inject them at runtime, [follow this approach instead](/docs/generating-dynamic-meta-tags-on-the-server).
81+
- The environment variables are injected at build time. If you need to inject them at runtime, [follow this approach instead](title-and-meta-tags.md#generating-dynamic-meta-tags-on-the-server).
8182

8283
## Adding Temporary Environment Variables In Your Shell
8384

docusaurus/docs/adding-typescript.md

+19-9
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,29 @@ id: adding-typescript
33
title: Adding TypeScript
44
---
55

6-
TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.
6+
> Note: this feature is available with `[email protected]` and higher.
77
8-
Recent versions of [TypeScript](https://www.typescriptlang.org/) work with Create React App projects out of the box thanks to Babel 7. Note that Babel 7 TypeScript does not allow some features of TypeScript such as constant enum and namespaces.
8+
[TypeScript](https://www.typescriptlang.org/) is a typed superset of JavaScript that compiles to plain JavaScript.
99

10-
To add TypeScript to a Create React App project, follow these steps:
10+
To add [TypeScript](https://www.typescriptlang.org/) to a Create React App project, first install it:
1111

12-
1. Run `npm install --save typescript @types/react @types/react-dom @types/jest` (or `yarn add typescript @types/react @types/react-dom @types/jest`).
13-
2. Rename the `.js` files you want to convert: use `.tsx` if they use JSX or `.ts` if not (e.g. `git mv src/index.js src/index.tsx`).
14-
3. Create a [`tsconfig.json` file](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) at the root project directory with `{}` in it. Alternatively, rename `index.js` to `index.tsx`.
15-
4. Restart your development server (if applicable). This will set sensible defaults and the required values in your [`tsconfig.json` file](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html).
12+
```bash
13+
$ npm install --save typescript @types/node @types/react @types/react-dom @types/jest
14+
$ # or
15+
$ yarn add typescript @types/node @types/react @types/react-dom @types/jest
16+
```
1617

17-
Type errors will show up in the same console as the build one.
18+
Next, rename any file to be a TypeScript file (e.g. `src/index.js` to `src/index.tsx`) and **restart your development server**!
1819

19-
We recommend using [VSCode](https://code.visualstudio.com/) for a better integrated experience.
20+
Type errors will show up in the same console as the build one.
2021

2122
To learn more about TypeScript, check out [its documentation](https://www.typescriptlang.org/).
23+
24+
> **Note:** You are not required to make a [`tsconfig.json` file](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html), one will be made for you.
25+
> You are allowed to edit the generated TypeScript configuration.
26+
27+
> **Note:** If you are currently using [create-react-app-typescript](https://github.com/wmonk/create-react-app-typescript/), see [this blog post](https://vincenttunru.com/migrate-create-react-app-typescript-to-create-react-app/) for instructions on how to migrate to Create React App.
28+
29+
> **Note:** We recommend using [VSCode](https://code.visualstudio.com/) for a better integrated experience.
30+
31+
> **Note:** Constant enums and namespaces are not supported.

docusaurus/docs/advanced-configuration.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ id: advanced-configuration
33
title: Advanced Configuration
44
---
55

6-
You can adjust various development and production settings by setting environment variables in your shell or with [.env](/docs/adding-development-environment-variables-in-env).
6+
You can adjust various development and production settings by setting environment variables in your shell or with [.env](adding-custom-environment-variables.md#adding-development-environment-variables-in-env).
77

88
| Variable | Development | Production | Usage |
99
| :------------------- | :---------: | :--------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1010
| BROWSER | ✅ Used | 🚫 Ignored | By default, Create React App will open the default system browser, favoring Chrome on macOS. Specify a [browser](https://github.com/sindresorhus/opn#app) to override this behavior, or set it to `none` to disable it completely. If you need to customize the way the browser is launched, you can specify a node script instead. Any arguments passed to `npm start` will also be passed to this script, and the url where your app is served will be the last argument. Your script's file name must have the `.js` extension. |
1111
| HOST | ✅ Used | 🚫 Ignored | By default, the development web server binds to `localhost`. You may use this variable to specify a different host. |
1212
| PORT | ✅ Used | 🚫 Ignored | By default, the development web server will attempt to listen on port 3000 or prompt you to attempt the next available port. You may use this variable to specify a different port. |
1313
| HTTPS | ✅ Used | 🚫 Ignored | When set to `true`, Create React App will run the development server in `https` mode. |
14-
| PUBLIC_URL | 🚫 Ignored | ✅ Used | Create React App assumes your application is hosted at the serving web server's root or a subpath as specified in [`package.json` (`homepage`)](/docs/deployment#building-for-relative-paths). Normally, Create React App ignores the hostname. You may use this variable to force assets to be referenced verbatim to the url you provide (hostname included). This may be particularly useful when using a CDN to host your application. |
14+
| PUBLIC_URL | 🚫 Ignored | ✅ Used | Create React App assumes your application is hosted at the serving web server's root or a subpath as specified in [`package.json` (`homepage`)](deployment#building-for-relative-paths). Normally, Create React App ignores the hostname. You may use this variable to force assets to be referenced verbatim to the url you provide (hostname included.md). This may be particularly useful when using a CDN to host your application. |
1515
| CI | ✅ Used | ✅ Used | When set to `true`, Create React App treats warnings as failures in the build. It also makes the test runner non-watching. Most CIs set this flag by default. |
1616
| REACT_EDITOR | ✅ Used | 🚫 Ignored | When an app crashes in development, you will see an error overlay with clickable stack trace. When you click on it, Create React App will try to determine the editor you are using based on currently running processes, and open the relevant source file. You can [send a pull request to detect your editor of choice](https://github.com/facebook/create-react-app/issues/2636). Setting this environment variable overrides the automatic detection. If you do it, make sure your systems [PATH](<https://en.wikipedia.org/wiki/PATH_(variable)>) environment variable points to your editor’s bin folder. You can also set it to `none` to disable it completely. |
1717
| CHOKIDAR_USEPOLLING | ✅ Used | 🚫 Ignored | When set to `true`, the watcher runs in polling mode, as necessary inside a VM. Use this option if `npm start` isn't detecting changes. |

docusaurus/docs/alternatives-to-ejecting.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ id: alternatives-to-ejecting
33
title: Alternatives to Ejecting
44
---
55

6-
[Ejecting](/docs/available-scripts#npm-run-eject) lets you customize anything, but from that point on you have to maintain the configuration and scripts yourself. This can be daunting if you have many similar projects. In such cases instead of ejecting we recommend to _fork_ `react-scripts` and any other packages you need. [This article](https://auth0.com/blog/how-to-configure-create-react-app/) dives into how to do it in depth. You can find more discussion in [this issue](https://github.com/facebook/create-react-app/issues/682).
6+
[Ejecting](available-scripts.md#npm-run-eject) lets you customize anything, but from that point on you have to maintain the configuration and scripts yourself. This can be daunting if you have many similar projects. In such cases instead of ejecting we recommend to _fork_ `react-scripts` and any other packages you need. [This article](https://auth0.com/blog/how-to-configure-create-react-app/) dives into how to do it in depth. You can find more discussion in [this issue](https://github.com/facebook/create-react-app/issues/682.md).

docusaurus/docs/available-scripts.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@ The page will reload if you make edits. You will also see any lint errors in the
1414

1515
## `npm test`
1616

17-
Launches the test runner in the interactive watch mode. See the section about [running tests](/docs/running-tests) for more information.
17+
Launches the test runner in the interactive watch mode. See the section about [running tests](running-tests.md) for more information.
1818

1919
## `npm run build`
2020

2121
Builds the app for production to the `build` folder. It correctly bundles React in production mode and optimizes the build for the best performance.
2222

2323
The build is minified and the filenames include the hashes. Your app is ready to be deployed!
2424

25-
See the section about [deployment](/docs/deployment) for more information.
25+
See the section about [deployment](deployment.md) for more information.
2626

2727
## `npm run eject`
2828

0 commit comments

Comments
 (0)