Skip to content
This repository has been archived by the owner on Nov 29, 2020. It is now read-only.

Minimalistic ES6+ React boilerplate with Hot Reloading using Webpack 4 and Babel 7

License

Notifications You must be signed in to change notification settings

KleoPetroff/react-webpack-boilerplate

Repository files navigation

ES6 React boilerplate using Webpack

Travis PRs Welcome

⚠️ ⚠️ ⚠️

As of 29.12.2018, the project is DEPRECATED and no further development is planned. If you are looking for an alternative, check create-react-app.

Simple and optimized React boilerplate. It includes:

  • React 16.5.2
  • ECMAScript 6+ and JSX support
  • React Router v4
  • Component testing using Enzyme and Jest
  • Code Coverage
  • Latest Webpack (v.4.16.5), Babel 7 and Webpack Dev Server (v.4.19.1) with Scope Hoisting enabled
  • Hot Module Replacement using react-hot-loader
  • ES6 linting with continuous linting on file change
  • SASS support
  • Separate CSS stylesheets generation
  • Automatic HTML generation
  • Production Config
  • Custom Babel Preset with Decorators, Class Properties, Rest/Spread operator support
  • Export Separate Vendor Files

Starting the dev server

Make sure you have the latest Stable or LTS version of Node.js installed.

  1. git clone https://github.com/KleoPetroff/react-webpack-boilerplate.git
  2. Run npm install or yarn install
  3. Start the dev server using npm start
  4. Open http://localhost:8080

Available Commands

  • npm start - start the dev server
  • npm clean - delete the dist folder
  • npm run production - create a production ready build in dist folder
  • npm run lint - execute an eslint check
  • npm test - run all tests
  • npm run test:watch - run all tests in watch mode
  • npm run coverage - generate code coverage report in the coverage folder

Vendor Exporting

You can export specific vendors in separate files and load them. All vendors should be included in app/vendors and will be exported in a vendors folder under dist. The main idea is to serve independent JavaScript and CSS libraries, though currently all file formats are supported.

! Don't forget to add the vendors in app/index.html and build/index.html.

Code Coverage

The project is using the Jest Code Coverage tool. The reports are generated by running npm run coverage. All configurations are located in package.json, inside the jest object.

The coverage report consists of an HTML reporter, which can be viewed in the browser and some helper coverage files like the coverage json and xml file.

Production code

Run npm run production. The production-ready code will be located under dist folder.

Licence

react-webpack-boilerplate is available under MIT.