The client application for dashup. Built with AngularJS and assembled using browserify into browser understandable bundles.
The application is structured in CommonJS modules that are bundled via browserify into a single file. Test cases are written using jasmine and executed with karma.
The application is structured as shown below:
root
│ Gruntfile.js
│ package.json
│
├──assets
│ ├──font
│ ├──img
│ └──less
├──dist
├──lib
│ dashup.js
│ index.html
│
├──test
│ ├──config
│ │ karma.unit.js
│ │
│ └──spec
│ environmentSpec.js
│
└──vendor
angular-route.js
angular.js
The meaning of these folders is as follows:
lib
: alljs
+html
files that comprise the applicationassets
: fonts, images, less (css) stylestest
: test cases, specificlyconfig
: test related configuration, e.g.karma.unit.js
spec
: actual tests, run in the browser via
vendor
: stubs for non-CommonJS enabled libraries (AngularJS and friends)
You must have grunt installed to test and build the application.
Install all project dependencies via
npm install
Execute grunt
inside the project to perform a complete build including linting and tests.
To execute the build step only run
grunt build
or for continuous (áka watch) mode
grunt auto-build
Building generates distribution ready artifacts into the dist
directory.
To execute all test run
grunt test
or for continuous (áka watch) mode
grunt auto-test
- AngularJS: front-end framework
- karma: a test runner that executes test in real browsers
- karma-bro: fast browserify support for karma that handles big projects with ease
MIT