# Get NPM dependencies:
npm install
# Install global NPM dependencies:
npm -g install bower
npm -g install gulp
npm -g install karma
# Also to be able to run tests from CLI
# without browser window popping consider
# to install PhantomJS:
# http://phantomjs.org/download.html
# Get Ruby dependencies required to compile styles from Sass:
bundle install
Gulp flows
To make development faster and more automated there are several Gulp tasks available:
-
gulpBuilds project into
builddirectory. Under the hood compiles and compresses Sass/CSS, compiles scripts with (RequireJs) and uglifies it. -
gulp bump-versionWorks with gitglow releases. E.g. when you’re on
release/0.4.4branch it will update cache beaters to follow version. -
gulp karmaStarts Karma server watching scripts updates.
-
gulp karma-ciRuns tests against the build (which should be run first) and quits, is good to use in CI scenarios.
-
gulp protractorRuns E2E tests against source files.
-
gulp protractor-ciRuns E2E tests against the build.
-
gulp sassCompiles Sass project, feeds output to Autoprefixer and minifies it via CSSO.
-
gulp watchListens to changes to stylesheets and scripts and reloads browser page during development.
-
bower installTo update all the dependencies to the latest compatible versions.
Tests use Jasmin for assertions.
You can write tests in both Coffee and JS
(see /source/js/modules/home/home-ctrl.spec.js and /source/js/modules/home/home-ctrl.spec.coffee).
Protractor is used to provide way to do E2E tests. To install go to client
directory and run:
npm install -g protractor
// This installs Selenium standalone
// server and Chrome driver:
webdriver-manager update
// Start the server with:
gulp webdriver
// To test source:
gulp protractor
Check p.conf and p-compiled.conf for Protractor settings.
Checkout Protractor docs for more information.
You can checkout planned new features on the Trello Board. Also feel free to create feature requests on github issues.