From 1cc2dd00d354861ac5096d38bbcbe148aea6898a Mon Sep 17 00:00:00 2001
From: Tom Robinson <tlrobinson@gmail.com>
Date: Tue, 9 Jun 2015 12:06:56 -0700
Subject: [PATCH] Integrate eslint with webpack. Adds a couple seconds to
 initial build, but negligible time to incremental (watch) builds

---
 package.json                        | 1 +
 resources/frontend_client/vendor.js | 6 ++++--
 webpack.config.js                   | 5 ++---
 3 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/package.json b/package.json
index 31ea5914013..23530fe5c7c 100644
--- a/package.json
+++ b/package.json
@@ -46,6 +46,7 @@
     "css-loader": "^0.14.4",
     "cssnext-loader": "^1.0.1",
     "eslint": "^0.22.1",
+    "eslint-loader": "^0.12.0",
     "eslint-plugin-react": "^2.5.0",
     "extract-text-webpack-plugin": "^0.8.1",
     "glob": "^5.0.10",
diff --git a/resources/frontend_client/vendor.js b/resources/frontend_client/vendor.js
index 2bebdad255b..67a47aac61a 100644
--- a/resources/frontend_client/vendor.js
+++ b/resources/frontend_client/vendor.js
@@ -28,7 +28,9 @@ import 'ace/mode-sql';
 import 'ace/snippets/sql';
 
 // react:
-window.React = require('react');
+import React from 'react';
+window.React = React;
 
 // misc:
-window._ = require('underscore');
+import _ from 'underscore';
+window._ = _;
diff --git a/webpack.config.js b/webpack.config.js
index d0d18cdd3f1..a89cfd67dd5 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -45,9 +45,8 @@ module.exports = {
     module: {
         loaders: [
             // JavaScript
-            { test: /\.js$/, exclude: /node_modules/, loader: 'babel', query: {
-                cacheDirectory: '.babel_cache'
-            }},
+            { test: /\.js$/, exclude: /node_modules/, loader: 'babel', query: { cacheDirectory: '.babel_cache' }},
+            { test: /\.js$/, exclude: /node_modules/, loader: 'eslint' },
             // CSS
             { test: /\.css$/, loader: ExtractTextPlugin.extract('style-loader', 'css-loader?sourceMap!cssnext-loader') }
             // { test: /\.css$/, loader: 'style-loader!css-loader!cssnext-loader' }
-- 
GitLab