From a1d48bbd304f57a35bae44aa701cf9aba5221b33 Mon Sep 17 00:00:00 2001 From: Hyzual Date: Fri, 7 Nov 2014 00:06:07 +0100 Subject: [PATCH] Reorganizes the entire app to follow Google's best practice recommendations for Angular App Structure. 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 --- .jshintrc | 15 ++++++- Gruntfile.js | 18 +++----- {js => app}/app.js | 19 ++++----- .../archive}/archive-service.js | 0 .../archive}/archive-service_test.js | 0 {js/partials => app/archive}/archive.html | 2 +- {js/controllers => app/archive}/archive.js | 0 {js => app/archive}/json_collections.js | 0 {js/directives => app/common}/directives.js | 2 +- {js/filters => app/common}/filters.js | 0 {js => app/common}/json_changelog.js | 0 .../main.js => app/common/main-controller.js | 0 {js/services => app/common}/model-service.js | 0 .../common}/model-service_test.js | 0 .../common}/notification-service.js | 0 {js/services => app/common}/player-service.js | 0 {js/partials => app/common}/songs.html | 0 {js/services => app/common}/utils-service.js | 2 +- .../common}/utils-service_test.js | 0 {images => app/images}/ajax-loader.gif | Bin {images => app/images}/albumdefault_120.jpg | Bin {images => app/images}/albumdefault_160.jpg | Bin {images => app/images}/albumdefault_25.jpg | Bin {images => app/images}/albumdefault_50.jpg | Bin {images => app/images}/albumdefault_56.jpg | Bin {images => app/images}/albumdefault_60.jpg | Bin {images => app/images}/aperture_gd_12x12.png | Bin {images => app/images}/archive_gd_16x16.png | Bin {images => app/images}/arrow_down_8x8.png | Bin .../images}/arrow_left_gl_12x12.png | Bin {images => app/images}/arrow_left_gl_8x8.png | Bin .../images}/arrow_right_gl_12x12.png | Bin {images => app/images}/arrow_right_gl_8x8.png | Bin {images => app/images}/asc.gif | Bin {images => app/images}/bg.gif | Bin .../images}/chat_alt_stroke_12x12.png | Bin {images => app/images}/check_8x7.png | Bin {images => app/images}/cog_16x16.png | Bin .../images}/comment_stroke_12x11.png | Bin .../images}/comment_stroke_gl_12x11.png | Bin {images => app/images}/desc.gif | Bin {images => app/images}/download_gd_9x12.png | Bin {images => app/images}/download_gl_9x12.png | Bin {images => app/images}/favicon_32x32.ico | Bin {images => app/images}/favicon_32x32.png | Bin {images => app/images}/favicon_48x48.png | Bin {images => app/images}/fbpreview.png | Bin {images => app/images}/first_12x12.png | Bin {images => app/images}/first_24x24.png | Bin {images => app/images}/first_32x32.png | Bin {images => app/images}/fork_gd_11x12.png | Bin {images => app/images}/hash_gd_14x16.png | Bin .../images}/headphones_gd_16x14.png | Bin {images => app/images}/home_gl_12x12.png | Bin {images => app/images}/home_gl_8x8.png | Bin {images => app/images}/info_gd_4x8.png | Bin {images => app/images}/info_gl_4x8.png | Bin {images => app/images}/info_gl_6x12.png | Bin {images => app/images}/last_12x12.png | Bin {images => app/images}/last_24x24.png | Bin {images => app/images}/last_32x32.png | Bin .../images}/layers_alt_gd_12x12.png | Bin .../images}/layers_alt_gl_12x12.png | Bin {images => app/images}/list_gd_12x11.png | Bin {images => app/images}/list_gd_16x14.png | Bin .../images}/lock_stroke_gl_9x12.png | Bin {images => app/images}/loop_alt1_gd_12x9.png | Bin {images => app/images}/loop_alt3_gd_12x9.png | Bin .../images}/magnifying_glass_alt_12x12.png | Bin {images => app/images}/minus_8x2.png | Bin {images => app/images}/minus_gl_8x2.png | Bin .../images}/move_horizontal_3x8.png | Bin {images => app/images}/movie_gd_16x16.png | Bin {images => app/images}/new_window_12x12.png | Bin {images => app/images}/pause_24x32.png | Bin {images => app/images}/play_24x32.png | Bin {images => app/images}/play_6x8.png | Bin {images => app/images}/play_alt_8x8.png | Bin {images => app/images}/play_alt_gd_16x16.png | Bin {images => app/images}/play_gl_6x8.png | Bin {images => app/images}/plus_12x12.png | Bin {images => app/images}/plus_16x16.png | Bin {images => app/images}/plus_8x8.png | Bin {images => app/images}/plus_gl_8x8.png | Bin {images => app/images}/reload_9x11.png | Bin {images => app/images}/rss_12x12.png | Bin {images => app/images}/rss_16x16.png | Bin {images => app/images}/spinner.gif | Bin {images => app/images}/star_lg_12x12.png | Bin {images => app/images}/star_lgo_12x12.png | Bin {images => app/images}/star_w_12x12.png | Bin {images => app/images}/star_wo_12x12.png | Bin {images => app/images}/star_y_12x12.png | Bin {images => app/images}/star_yo_12x12.png | Bin .../images}/steering_wheel_gd_12x12.png | Bin .../images}/steering_wheel_gd_16x16.png | Bin {images => app/images}/subsonic_32x32.ico | Bin {images => app/images}/subsonic_32x32.png | Bin {images => app/images}/subsonic_36.png | Bin {images => app/images}/subsonic_48x48.png | Bin {images => app/images}/subsonic_dn_36.png | Bin .../images}/trash_fill_gd_12x12.png | Bin {images => app/images}/volume_gd_12x9.png | Bin {images => app/images}/volume_gl_12x9.png | Bin .../images}/volume_mute_gd_12x9.png | Bin .../images}/volume_mute_gl_12x9.png | Bin {images => app/images}/x_11x11.png | Bin {images => app/images}/x_gl_11x11.png | Bin index.html => app/index.html | 40 +++++++++--------- {js/partials => app/podcasts}/podcasts.html | 2 +- {js/controllers => app/podcasts}/podcasts.js | 0 {js/partials => app/queue}/queue.html | 2 +- {js/controllers => app/queue}/queue.js | 0 .../settings/settings-service.js | 8 ++-- .../settings/settings-service_test.js | 4 +- {js/partials => app/settings}/settings.html | 0 {js/controllers => app/settings}/settings.js | 0 {styles => app/styles}/Dark.css | 0 {styles => app/styles}/Style.css | 0 .../subsonic}/subsonic-service.js | 2 +- .../subsonic}/subsonic-service_test.js | 0 .../subsonic/subsonic.html | 2 +- {js/controllers => app/subsonic}/subsonic.js | 0 .../subsonic}/subsonic_test.js | 0 {js/plugins => app/vendor}/UnityShim.js | 0 .../vendor}/jquery-split-pane.css | 0 .../vendor}/jquery-split-pane.js | 0 {js/plugins => app/vendor}/jquery.base64.js | 0 .../vendor}/jquery.dateFormat-1.0.js | 0 .../vendor}/jquery.layout-default.css | 0 .../vendor}/jquery.layout-latest.min.js | 0 bower.json | 2 +- test/karma.conf.js => karma.conf.js | 8 ++-- package.json | 17 +++++--- test/.jshintrc | 36 ---------------- 135 files changed, 78 insertions(+), 103 deletions(-) rename {js => app}/app.js (60%) rename {js/services => app/archive}/archive-service.js (100%) rename {test/services => app/archive}/archive-service_test.js (100%) rename {js/partials => app/archive}/archive.html (98%) rename {js/controllers => app/archive}/archive.js (100%) rename {js => app/archive}/json_collections.js (100%) rename {js/directives => app/common}/directives.js (98%) rename {js/filters => app/common}/filters.js (100%) rename {js => app/common}/json_changelog.js (100%) rename js/controllers/main.js => app/common/main-controller.js (100%) rename {js/services => app/common}/model-service.js (100%) rename {test/services => app/common}/model-service_test.js (100%) rename {js/services => app/common}/notification-service.js (100%) rename {js/services => app/common}/player-service.js (100%) rename {js/partials => app/common}/songs.html (100%) rename {js/services => app/common}/utils-service.js (99%) rename {test/services => app/common}/utils-service_test.js (100%) rename {images => app/images}/ajax-loader.gif (100%) rename {images => app/images}/albumdefault_120.jpg (100%) rename {images => app/images}/albumdefault_160.jpg (100%) rename {images => app/images}/albumdefault_25.jpg (100%) rename {images => app/images}/albumdefault_50.jpg (100%) rename {images => app/images}/albumdefault_56.jpg (100%) rename {images => app/images}/albumdefault_60.jpg (100%) rename {images => app/images}/aperture_gd_12x12.png (100%) rename {images => app/images}/archive_gd_16x16.png (100%) rename {images => app/images}/arrow_down_8x8.png (100%) rename {images => app/images}/arrow_left_gl_12x12.png (100%) rename {images => app/images}/arrow_left_gl_8x8.png (100%) rename {images => app/images}/arrow_right_gl_12x12.png (100%) rename {images => app/images}/arrow_right_gl_8x8.png (100%) rename {images => app/images}/asc.gif (100%) rename {images => app/images}/bg.gif (100%) rename {images => app/images}/chat_alt_stroke_12x12.png (100%) rename {images => app/images}/check_8x7.png (100%) rename {images => app/images}/cog_16x16.png (100%) rename {images => app/images}/comment_stroke_12x11.png (100%) rename {images => app/images}/comment_stroke_gl_12x11.png (100%) rename {images => app/images}/desc.gif (100%) rename {images => app/images}/download_gd_9x12.png (100%) rename {images => app/images}/download_gl_9x12.png (100%) rename {images => app/images}/favicon_32x32.ico (100%) rename {images => app/images}/favicon_32x32.png (100%) rename {images => app/images}/favicon_48x48.png (100%) rename {images => app/images}/fbpreview.png (100%) rename {images => app/images}/first_12x12.png (100%) rename {images => app/images}/first_24x24.png (100%) rename {images => app/images}/first_32x32.png (100%) rename {images => app/images}/fork_gd_11x12.png (100%) rename {images => app/images}/hash_gd_14x16.png (100%) rename {images => app/images}/headphones_gd_16x14.png (100%) rename {images => app/images}/home_gl_12x12.png (100%) rename {images => app/images}/home_gl_8x8.png (100%) rename {images => app/images}/info_gd_4x8.png (100%) rename {images => app/images}/info_gl_4x8.png (100%) rename {images => app/images}/info_gl_6x12.png (100%) rename {images => app/images}/last_12x12.png (100%) rename {images => app/images}/last_24x24.png (100%) rename {images => app/images}/last_32x32.png (100%) rename {images => app/images}/layers_alt_gd_12x12.png (100%) rename {images => app/images}/layers_alt_gl_12x12.png (100%) rename {images => app/images}/list_gd_12x11.png (100%) rename {images => app/images}/list_gd_16x14.png (100%) rename {images => app/images}/lock_stroke_gl_9x12.png (100%) rename {images => app/images}/loop_alt1_gd_12x9.png (100%) rename {images => app/images}/loop_alt3_gd_12x9.png (100%) rename {images => app/images}/magnifying_glass_alt_12x12.png (100%) rename {images => app/images}/minus_8x2.png (100%) rename {images => app/images}/minus_gl_8x2.png (100%) rename {images => app/images}/move_horizontal_3x8.png (100%) rename {images => app/images}/movie_gd_16x16.png (100%) rename {images => app/images}/new_window_12x12.png (100%) rename {images => app/images}/pause_24x32.png (100%) rename {images => app/images}/play_24x32.png (100%) rename {images => app/images}/play_6x8.png (100%) rename {images => app/images}/play_alt_8x8.png (100%) rename {images => app/images}/play_alt_gd_16x16.png (100%) rename {images => app/images}/play_gl_6x8.png (100%) rename {images => app/images}/plus_12x12.png (100%) rename {images => app/images}/plus_16x16.png (100%) rename {images => app/images}/plus_8x8.png (100%) rename {images => app/images}/plus_gl_8x8.png (100%) rename {images => app/images}/reload_9x11.png (100%) rename {images => app/images}/rss_12x12.png (100%) rename {images => app/images}/rss_16x16.png (100%) rename {images => app/images}/spinner.gif (100%) rename {images => app/images}/star_lg_12x12.png (100%) rename {images => app/images}/star_lgo_12x12.png (100%) rename {images => app/images}/star_w_12x12.png (100%) rename {images => app/images}/star_wo_12x12.png (100%) rename {images => app/images}/star_y_12x12.png (100%) rename {images => app/images}/star_yo_12x12.png (100%) rename {images => app/images}/steering_wheel_gd_12x12.png (100%) rename {images => app/images}/steering_wheel_gd_16x16.png (100%) rename {images => app/images}/subsonic_32x32.ico (100%) rename {images => app/images}/subsonic_32x32.png (100%) rename {images => app/images}/subsonic_36.png (100%) rename {images => app/images}/subsonic_48x48.png (100%) rename {images => app/images}/subsonic_dn_36.png (100%) rename {images => app/images}/trash_fill_gd_12x12.png (100%) rename {images => app/images}/volume_gd_12x9.png (100%) rename {images => app/images}/volume_gl_12x9.png (100%) rename {images => app/images}/volume_mute_gd_12x9.png (100%) rename {images => app/images}/volume_mute_gl_12x9.png (100%) rename {images => app/images}/x_11x11.png (100%) rename {images => app/images}/x_gl_11x11.png (100%) rename index.html => app/index.html (86%) rename {js/partials => app/podcasts}/podcasts.html (97%) rename {js/controllers => app/podcasts}/podcasts.js (100%) rename {js/partials => app/queue}/queue.html (71%) rename {js/controllers => app/queue}/queue.js (100%) rename js/services/globals-service.js => app/settings/settings-service.js (91%) rename test/services/globals-service_test.js => app/settings/settings-service_test.js (92%) rename {js/partials => app/settings}/settings.html (100%) rename {js/controllers => app/settings}/settings.js (100%) rename {styles => app/styles}/Dark.css (100%) rename {styles => app/styles}/Style.css (100%) rename {js/services => app/subsonic}/subsonic-service.js (99%) rename {test/services => app/subsonic}/subsonic-service_test.js (100%) rename js/partials/library.html => app/subsonic/subsonic.html (99%) rename {js/controllers => app/subsonic}/subsonic.js (100%) rename {test/controllers => app/subsonic}/subsonic_test.js (100%) rename {js/plugins => app/vendor}/UnityShim.js (100%) rename {js/plugins => app/vendor}/jquery-split-pane.css (100%) rename {js/plugins => app/vendor}/jquery-split-pane.js (100%) rename {js/plugins => app/vendor}/jquery.base64.js (100%) rename {js/plugins => app/vendor}/jquery.dateFormat-1.0.js (100%) rename {js/plugins => app/vendor}/jquery.layout-default.css (100%) rename {js/plugins => app/vendor}/jquery.layout-latest.min.js (100%) rename test/karma.conf.js => karma.conf.js (95%) delete mode 100644 test/.jshintrc diff --git a/.jshintrc b/.jshintrc index 3ff32f5..6887768 100644 --- a/.jshintrc +++ b/.jshintrc @@ -17,9 +17,20 @@ "trailing": true, "smarttabs": true, "globals": { + "_": false, + "after": false, + "afterEach": false, "angular": false, - "_": false - }, + "before": false, + "beforeEach": false, + "browser": false, + "describe": false, + "expect": false, + "inject": false, + "it": false, + "jasmine": false, + "spyOn": false + } "browser": true, "node": true, "jquery": true diff --git a/Gruntfile.js b/Gruntfile.js index a07677f..68e0021 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -34,14 +34,14 @@ module.exports = function (grunt) { tasks: ['wiredep'] }, js: { - files: ['<%= yeoman.app %>/js/{,*/}*.js'], + files: ['<%= yeoman.app %>/**/*.js', '!<%= yeoman.app %>/**/*_test.js'], tasks: ['karma:continuous:run'], //'newer:jshint:all'], options: { livereload: '<%= connect.options.livereload %>' } }, jsTest: { - files: ['test/**/*_test.js'], + files: ['<%= yeoman.app %>/**/*_test.js'], tasks: ['karma:continuous:run'], //'newer:jshint:test'] }, styles: { @@ -53,7 +53,7 @@ module.exports = function (grunt) { }, livereload: { files: [ - '<%= yeoman.app %>/{,*/}*.html', + '<%= yeoman.app %>/**/*.html', '.tmp/styles/{,*/}*.css', '<%= yeoman.app %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}' ] @@ -92,7 +92,7 @@ module.exports = function (grunt) { middleware: function (connect) { return [ connect.static('.tmp'), - connect.static('test'), + //connect.static('test'), connect().use( '/bower_components', connect.static('./bower_components') @@ -119,14 +119,8 @@ module.exports = function (grunt) { all: { src: [ 'Gruntfile.js', - '<%= yeoman.app %>/js/{,*/}*.js' + '<%= yeoman.app %>/**/*.js' ] - }, - test: { - options: { - jshintrc: 'test/.jshintrc' - }, - src: ['test/{,*/}*.js'] } }, @@ -258,7 +252,7 @@ module.exports = function (grunt) { // Test settings karma: { options: { - configFile: 'test/karma.conf.js', + configFile: './karma.conf.js', }, unit: { singleRun: true diff --git a/js/app.js b/app/app.js similarity index 60% rename from js/app.js rename to app/app.js index d3e3556..cb02716 100755 --- a/js/app.js +++ b/app/app.js @@ -7,16 +7,15 @@ var jamstash = angular.module('JamStash', ['ngCookies', 'ngRoute', 'ngSanitize', jamstash.config(function ($routeProvider) { $routeProvider .when('/index', { redirectTo: '/library' }) - .when('/settings', { templateUrl: 'js/partials/settings.html', controller: 'SettingsCtrl' }) - .when('/queue', { templateUrl: 'js/partials/queue.html', controller: 'QueueCtrl' }) - .when('/library', { templateUrl: 'js/partials/library.html', controller: 'SubsonicCtrl' }) - .when('/library/:artistId', { templateUrl: 'js/partials/library.html', controller: 'SubsonicCtrl', reloadOnSearch: false }) - .when('/library/:artistId/:albumId', { templateUrl: 'js/partials/library.html', controller: 'SubsonicCtrl', reloadOnSearch: false }) - .when('/playlists', { templateUrl: 'js/partials/playlists.html', controller: 'PlaylistCtrl' }) - .when('/podcasts', { templateUrl: 'js/partials/podcasts.html', controller: 'PodcastCtrl' }) - .when('/archive', { templateUrl: 'js/partials/archive.html', controller: 'ArchiveCtrl' }) - .when('/archive/:artist', { templateUrl: 'js/partials/archive.html', controller: 'ArchiveCtrl' }) - .when('/archive/:artist/:album', { templateUrl: 'js/partials/archive.html', controller: 'ArchiveCtrl' }) + .when('/settings', { templateUrl: 'settings/settings.html', controller: 'SettingsCtrl' }) + .when('/queue', { templateUrl: 'queue/queue.html', controller: 'QueueCtrl' }) + .when('/library', { templateUrl: 'subsonic/subsonic.html', controller: 'SubsonicCtrl' }) + .when('/library/:artistId', { templateUrl: 'subsonic/subsonic.html', controller: 'SubsonicCtrl', reloadOnSearch: false }) + .when('/library/:artistId/:albumId', { templateUrl: 'subsonic/subsonic.html', controller: 'SubsonicCtrl', reloadOnSearch: false }) + .when('/podcasts', { templateUrl: 'podcasts/podcasts.html', controller: 'PodcastCtrl' }) + .when('/archive', { templateUrl: 'archive/archive.html', controller: 'ArchiveCtrl' }) + .when('/archive/:artist', { templateUrl: 'archive/archive.html', controller: 'ArchiveCtrl' }) + .when('/archive/:artist/:album', { templateUrl: 'archive/archive.html', controller: 'ArchiveCtrl' }) .otherwise({ redirectTo: '/index' }); }); diff --git a/js/services/archive-service.js b/app/archive/archive-service.js similarity index 100% rename from js/services/archive-service.js rename to app/archive/archive-service.js diff --git a/test/services/archive-service_test.js b/app/archive/archive-service_test.js similarity index 100% rename from test/services/archive-service_test.js rename to app/archive/archive-service_test.js diff --git a/js/partials/archive.html b/app/archive/archive.html similarity index 98% rename from js/partials/archive.html rename to app/archive/archive.html index 25ce9f4..b6dcce6 100644 --- a/js/partials/archive.html +++ b/app/archive/archive.html @@ -82,7 +82,7 @@
diff --git a/js/controllers/archive.js b/app/archive/archive.js similarity index 100% rename from js/controllers/archive.js rename to app/archive/archive.js diff --git a/js/json_collections.js b/app/archive/json_collections.js similarity index 100% rename from js/json_collections.js rename to app/archive/json_collections.js diff --git a/js/directives/directives.js b/app/common/directives.js similarity index 98% rename from js/directives/directives.js rename to app/common/directives.js index 05616fc..9400b6e 100644 --- a/js/directives/directives.js +++ b/app/common/directives.js @@ -45,7 +45,7 @@ jamstash.directive('fancybox', function ($compile) { jamstash.directive('songpreview', function ($compile, subsonic) { return { restrict: 'E', - templateUrl: 'js/partials/songs.html', + templateUrl: 'common/songs.html', replace: false, // pass these two names from attrs into the template scope scope: { diff --git a/js/filters/filters.js b/app/common/filters.js similarity index 100% rename from js/filters/filters.js rename to app/common/filters.js diff --git a/js/json_changelog.js b/app/common/json_changelog.js similarity index 100% rename from js/json_changelog.js rename to app/common/json_changelog.js diff --git a/js/controllers/main.js b/app/common/main-controller.js similarity index 100% rename from js/controllers/main.js rename to app/common/main-controller.js diff --git a/js/services/model-service.js b/app/common/model-service.js similarity index 100% rename from js/services/model-service.js rename to app/common/model-service.js diff --git a/test/services/model-service_test.js b/app/common/model-service_test.js similarity index 100% rename from test/services/model-service_test.js rename to app/common/model-service_test.js diff --git a/js/services/notification-service.js b/app/common/notification-service.js similarity index 100% rename from js/services/notification-service.js rename to app/common/notification-service.js diff --git a/js/services/player-service.js b/app/common/player-service.js similarity index 100% rename from js/services/player-service.js rename to app/common/player-service.js diff --git a/js/partials/songs.html b/app/common/songs.html similarity index 100% rename from js/partials/songs.html rename to app/common/songs.html diff --git a/js/services/utils-service.js b/app/common/utils-service.js similarity index 99% rename from js/services/utils-service.js rename to app/common/utils-service.js index c17d01e..64af084 100644 --- a/js/services/utils-service.js +++ b/app/common/utils-service.js @@ -3,7 +3,7 @@ * * Provides generally useful functions, like sorts, date-related functions, localStorage access, etc. */ -angular.module('jamstash.utils', ['jamstash.globals']) +angular.module('jamstash.utils', ['jamstash.settings']) .service('utils', function ($rootScope, globals) { 'use strict'; diff --git a/test/services/utils-service_test.js b/app/common/utils-service_test.js similarity index 100% rename from test/services/utils-service_test.js rename to app/common/utils-service_test.js diff --git a/images/ajax-loader.gif b/app/images/ajax-loader.gif similarity index 100% rename from images/ajax-loader.gif rename to app/images/ajax-loader.gif diff --git a/images/albumdefault_120.jpg b/app/images/albumdefault_120.jpg similarity index 100% rename from images/albumdefault_120.jpg rename to app/images/albumdefault_120.jpg diff --git a/images/albumdefault_160.jpg b/app/images/albumdefault_160.jpg similarity index 100% rename from images/albumdefault_160.jpg rename to app/images/albumdefault_160.jpg diff --git a/images/albumdefault_25.jpg b/app/images/albumdefault_25.jpg similarity index 100% rename from images/albumdefault_25.jpg rename to app/images/albumdefault_25.jpg diff --git a/images/albumdefault_50.jpg b/app/images/albumdefault_50.jpg similarity index 100% rename from images/albumdefault_50.jpg rename to app/images/albumdefault_50.jpg diff --git a/images/albumdefault_56.jpg b/app/images/albumdefault_56.jpg similarity index 100% rename from images/albumdefault_56.jpg rename to app/images/albumdefault_56.jpg diff --git a/images/albumdefault_60.jpg b/app/images/albumdefault_60.jpg similarity index 100% rename from images/albumdefault_60.jpg rename to app/images/albumdefault_60.jpg diff --git a/images/aperture_gd_12x12.png b/app/images/aperture_gd_12x12.png similarity index 100% rename from images/aperture_gd_12x12.png rename to app/images/aperture_gd_12x12.png diff --git a/images/archive_gd_16x16.png b/app/images/archive_gd_16x16.png similarity index 100% rename from images/archive_gd_16x16.png rename to app/images/archive_gd_16x16.png diff --git a/images/arrow_down_8x8.png b/app/images/arrow_down_8x8.png similarity index 100% rename from images/arrow_down_8x8.png rename to app/images/arrow_down_8x8.png diff --git a/images/arrow_left_gl_12x12.png b/app/images/arrow_left_gl_12x12.png similarity index 100% rename from images/arrow_left_gl_12x12.png rename to app/images/arrow_left_gl_12x12.png diff --git a/images/arrow_left_gl_8x8.png b/app/images/arrow_left_gl_8x8.png similarity index 100% rename from images/arrow_left_gl_8x8.png rename to app/images/arrow_left_gl_8x8.png diff --git a/images/arrow_right_gl_12x12.png b/app/images/arrow_right_gl_12x12.png similarity index 100% rename from images/arrow_right_gl_12x12.png rename to app/images/arrow_right_gl_12x12.png diff --git a/images/arrow_right_gl_8x8.png b/app/images/arrow_right_gl_8x8.png similarity index 100% rename from images/arrow_right_gl_8x8.png rename to app/images/arrow_right_gl_8x8.png diff --git a/images/asc.gif b/app/images/asc.gif similarity index 100% rename from images/asc.gif rename to app/images/asc.gif diff --git a/images/bg.gif b/app/images/bg.gif similarity index 100% rename from images/bg.gif rename to app/images/bg.gif diff --git a/images/chat_alt_stroke_12x12.png b/app/images/chat_alt_stroke_12x12.png similarity index 100% rename from images/chat_alt_stroke_12x12.png rename to app/images/chat_alt_stroke_12x12.png diff --git a/images/check_8x7.png b/app/images/check_8x7.png similarity index 100% rename from images/check_8x7.png rename to app/images/check_8x7.png diff --git a/images/cog_16x16.png b/app/images/cog_16x16.png similarity index 100% rename from images/cog_16x16.png rename to app/images/cog_16x16.png diff --git a/images/comment_stroke_12x11.png b/app/images/comment_stroke_12x11.png similarity index 100% rename from images/comment_stroke_12x11.png rename to app/images/comment_stroke_12x11.png diff --git a/images/comment_stroke_gl_12x11.png b/app/images/comment_stroke_gl_12x11.png similarity index 100% rename from images/comment_stroke_gl_12x11.png rename to app/images/comment_stroke_gl_12x11.png diff --git a/images/desc.gif b/app/images/desc.gif similarity index 100% rename from images/desc.gif rename to app/images/desc.gif diff --git a/images/download_gd_9x12.png b/app/images/download_gd_9x12.png similarity index 100% rename from images/download_gd_9x12.png rename to app/images/download_gd_9x12.png diff --git a/images/download_gl_9x12.png b/app/images/download_gl_9x12.png similarity index 100% rename from images/download_gl_9x12.png rename to app/images/download_gl_9x12.png diff --git a/images/favicon_32x32.ico b/app/images/favicon_32x32.ico similarity index 100% rename from images/favicon_32x32.ico rename to app/images/favicon_32x32.ico diff --git a/images/favicon_32x32.png b/app/images/favicon_32x32.png similarity index 100% rename from images/favicon_32x32.png rename to app/images/favicon_32x32.png diff --git a/images/favicon_48x48.png b/app/images/favicon_48x48.png similarity index 100% rename from images/favicon_48x48.png rename to app/images/favicon_48x48.png diff --git a/images/fbpreview.png b/app/images/fbpreview.png similarity index 100% rename from images/fbpreview.png rename to app/images/fbpreview.png diff --git a/images/first_12x12.png b/app/images/first_12x12.png similarity index 100% rename from images/first_12x12.png rename to app/images/first_12x12.png diff --git a/images/first_24x24.png b/app/images/first_24x24.png similarity index 100% rename from images/first_24x24.png rename to app/images/first_24x24.png diff --git a/images/first_32x32.png b/app/images/first_32x32.png similarity index 100% rename from images/first_32x32.png rename to app/images/first_32x32.png diff --git a/images/fork_gd_11x12.png b/app/images/fork_gd_11x12.png similarity index 100% rename from images/fork_gd_11x12.png rename to app/images/fork_gd_11x12.png diff --git a/images/hash_gd_14x16.png b/app/images/hash_gd_14x16.png similarity index 100% rename from images/hash_gd_14x16.png rename to app/images/hash_gd_14x16.png diff --git a/images/headphones_gd_16x14.png b/app/images/headphones_gd_16x14.png similarity index 100% rename from images/headphones_gd_16x14.png rename to app/images/headphones_gd_16x14.png diff --git a/images/home_gl_12x12.png b/app/images/home_gl_12x12.png similarity index 100% rename from images/home_gl_12x12.png rename to app/images/home_gl_12x12.png diff --git a/images/home_gl_8x8.png b/app/images/home_gl_8x8.png similarity index 100% rename from images/home_gl_8x8.png rename to app/images/home_gl_8x8.png diff --git a/images/info_gd_4x8.png b/app/images/info_gd_4x8.png similarity index 100% rename from images/info_gd_4x8.png rename to app/images/info_gd_4x8.png diff --git a/images/info_gl_4x8.png b/app/images/info_gl_4x8.png similarity index 100% rename from images/info_gl_4x8.png rename to app/images/info_gl_4x8.png diff --git a/images/info_gl_6x12.png b/app/images/info_gl_6x12.png similarity index 100% rename from images/info_gl_6x12.png rename to app/images/info_gl_6x12.png diff --git a/images/last_12x12.png b/app/images/last_12x12.png similarity index 100% rename from images/last_12x12.png rename to app/images/last_12x12.png diff --git a/images/last_24x24.png b/app/images/last_24x24.png similarity index 100% rename from images/last_24x24.png rename to app/images/last_24x24.png diff --git a/images/last_32x32.png b/app/images/last_32x32.png similarity index 100% rename from images/last_32x32.png rename to app/images/last_32x32.png diff --git a/images/layers_alt_gd_12x12.png b/app/images/layers_alt_gd_12x12.png similarity index 100% rename from images/layers_alt_gd_12x12.png rename to app/images/layers_alt_gd_12x12.png diff --git a/images/layers_alt_gl_12x12.png b/app/images/layers_alt_gl_12x12.png similarity index 100% rename from images/layers_alt_gl_12x12.png rename to app/images/layers_alt_gl_12x12.png diff --git a/images/list_gd_12x11.png b/app/images/list_gd_12x11.png similarity index 100% rename from images/list_gd_12x11.png rename to app/images/list_gd_12x11.png diff --git a/images/list_gd_16x14.png b/app/images/list_gd_16x14.png similarity index 100% rename from images/list_gd_16x14.png rename to app/images/list_gd_16x14.png diff --git a/images/lock_stroke_gl_9x12.png b/app/images/lock_stroke_gl_9x12.png similarity index 100% rename from images/lock_stroke_gl_9x12.png rename to app/images/lock_stroke_gl_9x12.png diff --git a/images/loop_alt1_gd_12x9.png b/app/images/loop_alt1_gd_12x9.png similarity index 100% rename from images/loop_alt1_gd_12x9.png rename to app/images/loop_alt1_gd_12x9.png diff --git a/images/loop_alt3_gd_12x9.png b/app/images/loop_alt3_gd_12x9.png similarity index 100% rename from images/loop_alt3_gd_12x9.png rename to app/images/loop_alt3_gd_12x9.png diff --git a/images/magnifying_glass_alt_12x12.png b/app/images/magnifying_glass_alt_12x12.png similarity index 100% rename from images/magnifying_glass_alt_12x12.png rename to app/images/magnifying_glass_alt_12x12.png diff --git a/images/minus_8x2.png b/app/images/minus_8x2.png similarity index 100% rename from images/minus_8x2.png rename to app/images/minus_8x2.png diff --git a/images/minus_gl_8x2.png b/app/images/minus_gl_8x2.png similarity index 100% rename from images/minus_gl_8x2.png rename to app/images/minus_gl_8x2.png diff --git a/images/move_horizontal_3x8.png b/app/images/move_horizontal_3x8.png similarity index 100% rename from images/move_horizontal_3x8.png rename to app/images/move_horizontal_3x8.png diff --git a/images/movie_gd_16x16.png b/app/images/movie_gd_16x16.png similarity index 100% rename from images/movie_gd_16x16.png rename to app/images/movie_gd_16x16.png diff --git a/images/new_window_12x12.png b/app/images/new_window_12x12.png similarity index 100% rename from images/new_window_12x12.png rename to app/images/new_window_12x12.png diff --git a/images/pause_24x32.png b/app/images/pause_24x32.png similarity index 100% rename from images/pause_24x32.png rename to app/images/pause_24x32.png diff --git a/images/play_24x32.png b/app/images/play_24x32.png similarity index 100% rename from images/play_24x32.png rename to app/images/play_24x32.png diff --git a/images/play_6x8.png b/app/images/play_6x8.png similarity index 100% rename from images/play_6x8.png rename to app/images/play_6x8.png diff --git a/images/play_alt_8x8.png b/app/images/play_alt_8x8.png similarity index 100% rename from images/play_alt_8x8.png rename to app/images/play_alt_8x8.png diff --git a/images/play_alt_gd_16x16.png b/app/images/play_alt_gd_16x16.png similarity index 100% rename from images/play_alt_gd_16x16.png rename to app/images/play_alt_gd_16x16.png diff --git a/images/play_gl_6x8.png b/app/images/play_gl_6x8.png similarity index 100% rename from images/play_gl_6x8.png rename to app/images/play_gl_6x8.png diff --git a/images/plus_12x12.png b/app/images/plus_12x12.png similarity index 100% rename from images/plus_12x12.png rename to app/images/plus_12x12.png diff --git a/images/plus_16x16.png b/app/images/plus_16x16.png similarity index 100% rename from images/plus_16x16.png rename to app/images/plus_16x16.png diff --git a/images/plus_8x8.png b/app/images/plus_8x8.png similarity index 100% rename from images/plus_8x8.png rename to app/images/plus_8x8.png diff --git a/images/plus_gl_8x8.png b/app/images/plus_gl_8x8.png similarity index 100% rename from images/plus_gl_8x8.png rename to app/images/plus_gl_8x8.png diff --git a/images/reload_9x11.png b/app/images/reload_9x11.png similarity index 100% rename from images/reload_9x11.png rename to app/images/reload_9x11.png diff --git a/images/rss_12x12.png b/app/images/rss_12x12.png similarity index 100% rename from images/rss_12x12.png rename to app/images/rss_12x12.png diff --git a/images/rss_16x16.png b/app/images/rss_16x16.png similarity index 100% rename from images/rss_16x16.png rename to app/images/rss_16x16.png diff --git a/images/spinner.gif b/app/images/spinner.gif similarity index 100% rename from images/spinner.gif rename to app/images/spinner.gif diff --git a/images/star_lg_12x12.png b/app/images/star_lg_12x12.png similarity index 100% rename from images/star_lg_12x12.png rename to app/images/star_lg_12x12.png diff --git a/images/star_lgo_12x12.png b/app/images/star_lgo_12x12.png similarity index 100% rename from images/star_lgo_12x12.png rename to app/images/star_lgo_12x12.png diff --git a/images/star_w_12x12.png b/app/images/star_w_12x12.png similarity index 100% rename from images/star_w_12x12.png rename to app/images/star_w_12x12.png diff --git a/images/star_wo_12x12.png b/app/images/star_wo_12x12.png similarity index 100% rename from images/star_wo_12x12.png rename to app/images/star_wo_12x12.png diff --git a/images/star_y_12x12.png b/app/images/star_y_12x12.png similarity index 100% rename from images/star_y_12x12.png rename to app/images/star_y_12x12.png diff --git a/images/star_yo_12x12.png b/app/images/star_yo_12x12.png similarity index 100% rename from images/star_yo_12x12.png rename to app/images/star_yo_12x12.png diff --git a/images/steering_wheel_gd_12x12.png b/app/images/steering_wheel_gd_12x12.png similarity index 100% rename from images/steering_wheel_gd_12x12.png rename to app/images/steering_wheel_gd_12x12.png diff --git a/images/steering_wheel_gd_16x16.png b/app/images/steering_wheel_gd_16x16.png similarity index 100% rename from images/steering_wheel_gd_16x16.png rename to app/images/steering_wheel_gd_16x16.png diff --git a/images/subsonic_32x32.ico b/app/images/subsonic_32x32.ico similarity index 100% rename from images/subsonic_32x32.ico rename to app/images/subsonic_32x32.ico diff --git a/images/subsonic_32x32.png b/app/images/subsonic_32x32.png similarity index 100% rename from images/subsonic_32x32.png rename to app/images/subsonic_32x32.png diff --git a/images/subsonic_36.png b/app/images/subsonic_36.png similarity index 100% rename from images/subsonic_36.png rename to app/images/subsonic_36.png diff --git a/images/subsonic_48x48.png b/app/images/subsonic_48x48.png similarity index 100% rename from images/subsonic_48x48.png rename to app/images/subsonic_48x48.png diff --git a/images/subsonic_dn_36.png b/app/images/subsonic_dn_36.png similarity index 100% rename from images/subsonic_dn_36.png rename to app/images/subsonic_dn_36.png diff --git a/images/trash_fill_gd_12x12.png b/app/images/trash_fill_gd_12x12.png similarity index 100% rename from images/trash_fill_gd_12x12.png rename to app/images/trash_fill_gd_12x12.png diff --git a/images/volume_gd_12x9.png b/app/images/volume_gd_12x9.png similarity index 100% rename from images/volume_gd_12x9.png rename to app/images/volume_gd_12x9.png diff --git a/images/volume_gl_12x9.png b/app/images/volume_gl_12x9.png similarity index 100% rename from images/volume_gl_12x9.png rename to app/images/volume_gl_12x9.png diff --git a/images/volume_mute_gd_12x9.png b/app/images/volume_mute_gd_12x9.png similarity index 100% rename from images/volume_mute_gd_12x9.png rename to app/images/volume_mute_gd_12x9.png diff --git a/images/volume_mute_gl_12x9.png b/app/images/volume_mute_gl_12x9.png similarity index 100% rename from images/volume_mute_gl_12x9.png rename to app/images/volume_mute_gl_12x9.png diff --git a/images/x_11x11.png b/app/images/x_11x11.png similarity index 100% rename from images/x_11x11.png rename to app/images/x_11x11.png diff --git a/images/x_gl_11x11.png b/app/images/x_gl_11x11.png similarity index 100% rename from images/x_gl_11x11.png rename to app/images/x_gl_11x11.png diff --git a/index.html b/app/index.html similarity index 86% rename from index.html rename to app/index.html index f93f15d..68f7bd5 100755 --- a/index.html +++ b/app/index.html @@ -15,7 +15,7 @@ - +
@@ -149,25 +149,25 @@ - - - - + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/js/partials/podcasts.html b/app/podcasts/podcasts.html similarity index 97% rename from js/partials/podcasts.html rename to app/podcasts/podcasts.html index ceef436..1e43605 100644 --- a/js/partials/podcasts.html +++ b/app/podcasts/podcasts.html @@ -26,7 +26,7 @@
-
    +
      diff --git a/js/controllers/podcasts.js b/app/podcasts/podcasts.js similarity index 100% rename from js/controllers/podcasts.js rename to app/podcasts/podcasts.js diff --git a/js/partials/queue.html b/app/queue/queue.html similarity index 71% rename from js/partials/queue.html rename to app/queue/queue.html index 97116ac..da65316 100644 --- a/js/partials/queue.html +++ b/app/queue/queue.html @@ -1,5 +1,5 @@ 
      -
        +
          \ No newline at end of file diff --git a/js/controllers/queue.js b/app/queue/queue.js similarity index 100% rename from js/controllers/queue.js rename to app/queue/queue.js diff --git a/js/services/globals-service.js b/app/settings/settings-service.js similarity index 91% rename from js/services/globals-service.js rename to app/settings/settings-service.js index aeb1e5d..b250f8b 100644 --- a/js/services/globals-service.js +++ b/app/settings/settings-service.js @@ -1,9 +1,9 @@ /** -* jamstash.globals Module +* jamstash.settings Module * * Houses Jamstash's global settings and a few utility functions. */ -angular.module('jamstash.globals', []) +angular.module('jamstash.settings', []) .service('globals', function () { 'use strict'; @@ -74,10 +74,10 @@ angular.module('jamstash.globals', []) return { getCollections: function (callback) { - $http.get('js/json_collections.js').success(callback); + $http.get('archive/json_collections.js').success(callback); }, getChangeLog: function (callback) { - $http.get('js/json_changelog.js').success(callback); + $http.get('common/json_changelog.js').success(callback); } }; }); \ No newline at end of file diff --git a/test/services/globals-service_test.js b/app/settings/settings-service_test.js similarity index 92% rename from test/services/globals-service_test.js rename to app/settings/settings-service_test.js index 3a5f95c..2937ceb 100644 --- a/test/services/globals-service_test.js +++ b/app/settings/settings-service_test.js @@ -1,9 +1,9 @@ -describe("globals service", function() { +describe("settings service", function() { 'use strict'; var globals; beforeEach(function() { - module('jamstash.globals'); + module('jamstash.settings'); inject(function (_globals_) { globals = _globals_; }); diff --git a/js/partials/settings.html b/app/settings/settings.html similarity index 100% rename from js/partials/settings.html rename to app/settings/settings.html diff --git a/js/controllers/settings.js b/app/settings/settings.js similarity index 100% rename from js/controllers/settings.js rename to app/settings/settings.js diff --git a/styles/Dark.css b/app/styles/Dark.css similarity index 100% rename from styles/Dark.css rename to app/styles/Dark.css diff --git a/styles/Style.css b/app/styles/Style.css similarity index 100% rename from styles/Style.css rename to app/styles/Style.css diff --git a/js/services/subsonic-service.js b/app/subsonic/subsonic-service.js similarity index 99% rename from js/services/subsonic-service.js rename to app/subsonic/subsonic-service.js index 38efe4b..a0ed96e 100644 --- a/js/services/subsonic-service.js +++ b/app/subsonic/subsonic-service.js @@ -4,7 +4,7 @@ * Provides access through $http to the Subsonic server's API. * Also offers more fine-grained functionality that is not part of Subsonic's API. */ -angular.module('jamstash.subsonic.service', ['jamstash.globals', 'jamstash.utils', 'jamstash.model', +angular.module('jamstash.subsonic.service', ['jamstash.settings', 'jamstash.utils', 'jamstash.model', 'jamstash.notifications', 'angular-underscore/utils']) .factory('subsonic', function ($rootScope, $http, $q, globals, utils, map, notifications) { diff --git a/test/services/subsonic-service_test.js b/app/subsonic/subsonic-service_test.js similarity index 100% rename from test/services/subsonic-service_test.js rename to app/subsonic/subsonic-service_test.js diff --git a/js/partials/library.html b/app/subsonic/subsonic.html similarity index 99% rename from js/partials/library.html rename to app/subsonic/subsonic.html index 2d37a64..2782b19 100644 --- a/js/partials/library.html +++ b/app/subsonic/subsonic.html @@ -71,7 +71,7 @@
          -
          +
          diff --git a/js/controllers/subsonic.js b/app/subsonic/subsonic.js similarity index 100% rename from js/controllers/subsonic.js rename to app/subsonic/subsonic.js diff --git a/test/controllers/subsonic_test.js b/app/subsonic/subsonic_test.js similarity index 100% rename from test/controllers/subsonic_test.js rename to app/subsonic/subsonic_test.js diff --git a/js/plugins/UnityShim.js b/app/vendor/UnityShim.js similarity index 100% rename from js/plugins/UnityShim.js rename to app/vendor/UnityShim.js diff --git a/js/plugins/jquery-split-pane.css b/app/vendor/jquery-split-pane.css similarity index 100% rename from js/plugins/jquery-split-pane.css rename to app/vendor/jquery-split-pane.css diff --git a/js/plugins/jquery-split-pane.js b/app/vendor/jquery-split-pane.js similarity index 100% rename from js/plugins/jquery-split-pane.js rename to app/vendor/jquery-split-pane.js diff --git a/js/plugins/jquery.base64.js b/app/vendor/jquery.base64.js similarity index 100% rename from js/plugins/jquery.base64.js rename to app/vendor/jquery.base64.js diff --git a/js/plugins/jquery.dateFormat-1.0.js b/app/vendor/jquery.dateFormat-1.0.js similarity index 100% rename from js/plugins/jquery.dateFormat-1.0.js rename to app/vendor/jquery.dateFormat-1.0.js diff --git a/js/plugins/jquery.layout-default.css b/app/vendor/jquery.layout-default.css similarity index 100% rename from js/plugins/jquery.layout-default.css rename to app/vendor/jquery.layout-default.css diff --git a/js/plugins/jquery.layout-latest.min.js b/app/vendor/jquery.layout-latest.min.js similarity index 100% rename from js/plugins/jquery.layout-latest.min.js rename to app/vendor/jquery.layout-latest.min.js diff --git a/bower.json b/bower.json index 0eb8da6..9f373d5 100644 --- a/bower.json +++ b/bower.json @@ -51,5 +51,5 @@ "node_modules" ], "private": true, - "appPath": "." + "appPath": "app" } diff --git a/test/karma.conf.js b/karma.conf.js similarity index 95% rename from test/karma.conf.js rename to karma.conf.js index 9122887..a6311ec 100644 --- a/test/karma.conf.js +++ b/karma.conf.js @@ -11,7 +11,7 @@ module.exports = function(config) { autoWatch: true, // base path, that will be used to resolve files and exclude - basePath: '../', + basePath: '.', // testing framework to use (jasmine/mocha/qunit/...) frameworks: ['jasmine'], @@ -32,12 +32,12 @@ module.exports = function(config) { 'bower_components/jquery.scrollTo/jquery.scrollTo.js', 'bower_components/underscore/underscore.js', 'bower_components/angular-underscore/angular-underscore.js', - 'js/**/*.js', - 'test/**/*_test.js' + 'app/**/*.js', + 'app/**/*_test.js' ], // list of files / patterns to exclude - exclude: ['js/plugins/**/*.js'], + exclude: ['app/vendor/**/*.js'], // web server port port: 8080, diff --git a/package.json b/package.json index b566cfb..d975923 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,17 @@ "name": "Jamstash", "version": "3.4.2", "description": "HTML5 Audio Streamer for Subsonic, Archive.org browsing and streaming", - "author": "Trevor Squillario", + "author": "Trevor Squillario (https://github.com/tsquillario)", + "contributors": [ + "Hyzual (https://github.com/Hyzual)", + "maletor (https://github.com/maletor)", + "javaguirre (https://github.com/javaguirre)", + "Concept211 (https://github.com/Concept211) ", + "jerbob92 (https://github.com/jerbob92)", + "kennyhwang (https://github.com/kennyhwang)", + "ioggstream (https://github.com/ioggstream)", + "x37v (https://github.com/x37v)" + ], "license": "MIT", "homepage": "http://jamstash.com", "keywords": [ @@ -14,10 +24,7 @@ "type": "git", "url": "https://github.com/tsquillario/Jamstash.git" }, - "main": "index.html", - "directories": { - "test": "test" - }, + "main": "app/index.html", "dependencies": {}, "devDependencies": { "grunt": "^0.4.5", diff --git a/test/.jshintrc b/test/.jshintrc deleted file mode 100644 index 9778b3b..0000000 --- a/test/.jshintrc +++ /dev/null @@ -1,36 +0,0 @@ -{ - "node": true, - "browser": true, - "esnext": true, - "bitwise": true, - "camelcase": true, - "curly": true, - "eqeqeq": true, - "immed": true, - "indent": 2, - "latedef": true, - "newcap": true, - "noarg": true, - "quotmark": "true", - "regexp": true, - "undef": true, - "unused": true, - "strict": true, - "trailing": true, - "smarttabs": true, - "globals": { - "after": false, - "afterEach": false, - "angular": false, - "before": false, - "beforeEach": false, - "browser": false, - "describe": false, - "expect": false, - "inject": false, - "it": false, - "jasmine": false, - "spyOn": false - } -} -