Originally generated from HotTowel Angular; however, updated for SharePoint integration support.
Opinionated AngularJS style guide for teams by @john_papa
More details about the styles and patterns used in this app can be found in John's AngularJS Style Guide and AngularJS Patterns: Clean Code course at Pluralsight.
AngularJS seed project using npm, bower, and gulp. Includes unit tests. Configured to run against SharePoint but will require configuration to point to your SharePoint site after creating the necessary SharePoint lists.
- Install Node.js
- on OSX use homebrew
brew install node
- on Windows use chocolatey
choco install nodejs
-
Install these NPM packages globally
npm install -g bower gulp nodemon`
Refer to these instructions on how to not require sudo
- Run code analysis using
gulp vet
. This runs jshint, jscs, and plato.
- Run the unit tests using
gulp test
(via karma, mocha, sinon).
-
Run the project with
gulp serve-dev --sync
-
--sync
opens it in a browser and updates the browser with any files changes.
- Build the optimized project using
gulp build
- This create the optimized code for the project and puts it in the build folder
- Run the optimize project from the build folder with
gulp serve-build
When you generate the project it should run these commands, but if you notice missing pavkages, run these again:
npm install
bower install
Core modules are ones that are shared throughout the entire application and may be customized for the specific application. Example might be common data services.
This is an aggregator of modules that the application will need. The core
module takes the blocks, common, and Angular sub-modules as dependencies.
Block modules are reusable blocks of code that can be used across projects simply by including them as dependencies.
The blocks.logger
module handles logging across the Angular app.
The blocks.exception
module handles exceptions across the Angular app.
It depends on the blocks.logger
module, because the implementation logs the exceptions.
The blocks.router
module contains a routing helper module that assists in adding routes to the $routeProvider.