diff --git a/.jshintrc b/.jshintrc index 13332331..ff711529 100644 --- a/.jshintrc +++ b/.jshintrc @@ -66,4 +66,4 @@ "element": false, "protractor": false // Protractor } -} \ No newline at end of file +} diff --git a/Gruntfile.js b/Gruntfile.js index 21aa9991..373ef178 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -121,6 +121,25 @@ module.exports = function (grunt) { } }, + /** + * grunt newlines + * + * Checks that all js files end with a newline + */ + lintspaces: { + dist: { + src: [ + dir.source + '/**/*.js', + dir.test + '/**/*.js', + './*.js' + ], + options: { + newline: true, + trailingspaces: true + } + }, + }, + /** * grunt recess * @@ -444,6 +463,14 @@ module.exports = function (grunt) { ], tasks: ['jshint'] }, + lintspaces: { + files: [ + 'Gruntfile.js', + dir.source + '/**/*.js', + dir.test + '/**/*.js' + ], + tasks: ['lintspaces'] + }, livereload: { options: { livereload: config.livereload.port @@ -559,6 +586,7 @@ module.exports = function (grunt) { 'useminPrepare', 'concat', 'less', + 'lintspaces', 'imagemin', 'html2js', 'copy:dist', diff --git a/karma-integration.conf.js b/karma-integration.conf.js index df7b977b..e6b5f926 100644 --- a/karma-integration.conf.js +++ b/karma-integration.conf.js @@ -68,4 +68,4 @@ module.exports = function (config) { '/karma-html-reporter/jasmine_template.html' } }); -}; \ No newline at end of file +}; diff --git a/karma-unit.conf.js b/karma-unit.conf.js index 1bcc9c48..bc377cbf 100644 --- a/karma-unit.conf.js +++ b/karma-unit.conf.js @@ -69,4 +69,4 @@ module.exports = function (config) { '/karma-html-reporter/jasmine_template.html' } }); -}; \ No newline at end of file +}; diff --git a/package.json b/package.json index 8da3116a..c248dcf0 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ "selenium-standalone": "2.43.1-2.9.0-1", "karma-html-reporter": "0.2.4", "grunt-connect-proxy": "0.1.11", - "grunt-webfont": "0.4.8" + "grunt-webfont": "0.4.8", + "grunt-lintspaces": "0.6.0" } } diff --git a/src/app/admin/controller/project_group_admin_controller.js b/src/app/admin/controller/project_group_admin_controller.js index 0eaecabc..c0ca6de5 100644 --- a/src/app/admin/controller/project_group_admin_controller.js +++ b/src/app/admin/controller/project_group_admin_controller.js @@ -86,4 +86,4 @@ angular.module('sb.admin').controller('ProjectGroupAdminController', // Initialize $scope.search(); - }); \ No newline at end of file + }); diff --git a/src/app/admin/controller/project_group_delete_controller.js b/src/app/admin/controller/project_group_delete_controller.js index 64d43829..d51def9c 100644 --- a/src/app/admin/controller/project_group_delete_controller.js +++ b/src/app/admin/controller/project_group_delete_controller.js @@ -41,4 +41,4 @@ angular.module('sb.admin').controller('ProjectGroupDeleteController', $scope.close = function () { $modalInstance.dismiss('cancel'); }; - }); \ No newline at end of file + }); diff --git a/src/app/admin/controller/project_group_edit_controller.js b/src/app/admin/controller/project_group_edit_controller.js index 08cf07c3..e752fba6 100644 --- a/src/app/admin/controller/project_group_edit_controller.js +++ b/src/app/admin/controller/project_group_edit_controller.js @@ -200,4 +200,4 @@ angular.module('sb.admin').controller('ProjectGroupEditController', // Put our model into the array $scope.projects[index] = model; }; - }); \ No newline at end of file + }); diff --git a/src/app/admin/controller/project_group_item_controller.js b/src/app/admin/controller/project_group_item_controller.js index 467baabf..e6d07b95 100644 --- a/src/app/admin/controller/project_group_item_controller.js +++ b/src/app/admin/controller/project_group_item_controller.js @@ -41,4 +41,4 @@ angular.module('sb.admin').controller('ProjectGroupItemController', $log.error(error); $scope.loadingProjectGroupItems = false; }); - }); \ No newline at end of file + }); diff --git a/src/app/admin/controller/project_group_new_controller.js b/src/app/admin/controller/project_group_new_controller.js index 0292b99c..e3e9f7dc 100644 --- a/src/app/admin/controller/project_group_new_controller.js +++ b/src/app/admin/controller/project_group_new_controller.js @@ -164,4 +164,4 @@ angular.module('sb.admin').controller('ProjectGroupNewController', $modalInstance.dismiss('cancel'); }; - }); \ No newline at end of file + }); diff --git a/src/app/admin/controller/user_admin_controller.js b/src/app/admin/controller/user_admin_controller.js index 66032ceb..dee9c6d3 100644 --- a/src/app/admin/controller/user_admin_controller.js +++ b/src/app/admin/controller/user_admin_controller.js @@ -62,4 +62,4 @@ angular.module('sb.admin').controller('UserAdminController', // Initialize $scope.search(); - }); \ No newline at end of file + }); diff --git a/src/app/admin/controller/user_edit_controller.js b/src/app/admin/controller/user_edit_controller.js index 5a4d8f63..750e75d3 100644 --- a/src/app/admin/controller/user_edit_controller.js +++ b/src/app/admin/controller/user_edit_controller.js @@ -32,4 +32,4 @@ angular.module('sb.admin').controller('UserEditController', $scope.cancel = function () { $state.go('admin.user'); }; - }); \ No newline at end of file + }); diff --git a/src/app/admin/controller/user_new_controller.js b/src/app/admin/controller/user_new_controller.js index a5abc0e3..6a411d11 100644 --- a/src/app/admin/controller/user_new_controller.js +++ b/src/app/admin/controller/user_new_controller.js @@ -57,4 +57,4 @@ angular.module('sb.admin').controller('UserNewController', $scope.close = function () { $modalInstance.dismiss('cancel'); }; - }); \ No newline at end of file + }); diff --git a/src/app/admin/module.js b/src/app/admin/module.js index e62003ee..0b9980ee 100644 --- a/src/app/admin/module.js +++ b/src/app/admin/module.js @@ -87,4 +87,4 @@ angular.module('sb.admin', [ 'sb.services', 'sb.templates', 'sb.util', url: '/team/:id', templateUrl: 'app/admin/template/team_edit.html' }); - }); \ No newline at end of file + }); diff --git a/src/app/auth/controller/auth_authorize_controller.js b/src/app/auth/controller/auth_authorize_controller.js index e3f38ca9..6bb962c2 100644 --- a/src/app/auth/controller/auth_authorize_controller.js +++ b/src/app/auth/controller/auth_authorize_controller.js @@ -41,4 +41,4 @@ angular.module('sb.auth').controller('AuthAuthorizeController', // We're not an error, let's fire the authorization. OpenId.authorize(); - }); \ No newline at end of file + }); diff --git a/src/app/auth/controller/auth_deauthorize_controller.js b/src/app/auth/controller/auth_deauthorize_controller.js index 3374a914..1517bc2a 100644 --- a/src/app/auth/controller/auth_deauthorize_controller.js +++ b/src/app/auth/controller/auth_deauthorize_controller.js @@ -25,4 +25,4 @@ angular.module('sb.auth').controller('AuthDeauthorizeController', $log.debug('Logging out'); Session.destroySession(); $state.go('index'); - }); \ No newline at end of file + }); diff --git a/src/app/auth/controller/auth_error_controller.js b/src/app/auth/controller/auth_error_controller.js index a403fec3..b97e010d 100644 --- a/src/app/auth/controller/auth_error_controller.js +++ b/src/app/auth/controller/auth_error_controller.js @@ -24,4 +24,4 @@ angular.module('sb.auth').controller('AuthErrorController', $scope.error = $stateParams.error || 'Unknown'; $scope.errorDescription = $stateParams.error_description || 'No description received from server.'; - }); \ No newline at end of file + }); diff --git a/src/app/auth/controller/auth_token_controller.js b/src/app/auth/controller/auth_token_controller.js index b058da69..9c58e80f 100644 --- a/src/app/auth/controller/auth_token_controller.js +++ b/src/app/auth/controller/auth_token_controller.js @@ -68,4 +68,4 @@ angular.module('sb.auth').controller('AuthTokenController', $state.go('auth.error', error); } ); - }); \ No newline at end of file + }); diff --git a/src/app/auth/controller/login_required_modal_controller.js b/src/app/auth/controller/login_required_modal_controller.js index ea025a12..a702222f 100644 --- a/src/app/auth/controller/login_required_modal_controller.js +++ b/src/app/auth/controller/login_required_modal_controller.js @@ -30,4 +30,4 @@ angular.module('sb.auth').controller('LoginRequiredModalController', $scope.close = function () { $modalInstance.dismiss('cancel'); }; - }); \ No newline at end of file + }); diff --git a/src/app/auth/directive/permission.js b/src/app/auth/directive/permission.js index 2f43b0bd..64fc1f38 100644 --- a/src/app/auth/directive/permission.js +++ b/src/app/auth/directive/permission.js @@ -44,4 +44,4 @@ angular.module('sb.util').directive('permission', ); } }; - }); \ No newline at end of file + }); diff --git a/src/app/auth/http/http_authorization_header.js b/src/app/auth/http/http_authorization_header.js index a0795018..1338abe2 100644 --- a/src/app/auth/http/http_authorization_header.js +++ b/src/app/auth/http/http_authorization_header.js @@ -41,4 +41,4 @@ angular.module('sb.auth').factory('httpAuthorizationHeader', 'use strict'; $httpProvider.interceptors.push('httpAuthorizationHeader'); - }); \ No newline at end of file + }); diff --git a/src/app/auth/module.js b/src/app/auth/module.js index a3fd6701..9d8b7f53 100644 --- a/src/app/auth/module.js +++ b/src/app/auth/module.js @@ -81,4 +81,4 @@ angular.module('sb.auth', [ 'sb.services', 'sb.templates', 'ui.router', }, Priority.LAST); RefreshManager.scheduleRefresh(); - }); \ No newline at end of file + }); diff --git a/src/app/auth/provider/session_state.js b/src/app/auth/provider/session_state.js index 03e3d66a..f889fb5a 100644 --- a/src/app/auth/provider/session_state.js +++ b/src/app/auth/provider/session_state.js @@ -36,4 +36,4 @@ angular.module('sb.auth').value('SessionState', { */ PENDING: 'pending' -}); \ No newline at end of file +}); diff --git a/src/app/auth/service/access_token.js b/src/app/auth/service/access_token.js index 71a40d05..77b77531 100644 --- a/src/app/auth/service/access_token.js +++ b/src/app/auth/service/access_token.js @@ -168,4 +168,4 @@ angular.module('sb.auth').factory('AccessToken', return localStorageService.set(ID_TOKEN, value); } }; - }); \ No newline at end of file + }); diff --git a/src/app/auth/service/current_user.js b/src/app/auth/service/current_user.js index d2fed700..a505c2e0 100644 --- a/src/app/auth/service/current_user.js +++ b/src/app/auth/service/current_user.js @@ -134,4 +134,4 @@ angular.module('sb.auth').factory('CurrentUser', return resolveCurrentUser(); } }; - }); \ No newline at end of file + }); diff --git a/src/app/auth/service/open_id.js b/src/app/auth/service/open_id.js index cf9f0abc..d5dc6fe1 100644 --- a/src/app/auth/service/open_id.js +++ b/src/app/auth/service/open_id.js @@ -110,4 +110,4 @@ angular.module('sb.auth').factory('OpenId', return deferred.promise; } }; - }); \ No newline at end of file + }); diff --git a/src/app/auth/service/permission_manager.js b/src/app/auth/service/permission_manager.js index 98d8ed8c..5c2f8113 100644 --- a/src/app/auth/service/permission_manager.js +++ b/src/app/auth/service/permission_manager.js @@ -147,4 +147,4 @@ angular.module('sb.auth').factory('PermissionManager', return resolvePermission(permName); } }; - }); \ No newline at end of file + }); diff --git a/src/app/auth/service/refresh_manager.js b/src/app/auth/service/refresh_manager.js index 50a02e0a..a4f3f80f 100644 --- a/src/app/auth/service/refresh_manager.js +++ b/src/app/auth/service/refresh_manager.js @@ -83,4 +83,4 @@ angular.module('sb.auth').service('RefreshManager', this.scheduleRefresh = scheduleRefresh; } -); \ No newline at end of file +); diff --git a/src/app/auth/service/session.js b/src/app/auth/service/session.js index 2c88f942..560beeb9 100644 --- a/src/app/auth/service/session.js +++ b/src/app/auth/service/session.js @@ -176,4 +176,4 @@ angular.module('sb.auth').factory('Session', return deferred.promise; } }; - }); \ No newline at end of file + }); diff --git a/src/app/dashboard/directive/subscription_event.js b/src/app/dashboard/directive/subscription_event.js index 6200c7b3..ce92311f 100644 --- a/src/app/dashboard/directive/subscription_event.js +++ b/src/app/dashboard/directive/subscription_event.js @@ -42,4 +42,4 @@ angular.module('sb.dashboard').directive('subscriptionEvent', }, templateUrl: 'app/dashboard/template/subscription_event.html' }; - }); \ No newline at end of file + }); diff --git a/src/app/notification/controller/notifications_controller.js b/src/app/notification/controller/notifications_controller.js index 9cd2b0af..a39a8363 100644 --- a/src/app/notification/controller/notifications_controller.js +++ b/src/app/notification/controller/notifications_controller.js @@ -66,4 +66,4 @@ angular.module('sb.notification').controller('NotificationsController', } ) ); - }); \ No newline at end of file + }); diff --git a/src/app/notification/directive/notifications.js b/src/app/notification/directive/notifications.js index fad1fd38..77c4cc7c 100644 --- a/src/app/notification/directive/notifications.js +++ b/src/app/notification/directive/notifications.js @@ -27,4 +27,4 @@ angular.module('sb.notification').directive('notifications', templateUrl: 'app/notification/template/notifications.html', controller: 'NotificationsController' }; - }); \ No newline at end of file + }); diff --git a/src/app/notification/module.js b/src/app/notification/module.js index 07e24221..1cdf0596 100644 --- a/src/app/notification/module.js +++ b/src/app/notification/module.js @@ -18,4 +18,4 @@ * This module acts as the central routing point for all errors that occur * within storyboard. */ -angular.module('sb.notification', []); \ No newline at end of file +angular.module('sb.notification', []); diff --git a/src/app/notification/provider/priority.js b/src/app/notification/provider/priority.js index dd8eac05..9d74ca4d 100644 --- a/src/app/notification/provider/priority.js +++ b/src/app/notification/provider/priority.js @@ -24,4 +24,4 @@ angular.module('sb.notification').constant('Priority', { FIRST: 0, LAST: 999, AFTER: 1000 -}); \ No newline at end of file +}); diff --git a/src/app/notification/provider/severity.js b/src/app/notification/provider/severity.js index 59d04ce7..f60c3477 100644 --- a/src/app/notification/provider/severity.js +++ b/src/app/notification/provider/severity.js @@ -24,4 +24,4 @@ angular.module('sb.notification').constant('Severity', { WARNING: 'warning', INFO: 'info', SUCCESS: 'success' -}); \ No newline at end of file +}); diff --git a/src/app/notification/service/notification_service.js b/src/app/notification/service/notification_service.js index a93379ff..76256ffd 100644 --- a/src/app/notification/service/notification_service.js +++ b/src/app/notification/service/notification_service.js @@ -134,4 +134,4 @@ angular.module('sb.notification').factory('Notification', }; } }; - }); \ No newline at end of file + }); diff --git a/src/app/pages/module.js b/src/app/pages/module.js index 62fd0690..d3d5118e 100644 --- a/src/app/pages/module.js +++ b/src/app/pages/module.js @@ -37,4 +37,4 @@ angular.module('sb.pages', url: '/about', templateUrl: 'app/pages/template/about.html' }); - }); \ No newline at end of file + }); diff --git a/src/app/profile/controller/profile_preferences_controller.js b/src/app/profile/controller/profile_preferences_controller.js index 7abb0d76..4670ecdf 100644 --- a/src/app/profile/controller/profile_preferences_controller.js +++ b/src/app/profile/controller/profile_preferences_controller.js @@ -32,4 +32,4 @@ angular.module('sb.profile').controller('ProfilePreferencesController', $scope.message = 'Preferences Saved!'; }; - }); \ No newline at end of file + }); diff --git a/src/app/profile/controller/profile_token_new_controller.js b/src/app/profile/controller/profile_token_new_controller.js index 6dba9671..e8a9628a 100644 --- a/src/app/profile/controller/profile_token_new_controller.js +++ b/src/app/profile/controller/profile_token_new_controller.js @@ -60,4 +60,4 @@ angular.module('sb.profile').controller('ProfileTokenNewController', $scope.close = function () { $modalInstance.dismiss('cancel'); }; - }); \ No newline at end of file + }); diff --git a/src/app/profile/controller/profile_tokens_controller.js b/src/app/profile/controller/profile_tokens_controller.js index 51846874..ae1148d5 100644 --- a/src/app/profile/controller/profile_tokens_controller.js +++ b/src/app/profile/controller/profile_tokens_controller.js @@ -67,4 +67,4 @@ angular.module('sb.profile').controller('ProfileTokenItemController', $scope.expired = $scope.expires.getTime() < now.getTime(); $scope.current = $scope.token.access_token === AccessToken.getAccessToken(); - }); \ No newline at end of file + }); diff --git a/src/app/profile/module.js b/src/app/profile/module.js index 1e13517e..e015d0d3 100644 --- a/src/app/profile/module.js +++ b/src/app/profile/module.js @@ -81,4 +81,4 @@ angular.module('sb.profile', } } }); - }); \ No newline at end of file + }); diff --git a/src/app/search/directive/search_results.js b/src/app/search/directive/search_results.js index 1d670c19..784379d2 100644 --- a/src/app/search/directive/search_results.js +++ b/src/app/search/directive/search_results.js @@ -150,4 +150,4 @@ angular.module('sb.search').directive('searchResults', }); } }; - }); \ No newline at end of file + }); diff --git a/src/app/services/criteria/story_status.js b/src/app/services/criteria/story_status.js index c7625c8e..6d7c7ea8 100644 --- a/src/app/services/criteria/story_status.js +++ b/src/app/services/criteria/story_status.js @@ -59,4 +59,4 @@ angular.module('sb.services').factory('StoryStatus', return deferred.promise; } }; - }); \ No newline at end of file + }); diff --git a/src/app/services/criteria/task_priority.js b/src/app/services/criteria/task_priority.js index 65555a9b..35ca140c 100644 --- a/src/app/services/criteria/task_priority.js +++ b/src/app/services/criteria/task_priority.js @@ -59,4 +59,4 @@ angular.module('sb.services').factory('TaskPriority', return deferred.promise; } }; - }); \ No newline at end of file + }); diff --git a/src/app/services/criteria/task_status.js b/src/app/services/criteria/task_status.js index b18023af..c3b1a57f 100644 --- a/src/app/services/criteria/task_status.js +++ b/src/app/services/criteria/task_status.js @@ -61,4 +61,4 @@ angular.module('sb.services').factory('TaskStatus', return deferred.promise; } }; - }); \ No newline at end of file + }); diff --git a/src/app/services/criteria/text.js b/src/app/services/criteria/text.js index 72ab7f22..518cd6dd 100644 --- a/src/app/services/criteria/text.js +++ b/src/app/services/criteria/text.js @@ -36,4 +36,4 @@ angular.module('sb.services').factory('Text', return deferred.promise; } }; - }); \ No newline at end of file + }); diff --git a/src/app/services/http/http_cache_handler.js b/src/app/services/http/http_cache_handler.js index 42bac0f4..f30a1b38 100644 --- a/src/app/services/http/http_cache_handler.js +++ b/src/app/services/http/http_cache_handler.js @@ -59,4 +59,4 @@ angular.module('sb.services').factory('httpCacheHandler', .config(function ($httpProvider) { 'use strict'; $httpProvider.interceptors.push('httpCacheHandler'); - }); \ No newline at end of file + }); diff --git a/src/app/services/http/http_error_broadcaster.js b/src/app/services/http/http_error_broadcaster.js index 0107fad1..a37d2c1f 100644 --- a/src/app/services/http/http_error_broadcaster.js +++ b/src/app/services/http/http_error_broadcaster.js @@ -63,4 +63,4 @@ angular.module('sb.services') .config(function ($httpProvider) { 'use strict'; $httpProvider.interceptors.unshift('httpErrorBroadcaster'); - }); \ No newline at end of file + }); diff --git a/src/app/services/module.js b/src/app/services/module.js index 38cf2143..38f9d10e 100644 --- a/src/app/services/module.js +++ b/src/app/services/module.js @@ -19,4 +19,4 @@ * used by the storyboard client. Its resources are available via injection to * any module that declares it as a dependency. */ -angular.module('sb.services', ['ngResource', 'sb.notification']); \ No newline at end of file +angular.module('sb.services', ['ngResource', 'sb.notification']); diff --git a/src/app/services/notification/http_message_filter.js b/src/app/services/notification/http_message_filter.js index 72fc239d..c8ce0f45 100644 --- a/src/app/services/notification/http_message_filter.js +++ b/src/app/services/notification/http_message_filter.js @@ -89,4 +89,4 @@ angular.module('sb.services') Notification.intercept(filterTemplateRequests, Priority.BEFORE); Notification.intercept(filterSuccessful, Priority.LAST); Notification.intercept(rewriteHttpStatus, Priority.AFTER); - }); \ No newline at end of file + }); diff --git a/src/app/services/provider/page_size.js b/src/app/services/provider/page_size.js index 2be29abf..2f221c12 100644 --- a/src/app/services/provider/page_size.js +++ b/src/app/services/provider/page_size.js @@ -19,4 +19,4 @@ * Our globally configured page size. */ -angular.module('sb.services').constant('pageSize', 500); \ No newline at end of file +angular.module('sb.services').constant('pageSize', 500); diff --git a/src/app/services/resource/comment.js b/src/app/services/resource/comment.js index b2053d5c..6f06661d 100644 --- a/src/app/services/resource/comment.js +++ b/src/app/services/resource/comment.js @@ -32,4 +32,4 @@ angular.module('sb.services').factory('Comment', story_id: '@story_id' } ); - }); \ No newline at end of file + }); diff --git a/src/app/services/resource/preference.js b/src/app/services/resource/preference.js index cc61d839..04b58af1 100644 --- a/src/app/services/resource/preference.js +++ b/src/app/services/resource/preference.js @@ -111,4 +111,4 @@ angular.module('sb.services').provider('Preference', PreferenceProvider.addPreference('page_size', 10); }) -; \ No newline at end of file +; diff --git a/src/app/services/resource/project.js b/src/app/services/resource/project.js index 9972cacc..719e27b6 100644 --- a/src/app/services/resource/project.js +++ b/src/app/services/resource/project.js @@ -39,4 +39,4 @@ angular.module('sb.services').factory('Project', ); return resource; - }); \ No newline at end of file + }); diff --git a/src/app/services/resource/project_group.js b/src/app/services/resource/project_group.js index 51a62e9c..4eaa5124 100644 --- a/src/app/services/resource/project_group.js +++ b/src/app/services/resource/project_group.js @@ -38,4 +38,4 @@ angular.module('sb.services').factory('ProjectGroup', ); return resource; - }); \ No newline at end of file + }); diff --git a/src/app/services/resource/project_group_item.js b/src/app/services/resource/project_group_item.js index 458cc6c4..46faa8e2 100644 --- a/src/app/services/resource/project_group_item.js +++ b/src/app/services/resource/project_group_item.js @@ -47,4 +47,4 @@ angular.module('sb.services').factory('ProjectGroupItem', } } ); - }); \ No newline at end of file + }); diff --git a/src/app/services/resource/story.js b/src/app/services/resource/story.js index f8f7c38f..4753e867 100644 --- a/src/app/services/resource/story.js +++ b/src/app/services/resource/story.js @@ -43,4 +43,4 @@ angular.module('sb.services').factory('Story', ); return resource; - }); \ No newline at end of file + }); diff --git a/src/app/services/resource/subscription.js b/src/app/services/resource/subscription.js index 063657cb..38ec3ec1 100644 --- a/src/app/services/resource/subscription.js +++ b/src/app/services/resource/subscription.js @@ -28,4 +28,4 @@ angular.module('sb.services').factory('Subscription', '/subscriptions/search', {id: '@id'} ); - }); \ No newline at end of file + }); diff --git a/src/app/services/resource/subscription_event.js b/src/app/services/resource/subscription_event.js index d6671f99..67ad55ae 100644 --- a/src/app/services/resource/subscription_event.js +++ b/src/app/services/resource/subscription_event.js @@ -26,4 +26,4 @@ angular.module('sb.services').factory('SubscriptionEvent', '/subscription_events/search', {id: '@id'} ); - }); \ No newline at end of file + }); diff --git a/src/app/services/resource/task.js b/src/app/services/resource/task.js index ac9bb426..610be776 100644 --- a/src/app/services/resource/task.js +++ b/src/app/services/resource/task.js @@ -46,4 +46,4 @@ angular.module('sb.services').factory('Task', ); return resource; - }); \ No newline at end of file + }); diff --git a/src/app/services/resource/team.js b/src/app/services/resource/team.js index 57d4500e..0d38825b 100644 --- a/src/app/services/resource/team.js +++ b/src/app/services/resource/team.js @@ -32,4 +32,4 @@ angular.module('sb.services').factory('Team', id: '@id' } ); - }); \ No newline at end of file + }); diff --git a/src/app/services/resource/timeline_event.js b/src/app/services/resource/timeline_event.js index 6f4370a2..b3ccc47e 100644 --- a/src/app/services/resource/timeline_event.js +++ b/src/app/services/resource/timeline_event.js @@ -32,4 +32,4 @@ angular.module('sb.services').factory('TimelineEvent', story_id: '@story_id' } ); - }); \ No newline at end of file + }); diff --git a/src/app/services/resource/user.js b/src/app/services/resource/user.js index fb4490c5..4e636104 100644 --- a/src/app/services/resource/user.js +++ b/src/app/services/resource/user.js @@ -39,4 +39,4 @@ angular.module('sb.services').factory('User', ); return resource; - }); \ No newline at end of file + }); diff --git a/src/app/services/resource/user_token.js b/src/app/services/resource/user_token.js index 7203d3e3..6835e9d0 100644 --- a/src/app/services/resource/user_token.js +++ b/src/app/services/resource/user_token.js @@ -32,4 +32,4 @@ angular.module('sb.services').factory('UserToken', ); return resource; - }); \ No newline at end of file + }); diff --git a/src/app/stories/controller/story_delete_controller.js b/src/app/stories/controller/story_delete_controller.js index a05dbb17..9b1f18b3 100644 --- a/src/app/stories/controller/story_delete_controller.js +++ b/src/app/stories/controller/story_delete_controller.js @@ -39,4 +39,4 @@ angular.module('sb.story').controller('StoryDeleteController', $scope.close = function () { $modalInstance.dismiss('cancel'); }; - }); \ No newline at end of file + }); diff --git a/src/app/stories/controller/story_task_delete_controller.js b/src/app/stories/controller/story_task_delete_controller.js index 68da8df5..9d493ddf 100644 --- a/src/app/stories/controller/story_task_delete_controller.js +++ b/src/app/stories/controller/story_task_delete_controller.js @@ -38,4 +38,4 @@ angular.module('sb.story').controller('StoryTaskDeleteController', $scope.close = function () { $modalInstance.dismiss('cancel'); }; - }); \ No newline at end of file + }); diff --git a/src/app/stories/controller/timeline_filter_controller.js b/src/app/stories/controller/timeline_filter_controller.js index 07f73135..8a46b305 100644 --- a/src/app/stories/controller/timeline_filter_controller.js +++ b/src/app/stories/controller/timeline_filter_controller.js @@ -36,4 +36,4 @@ angular.module('sb.story').controller('TimelineFilterController', init(); }) -; \ No newline at end of file +; diff --git a/src/app/storyboard/auto_configuration.js b/src/app/storyboard/auto_configuration.js index 1e716d5c..19a439d6 100644 --- a/src/app/storyboard/auto_configuration.js +++ b/src/app/storyboard/auto_configuration.js @@ -47,4 +47,4 @@ angular.element(document) } ); } -); \ No newline at end of file +); diff --git a/src/app/storyboard/module.js b/src/app/storyboard/module.js index 732af788..d20d0333 100644 --- a/src/app/storyboard/module.js +++ b/src/app/storyboard/module.js @@ -70,4 +70,4 @@ angular.module('storyboard', }); $http.defaults.cache = DSCacheFactory.get('defaultCache'); - }); \ No newline at end of file + }); diff --git a/src/app/subscription/directive/subscribe.js b/src/app/subscription/directive/subscribe.js index 87751116..5ffdee36 100644 --- a/src/app/subscription/directive/subscribe.js +++ b/src/app/subscription/directive/subscribe.js @@ -179,4 +179,4 @@ angular.module('sb.util').directive('subscribe', resolveSubscription(); } }; - }); \ No newline at end of file + }); diff --git a/src/app/subscription/module.js b/src/app/subscription/module.js index d6a5bb86..9116895f 100644 --- a/src/app/subscription/module.js +++ b/src/app/subscription/module.js @@ -20,4 +20,4 @@ * * @author Michael Krotscheck */ -angular.module('sb.subscription', ['sb.notification']); \ No newline at end of file +angular.module('sb.subscription', ['sb.notification']); diff --git a/src/app/util/constant/title_regex.js b/src/app/util/constant/title_regex.js index 9a0c3364..0d2d173d 100644 --- a/src/app/util/constant/title_regex.js +++ b/src/app/util/constant/title_regex.js @@ -22,4 +22,4 @@ angular.module('sb.util').run(function ($rootScope) { 'use strict'; var regex = '^[a-zA-Z0-9]+([\\-\\./]?[a-zA-Z0-9]+)*$'; $rootScope.PROJECT_NAME_REGEX = new RegExp(regex); -}); \ No newline at end of file +}); diff --git a/src/app/util/control/tag_input.js b/src/app/util/control/tag_input.js index fc9a6271..a858df65 100644 --- a/src/app/util/control/tag_input.js +++ b/src/app/util/control/tag_input.js @@ -89,4 +89,4 @@ angular.module('sb.util').controller('TagInputController', event.stopImmediatePropagation(); }; } -); \ No newline at end of file +); diff --git a/src/app/util/directive/active_path.js b/src/app/util/directive/active_path.js index 2085ae18..9601bec5 100644 --- a/src/app/util/directive/active_path.js +++ b/src/app/util/directive/active_path.js @@ -47,4 +47,4 @@ angular.module('sb.util').directive('activePath', setActivePath(); } }; - }); \ No newline at end of file + }); diff --git a/src/app/util/directive/focus.js b/src/app/util/directive/focus.js index d8d9dcfd..c7615c56 100644 --- a/src/app/util/directive/focus.js +++ b/src/app/util/directive/focus.js @@ -46,4 +46,4 @@ angular.module('sb.util').directive('focus', } } }; - }); \ No newline at end of file + }); diff --git a/src/app/util/directive/input_inline.js b/src/app/util/directive/input_inline.js index 894eba73..c615af24 100644 --- a/src/app/util/directive/input_inline.js +++ b/src/app/util/directive/input_inline.js @@ -80,4 +80,4 @@ angular.module('sb.util').directive('inputInline', }); } }; - }); \ No newline at end of file + }); diff --git a/src/app/util/directive/project_typeahead.js b/src/app/util/directive/project_typeahead.js index 2bb80c79..582773e9 100644 --- a/src/app/util/directive/project_typeahead.js +++ b/src/app/util/directive/project_typeahead.js @@ -113,4 +113,4 @@ angular.module('sb.util').directive('projectTypeahead', }, $scope.loadProject); } }; - }); \ No newline at end of file + }); diff --git a/src/app/util/directive/resolve_story.js b/src/app/util/directive/resolve_story.js index 96e21502..64974c98 100644 --- a/src/app/util/directive/resolve_story.js +++ b/src/app/util/directive/resolve_story.js @@ -34,4 +34,4 @@ angular.module('sb.util').directive('resolveStory', } } }; - }); \ No newline at end of file + }); diff --git a/src/app/util/directive/story_status_label.js b/src/app/util/directive/story_status_label.js index e1c86444..09dfa283 100644 --- a/src/app/util/directive/story_status_label.js +++ b/src/app/util/directive/story_status_label.js @@ -66,4 +66,4 @@ angular.module('sb.util').directive('storyStatusLabel', updateStoryLabel(); } }; - }); \ No newline at end of file + }); diff --git a/src/app/util/directive/story_task_status.js b/src/app/util/directive/story_task_status.js index b8250cbf..f2878f54 100644 --- a/src/app/util/directive/story_task_status.js +++ b/src/app/util/directive/story_task_status.js @@ -29,4 +29,4 @@ angular.module('sb.util').directive('storyTaskStatus', story: '=' } }; - }); \ No newline at end of file + }); diff --git a/src/app/util/directive/task_status_dropdown.js b/src/app/util/directive/task_status_dropdown.js index b62e953f..08cdbed6 100644 --- a/src/app/util/directive/task_status_dropdown.js +++ b/src/app/util/directive/task_status_dropdown.js @@ -71,4 +71,4 @@ angular.module('sb.util').directive('taskStatusDropdown', }; } }; - }); \ No newline at end of file + }); diff --git a/src/app/util/directive/user_typeahead.js b/src/app/util/directive/user_typeahead.js index a4a9137f..8fc94ef3 100644 --- a/src/app/util/directive/user_typeahead.js +++ b/src/app/util/directive/user_typeahead.js @@ -111,4 +111,4 @@ angular.module('sb.util').directive('userTypeahead', }, $scope.loadUser); } }; - }); \ No newline at end of file + }); diff --git a/src/app/util/filter/capitalize_filter.js b/src/app/util/filter/capitalize_filter.js index ce1ceb91..897b1400 100644 --- a/src/app/util/filter/capitalize_filter.js +++ b/src/app/util/filter/capitalize_filter.js @@ -28,4 +28,4 @@ angular.module('sb.util').filter('capitalize', return value; } }; - }); \ No newline at end of file + }); diff --git a/src/app/util/filter/debug_filter.js b/src/app/util/filter/debug_filter.js index 090ddf87..77af4423 100644 --- a/src/app/util/filter/debug_filter.js +++ b/src/app/util/filter/debug_filter.js @@ -28,4 +28,4 @@ angular.module('sb.util').filter('debug', console.warn('DEBUG', value); return value; }; - }); \ No newline at end of file + }); diff --git a/src/app/util/filter/task_status_label.js b/src/app/util/filter/task_status_label.js index 23458268..3a7d8a6f 100644 --- a/src/app/util/filter/task_status_label.js +++ b/src/app/util/filter/task_status_label.js @@ -38,4 +38,4 @@ angular.module('sb.util').filter('taskStatusLabel', return 'Unknown Status'; } }; - }); \ No newline at end of file + }); diff --git a/src/app/util/filter/truncate_filter.js b/src/app/util/filter/truncate_filter.js index d013b286..5e87b718 100644 --- a/src/app/util/filter/truncate_filter.js +++ b/src/app/util/filter/truncate_filter.js @@ -27,4 +27,4 @@ angular.module('sb.util').filter('truncate', } return value; }; - }); \ No newline at end of file + }); diff --git a/src/app/util/helper/string_util.js b/src/app/util/helper/string_util.js index 3f09ee20..89c1f99f 100644 --- a/src/app/util/helper/string_util.js +++ b/src/app/util/helper/string_util.js @@ -65,4 +65,4 @@ angular.module('sb.util').factory('StringUtil', } }; } -); \ No newline at end of file +); diff --git a/src/app/util/helper/url_util.js b/src/app/util/helper/url_util.js index 00eb1ca7..4e0d0f06 100644 --- a/src/app/util/helper/url_util.js +++ b/src/app/util/helper/url_util.js @@ -82,4 +82,4 @@ angular.module('sb.util').factory('UrlUtil', } }; } -); \ No newline at end of file +); diff --git a/src/app/util/provider/search_param_provider.js b/src/app/util/provider/search_param_provider.js index ac44eb7f..9459fbfd 100644 --- a/src/app/util/provider/search_param_provider.js +++ b/src/app/util/provider/search_param_provider.js @@ -32,4 +32,4 @@ angular.module('sb.util').factory('$searchParams', return UrlUtil.deserializeParameters(search); } return params; - }); \ No newline at end of file + }); diff --git a/test/unit/custom_matchers.js b/test/unit/custom_matchers.js index df4c13a7..cf9cfd09 100644 --- a/test/unit/custom_matchers.js +++ b/test/unit/custom_matchers.js @@ -54,4 +54,4 @@ beforeEach(function () { }; } }); -}); \ No newline at end of file +});