From 41f701e8382a782c06af0bc4faa6dd4a67e940fa Mon Sep 17 00:00:00 2001 From: ankatta Date: Mon, 17 Apr 2017 22:44:55 -0500 Subject: [PATCH 1/3] Adding folder structure to help people navigate through project. It helps in resolving issues by providing brief description of each package and its purpose --- CONTRIBUTING.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3a6402606db..e3ea8be2980 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -41,6 +41,31 @@ Please **ask first** if somebody else is already working on this or the core dev Please also provide a **test plan**, i.e. specify how you verified that your addition works. +### Folder Structure of Create React App +`create-react-app` is divided into independent sub-packages, which can be found in `packages` directory [Packages](https://github.com/facebookincubator/create-react-app/tree/master/packages). + +#### Overview of directory structure +``` +packages/ + babel-preset-react-app/ + create-react-app/ + eslint-config-react-app/ + react-dev-utils/ + react-scripts/ +``` +#### Brief description of individual packages +#### [babel-preset-react-app](https://github.com/facebookincubator/create-react-app/tree/master/packages/babel-preset-react-app) + This package is used to create `babel-presets` for projects created using `create-react-app` +#### [create-react-app](https://github.com/facebookincubator/create-react-app/tree/master/packages/create-react-app) +Main global CLI command code can be found in this directory +#### [eslint-config-react-app](https://github.com/facebookincubator/create-react-app/tree/master/packages/eslint-config-react-app) +Packages contains rules which will be included as part of the project created using `create-react-app` +#### [react-dev-utils](https://github.com/facebookincubator/create-react-app/tree/master/packages/react-dev-utils) +Package contains utilities used for `create-react-app`. These scripts can be installed and used independent of this project. +#### [react-scripts](https://github.com/facebookincubator/create-react-app/tree/master/packages/react-scripts) +Package contains `scripts` used by projects created using `create-react-app` for `build`, `eject`, etc. + + ## Setting Up a Local Copy 1. Clone the repo with `git clone https://github.com/facebookincubator/create-react-app` From 97ae1f3efa9887c7d56a1f2b094b03463cf68e5e Mon Sep 17 00:00:00 2001 From: anilreddykatta Date: Mon, 17 Apr 2017 22:49:00 -0500 Subject: [PATCH 2/3] Removing unnecessary packages from Folder structure heading --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e3ea8be2980..d7b2621a473 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -42,7 +42,7 @@ Please **ask first** if somebody else is already working on this or the core dev Please also provide a **test plan**, i.e. specify how you verified that your addition works. ### Folder Structure of Create React App -`create-react-app` is divided into independent sub-packages, which can be found in `packages` directory [Packages](https://github.com/facebookincubator/create-react-app/tree/master/packages). +`create-react-app` is divided into independent sub-packages, which can be found in [Packages](https://github.com/facebookincubator/create-react-app/tree/master/packages) directory . #### Overview of directory structure ``` From 5df6194b825a44fdbe10bad417877accbc0a39a0 Mon Sep 17 00:00:00 2001 From: Joe Haddad Date: Tue, 18 Apr 2017 21:23:25 -0400 Subject: [PATCH 3/3] Update CONTRIBUTING.md --- CONTRIBUTING.md | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d7b2621a473..5a8dd1c36d1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -41,10 +41,11 @@ Please **ask first** if somebody else is already working on this or the core dev Please also provide a **test plan**, i.e. specify how you verified that your addition works. -### Folder Structure of Create React App -`create-react-app` is divided into independent sub-packages, which can be found in [Packages](https://github.com/facebookincubator/create-react-app/tree/master/packages) directory . +## Folder Structure of Create React App +`create-react-app` is a monorepo, meaning it is divided into independent sub-packages.
+These packages can be found in the [`packages/`](https://github.com/facebookincubator/create-react-app/tree/master/packages) directory. -#### Overview of directory structure +### Overview of directory structure ``` packages/ babel-preset-react-app/ @@ -53,18 +54,22 @@ packages/ react-dev-utils/ react-scripts/ ``` -#### Brief description of individual packages +### Package Descriptions #### [babel-preset-react-app](https://github.com/facebookincubator/create-react-app/tree/master/packages/babel-preset-react-app) - This package is used to create `babel-presets` for projects created using `create-react-app` +This package is a babel preset intended to be used with `react-scripts`.
+It targets platforms that React is designed to support (IE 9+) and enables experimental features used heavily at Facebook.
+This package is enabled by default for all `create-react-app` scaffolded applications. #### [create-react-app](https://github.com/facebookincubator/create-react-app/tree/master/packages/create-react-app) -Main global CLI command code can be found in this directory +The global CLI command code can be found in this directory, and shouldn't often be changed. It should run on Node 0.10+. #### [eslint-config-react-app](https://github.com/facebookincubator/create-react-app/tree/master/packages/eslint-config-react-app) -Packages contains rules which will be included as part of the project created using `create-react-app` +This package contains a conservative set of rules focused on making errors apparent and enforces no style rules.
+This package is enabled by default for all `create-react-app` scaffolded applications. #### [react-dev-utils](https://github.com/facebookincubator/create-react-app/tree/master/packages/react-dev-utils) -Package contains utilities used for `create-react-app`. These scripts can be installed and used independent of this project. +This package contains utilities used for `react-scripts` and sister packages.
+Its main purpose is to conceal code which the user shouldn't be burdened with upon ejecting. #### [react-scripts](https://github.com/facebookincubator/create-react-app/tree/master/packages/react-scripts) -Package contains `scripts` used by projects created using `create-react-app` for `build`, `eject`, etc. - +This package is the heart of the project, which contains the scripts for setting up the development server, building production builds, configuring all software used, etc.
+All functionality must be retained (and configuration given to the user) if they choose to eject. ## Setting Up a Local Copy