https://my-test-friends.firebaseapp.com
To find a good starter with pre-configured webpack and test libraries I visited the https://www.andrewhfarmer.com/starter-project/ filterted on router and test and excluded redux It seemed that https://github.com/pheuter/essential-react will be a good choice, so I forked it. (9)
I set up a firebase hosting and continouos integratin with travis ci, so my app is available via web and re-deployed automatically on push here: https://my-test-friends.firebaseapp.com (35)
I also set up the real time database with the user on firebase so it is now available via rest here: https://my-test-friends.firebaseio.com/users.json So the c9 should not be used anymore, all is in one place. (15)
Routing has been implemented + user page fetches name. Eslint installed. Users page and user page firs draft ready. (1:30)
Installed jsdom for unit tests https://tech.just-eat.com/2016/11/10/unit-testing-front-end-javascript-with-ava-and-jsdom/
Forked a design for profile page https://codepen.io/ThomasDaubenton/pen/boVgjW
Finished unit tests.
- Use fewer tools (no yeoman, gulp, bower, etc...)
- Babel 6 with Webpack and Hot Loader
- Fast testing with mocked-out DOM
- Import css files as class names
- Separate Smart and Dumb components
- No specific implementation of Flux or data fetching patterns
$ npm install
Start the local dev server:
$ npm run server
Navigate to http://localhost:8080/ to view the app.
A core philosophy of this skeleton app is to keep the tooling to a minimum. For this reason, you can find all the commands in the scripts
section of package.json.
$ npm run server
Input: src/main.jsx
This leverages React Hot Loader to automatically start a local dev server and refresh file changes on the fly without reloading the page.
It also automatically includes source maps, allowing you to browse code and set breakpoints on the original ES6 code:
$ npm run build
Input: src/main.jsx
Output: build/app.js
Build minified app for production using the production shortcut.
$ npm test
Input: test/main.js
Output: coverage/
Leverages ava to execute the test suite and generate code coverage reports using nyc
$ npm run coveralls
Input: coverage/lcov.info
Sends the code coverage report generated by nyc to Coveralls.
$ npm run clean
Input: build/app.js
Removes the compiled app file from build.