From 8d2099cb53e933e94ebc17e9c186c0f4ece107cb Mon Sep 17 00:00:00 2001
From: Mike Greiling <mike@pixelcog.com>
Date: Mon, 9 Jan 2017 17:23:54 -0600
Subject: [PATCH] use ~ to reference non-local scripts instead of resolve.root

---
 config/webpack.config.js                           |  6 ++----
 spec/javascripts/abuse_reports_spec.js.es6         |  4 ++--
 spec/javascripts/activities_spec.js.es6            |  4 ++--
 spec/javascripts/awards_handler_spec.js            |  2 +-
 spec/javascripts/behaviors/autosize_spec.js        |  2 +-
 spec/javascripts/behaviors/quick_submit_spec.js    |  2 +-
 spec/javascripts/behaviors/requires_input_spec.js  |  2 +-
 spec/javascripts/boards/boards_store_spec.js.es6   | 14 +++++++-------
 spec/javascripts/boards/issue_spec.js.es6          | 14 +++++++-------
 spec/javascripts/boards/list_spec.js.es6           | 14 +++++++-------
 spec/javascripts/bootstrap_linked_tabs_spec.js.es6 |  2 +-
 spec/javascripts/build_spec.js.es6                 |  6 +++---
 spec/javascripts/dashboard_spec.js.es6             |  4 ++--
 spec/javascripts/datetime_utility_spec.js.es6      |  2 +-
 spec/javascripts/diff_comments_store_spec.js.es6   |  6 +++---
 .../environments/environment_actions_spec.js.es6   |  2 +-
 .../environment_external_url_spec.js.es6           |  2 +-
 .../environments/environment_item_spec.js.es6      |  2 +-
 .../environments/environment_rollback_spec.js.es6  |  2 +-
 .../environments/environment_stop_spec.js.es6      |  2 +-
 .../environments/environments_store_spec.js.es6    |  2 +-
 spec/javascripts/extensions/array_spec.js.es6      |  2 +-
 spec/javascripts/extensions/element_spec.js.es6    |  2 +-
 spec/javascripts/extensions/jquery_spec.js         |  2 +-
 spec/javascripts/extensions/object_spec.js.es6     |  2 +-
 spec/javascripts/gl_dropdown_spec.js.es6           |  6 +++---
 spec/javascripts/gl_field_errors_spec.js.es6       |  2 +-
 .../graphs/stat_graph_contributors_graph_spec.js   |  2 +-
 .../graphs/stat_graph_contributors_util_spec.js    |  2 +-
 spec/javascripts/graphs/stat_graph_spec.js         |  2 +-
 spec/javascripts/header_spec.js                    |  4 ++--
 spec/javascripts/issuable_spec.js.es6              |  2 +-
 spec/javascripts/issue_spec.js                     |  4 ++--
 spec/javascripts/labels_issue_sidebar_spec.js.es6  | 14 +++++++-------
 .../javascripts/lib/utils/common_utils_spec.js.es6 |  2 +-
 spec/javascripts/line_highlighter_spec.js          |  2 +-
 spec/javascripts/merge_request_spec.js             |  2 +-
 spec/javascripts/merge_request_tabs_spec.js        |  6 +++---
 spec/javascripts/merge_request_widget_spec.js      |  4 ++--
 .../mini_pipeline_graph_dropdown_spec.js.es6       |  4 ++--
 spec/javascripts/new_branch_spec.js                |  2 +-
 spec/javascripts/notes_spec.js                     |  6 +++---
 spec/javascripts/pipelines_spec.js.es6             |  2 +-
 spec/javascripts/pretty_time_spec.js.es6           |  2 +-
 spec/javascripts/project_title_spec.js             | 10 +++++-----
 spec/javascripts/right_sidebar_spec.js             |  4 ++--
 spec/javascripts/search_autocomplete_spec.js       |  8 ++++----
 spec/javascripts/shortcuts_issuable_spec.js        |  2 +-
 spec/javascripts/signin_tabs_memoizer_spec.js.es6  |  2 +-
 spec/javascripts/smart_interval_spec.js.es6        |  2 +-
 spec/javascripts/subbable_resource_spec.js.es6     |  2 +-
 spec/javascripts/syntax_highlight_spec.js          |  2 +-
 spec/javascripts/u2f/authenticate_spec.js          |  6 +++---
 spec/javascripts/u2f/register_spec.js              |  6 +++---
 .../vue_common_components/commit_spec.js.es6       |  2 +-
 spec/javascripts/zen_mode_spec.js                  |  2 +-
 56 files changed, 110 insertions(+), 112 deletions(-)

diff --git a/config/webpack.config.js b/config/webpack.config.js
index 8dd9cf5b960..4060228c94b 100644
--- a/config/webpack.config.js
+++ b/config/webpack.config.js
@@ -82,15 +82,13 @@ var config = {
   resolve: {
     extensions: ['', '.js', '.es6', '.js.es6'],
     alias: {
+      '~':              path.join(ROOT_PATH, 'app/assets/javascripts'),
       'bootstrap/js':   'bootstrap-sass/assets/javascripts/bootstrap',
       'emoji-aliases$': path.join(ROOT_PATH, 'fixtures/emojis/aliases.json'),
       'vendor':         path.join(ROOT_PATH, 'vendor/assets/javascripts'),
       'vue$':           'vue/dist/vue.js',
       'vue-resource$':  'vue-resource/dist/vue-resource.js'
-    },
-    root: [
-      path.join(ROOT_PATH, 'app/assets/javascripts'),
-    ],
+    }
   }
 }
 
diff --git a/spec/javascripts/abuse_reports_spec.js.es6 b/spec/javascripts/abuse_reports_spec.js.es6
index f4b6c9deae5..6e23a7a0b56 100644
--- a/spec/javascripts/abuse_reports_spec.js.es6
+++ b/spec/javascripts/abuse_reports_spec.js.es6
@@ -1,5 +1,5 @@
-require('lib/utils/text_utility');
-require('abuse_reports');
+require('~/lib/utils/text_utility');
+require('~/abuse_reports');
 
 ((global) => {
   describe('Abuse Reports', () => {
diff --git a/spec/javascripts/activities_spec.js.es6 b/spec/javascripts/activities_spec.js.es6
index cf57ca34a79..aba16a03ce2 100644
--- a/spec/javascripts/activities_spec.js.es6
+++ b/spec/javascripts/activities_spec.js.es6
@@ -1,8 +1,8 @@
 /* eslint-disable no-unused-expressions, comma-spacing, prefer-const, no-prototype-builtins, semi, no-new, keyword-spacing, no-plusplus, no-shadow, max-len */
 
 require('vendor/jquery.endless-scroll.js');
-require('pager');
-require('activities');
+require('~/pager');
+require('~/activities');
 
 (() => {
   window.gon || (window.gon = {});
diff --git a/spec/javascripts/awards_handler_spec.js b/spec/javascripts/awards_handler_spec.js
index 6950e7a2ce4..672f6f33ad3 100644
--- a/spec/javascripts/awards_handler_spec.js
+++ b/spec/javascripts/awards_handler_spec.js
@@ -1,7 +1,7 @@
 /* eslint-disable space-before-function-paren, no-var, one-var, one-var-declaration-per-line, no-unused-expressions, comma-dangle, new-parens, no-unused-vars, quotes, jasmine/no-spec-dupes, prefer-template, padded-blocks, max-len */
 /* global AwardsHandler */
 
-require('awards_handler');
+require('~/awards_handler');
 require('./fixtures/emoji_menu');
 
 (function() {
diff --git a/spec/javascripts/behaviors/autosize_spec.js b/spec/javascripts/behaviors/autosize_spec.js
index e05793cf2e3..3b29579e70e 100644
--- a/spec/javascripts/behaviors/autosize_spec.js
+++ b/spec/javascripts/behaviors/autosize_spec.js
@@ -1,6 +1,6 @@
 /* eslint-disable space-before-function-paren, no-var, comma-dangle, no-return-assign, padded-blocks, max-len */
 
-require('behaviors/autosize');
+require('~/behaviors/autosize');
 
 (function() {
   describe('Autosize behavior', function() {
diff --git a/spec/javascripts/behaviors/quick_submit_spec.js b/spec/javascripts/behaviors/quick_submit_spec.js
index c7c6f6393a6..247eb5f70ea 100644
--- a/spec/javascripts/behaviors/quick_submit_spec.js
+++ b/spec/javascripts/behaviors/quick_submit_spec.js
@@ -1,6 +1,6 @@
 /* eslint-disable space-before-function-paren, no-var, no-return-assign, comma-dangle, jasmine/no-spec-dupes, new-cap, padded-blocks, max-len */
 
-require('behaviors/quick_submit');
+require('~/behaviors/quick_submit');
 
 (function() {
   describe('Quick Submit behavior', function() {
diff --git a/spec/javascripts/behaviors/requires_input_spec.js b/spec/javascripts/behaviors/requires_input_spec.js
index 793405cd197..fd098196e7d 100644
--- a/spec/javascripts/behaviors/requires_input_spec.js
+++ b/spec/javascripts/behaviors/requires_input_spec.js
@@ -1,6 +1,6 @@
 /* eslint-disable space-before-function-paren, no-var, padded-blocks */
 
-require('behaviors/requires_input');
+require('~/behaviors/requires_input');
 
 (function() {
   describe('requiresInput', function() {
diff --git a/spec/javascripts/boards/boards_store_spec.js.es6 b/spec/javascripts/boards/boards_store_spec.js.es6
index a94f107f67c..8f8f6d22066 100644
--- a/spec/javascripts/boards/boards_store_spec.js.es6
+++ b/spec/javascripts/boards/boards_store_spec.js.es6
@@ -6,13 +6,13 @@
 /* global listObj */
 /* global listObjDuplicate */
 
-require('lib/utils/url_utility');
-require('boards/models/issue');
-require('boards/models/label');
-require('boards/models/list');
-require('boards/models/user');
-require('boards/services/board_service');
-require('boards/stores/boards_store');
+require('~/lib/utils/url_utility');
+require('~/boards/models/issue');
+require('~/boards/models/label');
+require('~/boards/models/list');
+require('~/boards/models/user');
+require('~/boards/services/board_service');
+require('~/boards/stores/boards_store');
 require('./mock_data');
 
 describe('Store', () => {
diff --git a/spec/javascripts/boards/issue_spec.js.es6 b/spec/javascripts/boards/issue_spec.js.es6
index 2f38bea7d48..5514f34c828 100644
--- a/spec/javascripts/boards/issue_spec.js.es6
+++ b/spec/javascripts/boards/issue_spec.js.es6
@@ -2,13 +2,13 @@
 /* global BoardService */
 /* global ListIssue */
 
-require('lib/utils/url_utility');
-require('boards/models/issue');
-require('boards/models/label');
-require('boards/models/list');
-require('boards/models/user');
-require('boards/services/board_service');
-require('boards/stores/boards_store');
+require('~/lib/utils/url_utility');
+require('~/boards/models/issue');
+require('~/boards/models/label');
+require('~/boards/models/list');
+require('~/boards/models/user');
+require('~/boards/services/board_service');
+require('~/boards/stores/boards_store');
 require('./mock_data');
 
 describe('Issue model', () => {
diff --git a/spec/javascripts/boards/list_spec.js.es6 b/spec/javascripts/boards/list_spec.js.es6
index edd472573de..31b49e3e27a 100644
--- a/spec/javascripts/boards/list_spec.js.es6
+++ b/spec/javascripts/boards/list_spec.js.es6
@@ -5,13 +5,13 @@
 /* global List */
 /* global listObj */
 
-require('lib/utils/url_utility');
-require('boards/models/issue');
-require('boards/models/label');
-require('boards/models/list');
-require('boards/models/user');
-require('boards/services/board_service');
-require('boards/stores/boards_store');
+require('~/lib/utils/url_utility');
+require('~/boards/models/issue');
+require('~/boards/models/label');
+require('~/boards/models/list');
+require('~/boards/models/user');
+require('~/boards/services/board_service');
+require('~/boards/stores/boards_store');
 require('./mock_data');
 
 describe('List model', () => {
diff --git a/spec/javascripts/bootstrap_linked_tabs_spec.js.es6 b/spec/javascripts/bootstrap_linked_tabs_spec.js.es6
index f73bb5c6fed..bb2545cddf9 100644
--- a/spec/javascripts/bootstrap_linked_tabs_spec.js.es6
+++ b/spec/javascripts/bootstrap_linked_tabs_spec.js.es6
@@ -1,4 +1,4 @@
-require('lib/utils/bootstrap_linked_tabs');
+require('~/lib/utils/bootstrap_linked_tabs');
 
 (() => {
   describe('Linked Tabs', () => {
diff --git a/spec/javascripts/build_spec.js.es6 b/spec/javascripts/build_spec.js.es6
index 41a3e614cd1..d2a093df146 100644
--- a/spec/javascripts/build_spec.js.es6
+++ b/spec/javascripts/build_spec.js.es6
@@ -2,9 +2,9 @@
 /* global Build */
 /* global Turbolinks */
 
-require('lib/utils/datetime_utility');
-require('build');
-require('breakpoints');
+require('~/lib/utils/datetime_utility');
+require('~/build');
+require('~/breakpoints');
 require('vendor/jquery.nicescroll');
 
 describe('Build', () => {
diff --git a/spec/javascripts/dashboard_spec.js.es6 b/spec/javascripts/dashboard_spec.js.es6
index b9e819aa218..501380693d4 100644
--- a/spec/javascripts/dashboard_spec.js.es6
+++ b/spec/javascripts/dashboard_spec.js.es6
@@ -1,7 +1,7 @@
 /* eslint-disable no-new, padded-blocks */
 
-require('sidebar');
-require('lib/utils/text_utility');
+require('~/sidebar');
+require('~/lib/utils/text_utility');
 
 ((global) => {
   describe('Dashboard', () => {
diff --git a/spec/javascripts/datetime_utility_spec.js.es6 b/spec/javascripts/datetime_utility_spec.js.es6
index 713e7742988..d5eec10be42 100644
--- a/spec/javascripts/datetime_utility_spec.js.es6
+++ b/spec/javascripts/datetime_utility_spec.js.es6
@@ -1,4 +1,4 @@
-require('lib/utils/datetime_utility');
+require('~/lib/utils/datetime_utility');
 
 (() => {
   describe('Date time utils', () => {
diff --git a/spec/javascripts/diff_comments_store_spec.js.es6 b/spec/javascripts/diff_comments_store_spec.js.es6
index f27ba0f93f7..cf2f17de5ee 100644
--- a/spec/javascripts/diff_comments_store_spec.js.es6
+++ b/spec/javascripts/diff_comments_store_spec.js.es6
@@ -1,9 +1,9 @@
 /* eslint-disable no-extra-semi, jasmine/no-global-setup, dot-notation, jasmine/no-expect-in-setup-teardown, max-len */
 /* global CommentsStore */
 
-require('diff_notes/models/discussion');
-require('diff_notes/models/note');
-require('diff_notes/stores/comments');
+require('~/diff_notes/models/discussion');
+require('~/diff_notes/models/note');
+require('~/diff_notes/stores/comments');
 
 (() => {
   function createDiscussion(noteId = 1, resolved = true) {
diff --git a/spec/javascripts/environments/environment_actions_spec.js.es6 b/spec/javascripts/environments/environment_actions_spec.js.es6
index c02c2e10b9a..b1838045a06 100644
--- a/spec/javascripts/environments/environment_actions_spec.js.es6
+++ b/spec/javascripts/environments/environment_actions_spec.js.es6
@@ -1,4 +1,4 @@
-require('environments/components/environment_actions');
+require('~/environments/components/environment_actions');
 
 describe('Actions Component', () => {
   preloadFixtures('static/environments/element.html.raw');
diff --git a/spec/javascripts/environments/environment_external_url_spec.js.es6 b/spec/javascripts/environments/environment_external_url_spec.js.es6
index 5270ebef0ae..a6a587e69f5 100644
--- a/spec/javascripts/environments/environment_external_url_spec.js.es6
+++ b/spec/javascripts/environments/environment_external_url_spec.js.es6
@@ -1,4 +1,4 @@
-require('environments/components/environment_external_url');
+require('~/environments/components/environment_external_url');
 
 describe('External URL Component', () => {
   preloadFixtures('static/environments/element.html.raw');
diff --git a/spec/javascripts/environments/environment_item_spec.js.es6 b/spec/javascripts/environments/environment_item_spec.js.es6
index 400850db028..9858f346c83 100644
--- a/spec/javascripts/environments/environment_item_spec.js.es6
+++ b/spec/javascripts/environments/environment_item_spec.js.es6
@@ -1,5 +1,5 @@
 window.timeago = require('vendor/timeago');
-require('environments/components/environment_item');
+require('~/environments/components/environment_item');
 
 describe('Environment item', () => {
   preloadFixtures('static/environments/table.html.raw');
diff --git a/spec/javascripts/environments/environment_rollback_spec.js.es6 b/spec/javascripts/environments/environment_rollback_spec.js.es6
index 96d80d59b9a..8c7e1e912b4 100644
--- a/spec/javascripts/environments/environment_rollback_spec.js.es6
+++ b/spec/javascripts/environments/environment_rollback_spec.js.es6
@@ -1,4 +1,4 @@
-require('environments/components/environment_rollback');
+require('~/environments/components/environment_rollback');
 
 describe('Rollback Component', () => {
   preloadFixtures('static/environments/element.html.raw');
diff --git a/spec/javascripts/environments/environment_stop_spec.js.es6 b/spec/javascripts/environments/environment_stop_spec.js.es6
index a243b967425..2dfce5ba824 100644
--- a/spec/javascripts/environments/environment_stop_spec.js.es6
+++ b/spec/javascripts/environments/environment_stop_spec.js.es6
@@ -1,4 +1,4 @@
-require('environments/components/environment_stop');
+require('~/environments/components/environment_stop');
 
 describe('Stop Component', () => {
   preloadFixtures('static/environments/element.html.raw');
diff --git a/spec/javascripts/environments/environments_store_spec.js.es6 b/spec/javascripts/environments/environments_store_spec.js.es6
index 090179ce873..9a8300d3832 100644
--- a/spec/javascripts/environments/environments_store_spec.js.es6
+++ b/spec/javascripts/environments/environments_store_spec.js.es6
@@ -1,6 +1,6 @@
 /* global environmentsList */
 
-require('environments/stores/environments_store');
+require('~/environments/stores/environments_store');
 require('./mock_data');
 
 (() => {
diff --git a/spec/javascripts/extensions/array_spec.js.es6 b/spec/javascripts/extensions/array_spec.js.es6
index 5396e0eb639..75372266808 100644
--- a/spec/javascripts/extensions/array_spec.js.es6
+++ b/spec/javascripts/extensions/array_spec.js.es6
@@ -1,6 +1,6 @@
 /* eslint-disable space-before-function-paren, no-var, padded-blocks */
 
-require('extensions/array');
+require('~/extensions/array');
 
 (function() {
   describe('Array extensions', function() {
diff --git a/spec/javascripts/extensions/element_spec.js.es6 b/spec/javascripts/extensions/element_spec.js.es6
index 49544ae8b5c..2d8a128ed33 100644
--- a/spec/javascripts/extensions/element_spec.js.es6
+++ b/spec/javascripts/extensions/element_spec.js.es6
@@ -1,4 +1,4 @@
-require('extensions/element');
+require('~/extensions/element');
 
 (() => {
   describe('Element extensions', function () {
diff --git a/spec/javascripts/extensions/jquery_spec.js b/spec/javascripts/extensions/jquery_spec.js
index 3163414b134..298832f6985 100644
--- a/spec/javascripts/extensions/jquery_spec.js
+++ b/spec/javascripts/extensions/jquery_spec.js
@@ -1,6 +1,6 @@
 /* eslint-disable space-before-function-paren, no-var, padded-blocks */
 
-require('extensions/jquery');
+require('~/extensions/jquery');
 
 (function() {
   describe('jQuery extensions', function() {
diff --git a/spec/javascripts/extensions/object_spec.js.es6 b/spec/javascripts/extensions/object_spec.js.es6
index 77ffa1a35ae..2467ed78459 100644
--- a/spec/javascripts/extensions/object_spec.js.es6
+++ b/spec/javascripts/extensions/object_spec.js.es6
@@ -1,4 +1,4 @@
-require('extensions/object');
+require('~/extensions/object');
 
 describe('Object extensions', () => {
   describe('assign', () => {
diff --git a/spec/javascripts/gl_dropdown_spec.js.es6 b/spec/javascripts/gl_dropdown_spec.js.es6
index 1f4d7a4eb07..b079aae13c3 100644
--- a/spec/javascripts/gl_dropdown_spec.js.es6
+++ b/spec/javascripts/gl_dropdown_spec.js.es6
@@ -1,9 +1,9 @@
 /* eslint-disable comma-dangle, prefer-const, no-param-reassign, no-plusplus, semi, no-unused-expressions, arrow-spacing, max-len */
 /* global Turbolinks */
 
-require('gl_dropdown');
-require('lib/utils/common_utils');
-require('lib/utils/type_utility');
+require('~/gl_dropdown');
+require('~/lib/utils/common_utils');
+require('~/lib/utils/type_utility');
 
 (() => {
   const NON_SELECTABLE_CLASSES = '.divider, .separator, .dropdown-header, .dropdown-menu-empty-link';
diff --git a/spec/javascripts/gl_field_errors_spec.js.es6 b/spec/javascripts/gl_field_errors_spec.js.es6
index 53f7e576394..51ba59df671 100644
--- a/spec/javascripts/gl_field_errors_spec.js.es6
+++ b/spec/javascripts/gl_field_errors_spec.js.es6
@@ -1,6 +1,6 @@
 /* eslint-disable space-before-function-paren, arrow-body-style, indent, padded-blocks */
 
-require('gl_field_errors');
+require('~/gl_field_errors');
 
 ((global) => {
   preloadFixtures('static/gl_field_errors.html.raw');
diff --git a/spec/javascripts/graphs/stat_graph_contributors_graph_spec.js b/spec/javascripts/graphs/stat_graph_contributors_graph_spec.js
index a914eda90bb..88aaaa0471b 100644
--- a/spec/javascripts/graphs/stat_graph_contributors_graph_spec.js
+++ b/spec/javascripts/graphs/stat_graph_contributors_graph_spec.js
@@ -3,7 +3,7 @@
 /* global ContributorsGraph */
 /* global ContributorsMasterGraph */
 
-require('graphs/stat_graph_contributors_graph');
+require('~/graphs/stat_graph_contributors_graph');
 
 describe("ContributorsGraph", function () {
   describe("#set_x_domain", function () {
diff --git a/spec/javascripts/graphs/stat_graph_contributors_util_spec.js b/spec/javascripts/graphs/stat_graph_contributors_util_spec.js
index 4f82e1c46db..671b0ae391c 100644
--- a/spec/javascripts/graphs/stat_graph_contributors_util_spec.js
+++ b/spec/javascripts/graphs/stat_graph_contributors_util_spec.js
@@ -1,7 +1,7 @@
 /* eslint-disable quotes, padded-blocks, no-var, camelcase, object-curly-spacing, semi, indent, object-property-newline, comma-dangle, comma-spacing, spaced-comment, max-len, key-spacing, vars-on-top, quote-props, no-multi-spaces */
 /* global ContributorsStatGraphUtil */
 
-require('graphs/stat_graph_contributors_util');
+require('~/graphs/stat_graph_contributors_util');
 
 describe("ContributorsStatGraphUtil", function () {
 
diff --git a/spec/javascripts/graphs/stat_graph_spec.js b/spec/javascripts/graphs/stat_graph_spec.js
index a017f35831d..5b3b7c9222a 100644
--- a/spec/javascripts/graphs/stat_graph_spec.js
+++ b/spec/javascripts/graphs/stat_graph_spec.js
@@ -1,7 +1,7 @@
 /* eslint-disable quotes, padded-blocks, semi */
 /* global StatGraph */
 
-require('graphs/stat_graph');
+require('~/graphs/stat_graph');
 
 describe("StatGraph", function () {
 
diff --git a/spec/javascripts/header_spec.js b/spec/javascripts/header_spec.js
index 570d0ab78cb..a281502b6ba 100644
--- a/spec/javascripts/header_spec.js
+++ b/spec/javascripts/header_spec.js
@@ -1,7 +1,7 @@
 /* eslint-disable space-before-function-paren, padded-blocks, no-var */
 
-require('header');
-require('lib/utils/text_utility');
+require('~/header');
+require('~/lib/utils/text_utility');
 
 (function() {
 
diff --git a/spec/javascripts/issuable_spec.js.es6 b/spec/javascripts/issuable_spec.js.es6
index eaf155f1606..d846c242b1e 100644
--- a/spec/javascripts/issuable_spec.js.es6
+++ b/spec/javascripts/issuable_spec.js.es6
@@ -1,7 +1,7 @@
 /* global Issuable */
 /* global Turbolinks */
 
-require('issuable');
+require('~/issuable');
 
 (() => {
   const BASE_URL = '/user/project/issues?scope=all&state=closed';
diff --git a/spec/javascripts/issue_spec.js b/spec/javascripts/issue_spec.js
index 2938d69e94c..d1d6d5e22cb 100644
--- a/spec/javascripts/issue_spec.js
+++ b/spec/javascripts/issue_spec.js
@@ -1,8 +1,8 @@
 /* eslint-disable space-before-function-paren, no-var, one-var, one-var-declaration-per-line, no-use-before-define, indent, no-trailing-spaces, comma-dangle, padded-blocks, max-len */
 /* global Issue */
 
-require('lib/utils/text_utility');
-require('issue');
+require('~/lib/utils/text_utility');
+require('~/issue');
 
 (function() {
   var INVALID_URL = 'http://goesnowhere.nothing/whereami';
diff --git a/spec/javascripts/labels_issue_sidebar_spec.js.es6 b/spec/javascripts/labels_issue_sidebar_spec.js.es6
index ac3b4e8e0f6..61ccef42cd8 100644
--- a/spec/javascripts/labels_issue_sidebar_spec.js.es6
+++ b/spec/javascripts/labels_issue_sidebar_spec.js.es6
@@ -2,15 +2,15 @@
 /* global IssuableContext */
 /* global LabelsSelect */
 
-require('lib/utils/type_utility');
-require('gl_dropdown');
+require('~/lib/utils/type_utility');
+require('~/gl_dropdown');
 require('select2');
 require('vendor/jquery.nicescroll');
-require('api');
-require('create_label');
-require('issuable_context');
-require('users_select');
-require('labels_select');
+require('~/api');
+require('~/create_label');
+require('~/issuable_context');
+require('~/users_select');
+require('~/labels_select');
 
 (() => {
   let saveLabelCount = 0;
diff --git a/spec/javascripts/lib/utils/common_utils_spec.js.es6 b/spec/javascripts/lib/utils/common_utils_spec.js.es6
index 46aa0702bda..58fb54077f5 100644
--- a/spec/javascripts/lib/utils/common_utils_spec.js.es6
+++ b/spec/javascripts/lib/utils/common_utils_spec.js.es6
@@ -1,4 +1,4 @@
-require('lib/utils/common_utils');
+require('~/lib/utils/common_utils');
 
 (() => {
   describe('common_utils', () => {
diff --git a/spec/javascripts/line_highlighter_spec.js b/spec/javascripts/line_highlighter_spec.js
index afc51e6682a..be80e06af53 100644
--- a/spec/javascripts/line_highlighter_spec.js
+++ b/spec/javascripts/line_highlighter_spec.js
@@ -1,7 +1,7 @@
 /* eslint-disable space-before-function-paren, no-var, no-param-reassign, quotes, prefer-template, no-else-return, new-cap, dot-notation, no-return-assign, comma-dangle, no-new, one-var, one-var-declaration-per-line, no-plusplus, jasmine/no-spec-dupes, no-underscore-dangle, padded-blocks, max-len */
 /* global LineHighlighter */
 
-require('line_highlighter');
+require('~/line_highlighter');
 
 (function() {
   describe('LineHighlighter', function() {
diff --git a/spec/javascripts/merge_request_spec.js b/spec/javascripts/merge_request_spec.js
index 5f98edc3bb0..f87e87f4204 100644
--- a/spec/javascripts/merge_request_spec.js
+++ b/spec/javascripts/merge_request_spec.js
@@ -1,7 +1,7 @@
 /* eslint-disable space-before-function-paren, no-return-assign, padded-blocks */
 /* global MergeRequest */
 
-require('merge_request');
+require('~/merge_request');
 
 (function() {
   describe('MergeRequest', function() {
diff --git a/spec/javascripts/merge_request_tabs_spec.js b/spec/javascripts/merge_request_tabs_spec.js
index 5f53334f44c..114b7cca61e 100644
--- a/spec/javascripts/merge_request_tabs_spec.js
+++ b/spec/javascripts/merge_request_tabs_spec.js
@@ -1,8 +1,8 @@
 /* eslint-disable no-var, comma-dangle, object-shorthand */
 
-require('merge_request_tabs');
-require('breakpoints');
-require('lib/utils/common_utils');
+require('~/merge_request_tabs');
+require('~/breakpoints');
+require('~/lib/utils/common_utils');
 require('vendor/jquery.scrollTo');
 
 (function () {
diff --git a/spec/javascripts/merge_request_widget_spec.js b/spec/javascripts/merge_request_widget_spec.js
index b29f5bad234..c09cea28696 100644
--- a/spec/javascripts/merge_request_widget_spec.js
+++ b/spec/javascripts/merge_request_widget_spec.js
@@ -1,7 +1,7 @@
 /* eslint-disable space-before-function-paren, quotes, comma-dangle, dot-notation, indent, quote-props, no-var, padded-blocks, max-len */
 
-require('merge_request_widget');
-require('lib/utils/datetime_utility');
+require('~/merge_request_widget');
+require('~/lib/utils/datetime_utility');
 
 (function() {
   describe('MergeRequestWidget', function() {
diff --git a/spec/javascripts/mini_pipeline_graph_dropdown_spec.js.es6 b/spec/javascripts/mini_pipeline_graph_dropdown_spec.js.es6
index 32b80a4f4bd..a6994f6edf4 100644
--- a/spec/javascripts/mini_pipeline_graph_dropdown_spec.js.es6
+++ b/spec/javascripts/mini_pipeline_graph_dropdown_spec.js.es6
@@ -1,7 +1,7 @@
 /* eslint-disable no-new */
 
-require('flash');
-require('mini_pipeline_graph_dropdown');
+require('~/flash');
+require('~/mini_pipeline_graph_dropdown');
 
 (() => {
   describe('Mini Pipeline Graph Dropdown', () => {
diff --git a/spec/javascripts/new_branch_spec.js b/spec/javascripts/new_branch_spec.js
index 40c6b6d3999..0fdfa4d037b 100644
--- a/spec/javascripts/new_branch_spec.js
+++ b/spec/javascripts/new_branch_spec.js
@@ -2,7 +2,7 @@
 /* global NewBranchForm */
 
 require('jquery-ui/ui/autocomplete');
-require('new_branch_form');
+require('~/new_branch_form');
 
 (function() {
   describe('Branch', function() {
diff --git a/spec/javascripts/notes_spec.js b/spec/javascripts/notes_spec.js
index 0b2ac007495..295b44a3e74 100644
--- a/spec/javascripts/notes_spec.js
+++ b/spec/javascripts/notes_spec.js
@@ -1,10 +1,10 @@
 /* eslint-disable space-before-function-paren, no-unused-expressions, no-var, object-shorthand, comma-dangle, semi, padded-blocks, max-len */
 /* global Notes */
 
-require('notes');
+require('~/notes');
 require('vendor/autosize');
-require('gl_form');
-require('lib/utils/text_utility');
+require('~/gl_form');
+require('~/lib/utils/text_utility');
 
 (function() {
   window.gon || (window.gon = {});
diff --git a/spec/javascripts/pipelines_spec.js.es6 b/spec/javascripts/pipelines_spec.js.es6
index 1bee64b814f..6120ca5543d 100644
--- a/spec/javascripts/pipelines_spec.js.es6
+++ b/spec/javascripts/pipelines_spec.js.es6
@@ -1,4 +1,4 @@
-require('pipelines');
+require('~/pipelines');
 
 (() => {
   describe('Pipelines', () => {
diff --git a/spec/javascripts/pretty_time_spec.js.es6 b/spec/javascripts/pretty_time_spec.js.es6
index 207d40983b4..fe5317e05b1 100644
--- a/spec/javascripts/pretty_time_spec.js.es6
+++ b/spec/javascripts/pretty_time_spec.js.es6
@@ -1,4 +1,4 @@
-require('lib/utils/pretty_time');
+require('~/lib/utils/pretty_time');
 
 (() => {
   const PrettyTime = gl.PrettyTime;
diff --git a/spec/javascripts/project_title_spec.js b/spec/javascripts/project_title_spec.js
index a774b978458..ab0808bab18 100644
--- a/spec/javascripts/project_title_spec.js
+++ b/spec/javascripts/project_title_spec.js
@@ -2,11 +2,11 @@
 /* global Project */
 
 require('select2/select2.js');
-require('lib/utils/type_utility');
-require('gl_dropdown');
-require('api');
-require('project_select');
-require('project');
+require('~/lib/utils/type_utility');
+require('~/gl_dropdown');
+require('~/api');
+require('~/project_select');
+require('~/project');
 
 (function() {
   window.gon || (window.gon = {});
diff --git a/spec/javascripts/right_sidebar_spec.js b/spec/javascripts/right_sidebar_spec.js
index db6b7244135..2a711b15133 100644
--- a/spec/javascripts/right_sidebar_spec.js
+++ b/spec/javascripts/right_sidebar_spec.js
@@ -1,8 +1,8 @@
 /* eslint-disable space-before-function-paren, no-var, one-var, one-var-declaration-per-line, new-parens, no-return-assign, new-cap, vars-on-top, semi, padded-blocks, max-len */
 /* global Sidebar */
 
-require('right_sidebar');
-require('extensions/jquery.js');
+require('~/right_sidebar');
+require('~/extensions/jquery.js');
 
 (function() {
   var $aside, $icon, $labelsIcon, $page, $toggle, assertSidebarState;
diff --git a/spec/javascripts/search_autocomplete_spec.js b/spec/javascripts/search_autocomplete_spec.js
index 8d7f48eabc5..08d9b775940 100644
--- a/spec/javascripts/search_autocomplete_spec.js
+++ b/spec/javascripts/search_autocomplete_spec.js
@@ -1,9 +1,9 @@
 /* eslint-disable space-before-function-paren, max-len, no-var, one-var, one-var-declaration-per-line, no-unused-expressions, consistent-return, no-param-reassign, default-case, no-return-assign, comma-dangle, object-shorthand, prefer-template, quotes, new-parens, vars-on-top, new-cap, padded-blocks, max-len */
 
-require('gl_dropdown');
-require('search_autocomplete');
-require('lib/utils/common_utils');
-require('lib/utils/type_utility');
+require('~/gl_dropdown');
+require('~/search_autocomplete');
+require('~/lib/utils/common_utils');
+require('~/lib/utils/type_utility');
 require('vendor/fuzzaldrin-plus');
 
 (function() {
diff --git a/spec/javascripts/shortcuts_issuable_spec.js b/spec/javascripts/shortcuts_issuable_spec.js
index 65c4f42e3b8..7c577cc1b38 100644
--- a/spec/javascripts/shortcuts_issuable_spec.js
+++ b/spec/javascripts/shortcuts_issuable_spec.js
@@ -1,7 +1,7 @@
 /* eslint-disable space-before-function-paren, no-return-assign, no-var, quotes, padded-blocks */
 /* global ShortcutsIssuable */
 
-require('shortcuts_issuable');
+require('~/shortcuts_issuable');
 
 (function() {
   describe('ShortcutsIssuable', function() {
diff --git a/spec/javascripts/signin_tabs_memoizer_spec.js.es6 b/spec/javascripts/signin_tabs_memoizer_spec.js.es6
index b34942d78d1..d83d9a57b42 100644
--- a/spec/javascripts/signin_tabs_memoizer_spec.js.es6
+++ b/spec/javascripts/signin_tabs_memoizer_spec.js.es6
@@ -1,4 +1,4 @@
-require('signin_tabs_memoizer');
+require('~/signin_tabs_memoizer');
 
 ((global) => {
   describe('SigninTabsMemoizer', () => {
diff --git a/spec/javascripts/smart_interval_spec.js.es6 b/spec/javascripts/smart_interval_spec.js.es6
index 3075965d7f9..0c8051810cc 100644
--- a/spec/javascripts/smart_interval_spec.js.es6
+++ b/spec/javascripts/smart_interval_spec.js.es6
@@ -1,4 +1,4 @@
-require('smart_interval');
+require('~/smart_interval');
 
 (() => {
   const DEFAULT_MAX_INTERVAL = 100;
diff --git a/spec/javascripts/subbable_resource_spec.js.es6 b/spec/javascripts/subbable_resource_spec.js.es6
index 1434ae8364d..ef1b32c2d19 100644
--- a/spec/javascripts/subbable_resource_spec.js.es6
+++ b/spec/javascripts/subbable_resource_spec.js.es6
@@ -1,6 +1,6 @@
 /* eslint-disable max-len, arrow-parens, comma-dangle, no-plusplus */
 
-require('subbable_resource');
+require('~/subbable_resource');
 
 /*
 * Test that each rest verb calls the publish and subscribe function and passes the correct value back
diff --git a/spec/javascripts/syntax_highlight_spec.js b/spec/javascripts/syntax_highlight_spec.js
index b5e869e2169..6c953f1b71c 100644
--- a/spec/javascripts/syntax_highlight_spec.js
+++ b/spec/javascripts/syntax_highlight_spec.js
@@ -1,6 +1,6 @@
 /* eslint-disable space-before-function-paren, no-var, no-return-assign, quotes, padded-blocks */
 
-require('syntax_highlight');
+require('~/syntax_highlight');
 
 (function() {
   describe('Syntax Highlighter', function() {
diff --git a/spec/javascripts/u2f/authenticate_spec.js b/spec/javascripts/u2f/authenticate_spec.js
index 22cea407943..e5948131744 100644
--- a/spec/javascripts/u2f/authenticate_spec.js
+++ b/spec/javascripts/u2f/authenticate_spec.js
@@ -2,9 +2,9 @@
 /* global MockU2FDevice */
 /* global U2FAuthenticate */
 
-require('u2f/authenticate');
-require('u2f/util');
-require('u2f/error');
+require('~/u2f/authenticate');
+require('~/u2f/util');
+require('~/u2f/error');
 require('vendor/u2f');
 require('./mock_u2f_device');
 
diff --git a/spec/javascripts/u2f/register_spec.js b/spec/javascripts/u2f/register_spec.js
index 17b3732975b..50522ff2391 100644
--- a/spec/javascripts/u2f/register_spec.js
+++ b/spec/javascripts/u2f/register_spec.js
@@ -2,9 +2,9 @@
 /* global MockU2FDevice */
 /* global U2FRegister */
 
-require('u2f/register');
-require('u2f/util');
-require('u2f/error');
+require('~/u2f/register');
+require('~/u2f/util');
+require('~/u2f/error');
 require('vendor/u2f');
 require('./mock_u2f_device');
 
diff --git a/spec/javascripts/vue_common_components/commit_spec.js.es6 b/spec/javascripts/vue_common_components/commit_spec.js.es6
index 12d8c411847..bbd914de4ea 100644
--- a/spec/javascripts/vue_common_components/commit_spec.js.es6
+++ b/spec/javascripts/vue_common_components/commit_spec.js.es6
@@ -1,4 +1,4 @@
-require('vue_common_component/commit');
+require('~/vue_common_component/commit');
 
 describe('Commit component', () => {
   let props;
diff --git a/spec/javascripts/zen_mode_spec.js b/spec/javascripts/zen_mode_spec.js
index 7fe2ab68c75..7a68356376f 100644
--- a/spec/javascripts/zen_mode_spec.js
+++ b/spec/javascripts/zen_mode_spec.js
@@ -3,7 +3,7 @@
 /* global Mousetrap */
 /* global ZenMode */
 
-require('zen_mode');
+require('~/zen_mode');
 
 (function() {
   var enterZen, escapeKeydown, exitZen;
-- 
2.30.9