From 12896bd23eeba79884245c1c29fdc568cf21a7fa Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Mon, 14 Mar 2016 08:50:46 -0400 Subject: Converting to Webpack. Stage 1. --- webapp/webpack.config.js | 82 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 webapp/webpack.config.js (limited to 'webapp/webpack.config.js') diff --git a/webapp/webpack.config.js b/webapp/webpack.config.js new file mode 100644 index 000000000..14abf6ffa --- /dev/null +++ b/webapp/webpack.config.js @@ -0,0 +1,82 @@ +const webpack = require('webpack'); +const path = require('path'); +const ExtractTextPlugin = require('extract-text-webpack-plugin'); +const CopyWebpackPlugin = require('copy-webpack-plugin'); + +const htmlExtract = new ExtractTextPlugin('html', 'root.html'); + +module.exports = { + entry: ['babel-polyfill', './root.jsx', 'root.html'], + output: { + path: 'dist', + publicPath: '/static/', + filename: 'bundle.js' + }, + devtool: 'source-map', + module: { + loaders: [ + { + test: /\.jsx?$/, + loader: 'babel-loader', + exclude: /(node_modules|non_npm_dependencies)/, + query: { + presets: ['react', 'es2015', 'stage-0'], + plugins: ['transform-runtime'] + } + }, + { + test: /\.json$/, + loader: 'json-loader' + }, + { + test: /(node_modules|non_npm_dependencies)\/.+\.(js|jsx)$/, + loader: 'imports-loader', + query: { + $: 'jquery', + jQuery: 'jquery' + } + }, + { + test: /\.scss$/, + loaders: ['style', 'css', 'sass'] + }, + { + test: /\.css$/, + loaders: ['style', 'css'] + }, + { + test: /\.(png|eot|tiff|svg|woff2|woff|ttf|gif)$/, + loader: 'file-loader', + query: { + name: 'files/[hash].[ext]' + } + }, + { + test: /\.html$/, + loader: htmlExtract.extract('html?attrs=link:href') + } + ] + }, + sassLoader: { + includePaths: ['node_modules/compass-mixins/lib'] + }, + plugins: [ + new webpack.ProvidePlugin({ + 'window.jQuery': 'jquery' + }), + htmlExtract, + new CopyWebpackPlugin([ + {from: 'images/emoji', to: 'emoji'} + ]) + ], + resolve: { + alias: { + jquery: 'jquery/dist/jquery' + }, + modules: [ + 'node_modules', + 'non_npm_dependencies', + path.resolve(__dirname) + ] + } +}; -- cgit v1.2.3-1-g7c22