diff --git a/resources/frontend_client/app/auth/auth.controllers.js b/resources/frontend_client/app/auth/auth.controllers.js
index 4d64fa9294137c4119ff867fd0f8e3d485d279d5..c59b37310bb80913b3afcbf3d82d21cd3ddd3eeb 100644
--- a/resources/frontend_client/app/auth/auth.controllers.js
+++ b/resources/frontend_client/app/auth/auth.controllers.js
@@ -2,7 +2,6 @@
 /*jslint browser:true*/
 /*jslint devel:true */
 /*global _*/
-/*global $*/
 
 var AuthControllers = angular.module('corvus.auth.controllers', [
     'ipCookie',
@@ -127,4 +126,4 @@ AuthControllers.controller('PasswordReset', ['$scope', '$routeParams', '$locatio
         });
     };
 
-}]);
\ No newline at end of file
+}]);
diff --git a/resources/frontend_client/app/card/card.charting.js b/resources/frontend_client/app/card/card.charting.js
index f35dcf6eb1d8bd62f1cdbcc4cc57f49d00ed6439..0ac34fae1966acfeea9acfd2b429968134d9378c 100644
--- a/resources/frontend_client/app/card/card.charting.js
+++ b/resources/frontend_client/app/card/card.charting.js
@@ -1,6 +1,11 @@
 'use strict';
 /*jslint browser:true */
-/*global document,$,jQuery,_,google,d3,crossfilter,dc,console,vs*/
+/*global document,_,google,console,vs*/
+
+import $ from 'jquery';
+import d3 from 'd3';
+import crossfilter from 'crossfilter';
+import dc from 'dc';
 
 // ---------------------------------------- TODO - Maybe. Lots of these things never worked in the first place. ----------------------------------------
 // IMPORTANT
diff --git a/resources/frontend_client/app/card/card.directives.js b/resources/frontend_client/app/card/card.directives.js
index 18baebb1f0a8b471921e6e26f9d0038d7df80c8b..8b13c1b743baca046ada5eadec55ec9234ff8ece 100644
--- a/resources/frontend_client/app/card/card.directives.js
+++ b/resources/frontend_client/app/card/card.directives.js
@@ -1,7 +1,7 @@
 'use strict';
-/*global setTimeout*/
-/*global $*/
-/* global React */
+/*global setTimeout, React */
+
+import $ from 'jquery';
 
 import { CardRenderer } from './card.charting';
 
diff --git a/resources/frontend_client/app/controllers.js b/resources/frontend_client/app/controllers.js
index a018e9e6d649f008bd5563b643c6d5948fdaf08f..0f963735a2bc8992cb5024cde2097e44bb932f40 100644
--- a/resources/frontend_client/app/controllers.js
+++ b/resources/frontend_client/app/controllers.js
@@ -1,8 +1,6 @@
 'use strict';
 /*jslint browser:true*/
 /*jslint devel:true */
-/*global _*/
-/*global $*/
 
 // Global Controllers
 var CorvusControllers = angular.module('corvus.controllers', ['corvus.services', 'corvus.navbar.directives']);
diff --git a/resources/frontend_client/app/directives.js b/resources/frontend_client/app/directives.js
index 6cd4f2971e846a3a01f19e485236deb955a75901..a2325fe0f7b62a991b09d816b39501110ea80ec6 100644
--- a/resources/frontend_client/app/directives.js
+++ b/resources/frontend_client/app/directives.js
@@ -1,14 +1,10 @@
+'use strict';
+
 /*jslint browser:true */
 /*jslint devel:true */
-/*global _*/
-/*global CardRenderer*/
-/*global $*/
 /*global ace*/
 
-'use strict';
 /* Directives */
-
-
 var CorvusDirectives = angular.module('corvus.directives', []);
 
 CorvusDirectives.directive('deleteConfirm', [function() {
diff --git a/resources/frontend_client/app/query_builder/add_to_dashboard_popover.react.js b/resources/frontend_client/app/query_builder/add_to_dashboard_popover.react.js
index 546a366aa1f447a6d0f432c09624dcb4e3c17e6b..ba6fa05e63ac2590798fead55605a647b0996299 100644
--- a/resources/frontend_client/app/query_builder/add_to_dashboard_popover.react.js
+++ b/resources/frontend_client/app/query_builder/add_to_dashboard_popover.react.js
@@ -1,5 +1,6 @@
 'use strict';
-/*global OnClickOutside*/
+
+import OnClickOutside from 'react-onclickoutside';
 
 import FormField from './form_field.react';
 import Icon from './icon.react';
diff --git a/resources/frontend_client/app/query_builder/date_filter.react.js b/resources/frontend_client/app/query_builder/date_filter.react.js
index 2949d3411cfae468dfa35978be8cf5f2c71d8126..aed9d80b4d94fc0dbaa044a2ec0576159d2f0360 100644
--- a/resources/frontend_client/app/query_builder/date_filter.react.js
+++ b/resources/frontend_client/app/query_builder/date_filter.react.js
@@ -1,5 +1,14 @@
 'use strict';
-/*global moment, DatePicker*/
+
+/*global window,moment*/
+
+// import compiled version, webpack doesn't seem to be running JSX transforms on node_modules
+// css imported in init.css
+import DatePicker from 'react-datepicker/react-datepicker';
+
+// DatePicker depedencies :(
+window.Tether = require('tether/tether');
+window.moment = require('moment');
 
 export default React.createClass({
     displayName: 'DateFilter',
diff --git a/resources/frontend_client/app/query_builder/popover_content.react.js b/resources/frontend_client/app/query_builder/popover_content.react.js
index 12a8fd8e0557e68ec4c11750e40afbfa07120d59..e4967684e9c2ce6d774958356e1ab6e4a0450859 100644
--- a/resources/frontend_client/app/query_builder/popover_content.react.js
+++ b/resources/frontend_client/app/query_builder/popover_content.react.js
@@ -1,5 +1,6 @@
 'use strict';
-/*global OnClickOutside*/
+
+import OnClickOutside from 'react-onclickoutside';
 
 // this feels a little silly, but we have this component ONLY so that we can add the OnClickOutside functionality on an
 // arbitrary set of html content.  I wish we could do that more easily
diff --git a/resources/frontend_client/app/query_builder/saver.react.js b/resources/frontend_client/app/query_builder/saver.react.js
index ef0908cdbc42669ec5680f5d90e748d2e1d4ecaf..d72f6fe5ff84e6027b6c93a0d8788ad3629ad53c 100644
--- a/resources/frontend_client/app/query_builder/saver.react.js
+++ b/resources/frontend_client/app/query_builder/saver.react.js
@@ -1,5 +1,6 @@
 'use strict';
-/*global OnClickOutside*/
+
+import OnClickOutside from 'react-onclickoutside';
 
 import FormField from './form_field.react';
 
diff --git a/resources/frontend_client/app/query_builder/selection_module.react.js b/resources/frontend_client/app/query_builder/selection_module.react.js
index 37f88a7284192797cf6f35059929d1e336f6c02a..19a4c4138731660d7877c0f0a8d75ade74b04dad 100644
--- a/resources/frontend_client/app/query_builder/selection_module.react.js
+++ b/resources/frontend_client/app/query_builder/selection_module.react.js
@@ -1,5 +1,6 @@
 'use strict';
-/*global OnClickOutside*/
+
+import OnClickOutside from 'react-onclickoutside';
 
 import Icon from './icon.react';
 import SearchBar from './search_bar.react';
diff --git a/resources/frontend_client/init.js b/resources/frontend_client/init.js
index e8fbaa97ea681edd899db510f91f0ec2eae34747..eac9d6673013cfc448baed79272cda1601d86bcb 100644
--- a/resources/frontend_client/init.js
+++ b/resources/frontend_client/init.js
@@ -31,16 +31,5 @@ import 'ace-builds/src-min-noconflict/snippets/sql';
 window.React = require('react');
 require('react/addons');
 
-// react 3rd-party:
-window.OnClickOutside = require('react-onclickoutside');
-window.DatePicker = require('react-datepicker/react-datepicker'); // compiled version
-window.Tether = require('tether/tether'); // DatePicker depedency
-
-// d3
-window.dc = require('dc'); // also imports 'd3' and 'crossfilter' as globals
-
-// misc
+// misc:
 window._ = require('underscore');
-window.$ = require('jquery');
-
-window.moment = require('moment');