Book Image

React 16 Tooling

By : Adam Boduch, Christopher Pitt
Book Image

React 16 Tooling

By: Adam Boduch, Christopher Pitt

Overview of this book

React 16 Tooling covers the most important tools, utilities, and libraries that every React developer needs to know — in detail. As React has grown, the amazing toolset around it has also grown, adding features and enhancing the development workflow. Each of these essential tools is presented in a practical manner and in a logical order mirroring the development workflow. These tools will make your development life simpler and happier, enabling you to create better and more performant apps. Adam starts with a hand-picked selection of the best tools for the React 16 ecosystem. For starters, there’s the create-react-app utility that’s officially supported by the React team. Not only does this tool bootstrap your React project for you, it also provides a consistent and stable framework to build upon. The premise is that when you don’t have to think about meta development work, more focus goes into the product itself. Other React tools follow this same approach to automating and improving your development life. Jest makes unit testing quicker. Flow makes catching errors easier. Docker containers make deployment in a stack simpler. Storybook makes developing components straightforward. ESLint makes writing standardized code faster. The React DevTools plugin makes debugging a cinch. React 16 Tooling clears away the barriers so you can focus on developing the good parts. In this book, we’ll look at each of these powerful tools in detail, showing you how to build the perfect React ecosystem to develop your apps within.
Table of Contents (18 chapters)
Title Page
Copyright and Credits
Packt Upsell
Contributors
Preface
2
Efficiently Bootstrapping React Applications with Create React App
Index

Bringing Flow into the development server


Wouldn't it be great if type-checking your React code were more tightly-integrated into the create-react-app development process? There's been talk of making this a reality in a future release of create-react-app. For now, you'll have to eject from create-react-app if you want this functionality for your project.

The goal of this approach is to have the development server run Flow for you whenever changes are detected. Then, you can see the Flow output in your dev server console output, and in the browser console.

Once you've ejected from create-react-app by running npm eject, you need to install the following Webpack plugin:

npm install flow-babel-webpack-plugin --save-dev

Then, you need to enable the plugin by editing config/webpack.config.dev.js. First, you need to include the plugin:

const FlowBabelWebpackPlugin = require('flow-babel-webpack-plugin');

Then, you need to add the plugin to the array in the plugins option. This array should look something...