diff --git a/.eslintignore b/.eslintignore index 2b6c6a1fa..e62118425 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,4 +1,3 @@ -blueprints/**/files/** coverage/** node_modules/** dist/** diff --git a/.eslintrc b/.eslintrc index 053179ffe..b5656c688 100644 --- a/.eslintrc +++ b/.eslintrc @@ -19,9 +19,10 @@ "__COVERAGE__" : false }, "rules": { - "key-spacing" : 0, + "key-spacing" : "off", "jsx-quotes" : [2, "prefer-single"], "max-len" : [2, 120, 2], - "object-curly-spacing" : [2, "always"] + "object-curly-spacing" : [2, "always"], + "comma-dangle" : "off" } } diff --git a/.gitignore b/.gitignore index 05bc3fcbc..0402ad107 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,7 @@ .DS_STORE *.log - node_modules - dist coverage - .idea/ +.yarn-cache diff --git a/.travis.yml b/.travis.yml index 69533af29..91720a7ba 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,16 +4,14 @@ node_js: - "6" cache: + yarn: true directories: - node_modules -install: - - npm install -g yarn - - yarn install - script: - - npm run deploy:dev - - npm run deploy:prod + - yarn lint + - yarn test + - yarn build after_success: - - npm run codecov + - yarn codecov diff --git a/README.md b/README.md index 42d73794a..e46c96cb3 100644 --- a/README.md +++ b/README.md @@ -1,109 +1,88 @@ # React Redux Starter Kit -[![Join the chat at https://gitter.im/davezuko/react-redux-starter-kit](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/davezuko/react-redux-starter-kit?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Build Status](https://travis-ci.org/davezuko/react-redux-starter-kit.svg?branch=master)](https://travis-ci.org/davezuko/react-redux-starter-kit?branch=master) [![dependencies](https://david-dm.org/davezuko/react-redux-starter-kit.svg)](https://david-dm.org/davezuko/react-redux-starter-kit) [![devDependency Status](https://david-dm.org/davezuko/react-redux-starter-kit/dev-status.svg)](https://david-dm.org/davezuko/react-redux-starter-kit#info=devDependencies) [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/) -This starter kit is designed to get you up and running with a bunch of awesome new front-end technologies, all on top of a configurable, feature-rich webpack build system that's already setup to provide hot reloading, CSS preprocessing with Sass, unit testing, code coverage reports, bundle splitting, and more. +This starter kit is designed to get you up and running with a bunch of awesome front-end technologies. -The primary goal of this project is to remain as **unopinionated** as possible. Its purpose is not to dictate your project structure or to demonstrate a complete sample application, but to provide a set of tools intended to make front-end development robust, easy, and, most importantly, fun. Check out the full feature list below! +The primary goal of this project is to provide a stable foundation upon which to build modern web appliications. Its purpose is not to dictate your project structure or to demonstrate a complete real-world application, but to provide a set of tools intended to make front-end development robust, easy, and, most importantly, fun. Check out the full feature list below! -Finally, This project wouldn't be possible without the help of our many contributors, so [thank you](#thank-you) for all of your help. +Finally, This project wouldn't be possible without the help of our many contributors. What you see today is the product of hundreds changes made to keep up with an ever-evolving ecosystem. [Thank you](#thank-you) for all of your help. ## Table of Contents -1. [Features](#features) 1. [Requirements](#requirements) -1. [Getting Started](#getting-started) -1. [Application Structure](#application-structure) -1. [Development](#development) - 1. [Developer Tools](#developer-tools) - 1. [Routing](#routing) +1. [Installation](#getting-started) +1. [Running the Project](#running-the-project) +1. [Project Structure](#project-structure) +1. [Live Development](#local-development) + 1. [Hot Reloading](#hot-reloading) + 1. [Redux DevTools](#redux-devtools) +1. [Routing](#routing) 1. [Testing](#testing) + 1. [dirty-chai](#dirty-chai) + 1. [enzyme](#enzyme) +1. [Building for Production](#building-for-production) 1. [Deployment](#deployment) -1. [Build System](#build-system) - 1. [Configuration](#configuration) - 1. [Globals](#globals) - 1. [Styles](#styles) - 1. [Server](#server) - 1. [Production Optimization](#production-optimization) -1. [Learning Resources](#learning-resources) -1. [FAQ](#troubleshooting) 1. [Thank You](#thank-you) -## Features -* [react](https://github.com/facebook/react) -* [redux](https://github.com/rackt/redux) -* [react-router](https://github.com/rackt/react-router) -* [webpack](https://github.com/webpack/webpack) -* [babel](https://github.com/babel/babel) -* [express](https://github.com/expressjs/express) -* [karma](https://github.com/karma-runner/karma) -* [eslint](http://eslint.org) - ## Requirements -* node `^4.5.0` -* yarn `^0.17.0` or npm `^3.0.0` - -## Getting Started +* node `^5.0.0` +* yarn `^0.23.0` or npm `^3.0.0` -After confirming that your development environment meets the specified [requirements](#requirements), you can create a new project based on `react-redux-starter-kit` by doing the following: +## Installation -### Install from source - -First, clone the project: +After confirming that your environment meets the above [requirements](#requirements), you can create a new project based on `react-redux-starter-kit` by doing the following: ```bash $ git clone https://github.com/davezuko/react-redux-starter-kit.git $ cd ``` -Then install dependencies and check to see it works. It is recommended that you use [Yarn](https://yarnpkg.com/) for deterministic installs, but `npm install` will work just as well. +When that's done, install the project dependencies. It is recommended that you use [Yarn](https://yarnpkg.com/) for deterministic dependency management, but `npm install` will suffice. ```bash -$ yarn install # Install project dependencies -$ yarn start # Compile and launch (same as `npm start`) +$ yarn # Install project dependencies (or `npm install`) ``` -If everything works, you should see the following: - +## Running the Project + +After completing the [installation](#installation) step, you're ready to start the project! + +```bash +$ yarn start # Start the development server (or `npm start`) +``` -While developing, you will probably rely mostly on `npm start`; however, there are additional scripts at your disposal: +While developing, you will probably rely mostly on `yarn start`; however, there are additional scripts at your disposal: -|`npm run