From 0d2a768e1ec3ee0270fbcfb334b3cd022e12ce6c Mon Sep 17 00:00:00 2001 From: Alasdair Smith Date: Tue, 23 Jun 2020 09:45:38 +0100 Subject: [PATCH] Merge pull request #2937 from overleaf/as-remove-global-lodash Replace global Lodash with explicit imports in frontend GitOrigin-RevId: b092647039975ac594b69ce1fa145fd03552cc60 --- services/web/frontend/js/base.js | 2 - .../js/directives/bookmarkableTabset.js | 3 +- .../frontend/js/directives/complexPassword.js | 1 + .../frontend/js/directives/eventTracking.js | 1 + .../web/frontend/js/directives/mathjax.js | 1 + .../web/frontend/js/ide/editor/Document.js | 1 + .../frontend/js/ide/editor/EditorManager.js | 1 + .../js/ide/editor/directives/aceEditor.js | 1 + .../auto-complete/AutoCompleteManager.js | 1 + .../aceEditor/auto-complete/CommandManager.js | 1 + .../auto-complete/EnvironmentManager.js | 1 + .../aceEditor/highlights/HighlightsManager.js | 2 +- .../aceEditor/metadata/MetadataManager.js | 1 + .../spell-check/HighlightedWordManager.js | 1 + .../controllers/FileTreeController.js | 1 + .../frontend/js/ide/files/services/files.js | 1 + .../js/ide/graphics/services/graphics.js | 1 + .../js/ide/history/HistoryV2Manager.js | 1 + .../history/components/historyEntriesList.js | 2 +- .../js/ide/history/components/historyEntry.js | 3 +- .../ide/history/components/historyFileTree.js | 3 +- .../js/ide/history/components/historyLabel.js | 2 +- .../history/components/historyLabelsList.js | 3 +- .../controllers/HistoryListController.js | 1 + .../js/ide/metadata/services/metadata.js | 1 + .../js/ide/pdfng/directives/pdfViewer.js | 1 + .../js/ide/references/ReferencesManager.js | 1 + .../directives/resolvedCommentsDropdown.js | 3 +- .../controllers/SettingsController.js | 4 +- .../ShareProjectModalController.js | 1 + .../components/affiliationForm.js | 1 + .../controllers/UserAffiliationsController.js | 4 +- .../factories/UserAffiliationsDataService.js | 3 +- services/web/frontend/js/main/learn.js | 8 +--- .../web/frontend/js/main/new-subscription.js | 1 + .../js/main/project-list/project-list.js | 1 + .../web/frontend/js/main/register-users.js | 1 + .../js/main/subscription-dashboard.js | 1 + .../web/frontend/js/main/user-membership.js | 1 + services/web/frontend/js/utils/underscore.js | 11 ----- services/web/transform-lodash-global.sh | 40 +++++++++++++++++++ services/web/webpack.config.js | 10 ----- 42 files changed, 87 insertions(+), 42 deletions(-) delete mode 100644 services/web/frontend/js/utils/underscore.js create mode 100755 services/web/transform-lodash-global.sh diff --git a/services/web/frontend/js/base.js b/services/web/frontend/js/base.js index ec49d94263..027e7abb37 100644 --- a/services/web/frontend/js/base.js +++ b/services/web/frontend/js/base.js @@ -22,7 +22,6 @@ import './modules/recursionHelper' import './modules/errorCatcher' import './modules/localStorage' import './modules/sessionStorage' -import './utils/underscore' // Configure dynamically loaded assets (via webpack) to be downloaded from CDN // See: https://webpack.js.org/guides/public-path/#on-the-fly // eslint-disable-next-line no-undef @@ -34,7 +33,6 @@ const App = angular 'autocomplete', 'RecursionHelper', 'ng-context-menu', - 'underscore', 'ngSanitize', 'ipCookie', 'ErrorCatcher', diff --git a/services/web/frontend/js/directives/bookmarkableTabset.js b/services/web/frontend/js/directives/bookmarkableTabset.js index 8f127480cd..29da4ed80b 100644 --- a/services/web/frontend/js/directives/bookmarkableTabset.js +++ b/services/web/frontend/js/directives/bookmarkableTabset.js @@ -1,5 +1,6 @@ +import _ from 'lodash' import App from '../base' -App.directive('bookmarkableTabset', ($location, _) => ({ +App.directive('bookmarkableTabset', $location => ({ restrict: 'A', require: 'tabset', link(scope, el, attrs, tabset) { diff --git a/services/web/frontend/js/directives/complexPassword.js b/services/web/frontend/js/directives/complexPassword.js index d3b0eb4311..a47dfdb54b 100644 --- a/services/web/frontend/js/directives/complexPassword.js +++ b/services/web/frontend/js/directives/complexPassword.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* global PassField */ /* eslint-disable diff --git a/services/web/frontend/js/directives/eventTracking.js b/services/web/frontend/js/directives/eventTracking.js index bb20d7b086..b916f8fe6f 100644 --- a/services/web/frontend/js/directives/eventTracking.js +++ b/services/web/frontend/js/directives/eventTracking.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable camelcase, max-len, diff --git a/services/web/frontend/js/directives/mathjax.js b/services/web/frontend/js/directives/mathjax.js index e170f1234e..422fac6844 100644 --- a/services/web/frontend/js/directives/mathjax.js +++ b/services/web/frontend/js/directives/mathjax.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* global MathJax */ import App from '../base' diff --git a/services/web/frontend/js/ide/editor/Document.js b/services/web/frontend/js/ide/editor/Document.js index e9568d75f1..27bc3a3f8a 100644 --- a/services/web/frontend/js/ide/editor/Document.js +++ b/services/web/frontend/js/ide/editor/Document.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable camelcase, handle-callback-err, diff --git a/services/web/frontend/js/ide/editor/EditorManager.js b/services/web/frontend/js/ide/editor/EditorManager.js index 4ae1fd6c93..bfeec187c4 100644 --- a/services/web/frontend/js/ide/editor/EditorManager.js +++ b/services/web/frontend/js/ide/editor/EditorManager.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable camelcase, handle-callback-err, diff --git a/services/web/frontend/js/ide/editor/directives/aceEditor.js b/services/web/frontend/js/ide/editor/directives/aceEditor.js index 208fefd0d2..5bf776fbd5 100644 --- a/services/web/frontend/js/ide/editor/directives/aceEditor.js +++ b/services/web/frontend/js/ide/editor/directives/aceEditor.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable camelcase, max-len diff --git a/services/web/frontend/js/ide/editor/directives/aceEditor/auto-complete/AutoCompleteManager.js b/services/web/frontend/js/ide/editor/directives/aceEditor/auto-complete/AutoCompleteManager.js index fa38ec91dc..a58332de4b 100644 --- a/services/web/frontend/js/ide/editor/directives/aceEditor/auto-complete/AutoCompleteManager.js +++ b/services/web/frontend/js/ide/editor/directives/aceEditor/auto-complete/AutoCompleteManager.js @@ -1,3 +1,4 @@ +import _ from 'lodash' import CommandManager from './CommandManager' import EnvironmentManager from './EnvironmentManager' import PackageManager from './PackageManager' diff --git a/services/web/frontend/js/ide/editor/directives/aceEditor/auto-complete/CommandManager.js b/services/web/frontend/js/ide/editor/directives/aceEditor/auto-complete/CommandManager.js index e267dd87f8..f42b125c79 100644 --- a/services/web/frontend/js/ide/editor/directives/aceEditor/auto-complete/CommandManager.js +++ b/services/web/frontend/js/ide/editor/directives/aceEditor/auto-complete/CommandManager.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable max-len, no-return-assign, diff --git a/services/web/frontend/js/ide/editor/directives/aceEditor/auto-complete/EnvironmentManager.js b/services/web/frontend/js/ide/editor/directives/aceEditor/auto-complete/EnvironmentManager.js index fce829bdb0..99e47f5dbd 100644 --- a/services/web/frontend/js/ide/editor/directives/aceEditor/auto-complete/EnvironmentManager.js +++ b/services/web/frontend/js/ide/editor/directives/aceEditor/auto-complete/EnvironmentManager.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable max-len, */ diff --git a/services/web/frontend/js/ide/editor/directives/aceEditor/highlights/HighlightsManager.js b/services/web/frontend/js/ide/editor/directives/aceEditor/highlights/HighlightsManager.js index 6f563c8297..dd8001c84a 100644 --- a/services/web/frontend/js/ide/editor/directives/aceEditor/highlights/HighlightsManager.js +++ b/services/web/frontend/js/ide/editor/directives/aceEditor/highlights/HighlightsManager.js @@ -15,7 +15,7 @@ * DS207: Consider shorter variations of null checks * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md */ -import _ from 'ace/ace' +import 'ace/ace' import ColorManager from '../../../../colors/ColorManager' let HighlightsManager const { Range } = ace.require('ace/range') diff --git a/services/web/frontend/js/ide/editor/directives/aceEditor/metadata/MetadataManager.js b/services/web/frontend/js/ide/editor/directives/aceEditor/metadata/MetadataManager.js index 5bc76eb903..2a44efe0de 100644 --- a/services/web/frontend/js/ide/editor/directives/aceEditor/metadata/MetadataManager.js +++ b/services/web/frontend/js/ide/editor/directives/aceEditor/metadata/MetadataManager.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable max-len, no-cond-assign, diff --git a/services/web/frontend/js/ide/editor/directives/aceEditor/spell-check/HighlightedWordManager.js b/services/web/frontend/js/ide/editor/directives/aceEditor/spell-check/HighlightedWordManager.js index 00f91712d3..a45cb62961 100644 --- a/services/web/frontend/js/ide/editor/directives/aceEditor/spell-check/HighlightedWordManager.js +++ b/services/web/frontend/js/ide/editor/directives/aceEditor/spell-check/HighlightedWordManager.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable max-len, no-return-assign, diff --git a/services/web/frontend/js/ide/file-tree/controllers/FileTreeController.js b/services/web/frontend/js/ide/file-tree/controllers/FileTreeController.js index 7b9ba3df55..76d6051fc2 100644 --- a/services/web/frontend/js/ide/file-tree/controllers/FileTreeController.js +++ b/services/web/frontend/js/ide/file-tree/controllers/FileTreeController.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable camelcase, handle-callback-err, diff --git a/services/web/frontend/js/ide/files/services/files.js b/services/web/frontend/js/ide/files/services/files.js index 2f0d05ca78..975e632154 100644 --- a/services/web/frontend/js/ide/files/services/files.js +++ b/services/web/frontend/js/ide/files/services/files.js @@ -1,3 +1,4 @@ +import _ from 'lodash' import App from '../../../base' export default App.factory('files', function(ide) { diff --git a/services/web/frontend/js/ide/graphics/services/graphics.js b/services/web/frontend/js/ide/graphics/services/graphics.js index b1781cf966..cc45afe511 100644 --- a/services/web/frontend/js/ide/graphics/services/graphics.js +++ b/services/web/frontend/js/ide/graphics/services/graphics.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable max-len, */ diff --git a/services/web/frontend/js/ide/history/HistoryV2Manager.js b/services/web/frontend/js/ide/history/HistoryV2Manager.js index 322bd58c47..7bb9a015a0 100644 --- a/services/web/frontend/js/ide/history/HistoryV2Manager.js +++ b/services/web/frontend/js/ide/history/HistoryV2Manager.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable camelcase, max-len, diff --git a/services/web/frontend/js/ide/history/components/historyEntriesList.js b/services/web/frontend/js/ide/history/components/historyEntriesList.js index f782cafbb0..5e401ca528 100644 --- a/services/web/frontend/js/ide/history/components/historyEntriesList.js +++ b/services/web/frontend/js/ide/history/components/historyEntriesList.js @@ -10,7 +10,7 @@ * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md */ import App from '../../../base' -const historyEntriesListController = function($scope, $element, $attrs, _) { +const historyEntriesListController = function($scope, $element, $attrs) { const ctrl = this ctrl.$entryListViewportEl = null ctrl.isDragging = false diff --git a/services/web/frontend/js/ide/history/components/historyEntry.js b/services/web/frontend/js/ide/history/components/historyEntry.js index ce5e105aa5..3f5404e7b9 100644 --- a/services/web/frontend/js/ide/history/components/historyEntry.js +++ b/services/web/frontend/js/ide/history/components/historyEntry.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable max-len, */ @@ -12,7 +13,7 @@ import App from '../../../base' import ColorManager from '../../colors/ColorManager' import displayNameForUser from '../util/displayNameForUser' -const historyEntryController = function($scope, $element, $attrs, _) { +const historyEntryController = function($scope, $element, $attrs) { const ctrl = this // This method (and maybe the one below) will be removed soon. User details data will be // injected into the history API responses, so we won't need to fetch user data from other diff --git a/services/web/frontend/js/ide/history/components/historyFileTree.js b/services/web/frontend/js/ide/history/components/historyFileTree.js index 263e1a735d..2a80daef05 100644 --- a/services/web/frontend/js/ide/history/components/historyFileTree.js +++ b/services/web/frontend/js/ide/history/components/historyFileTree.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable */ // TODO: This file was created by bulk-decaffeinate. @@ -8,7 +9,7 @@ * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md */ import App from '../../../base' -const historyFileTreeController = function($scope, $element, $attrs, _) { +const historyFileTreeController = function($scope, $element, $attrs) { const ctrl = this ctrl.handleEntityClick = file => ctrl.onSelectedFileChange({ file }) ctrl._fileTree = [] diff --git a/services/web/frontend/js/ide/history/components/historyLabel.js b/services/web/frontend/js/ide/history/components/historyLabel.js index 187069f9e7..85f3594e38 100644 --- a/services/web/frontend/js/ide/history/components/historyLabel.js +++ b/services/web/frontend/js/ide/history/components/historyLabel.js @@ -10,7 +10,7 @@ * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md */ import App from '../../../base' -const historyLabelController = function($scope, $element, $attrs, $filter, _) { +const historyLabelController = function($scope, $element, $attrs, $filter) { const ctrl = this ctrl.$onInit = () => { if (ctrl.showTooltip == null) { diff --git a/services/web/frontend/js/ide/history/components/historyLabelsList.js b/services/web/frontend/js/ide/history/components/historyLabelsList.js index 16915bb412..9bd1f4c0c4 100644 --- a/services/web/frontend/js/ide/history/components/historyLabelsList.js +++ b/services/web/frontend/js/ide/history/components/historyLabelsList.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable max-len, */ @@ -12,7 +13,7 @@ import App from '../../../base' import ColorManager from '../../colors/ColorManager' import displayNameForUser from '../util/displayNameForUser' -const historyLabelsListController = function($scope, $element, $attrs, _) { +const historyLabelsListController = function($scope, $element, $attrs) { const ctrl = this ctrl.isDragging = false ctrl.versionsWithLabels = [] diff --git a/services/web/frontend/js/ide/history/controllers/HistoryListController.js b/services/web/frontend/js/ide/history/controllers/HistoryListController.js index f0f8dea666..0e9475aa95 100644 --- a/services/web/frontend/js/ide/history/controllers/HistoryListController.js +++ b/services/web/frontend/js/ide/history/controllers/HistoryListController.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable camelcase, max-len, diff --git a/services/web/frontend/js/ide/metadata/services/metadata.js b/services/web/frontend/js/ide/metadata/services/metadata.js index e92c73aef3..8e68b7d512 100644 --- a/services/web/frontend/js/ide/metadata/services/metadata.js +++ b/services/web/frontend/js/ide/metadata/services/metadata.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable no-return-assign, */ diff --git a/services/web/frontend/js/ide/pdfng/directives/pdfViewer.js b/services/web/frontend/js/ide/pdfng/directives/pdfViewer.js index f2ba7b133f..e0acb2158a 100644 --- a/services/web/frontend/js/ide/pdfng/directives/pdfViewer.js +++ b/services/web/frontend/js/ide/pdfng/directives/pdfViewer.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable handle-callback-err, max-len, diff --git a/services/web/frontend/js/ide/references/ReferencesManager.js b/services/web/frontend/js/ide/references/ReferencesManager.js index 3fe1f89ea4..91af381220 100644 --- a/services/web/frontend/js/ide/references/ReferencesManager.js +++ b/services/web/frontend/js/ide/references/ReferencesManager.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable max-len, no-return-assign, diff --git a/services/web/frontend/js/ide/review-panel/directives/resolvedCommentsDropdown.js b/services/web/frontend/js/ide/review-panel/directives/resolvedCommentsDropdown.js index 5c94cfa91f..e282f23aed 100644 --- a/services/web/frontend/js/ide/review-panel/directives/resolvedCommentsDropdown.js +++ b/services/web/frontend/js/ide/review-panel/directives/resolvedCommentsDropdown.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable max-len, no-return-assign, @@ -13,7 +14,7 @@ */ import App from '../../../base' -export default App.directive('resolvedCommentsDropdown', _ => ({ +export default App.directive('resolvedCommentsDropdown', () => ({ restrict: 'E', templateUrl: 'resolvedCommentsDropdownTemplate', scope: { diff --git a/services/web/frontend/js/ide/settings/controllers/SettingsController.js b/services/web/frontend/js/ide/settings/controllers/SettingsController.js index 6df6a1ff96..51a06dbc94 100644 --- a/services/web/frontend/js/ide/settings/controllers/SettingsController.js +++ b/services/web/frontend/js/ide/settings/controllers/SettingsController.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable camelcase, max-len, @@ -17,8 +18,7 @@ export default App.controller('SettingsController', function( $scope, ExposedSettings, settings, - ide, - _ + ide ) { const validRootDocExtensions = ExposedSettings.validRootDocExtensions const validRootDocRegExp = new RegExp( diff --git a/services/web/frontend/js/ide/share/controllers/ShareProjectModalController.js b/services/web/frontend/js/ide/share/controllers/ShareProjectModalController.js index 84d7b47cc9..c5ca86e383 100644 --- a/services/web/frontend/js/ide/share/controllers/ShareProjectModalController.js +++ b/services/web/frontend/js/ide/share/controllers/ShareProjectModalController.js @@ -1,3 +1,4 @@ +import _ from 'lodash' import App from '../../../base' App.controller('ShareProjectModalController', function( $scope, diff --git a/services/web/frontend/js/main/affiliations/components/affiliationForm.js b/services/web/frontend/js/main/affiliations/components/affiliationForm.js index 3497cdba2d..c60cc3f7d9 100644 --- a/services/web/frontend/js/main/affiliations/components/affiliationForm.js +++ b/services/web/frontend/js/main/affiliations/components/affiliationForm.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable max-len, no-return-assign, diff --git a/services/web/frontend/js/main/affiliations/controllers/UserAffiliationsController.js b/services/web/frontend/js/main/affiliations/controllers/UserAffiliationsController.js index bd11e016d6..359ee0ce3e 100644 --- a/services/web/frontend/js/main/affiliations/controllers/UserAffiliationsController.js +++ b/services/web/frontend/js/main/affiliations/controllers/UserAffiliationsController.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable max-len, no-return-assign, @@ -10,8 +11,7 @@ export default App.controller('UserAffiliationsController', function( $scope, UserAffiliationsDataService, $q, - $window, - _ + $window ) { $scope.userEmails = [] $scope.linkedInstitutionIds = [] diff --git a/services/web/frontend/js/main/affiliations/factories/UserAffiliationsDataService.js b/services/web/frontend/js/main/affiliations/factories/UserAffiliationsDataService.js index 629a3524c6..60d3ce0558 100644 --- a/services/web/frontend/js/main/affiliations/factories/UserAffiliationsDataService.js +++ b/services/web/frontend/js/main/affiliations/factories/UserAffiliationsDataService.js @@ -1,3 +1,4 @@ +import _ from 'lodash' import App from '../../../base' const countriesList = [ { code: 'af', name: 'Afghanistan' }, @@ -405,7 +406,7 @@ for (let domain of commonDomains) { } } -App.factory('UserAffiliationsDataService', function($http, $q, _) { +App.factory('UserAffiliationsDataService', function($http, $q) { const getCountries = () => $q.resolve(countriesList) const getDefaultRoleHints = () => $q.resolve(defaultRoleHints) diff --git a/services/web/frontend/js/main/learn.js b/services/web/frontend/js/main/learn.js index d0b3e4194c..fc7455dc99 100644 --- a/services/web/frontend/js/main/learn.js +++ b/services/web/frontend/js/main/learn.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable camelcase, handle-callback-err, @@ -16,12 +17,7 @@ import App from '../base' import '../directives/mathjax' import '../services/algolia-search' -App.controller('SearchWikiController', function( - $scope, - algoliaSearch, - _, - $modal -) { +App.controller('SearchWikiController', function($scope, algoliaSearch, $modal) { $scope.hits = [] $scope.hits_total = 0 $scope.config_hits_per_page = 20 diff --git a/services/web/frontend/js/main/new-subscription.js b/services/web/frontend/js/main/new-subscription.js index f03faa92b1..ae69ce8e2d 100644 --- a/services/web/frontend/js/main/new-subscription.js +++ b/services/web/frontend/js/main/new-subscription.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable camelcase, max-len, diff --git a/services/web/frontend/js/main/project-list/project-list.js b/services/web/frontend/js/main/project-list/project-list.js index 2f1596735e..42f94dba0f 100644 --- a/services/web/frontend/js/main/project-list/project-list.js +++ b/services/web/frontend/js/main/project-list/project-list.js @@ -1,3 +1,4 @@ +import _ from 'lodash' import App from '../../base' import './services/project-list' App.controller('ProjectPageController', function( diff --git a/services/web/frontend/js/main/register-users.js b/services/web/frontend/js/main/register-users.js index 4282512ef5..b0aea28fb8 100644 --- a/services/web/frontend/js/main/register-users.js +++ b/services/web/frontend/js/main/register-users.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable max-len, no-return-assign, diff --git a/services/web/frontend/js/main/subscription-dashboard.js b/services/web/frontend/js/main/subscription-dashboard.js index c88b545595..f43503dbc9 100644 --- a/services/web/frontend/js/main/subscription-dashboard.js +++ b/services/web/frontend/js/main/subscription-dashboard.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* global recurly */ /* eslint-disable diff --git a/services/web/frontend/js/main/user-membership.js b/services/web/frontend/js/main/user-membership.js index 4da5deed32..f806ec9db5 100644 --- a/services/web/frontend/js/main/user-membership.js +++ b/services/web/frontend/js/main/user-membership.js @@ -1,3 +1,4 @@ +import _ from 'lodash' /* eslint-disable max-len, no-return-assign, diff --git a/services/web/frontend/js/utils/underscore.js b/services/web/frontend/js/utils/underscore.js deleted file mode 100644 index 6213405348..0000000000 --- a/services/web/frontend/js/utils/underscore.js +++ /dev/null @@ -1,11 +0,0 @@ -/* eslint-disable -*/ -// TODO: This file was created by bulk-decaffeinate. -// Fix any style issues and re-enable lint. -/* - * decaffeinate suggestions: - * DS102: Remove unnecessary code created because of implicit returns - * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md - */ -import '../libraries' -export default angular.module('underscore', []).factory('_', () => window._) diff --git a/services/web/transform-lodash-global.sh b/services/web/transform-lodash-global.sh new file mode 100755 index 0000000000..e2f81aaca1 --- /dev/null +++ b/services/web/transform-lodash-global.sh @@ -0,0 +1,40 @@ +npx jscodeshift \ + -t https://gist.githack.com/40thieves/0b495af3fb0ad5fe08915ce5159a2b7b/raw/9c583c0a5b0cbd83a66538a07591b41332efda6a/transform-lodash.js \ + --ignore-pattern frontend/js/vendor \ + --noSemi=true \ + frontend/js + +npx jscodeshift \ + -t https://gist.githack.com/40thieves/0b495af3fb0ad5fe08915ce5159a2b7b/raw/9c583c0a5b0cbd83a66538a07591b41332efda6a/transform-lodash.js \ + --noSemi=true \ + test/frontend + +for MODULE in admin-panel cms dropbox git-bridge github-sync launchpad metrics open-in-overleaf overleaf-integration portals references-search support templates tpr-webmodule two-factor-authentication v2-templates +do + npx jscodeshift \ + -t https://gist.githack.com/40thieves/0b495af3fb0ad5fe08915ce5159a2b7b/raw/9c583c0a5b0cbd83a66538a07591b41332efda6a/transform-lodash.js \ + --noSemi=true \ + modules/$MODULE/frontend/js +done + +npx jscodeshift \ + -t https://gist.githack.com/40thieves/0b495af3fb0ad5fe08915ce5159a2b7b/raw/9c583c0a5b0cbd83a66538a07591b41332efda6a/transform-lodash.js \ + --noSemi=true \ + modules/rich-text/frontend/js + +npx jscodeshift \ + -t https://gist.githack.com/40thieves/0b495af3fb0ad5fe08915ce5159a2b7b/raw/9c583c0a5b0cbd83a66538a07591b41332efda6a/transform-lodash.js \ + --noSemi=true \ + modules/rich-text/test/frontend + +npx jscodeshift \ + -t https://gist.githack.com/40thieves/0b495af3fb0ad5fe08915ce5159a2b7b/raw/9c583c0a5b0cbd83a66538a07591b41332efda6a/transform-lodash.js \ + --noSemi=true \ + modules/publish-modal/frontend/js + +npx jscodeshift \ + -t https://gist.githack.com/40thieves/0b495af3fb0ad5fe08915ce5159a2b7b/raw/9c583c0a5b0cbd83a66538a07591b41332efda6a/transform-lodash.js \ + --noSemi=true \ + modules/publish-modal/test/frontend + +make format_fix \ No newline at end of file diff --git a/services/web/webpack.config.js b/services/web/webpack.config.js index f44db44049..80193ae00e 100644 --- a/services/web/webpack.config.js +++ b/services/web/webpack.config.js @@ -181,16 +181,6 @@ module.exports = { options: 'angular' } ] - }, - { - // Expose lodash global variable - test: require.resolve('lodash'), - use: [ - { - loader: 'expose-loader', - options: '_' - } - ] } ] },