A single-page Minesweeper app. View live here.
- Browserify - Brings Node's
require
module 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 inSpec
except 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:build
andjs:build
- Runs
-
gulp
orgulp dev
- Boots up a server at 127.0.0.1:8890/
- Runs
css:build
when a change is made inResources/scss/**/*.scss
- Runs
js:build
when 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
require
syntax to include the package in Coffee files
-
Create a
.coffee
file within/Resources/coffee/
-
The file will be automagically built into
build.js
- Include new stylesheets in
/Resources/scss/app.scss
using@import "path/to/file.scss"
- The file will be automagically built into
build.css