# Setup NodeJS project We will use [NodeJS](https://nodejs.org/en/) to manage our JavaScript front-end project. We will use [NPM](https://www.npmjs.com/) to manage and install JavaScript pacakges. ## Initialize NPM ``` npm init ``` ## Install webpack packages ``` npm install --save-dev webpack webpack-dev-server webpack-bundle-tracker ``` ## Install babel compiler and plugins ``` npm install --save-dev babel-cli babel-core babel-loader babel-preset-es2015 babel-preset-react babel-preset-stage-2 css-loader style-loader ``` ## Install Helpful Libraries ``` npm install --save-dev axios lodash ``` ## Install Redux and ReactJS and associated plugins ``` npm install --save react react-dom npm install --save-dev redux redux-thunk react-bootstrap react-fontawesome react-redux react-router react-router-redux react-cookie ``` ## Install React Hot Reloader 3 and associated plugins ``` npm install --save-dev react-hot-loader@next redux-devtools redux-devtools-dock-monitor redux-devtools-log-monitor ``` ## Install Unit Testing packages ``` npm install --save-dev karma mocha expect deepfreeze karma-mocha karma-webpack karma-sourcemap-loader karma-chrome-launcher karma-babel-preprocessor enzyme ``` ## Install ESLint ``` npm install --save-dev eslint eslint-plugin-import eslint-plugin-jsx-a11y@^2.2.3 eslint-plugin-react eslint-config-airbnb babel-eslint ```