From be985445371710ed2bd0317370009a37f8170bd9 Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Thu, 2 Jan 2025 15:19:55 +1100 Subject: [PATCH 1/3] Remove unused AngularJS service KeyValueMapStore --- .../services/key_value_map_store.js.coffee | 29 -------------- .../key_value_map_store_spec.js.coffee | 38 ------------------- 2 files changed, 67 deletions(-) delete mode 100644 app/assets/javascripts/admin/services/key_value_map_store.js.coffee delete mode 100644 spec/javascripts/unit/admin/services/key_value_map_store_spec.js.coffee diff --git a/app/assets/javascripts/admin/services/key_value_map_store.js.coffee b/app/assets/javascripts/admin/services/key_value_map_store.js.coffee deleted file mode 100644 index 1547aaab430..00000000000 --- a/app/assets/javascripts/admin/services/key_value_map_store.js.coffee +++ /dev/null @@ -1,29 +0,0 @@ -angular.module("admin.indexUtils").factory 'KeyValueMapStore', (localStorageService)-> - new class KeyValueMapStore - localStorageKey: '' - storableKeys: [] - - constructor: -> - localStorageService.setStorageType("sessionStorage") - - getStoredKeyValueMap: -> - localStorageService.get(@localStorageKey) || {} - - setStoredValues: (source) -> - keyValueMap = {} - for key in @storableKeys - keyValueMap[key] = source[key] - localStorageService.set(@localStorageKey, keyValueMap) - - restoreValues: (target) -> - storedKeyValueMap = @getStoredKeyValueMap() - - return false if _.isEmpty(storedKeyValueMap) - - for k,v of storedKeyValueMap - target[k] = v - - return true - - clearKeyValueMap: () -> - localStorageService.remove(@localStorageKey) diff --git a/spec/javascripts/unit/admin/services/key_value_map_store_spec.js.coffee b/spec/javascripts/unit/admin/services/key_value_map_store_spec.js.coffee deleted file mode 100644 index 9d853f7f7ae..00000000000 --- a/spec/javascripts/unit/admin/services/key_value_map_store_spec.js.coffee +++ /dev/null @@ -1,38 +0,0 @@ -describe "Test KeyValueMapStore service", -> - - KeyValueMapStore = null - - beforeEach -> - module "ofn.admin" - - beforeEach inject (_KeyValueMapStore_) -> - KeyValueMapStore = _KeyValueMapStore_ - - it "set and restore filters", -> - KeyValueMapStore.localStorageKey = 'localStorageKey' - KeyValueMapStore.storableKeys = ["a", "b", "c"] - source = - a: "1", - b: "2", - d: "4" - KeyValueMapStore.setStoredValues(source) - source = {} - restored = KeyValueMapStore.restoreValues(source) - expect(restored).toEqual true - expect(source).toEqual {a: '1', b: '2'} - - it "clear filters", -> - KeyValueMapStore.storageKey = 'localStorageKey' - KeyValueMapStore.storableFilters = ["a", "b", "c"] - source = - a: "1", - b: "2", - d: "4" - KeyValueMapStore.setStoredValues(source) - KeyValueMapStore.clearKeyValueMap() - source = {} - restored = KeyValueMapStore.restoreValues(source) - expect(restored).toEqual false - expect(source).toEqual {} - - From 8f761fc43816020ed75e4f82fec66848184fe2ec Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Thu, 2 Jan 2025 15:22:31 +1100 Subject: [PATCH 2/3] Remove unused localStorageService clearing --- app/assets/javascripts/darkswarm/services/cart.js.coffee | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/assets/javascripts/darkswarm/services/cart.js.coffee b/app/assets/javascripts/darkswarm/services/cart.js.coffee index e4667379401..18b6383e9d5 100644 --- a/app/assets/javascripts/darkswarm/services/cart.js.coffee +++ b/app/assets/javascripts/darkswarm/services/cart.js.coffee @@ -1,4 +1,4 @@ -angular.module('Darkswarm').factory 'Cart', (CurrentOrder, Variants, $timeout, $http, $modal, $rootScope, $resource, localStorageService, Messages) -> +angular.module('Darkswarm').factory 'Cart', (CurrentOrder, Variants, $timeout, $http, $modal, $rootScope, $resource, Messages) -> # Handles syncing of current cart/order state to server new class Cart dirty: false @@ -113,7 +113,6 @@ angular.module('Darkswarm').factory 'Cart', (CurrentOrder, Variants, $timeout, $ clear: -> @line_items = [] - localStorageService.clearAll() # One day this will have to be moar GRANULAR isOnlyItemInOrder: (id) => deletedItem = @line_items_finalised.find((item) -> item.id == id) From 558d4debdb2a43dbc6003da058d320537e9c833c Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Thu, 2 Jan 2025 15:25:15 +1100 Subject: [PATCH 3/3] Remove unused AngularJS local storage --- app/assets/javascripts/admin/all.js | 3 - .../javascripts/darkswarm/all.js.coffee | 1 - .../javascripts/darkswarm/darkswarm.js.coffee | 1 - .../shared/angular-local-storage.js | 546 ------------------ .../javascripts/shared/shared.js.coffee | 1 - config/ng-test.conf.js | 1 - 6 files changed, 553 deletions(-) delete mode 100644 app/assets/javascripts/shared/angular-local-storage.js diff --git a/app/assets/javascripts/admin/all.js b/app/assets/javascripts/admin/all.js index a35bf0f3ccb..464ddc1667b 100644 --- a/app/assets/javascripts/admin/all.js +++ b/app/assets/javascripts/admin/all.js @@ -67,8 +67,5 @@ // foundation //= require ../shared/mm-foundation-tpls-0.9.0-20180826174721.min.js -// LocalStorage -//= require ../shared/angular-local-storage.js - // requires the rest of the JS code in this folder //= require_tree . diff --git a/app/assets/javascripts/darkswarm/all.js.coffee b/app/assets/javascripts/darkswarm/all.js.coffee index 9dbc55ceaeb..b23566e6c13 100644 --- a/app/assets/javascripts/darkswarm/all.js.coffee +++ b/app/assets/javascripts/darkswarm/all.js.coffee @@ -17,7 +17,6 @@ #= require angular-google-maps.min.js #= require ../shared/mm-foundation-tpls-0.9.0-20180826174721.min.js #= require ../shared/ng-infinite-scroll.min.js -#= require ../shared/angular-local-storage.js #= require ../shared/angular-slideables.js #= require ../shared/shared #= require_tree ../shared/directives diff --git a/app/assets/javascripts/darkswarm/darkswarm.js.coffee b/app/assets/javascripts/darkswarm/darkswarm.js.coffee index 71f542e0c04..e1f9cafd590 100644 --- a/app/assets/javascripts/darkswarm/darkswarm.js.coffee +++ b/app/assets/javascripts/darkswarm/darkswarm.js.coffee @@ -1,7 +1,6 @@ angular.module("Darkswarm", [ 'ngResource', 'mm.foundation', - 'LocalStorageModule', 'infinite-scroll', 'angular-flash.service', 'templates', diff --git a/app/assets/javascripts/shared/angular-local-storage.js b/app/assets/javascripts/shared/angular-local-storage.js deleted file mode 100644 index dfde2f6cfb4..00000000000 --- a/app/assets/javascripts/shared/angular-local-storage.js +++ /dev/null @@ -1,546 +0,0 @@ -/** - * An Angular module that gives you access to the browsers local storage - * @version v0.5.0 - 2016-08-29 - * @link https://github.com/grevory/angular-local-storage - * @author grevory - * @license MIT License, http://www.opensource.org/licenses/MIT - */ -(function (window, angular) { -var isDefined = angular.isDefined, - isUndefined = angular.isUndefined, - isNumber = angular.isNumber, - isObject = angular.isObject, - isArray = angular.isArray, - extend = angular.extend, - toJson = angular.toJson; - -angular - .module('LocalStorageModule', []) - .provider('localStorageService', function() { - // You should set a prefix to avoid overwriting any local storage variables from the rest of your app - // e.g. localStorageServiceProvider.setPrefix('yourAppName'); - // With provider you can use config as this: - // myApp.config(function (localStorageServiceProvider) { - // localStorageServiceProvider.prefix = 'yourAppName'; - // }); - this.prefix = 'ls'; - - // You could change web storage type localstorage or sessionStorage - this.storageType = 'localStorage'; - - // Cookie options (usually in case of fallback) - // expiry = Number of days before cookies expire // 0 = Does not expire - // path = The web path the cookie represents - // secure = Wether the cookies should be secure (i.e only sent on HTTPS requests) - this.cookie = { - expiry: 30, - path: '/', - secure: false - }; - - // Decides wether we should default to cookies if localstorage is not supported. - this.defaultToCookie = true; - - // Send signals for each of the following actions? - this.notify = { - setItem: true, - removeItem: false - }; - - // Setter for the prefix - this.setPrefix = function(prefix) { - this.prefix = prefix; - return this; - }; - - // Setter for the storageType - this.setStorageType = function(storageType) { - this.storageType = storageType; - return this; - }; - // Setter for defaultToCookie value, default is true. - this.setDefaultToCookie = function (shouldDefault) { - this.defaultToCookie = !!shouldDefault; // Double-not to make sure it's a bool value. - return this; - }; - // Setter for cookie config - this.setStorageCookie = function(exp, path, secure) { - this.cookie.expiry = exp; - this.cookie.path = path; - this.cookie.secure = secure; - return this; - }; - - // Setter for cookie domain - this.setStorageCookieDomain = function(domain) { - this.cookie.domain = domain; - return this; - }; - - // Setter for notification config - // itemSet & itemRemove should be booleans - this.setNotify = function(itemSet, itemRemove) { - this.notify = { - setItem: itemSet, - removeItem: itemRemove - }; - return this; - }; - - this.$get = ['$rootScope', '$window', '$document', '$parse','$timeout', function($rootScope, $window, $document, $parse, $timeout) { - var self = this; - var prefix = self.prefix; - var cookie = self.cookie; - var notify = self.notify; - var storageType = self.storageType; - var webStorage; - - // When Angular's $document is not available - if (!$document) { - $document = document; - } else if ($document[0]) { - $document = $document[0]; - } - - // If there is a prefix set in the config lets use that with an appended period for readability - if (prefix.substr(-1) !== '.') { - prefix = !!prefix ? prefix + '.' : ''; - } - var deriveQualifiedKey = function(key) { - return prefix + key; - }; - - // Removes prefix from the key. - var underiveQualifiedKey = function (key) { - return key.replace(new RegExp('^' + prefix, 'g'), ''); - }; - - // Check if the key is within our prefix namespace. - var isKeyPrefixOurs = function (key) { - return key.indexOf(prefix) === 0; - }; - - // Checks the browser to see if local storage is supported - var checkSupport = function () { - try { - var supported = (storageType in $window && $window[storageType] !== null); - - // When Safari (OS X or iOS) is in private browsing mode, it appears as though localStorage - // is available, but trying to call .setItem throws an exception. - // - // "QUOTA_EXCEEDED_ERR: DOM Exception 22: An attempt was made to add something to storage - // that exceeded the quota." - var key = deriveQualifiedKey('__' + Math.round(Math.random() * 1e7)); - if (supported) { - webStorage = $window[storageType]; - webStorage.setItem(key, ''); - webStorage.removeItem(key); - } - - return supported; - } catch (e) { - // Only change storageType to cookies if defaulting is enabled. - if (self.defaultToCookie) - storageType = 'cookie'; - $rootScope.$broadcast('LocalStorageModule.notification.error', e.message); - return false; - } - }; - var browserSupportsLocalStorage = checkSupport(); - - // Directly adds a value to local storage - // If local storage is not available in the browser use cookies - // Example use: localStorageService.add('library','angular'); - var addToLocalStorage = function (key, value, type) { - setStorageType(type); - - // Let's convert undefined values to null to get the value consistent - if (isUndefined(value)) { - value = null; - } else { - value = toJson(value); - } - - // If this browser does not support local storage use cookies - if (!browserSupportsLocalStorage && self.defaultToCookie || self.storageType === 'cookie') { - if (!browserSupportsLocalStorage) { - $rootScope.$broadcast('LocalStorageModule.notification.warning', 'LOCAL_STORAGE_NOT_SUPPORTED'); - } - - if (notify.setItem) { - $rootScope.$broadcast('LocalStorageModule.notification.setitem', {key: key, newvalue: value, storageType: 'cookie'}); - } - return addToCookies(key, value); - } - - try { - if (webStorage) { - webStorage.setItem(deriveQualifiedKey(key), value); - } - if (notify.setItem) { - $rootScope.$broadcast('LocalStorageModule.notification.setitem', {key: key, newvalue: value, storageType: self.storageType}); - } - } catch (e) { - $rootScope.$broadcast('LocalStorageModule.notification.error', e.message); - return addToCookies(key, value); - } - return true; - }; - - // Directly get a value from local storage - // Example use: localStorageService.get('library'); // returns 'angular' - var getFromLocalStorage = function (key, type) { - setStorageType(type); - - if (!browserSupportsLocalStorage && self.defaultToCookie || self.storageType === 'cookie') { - if (!browserSupportsLocalStorage) { - $rootScope.$broadcast('LocalStorageModule.notification.warning', 'LOCAL_STORAGE_NOT_SUPPORTED'); - } - - return getFromCookies(key); - } - - var item = webStorage ? webStorage.getItem(deriveQualifiedKey(key)) : null; - // angular.toJson will convert null to 'null', so a proper conversion is needed - // FIXME not a perfect solution, since a valid 'null' string can't be stored - if (!item || item === 'null') { - return null; - } - - try { - return JSON.parse(item); - } catch (e) { - return item; - } - }; - - // Remove an item from local storage - // Example use: localStorageService.remove('library'); // removes the key/value pair of library='angular' - // - // This is var-arg removal, check the last argument to see if it is a storageType - // and set type accordingly before removing. - // - var removeFromLocalStorage = function () { - // can't pop on arguments, so we do this - var consumed = 0; - if (arguments.length >= 1 && - (arguments[arguments.length - 1] === 'localStorage' || - arguments[arguments.length - 1] === 'sessionStorage')) { - consumed = 1; - setStorageType(arguments[arguments.length - 1]); - } - - var i, key; - for (i = 0; i < arguments.length - consumed; i++) { - key = arguments[i]; - if (!browserSupportsLocalStorage && self.defaultToCookie || self.storageType === 'cookie') { - if (!browserSupportsLocalStorage) { - $rootScope.$broadcast('LocalStorageModule.notification.warning', 'LOCAL_STORAGE_NOT_SUPPORTED'); - } - - if (notify.removeItem) { - $rootScope.$broadcast('LocalStorageModule.notification.removeitem', {key: key, storageType: 'cookie'}); - } - removeFromCookies(key); - } - else { - try { - webStorage.removeItem(deriveQualifiedKey(key)); - if (notify.removeItem) { - $rootScope.$broadcast('LocalStorageModule.notification.removeitem', { - key: key, - storageType: self.storageType - }); - } - } catch (e) { - $rootScope.$broadcast('LocalStorageModule.notification.error', e.message); - removeFromCookies(key); - } - } - } - }; - - // Return array of keys for local storage - // Example use: var keys = localStorageService.keys() - var getKeysForLocalStorage = function (type) { - setStorageType(type); - - if (!browserSupportsLocalStorage) { - $rootScope.$broadcast('LocalStorageModule.notification.warning', 'LOCAL_STORAGE_NOT_SUPPORTED'); - return []; - } - - var prefixLength = prefix.length; - var keys = []; - for (var key in webStorage) { - // Only return keys that are for this app - if (key.substr(0, prefixLength) === prefix) { - try { - keys.push(key.substr(prefixLength)); - } catch (e) { - $rootScope.$broadcast('LocalStorageModule.notification.error', e.Description); - return []; - } - } - } - return keys; - }; - - // Remove all data for this app from local storage - // Also optionally takes a regular expression string and removes the matching key-value pairs - // Example use: localStorageService.clearAll(); - // Should be used mostly for development purposes - var clearAllFromLocalStorage = function (regularExpression, type) { - setStorageType(type); - - // Setting both regular expressions independently - // Empty strings result in catchall RegExp - var prefixRegex = !!prefix ? new RegExp('^' + prefix) : new RegExp(); - var testRegex = !!regularExpression ? new RegExp(regularExpression) : new RegExp(); - - if (!browserSupportsLocalStorage && self.defaultToCookie || self.storageType === 'cookie') { - if (!browserSupportsLocalStorage) { - $rootScope.$broadcast('LocalStorageModule.notification.warning', 'LOCAL_STORAGE_NOT_SUPPORTED'); - } - return clearAllFromCookies(); - } - if (!browserSupportsLocalStorage && !self.defaultToCookie) - return false; - var prefixLength = prefix.length; - - for (var key in webStorage) { - // Only remove items that are for this app and match the regular expression - if (prefixRegex.test(key) && testRegex.test(key.substr(prefixLength))) { - try { - removeFromLocalStorage(key.substr(prefixLength)); - } catch (e) { - $rootScope.$broadcast('LocalStorageModule.notification.error', e.message); - return clearAllFromCookies(); - } - } - } - return true; - }; - - // Checks the browser to see if cookies are supported - var browserSupportsCookies = (function() { - try { - return $window.navigator.cookieEnabled || - ("cookie" in $document && ($document.cookie.length > 0 || - ($document.cookie = "test").indexOf.call($document.cookie, "test") > -1)); - } catch (e) { - $rootScope.$broadcast('LocalStorageModule.notification.error', e.message); - return false; - } - }()); - - // Directly adds a value to cookies - // Typically used as a fallback if local storage is not available in the browser - // Example use: localStorageService.cookie.add('library','angular'); - var addToCookies = function (key, value, daysToExpiry, secure) { - - if (isUndefined(value)) { - return false; - } else if(isArray(value) || isObject(value)) { - value = toJson(value); - } - - if (!browserSupportsCookies) { - $rootScope.$broadcast('LocalStorageModule.notification.error', 'COOKIES_NOT_SUPPORTED'); - return false; - } - - try { - var expiry = '', - expiryDate = new Date(), - cookieDomain = ''; - - if (value === null) { - // Mark that the cookie has expired one day ago - expiryDate.setTime(expiryDate.getTime() + (-1 * 24 * 60 * 60 * 1000)); - expiry = "; expires=" + expiryDate.toGMTString(); - value = ''; - } else if (isNumber(daysToExpiry) && daysToExpiry !== 0) { - expiryDate.setTime(expiryDate.getTime() + (daysToExpiry * 24 * 60 * 60 * 1000)); - expiry = "; expires=" + expiryDate.toGMTString(); - } else if (cookie.expiry !== 0) { - expiryDate.setTime(expiryDate.getTime() + (cookie.expiry * 24 * 60 * 60 * 1000)); - expiry = "; expires=" + expiryDate.toGMTString(); - } - if (!!key) { - var cookiePath = "; path=" + cookie.path; - if (cookie.domain) { - cookieDomain = "; domain=" + cookie.domain; - } - /* Providing the secure parameter always takes precedence over config - * (allows developer to mix and match secure + non-secure) */ - if (typeof secure === 'boolean') { - if (secure === true) { - /* We've explicitly specified secure, - * add the secure attribute to the cookie (after domain) */ - cookieDomain += "; secure"; - } - // else - secure has been supplied but isn't true - so don't set secure flag, regardless of what config says - } - else if (cookie.secure === true) { - // secure parameter wasn't specified, get default from config - cookieDomain += "; secure"; - } - $document.cookie = deriveQualifiedKey(key) + "=" + encodeURIComponent(value) + expiry + cookiePath + cookieDomain; - } - } catch (e) { - $rootScope.$broadcast('LocalStorageModule.notification.error', e.message); - return false; - } - return true; - }; - - // Directly get a value from a cookie - // Example use: localStorageService.cookie.get('library'); // returns 'angular' - var getFromCookies = function (key) { - if (!browserSupportsCookies) { - $rootScope.$broadcast('LocalStorageModule.notification.error', 'COOKIES_NOT_SUPPORTED'); - return false; - } - - var cookies = $document.cookie && $document.cookie.split(';') || []; - for(var i=0; i < cookies.length; i++) { - var thisCookie = cookies[i]; - while (thisCookie.charAt(0) === ' ') { - thisCookie = thisCookie.substring(1,thisCookie.length); - } - if (thisCookie.indexOf(deriveQualifiedKey(key) + '=') === 0) { - var storedValues = decodeURIComponent(thisCookie.substring(prefix.length + key.length + 1, thisCookie.length)); - try { - return JSON.parse(storedValues); - } catch(e) { - return storedValues; - } - } - } - return null; - }; - - var removeFromCookies = function (key) { - addToCookies(key,null); - }; - - var clearAllFromCookies = function () { - var thisCookie = null; - var prefixLength = prefix.length; - var cookies = $document.cookie.split(';'); - for(var i = 0; i < cookies.length; i++) { - thisCookie = cookies[i]; - - while (thisCookie.charAt(0) === ' ') { - thisCookie = thisCookie.substring(1, thisCookie.length); - } - - var key = thisCookie.substring(prefixLength, thisCookie.indexOf('=')); - removeFromCookies(key); - } - }; - - var getStorageType = function() { - return storageType; - }; - - var setStorageType = function(type) { - if (type && storageType !== type) { - storageType = type; - browserSupportsLocalStorage = checkSupport(); - } - return browserSupportsLocalStorage; - }; - - // Add a listener on scope variable to save its changes to local storage - // Return a function which when called cancels binding - var bindToScope = function(scope, key, def, lsKey, type) { - lsKey = lsKey || key; - var value = getFromLocalStorage(lsKey, type); - - if (value === null && isDefined(def)) { - value = def; - } else if (isObject(value) && isObject(def)) { - value = extend(value, def); - } - - $parse(key).assign(scope, value); - - return scope.$watch(key, function(newVal) { - addToLocalStorage(lsKey, newVal, type); - }, isObject(scope[key])); - }; - - // Add listener to local storage, for update callbacks. - if (browserSupportsLocalStorage) { - if ($window.addEventListener) { - $window.addEventListener("storage", handleStorageChangeCallback, false); - $rootScope.$on('$destroy', function() { - $window.removeEventListener("storage", handleStorageChangeCallback); - }); - } else if($window.attachEvent){ - // attachEvent and detachEvent are proprietary to IE v6-10 - $window.attachEvent("onstorage", handleStorageChangeCallback); - $rootScope.$on('$destroy', function() { - $window.detachEvent("onstorage", handleStorageChangeCallback); - }); - } - } - - // Callback handler for storage changed. - function handleStorageChangeCallback(e) { - if (!e) { e = $window.event; } - if (notify.setItem) { - if (isKeyPrefixOurs(e.key)) { - var key = underiveQualifiedKey(e.key); - // Use timeout, to avoid using $rootScope.$apply. - $timeout(function () { - $rootScope.$broadcast('LocalStorageModule.notification.changed', { key: key, newvalue: e.newValue, storageType: self.storageType }); - }); - } - } - } - - // Return localStorageService.length - // ignore keys that not owned - var lengthOfLocalStorage = function(type) { - setStorageType(type); - - var count = 0; - var storage = $window[storageType]; - for(var i = 0; i < storage.length; i++) { - if(storage.key(i).indexOf(prefix) === 0 ) { - count++; - } - } - return count; - }; - - return { - isSupported: browserSupportsLocalStorage, - getStorageType: getStorageType, - setStorageType: setStorageType, - set: addToLocalStorage, - add: addToLocalStorage, //DEPRECATED - get: getFromLocalStorage, - keys: getKeysForLocalStorage, - remove: removeFromLocalStorage, - clearAll: clearAllFromLocalStorage, - bind: bindToScope, - deriveKey: deriveQualifiedKey, - underiveKey: underiveQualifiedKey, - length: lengthOfLocalStorage, - defaultToCookie: this.defaultToCookie, - cookie: { - isSupported: browserSupportsCookies, - set: addToCookies, - add: addToCookies, //DEPRECATED - get: getFromCookies, - remove: removeFromCookies, - clearAll: clearAllFromCookies - } - }; - }]; - }); -})(window, window.angular); diff --git a/app/assets/javascripts/shared/shared.js.coffee b/app/assets/javascripts/shared/shared.js.coffee index 089612728e5..2eaecddade3 100644 --- a/app/assets/javascripts/shared/shared.js.coffee +++ b/app/assets/javascripts/shared/shared.js.coffee @@ -1,5 +1,4 @@ window.OFNShared = angular.module("OFNShared", [ "mm.foundation", - "LocalStorageModule" ]).config ($httpProvider) -> $httpProvider.defaults.headers.common["Accept"] = "application/json, text/javascript, */*" diff --git a/config/ng-test.conf.js b/config/ng-test.conf.js index b73ca40facd..7057c3950de 100644 --- a/config/ng-test.conf.js +++ b/config/ng-test.conf.js @@ -10,7 +10,6 @@ module.exports = function(config) { pattern: 'app/assets/**/*.js.erb', type: 'js' }, - 'app/assets/javascripts/shared/angular-local-storage.js', 'app/assets/javascripts/shared/ng-infinite-scroll.min.js', 'app/assets/javascripts/shared/angular-slideables.js',