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