Please do a npm install to update your copy of the packages.
- Adds a grunt task to build up a sprite out of our own svg icons
- Adds a grunt task to copy iconic's svg icons from bower
- Adds a build step to concatenate CSS files. It leaves us free to split the CSS and thus have the minimum css in each directory.
- Adds open-iconic as a bower dependency. We were using their icons, now we can use their svg sprite directly.
- Adds ng-html2JsPreprocessor. A karma preprocessor that helps us test template-url dependent directives.
- Removes jshint from the gruntfile. jshint should be used directly in your editor, e.g. SublimeLinter (https://github.com/SublimeLinter/SublimeLinter-jshint) for SublimeText
- Removes the plugins declaration from karma.conf.js which is now apparently unnecessary.
- Adds a unit test in archive-service to test that we do use utils.formatDate
- Minor changes in subsonic-service.js to use a variable name rather than "this", which can change
That way we avoid loading imagemin everytime on watch, which was the longest (almost 30sec).
We only have to load 'grunt-karma' everytime, but now testing is lightning fast !
Test coverage files are in the /coverage folder.
They indicate us for each js file which lines we ran and which we didn't run during unit tests. This helps us know what to test next.
Conflicts:
package.json
Allows people to use Grunt without having the grunt-ssh plugin installed.
Upgrades karma and karma-jasmine packages to fix the unit tests failing.
Conflicts:
package.json
This is to avoid filling it up with files : since our file names change every time there's a modification (filerev), every time we deployed we would have created a new copy of, say, scripts.min.js
Minifies and concat fancybox and jplayer CSS files.
Their images are now "flattened" into the dist/styles folder, so we no longer have a dist/bower_components folder.
The remaining javascript references to images or CSS files are also rewritten during Grunt build so they correctly reference the versioned file.
Merges the previous vendor and vendor2 javascript files into a single file containing all of our javascript dependencies, bower or not.
Removes some unnecessary Grunt tasks.
Removes some unused Grunt plugins.
TL;DR : everything but CSS is minified and packed in a neat dist/ directory.
This build :
- Merges all vendor dependencies (jquery, angular, etc) into one minified file.
- Merges the non-bower vendor dependencies (UnityShim, jquery-split-pane, etc). into one minified file.
- Merges all our javascript into one minified file.
- Copies all the needed CSS (couldn't minify and rename it because of dependencies in the JS).
- Renames all the images, the minified javascripts (but not the CSS) in order to avoid browser caching.
- Minifies all our html files.
Adds usemin commentaries (the ones with build) to index.html. Don't remove them or the build will break.
Renames the json files to .json so the build can find them and copy them.
Corrects all the angular-injectable functions to use the long form (with the array) in order to be minified. The build should also do that now with ng-Annotate but since I did it when debugging problems with the build, might as well keep it.
Note: the grunt test target is broken. Haven't figured out why yet.
Conflicts:
app/app.js
app/common/directives.js
app/index.html
app/settings/settings.js
see: https://docs.google.com/document/d/1XXMvReO8-Awi1EZXAXS4PzDzdNvV6pGcuaF4Q9821Es/pub
The files are now grouped by view / component.
Tests are located beside tested js files. The Grunt build will be responsible for only distributing actual files without the tests.
Each partial is at the same level as the js files related to it.
Ideally css files should be at the same level, maybe I'll refactor this later.
Moves all non-bower plugins to app/vendor.
Moves all images to app/images and styles to app/styles.
Merges the test and non-test jshintrc files.
Adds all the Jamstash contributors to the package.json file while I was refactoring.
Conflicts:
app/app.js
app/images/vgrabber.gif
app/images/vgrabber2-active.gif
app/images/vgrabber2-normal.gif
app/index.html
Refactors subsonic service's getStarred method to use angular $http and to limit results on the client side since we can't do it with Subsonic's API.
Adds a working unit test for this new method.
Adds an override to enable wiredep to inject fancybox which doesn't have a "main" in its bower.json.
Tabs to spaces in Gruntfile.js.
Conflicts:
index.html
It enables us to :
- automatically inject our bower dependencies into index.html,
- run a webserver which will livereload whenever we change files
- run unit tests with karma on a real browser whenever we change files.
Renames the style dir into styles which is the convention.
I've removed a lot of the original gruntfile because I don't yet understand it. I'll add it back when I start working on how to distribute (minify, concat, etc.) the app.
Conflicts:
index.html