cdcme / reify

An opinionated boilerplate for client-only React apps

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logo

re·i·fy /ˈrēəˌfī/

verb formal

make something abstract more concrete or real


Quick Start Guide

# general maintenance
brew update; brew upgrade # update nodejs and npm
npm update -g # update global node modules
npm i -g npm-check-updates # use this to keep npm modules up-to-date
ncu # check for dependency updates

# dev tasks
npm i # install project dependencies
npm start # run local development server at http://localhost:8080

# testing
npm test # run tests
npm run test:watch # run tests in watch mode
npm run test:verbose # extra output
npm run test:werbose # watch mode, extra output
npm run lint # run linter
npm run cover # run coverage report

About

Reify is an opinionated boilerplate for non-universal (client-only) React apps, configured with best practices and patterns and a curated selection of libraries from the React ecosystem.

Goals

Reify's goals are focused primarily on developer experience and code quality. It aims to:

  • make it quick and easy to learn React+Redux and start building
  • encourage best practices and design patterns
  • help you write well-tested, maintainable React apps
  • allow you to build the client in isolation
  • make it easy to go from learning and prototyping to building production-quality apps

It's set up with TDD in mind and is configured with hot module reloading enabled for a painless developer experience. It also includes a simple demo app that you can examine and learn from.

For an explanation of the patterns used, see PATTERNS.md. To learn how the demo app works, see DEMO.md. To learn how to contribute, see CONTRIBUTING.md.

Core libraries

Build

Code quality

  • eslint to maintain a consistent code style
  • AVA futuristic test runner for javascript
  • sinon standalone spies, stubs and mocks
  • nyc coverage reporting for apps that spawn subprocesses
  • enzyme React component testing
  • Redux Dev Tools for next generation developer experience
  • Redux Test Recorder automagically generate tests for your reducers based on the actions in your app
  • raven-js allows us to log client app errors to Sentry
  • nock HTTP mocking library
  • jsdom mock the DOM
  • webpack-dashboard prettify webpack output
Big Idea graphic was designed by Edward Boatman and is in the public domain

About

An opinionated boilerplate for client-only React apps

License:MIT License


Languages

Language:JavaScript 99.7%Language:HTML 0.3%