A single-page Minesweeper app. View live here.
- Browserify - Brings Node's
requiremodule pattern to client scripts - React - Frontend JS Framework
- Reflux - Provides helpers for establishing a Flux architecture on the client
- Mocha - JS test framework
- Chai - Test assertion library
- jsdom - Used here to spoof the DOM's JS API in tests regarding views
- CoffeeCoverage - Code coverage tool for Coffeescript
- Istanbul - Used here only to generate code coverage data file for Code Climate (
coverage/lcov.info)
To work on the app client code, you'll need to have the following packages installed before continuing.
Then run npm install.
npm test- Runs Mocha tests on all files inSpecexcept those that start with an underscore (eg.Spec/_willNotRun.js).
Destination of build files is defined in Tasks/paths.js
-
gulp css:build- Compiles and builds Sass
-
gulp js:build- Compiles and builds Coffeescript
-
gulp build- Runs
css:buildandjs:build
- Runs
-
gulporgulp dev- Boots up a server at 127.0.0.1:8890/
- Runs
css:buildwhen a change is made inResources/scss/**/*.scss - Runs
js:buildwhen a change is made inResources/coffee/**/*.coffee
It is imperative to have the default gulp (or gulp dev) task running while writing scss or coffee.
The project is currently only set up to accept libraries that have browserify support.
-
Install the library via
npm install <lib> -
Use
requiresyntax to include the package in Coffee files
-
Create a
.coffeefile within/Resources/coffee/ -
The file will be automagically built into
build.js
- Include new stylesheets in
/Resources/scss/app.scssusing@import "path/to/file.scss" - The file will be automagically built into
build.css