With 40k+ stars and growing in Github. Create React App is undoubtedly the first thing we will play with before shipping great react apps.

It recently moved from facebook-incubator to facebook repo in Github, check out the post below,

With a completely different design decisions like,

No (minimal) flags or configuration

Masking the configuration tools (like Webpack & Babel)

Zero configuration Javascript (#0CJS).

This really helps the developers to focus more on writing react components, rather than getting stuck in adding/selecting plugins/modules to your build configuration.

But the above decisions made create-react-app more complicated.

Everything has to be simple. But making things simpler is harder.

If you have decided to contribute to this amazing project ❤️ to you. That will be an amazing decision. Few tips for you to get it done.

For a simpler change without ejecting, you can just go into your cloned repo and start hacking using

yarn start / test / build

With the recent fix, it is much more robust and awesome.

On the other hand, if you want to play with the generated project.

You can generate the project with the current branch (with your changes) by using the following command.

yarn create-react-app my-awesome-app

This will generate the application in your create-react-app/my-awesome-app/ folder.

By default yarn.lock will not be produced. It is better to switch it off in .yarnrc file (strictly for development purposes).

If you are changing something exciting in react-scripts.

Then run yarn pack to pack the changes in the react-scripts. Followed by running yarn install --force this will install the scripts and then you are applications are ready to go 🚀

You can also use yarn link to link the react-scripts. (inside react-scripts folder)

It is all about learning, if you find any new way to check your changes let me know in comments. It will really be helpful for the developers.

Special thanks to Dan Abramov Ade Viankakrisna F. Ian Sutherland for the awesome tips when we discussed about this.