summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorMike Greiling <mike@pixelcog.com>2016-10-28 03:22:02 -0500
committerMike Greiling <mike@pixelcog.com>2017-01-06 10:21:02 -0600
commit55f291e8ceae6d3d432039f72f6935c62fb2a872 (patch)
tree0251e33d29241731ad16ae8a9681fa0863782840 /app
parent31bd36845ba1c18404f029f85b6a0f841c1c390c (diff)
downloadgitlab-ce-55f291e8ceae6d3d432039f72f6935c62fb2a872.tar.gz
replace application.js sprockets output with webpack-generated equivalent
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/application.js1
-rw-r--r--app/assets/javascripts/lib/utils/datetime_utility.js2
-rw-r--r--app/assets/javascripts/users/calendar.js4
-rw-r--r--app/assets/javascripts/webpack/application.js293
-rw-r--r--app/assets/javascripts/webpack/bundle.js4
-rw-r--r--app/assets/javascripts/webpack/hello_world.js.es611
-rw-r--r--app/views/layouts/_head.html.haml3
7 files changed, 298 insertions, 20 deletions
diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js
index e43afbb4cc9..c21f0572fa7 100644
--- a/app/assets/javascripts/application.js
+++ b/app/assets/javascripts/application.js
@@ -22,6 +22,7 @@
/*= require jquery.endless-scroll */
/*= require jquery.highlight */
/*= require jquery.waitforimages */
+/*= require jquery.caret */
/*= require jquery.atwho */
/*= require jquery.scrollTo */
/*= require jquery.turbolinks */
diff --git a/app/assets/javascripts/lib/utils/datetime_utility.js b/app/assets/javascripts/lib/utils/datetime_utility.js
index e8e502694d6..30e4e490543 100644
--- a/app/assets/javascripts/lib/utils/datetime_utility.js
+++ b/app/assets/javascripts/lib/utils/datetime_utility.js
@@ -17,7 +17,7 @@
w.gl.utils.days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
w.gl.utils.formatDate = function(datetime) {
- return dateFormat(datetime, 'mmm d, yyyy h:MMtt Z');
+ return (new Date(datetime)).format('mmm d, yyyy h:MMtt Z');
};
w.gl.utils.getDayName = function(date) {
diff --git a/app/assets/javascripts/users/calendar.js b/app/assets/javascripts/users/calendar.js
index 578be7c3590..43ee6a9d9fd 100644
--- a/app/assets/javascripts/users/calendar.js
+++ b/app/assets/javascripts/users/calendar.js
@@ -33,7 +33,7 @@
date.setDate(date.getDate() + i);
var day = date.getDay();
- var count = timestamps[dateFormat(date, 'yyyy-mm-dd')];
+ var count = timestamps[date.format('yyyy-mm-dd')];
// Create a new group array if this is the first day of the week
// or if is first object
@@ -122,7 +122,7 @@
if (stamp.count > 0) {
contribText = stamp.count + " contribution" + (stamp.count > 1 ? 's' : '');
}
- dateText = dateFormat(date, 'mmm d, yyyy');
+ dateText = date.format('mmm d, yyyy');
return contribText + "<br />" + (gl.utils.getDayName(date)) + " " + dateText;
};
})(this)).attr('class', 'user-contrib-cell js-tooltip').attr('fill', (function(_this) {
diff --git a/app/assets/javascripts/webpack/application.js b/app/assets/javascripts/webpack/application.js
new file mode 100644
index 00000000000..660e00d4c5b
--- /dev/null
+++ b/app/assets/javascripts/webpack/application.js
@@ -0,0 +1,293 @@
+/* eslint-disable */
+
+/**
+ * Simulate sprockets compile order of application.js through CommonJS require statements
+ *
+ * Currently exports everything appropriate to window until the scripts that rely on this behavior
+ * can be refactored.
+ *
+ * Test the output from this against sprockets output and it should be almost identical apart from
+ * webpack's CommonJS wrapper. You can add the following line to webpack.config.js to fix the
+ * script indentation:
+ * config.output.sourcePrefix = '';
+ */
+
+/*= require jquery2 */
+window.jQuery = window.$ = require('jquery');
+
+/*= require jquery-ui/autocomplete */
+// depends on jquery-ui/core, jquery-ui/widget, jquery-ui/menu, jquery-ui/position
+require('jquery-ui/ui/core');
+require('jquery-ui/ui/widget');
+require('jquery-ui/ui/position');
+require('jquery-ui/ui/menu');
+require('jquery-ui/ui/autocomplete');
+
+/*= require jquery-ui/datepicker */
+// depends on jquery-ui/core
+require('jquery-ui/ui/datepicker');
+
+/*= require jquery-ui/draggable */
+// depends on jquery-ui/core, jquery-ui/widget, jquery-ui/mouse
+require('jquery-ui/ui/mouse');
+require('jquery-ui/ui/draggable');
+
+/*= require jquery-ui/effect-highlight */
+// depends on jquery-ui/effect
+require('jquery-ui/ui/effect');
+require('jquery-ui/ui/effect-highlight');
+
+/*= require jquery-ui/sortable */
+// depends on jquery-ui/core, jquery-ui/widget, jquery-ui/mouse
+require('jquery-ui/ui/sortable');
+
+/*= require jquery_ujs */
+require('jquery-ujs');
+
+/*= require jquery.endless-scroll */
+require('vendor/jquery.endless-scroll');
+
+/*= require jquery.highlight */
+require('vendor/jquery.highlight');
+
+/*= require jquery.waitforimages */
+require('vendor/jquery.waitforimages');
+
+/*= require jquery.atwho */
+require('vendor/jquery.caret'); // required by jquery.atwho
+require('vendor/jquery.atwho');
+
+/*= require jquery.scrollTo */
+require('vendor/jquery.scrollTo');
+
+/*= require jquery.turbolinks */
+require('vendor/jquery.turbolinks');
+
+/*= require js.cookie */
+window.Cookies = require('vendor/js.cookie');
+
+/*= require turbolinks */
+require('vendor/turbolinks');
+
+/*= require autosave */
+require('../autosave');
+
+/*= require bootstrap/affix */
+require('bootstrap/js/affix');
+
+/*= require bootstrap/alert */
+require('bootstrap/js/alert');
+
+/*= require bootstrap/button */
+require('bootstrap/js/button');
+
+/*= require bootstrap/collapse */
+require('bootstrap/js/collapse');
+
+/*= require bootstrap/dropdown */
+require('bootstrap/js/dropdown');
+
+/*= require bootstrap/modal */
+require('bootstrap/js/modal');
+
+/*= require bootstrap/scrollspy */
+require('bootstrap/js/scrollspy');
+
+/*= require bootstrap/tab */
+require('bootstrap/js/tab');
+
+/*= require bootstrap/transition */
+require('bootstrap/js/transition');
+
+/*= require bootstrap/tooltip */
+require('bootstrap/js/tooltip');
+
+/*= require bootstrap/popover */
+require('bootstrap/js/popover');
+
+/*= require select2 */
+require('select2/select2.js');
+
+/*= require underscore */
+window._ = require('underscore');
+
+/*= require dropzone */
+window.Dropzone = require('dropzone');
+
+/*= require mousetrap */
+require('mousetrap');
+
+/*= require mousetrap/pause */
+require('mousetrap/plugins/pause/mousetrap-pause');
+
+/*= require shortcuts */
+require('../shortcuts');
+
+/*= require shortcuts_navigation */
+require('../shortcuts_navigation');
+
+/*= require shortcuts_dashboard_navigation */
+require('../shortcuts_dashboard_navigation');
+
+/*= require shortcuts_issuable */
+require('../shortcuts_issuable');
+
+/*= require shortcuts_network */
+require('../shortcuts_network');
+
+/*= require jquery.nicescroll */
+require('vendor/jquery.nicescroll');
+
+/*= require date.format */
+require('vendor/date.format');
+
+/*= require_directory ./behaviors */
+require('vendor/jquery.ba-resize');
+window.autosize = require('vendor/autosize');
+require('../behaviors/autosize'); // requires vendor/jquery.ba-resize and vendor/autosize
+require('../behaviors/details_behavior');
+require('../extensions/jquery');
+require('../behaviors/quick_submit'); // requires extensions/jquery
+require('../behaviors/requires_input');
+require('../behaviors/toggler_behavior');
+
+/*= require_directory ./blob */
+require('../blob/template_selector');
+require('../blob/blob_ci_yaml'); // requires template_selector
+require('../blob/blob_file_dropzone');
+require('../blob/blob_gitignore_selector');
+require('../blob/blob_gitignore_selectors');
+require('../blob/blob_license_selector');
+require('../blob/blob_license_selectors');
+
+/*= require_directory ./templates */
+require('../templates/issuable_template_selector');
+require('../templates/issuable_template_selectors');
+
+/*= require_directory ./commit */
+require('../commit/file');
+require('../commit/image_file');
+
+/*= require_directory ./extensions */
+require('../extensions/array');
+require('../extensions/element');
+
+/*= require_directory ./lib/utils */
+require('../lib/utils/animate');
+require('../lib/utils/common_utils');
+require('../lib/utils/datetime_utility');
+// require('../lib/utils/emoji_aliases.js.erb');
+window.gl.emojiAliases = function() { return require('emoji-aliases'); };
+require('../lib/utils/jquery.timeago');
+require('../lib/utils/notify');
+require('../lib/utils/text_utility');
+require('../lib/utils/type_utility');
+require('../lib/utils/url_utility');
+
+/*= require_directory ./u2f */
+require('../u2f/authenticate');
+require('../u2f/error');
+require('../u2f/register');
+require('../u2f/util');
+
+/*= require_directory . */
+require('../abuse_reports');
+require('../activities');
+require('../admin');
+require('../api');
+require('../aside');
+require('../awards_handler');
+require('../breakpoints');
+require('../broadcast_message');
+require('../build');
+require('../build_artifacts');
+require('../build_variables');
+require('../commit');
+require('../commits');
+require('../compare');
+require('../compare_autocomplete');
+require('../confirm_danger_modal');
+window.Clipboard = require('vendor/clipboard'); // required by copy_to_clipboard
+require('../copy_to_clipboard');
+require('../create_label');
+require('vue'); // required by cycle_analytics
+require('../cycle_analytics');
+require('../diff');
+require('../dispatcher');
+require('../preview_markdown');
+require('../dropzone_input');
+require('../due_date_select');
+require('../files_comment_button');
+require('../flash');
+require('../gfm_auto_complete');
+require('../gl_dropdown');
+require('../gl_field_errors');
+require('../gl_form');
+require('../group_avatar');
+require('../groups_select');
+require('../header');
+require('../importer_status');
+require('../issuable');
+require('../issuable_context');
+require('../issuable_form');
+require('vendor/task_list'); // required by issue
+require('../issue');
+require('../issue_status_select');
+require('../issues_bulk_assignment');
+require('../label_manager');
+require('../labels');
+require('../labels_select');
+require('../layout_nav');
+require('../line_highlighter');
+require('../logo');
+require('../member_expiration_date');
+require('../members');
+require('../merge_request_tabs');
+require('../merge_request');
+require('../merge_request_widget');
+require('../merged_buttons');
+require('../milestone');
+require('../milestone_select');
+require('../namespace_select');
+require('../new_branch_form');
+require('../new_commit_form');
+require('../notes');
+require('../notifications_dropdown');
+require('../notifications_form');
+require('../pager');
+require('../pipelines');
+require('../project');
+require('../project_avatar');
+require('../project_find_file');
+require('../project_fork');
+require('../project_import');
+require('../project_new');
+require('../project_select');
+require('../project_show');
+require('../projects_list');
+require('../right_sidebar');
+require('../search');
+require('../search_autocomplete');
+require('../shortcuts_blob');
+require('../shortcuts_find_file');
+require('../sidebar');
+require('../single_file_diff');
+require('../snippets_list');
+require('../star');
+require('../subscription');
+require('../subscription_select');
+require('../syntax_highlight');
+require('../todos');
+require('../tree');
+require('../user');
+require('../user_tabs');
+require('../username_validator');
+require('../users_select');
+require('vendor/latinise'); // required by wikis
+require('../wikis');
+require('../zen_mode');
+
+/*= require fuzzaldrin-plus */
+require('vendor/fuzzaldrin-plus');
+
+require('../application');
diff --git a/app/assets/javascripts/webpack/bundle.js b/app/assets/javascripts/webpack/bundle.js
deleted file mode 100644
index b8e38151e5f..00000000000
--- a/app/assets/javascripts/webpack/bundle.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var HelloWorld = require('./hello_world').default;
-
-var message = new HelloWorld('webpack');
-message.sayHello();
diff --git a/app/assets/javascripts/webpack/hello_world.js.es6 b/app/assets/javascripts/webpack/hello_world.js.es6
deleted file mode 100644
index b3d7c9dd4d4..00000000000
--- a/app/assets/javascripts/webpack/hello_world.js.es6
+++ /dev/null
@@ -1,11 +0,0 @@
-/* eslint-disable no-undef, no-alert */
-
-export default class HelloWorld {
- constructor(name) {
- this.message = `Hello ${name}!`;
- }
-
- sayHello() {
- alert(this.message);
- }
-}
diff --git a/app/views/layouts/_head.html.haml b/app/views/layouts/_head.html.haml
index 87aadfb1bf5..d260e2133f2 100644
--- a/app/views/layouts/_head.html.haml
+++ b/app/views/layouts/_head.html.haml
@@ -28,8 +28,7 @@
= stylesheet_link_tag "application", media: "all"
= stylesheet_link_tag "print", media: "print"
- = javascript_include_tag "application"
- = javascript_include_tag *webpack_asset_paths("bundle")
+ = javascript_include_tag *webpack_asset_paths("application")
- if content_for?(:page_specific_javascripts)
= yield :page_specific_javascripts