Skip to content

development

Mat Owens edited this page Aug 7, 2015 · 1 revision

Development

If you've forked or cloned the project and would like to make any sort of adjustments, there are few items to make note of. First, your system will need to have the following bits in place:

  • Node & NPM
  • Grunt
  • Ruby
  • Sass

Second, there are a few grunt tasks that you'll be able to leverage to help validate and prepare your changes for use.

You can fire off a grunt or grunt build command manually at any time to lint, minify, and setup your demo (built in the _gh-pages dir) for testing.

grunt (or grunt build)

Also, you can run grunt dev to lint, minify, and prep your demo for testing. Once the build is complete, it'll also fire off a watch so that any changes that are made to the the sass, js, and demo files will automatically trigger the build script to update your project.

grunt dev

To run through the configured unit tests, you can run grunt test. This will fire off a series of tests that check that all default options are set correctly, all configurable options are able to be set correctly, and that all methods carry out the functionality that they're supposed to. These tests should let you know if any of the updates that you've made have negatively effected any preexisting functionality. Also, when the tests complete, there will be a test coverage report generated and stored in the coverage directory.

grunt test

Next, you'll want to do all of your development within three locations. If you add changes anywhere else, they're likely to be overwritten during the build process. These locations are:

src/scripts/ng-notify.js - for any script modifications.

src/styles/ng-notify.sass - for any style modifications.

demo/* - for any modifications to the demo.

Lastly, once you've made your changes and run through the appropriate grunt tasks, your changes should be baked and ready for you to consume - located in the dist directory as minified js and css files.

Overview

Implementation

  • Requirements
  • Installation
  • Usage

Advanced Usage

  • Default Configuration
  • Individual Configurations
  • Sticky Notifications
  • HTML Notifications
  • Roll Your Own
    • Custom Notification Types
    • Custom Themes
    • Custom Styles

Definitions

  • Methods
  • Styles

Development

  • Contributing
  • Testing
Clone this wiki locally