From 7f722314e4fc21419552ec27eb91e6f7e6347b71 Mon Sep 17 00:00:00 2001 From: marudor Date: Wed, 3 Jan 2018 01:19:31 +0100 Subject: frontend stuff with babel and webpack --- webpack.config.js | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 webpack.config.js (limited to 'webpack.config.js') diff --git a/webpack.config.js b/webpack.config.js new file mode 100644 index 00000000..a743f393 --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,73 @@ +const path = require('path'); +const webpack = require('webpack'); +const ExtractTextPlugin = require("extract-text-webpack-plugin"); +const nodeEnv = (process.env.NODE_ENV || 'development').trim(); + +// eslint-disable-next-line +const __DEV__ = nodeEnv !== 'production'; + +const devtool = __DEV__ ? '#source-map' : ''; + +const plugins = [ + new webpack.DefinePlugin({ + 'process.env': { + NODE_ENV: JSON.stringify(nodeEnv), + }, + }), + new ExtractTextPlugin('[name].css'), +]; + +// if (!__DEV__) { +// plugins.push( +// new webpack.optimize.UglifyJsPlugin({ +// compress: { +// warnings: false, +// }, +// output: { +// comments: false, +// }, +// screwIe8: true, +// sourceMap: false, +// }) +// ); +// } + +const themeEntries = {}; +for (let i = 0; i < 7; i++) { + themeEntries[`theme${i}`] = `./themes/theme${i}.less`; +} + +module.exports = { + context: __dirname, + resolve: { + extensions: ['.js', '.jsx'], + }, + entry: { + ...themeEntries, + vendor: './js/vendor.js', + }, + output: { + path: path.resolve('public/assets'), + filename: '[name].js', + publicPath: '/assets/', + }, + module: { + rules: [ + { + test: /\.jsx?$/, + exclude: /(node_modules)/, + loader: 'babel-loader', + query: { cacheDirectory: true }, + }, + { test: /\.(eot|ttf|otf|svg|woff2?)(\?.*)?$/, loader: 'file-loader' }, + { test: /\.json$/, loader: 'json-loader' }, + { test: /\.css$/, loader: 'style-loader!css-loader' }, + { test: /\.less$/, use: ExtractTextPlugin.extract({ + fallback: 'style-loader', + use: 'css-loader!less-loader' + })} + ], + }, + plugins, + devtool, +}; -- cgit v1.2.3-54-g00ecf