Fresh project structure setup. Using react/redux, react-router, redux-thunk, chai, react-hot-loader and more. Detailed dev technologies are listed at the bottom of the page.
- Install Node 7.2.1 or greater.
- Clone the project.
- HTTP:
git clone git@github.com:sadasystems/geo-dotmaps-react.git - SSH:
git@github.com:sadasystems/geo-dotmaps-react.git
- HTTP:
# Install the dependencies with yarn
yarn
# Install the dependencies with npm
npm install-
npm start -s- This will run the automated build process, start up a webserver, and open the application in your default browser. When developing, this command will continue watching all your files.
- Note: The -s flag is optional. It enables silent mode which suppresses unnecessary messages during the build.
- Every time a file is saved, the following is performed:
- Code is rebuilt.
- Linter will check the code quality of the project.
- Unit tests are re-ran.
- This will run the automated build process, start up a webserver, and open the application in your default browser. When developing, this command will continue watching all your files.
-
npm run start:dash- This will run the same command using webpack-dashboard plugin. Now when you run your dev server, you basically work at NASA (c)
- To run tests explicitly,
npm run test. - To perform code coverage analysis:
npm run test:cover.- Code coverage can be viewed in the
/coveragefolder.- Open
/coverage/index.htmlin your browser to review the results in finer detail
- Open
- Code coverage can be viewed in the
# This will build the solution and produce the artifacts to the /dist folder
npm run buildSlingshot offers a rich development experience using the following technologies:
| Tech | Description | Learn More |
|---|---|---|
| React | Fast, composable client-side components. | Pluralsight Course |
| Redux | Enforces unidirectional data flows and immutable, hot reloadable store. Supports time-travel debugging. Lean alternative to Facebook's Flux. | Getting Started with Redux, Building React Applications with Idiomatic Redux, Pluralsight Course |
| React Router | A complete routing library for React | Pluralsight Course |
| Babel | Compiles ES6 to ES5. Enjoy the new version of JavaScript today. | ES6 REPL, ES6 vs ES5, ES6 Katas, Pluralsight course |
| Webpack | Bundles npm packages and our JS into a single file. Includes hot reloading via react-transform-hmr. | Quick Webpack How-to Pluralsight Course |
| Webpack Dashboard | A CLI dashboard for your webpack dev server | Getting started |
| Browsersync | Lightweight development HTTP server that supports synchronized testing and debugging on multiple devices. | Intro vid |
| Mocha | Feature-rich JavaScript test framework running on Node.js and in the browser, making asynchronous testing simple and fun. | Official Wiki |
| Material-UI | A Set of React Components that Implement Google's Material Design. | Getting started, Google Material Design specs |
| ESLint | Lint JS. Reports syntax and style issues. Using eslint-plugin-react for additional React specific linting rules. | |
| SASS | Compiled CSS styles with variables, functions, and more. | Pluralsight Course |
| PostCSS | Transform styles with JS plugins. Used to autoprefix CSS | |
| Editor Config | Enforce consistent editor settings (spaces vs tabs, etc). | IDE Plugins |
| npm Scripts | Glues all this together in a handy automated build. | Pluralsight course, Why not Gulp? |