This document is intended to provide a development guideline for new and existing contributors to the project. Keep in mind this application undergoes constant development so be sure to check back occasionally as best practices are sure to evolve.
This project uses ESLint, gulp eslint
, and Sass Lint, gulp sasslint
. Both can be run with the gulp task gulp vet
.
For additional information regarding coding style and convention employed in this project checkout:
All dependencies are managed using Yarn. When adding a new dependency for use in the SUI there are three locations to pay attention to:
- package.json - identifies resourcing and desired versions of app dependencies, confirm the correct version of the app you require is saved as a Developer Dependency, (
devDependencies
) - javascripts.html and/or styles.html - makes dependencies available app wide, here you'll reference the
node_modules/
file path of those files you wish to include add Note: Order matters, don't be reckless 👍 - config.js - identifies dependencies required for running tests, the function titled
function getKarmaOptions()
managesvar options
which must identically mirror any action taken step two. For example, if you were to add<script src="/node_modules/jquery/dist/jquery.js"></script>
as the first dependency in javascripts.html, you would add'./node_modules/jquery/dist/jquery.js',
in config.js in an identical position (relative but identical).
In efforts to build towards the future Angular 2.0,
employing components is now preferred over directives.
Much of the existing code base has already been refactored to take advantage of components, these elements are denoted:
with the .component.js
postfix. Find below a few examples for the benefit of extensibility:
In addition, a few choice supporting resources include: