UNPKG

altiore-react

Version:

Altiore react webpack sample for Create React App.

117 lines (115 loc) 2.69 kB
const { resolve } = require('path') const webpack = require('webpack') const webpackMerge = require('webpack-merge') const HtmlWebpackPlugin = require('html-webpack-plugin') const paths = require('../paths'); const Package = require(paths.appPackageJson); const commonConfig = require('./base') module.exports = webpackMerge(commonConfig, { devtool: 'inline-source-map', entry: { index: [ require.resolve('react-hot-loader/patch'), require.resolve('webpack-hot-middleware/client'), require.resolve('babel-polyfill'), './index.js', ], }, module: { rules: [ { enforce: 'pre', test: /\.(js|jsx)$/, loader: 'eslint-loader', include: resolve(paths.app), options: { useEslintrc: false, configFile: resolve(__dirname, '..', 'eslintrc') } }, { test : /\.css$/, use: [ 'style-loader', 'css-loader', 'resolve-url-loader', ] }, { test: /\.scss$/, use: [ 'style-loader', 'css-loader', 'resolve-url-loader', { loader: 'sass-loader', options: { sourceMap: true, }, }, ], }, { test: /\.css2$/, use: [ 'style-loader', { loader: 'css-loader', options: { modules: true, importLoaders: 1, localIdentName: '[name]__[hash:base64:5]', }, }, 'resolve-url-loader', ], }, { test: /\.scss2$/, use: [ 'style-loader', { loader: 'css-loader', options: { modules: true, importLoaders: 1, localIdentName: '[name]__[hash:base64:5]', }, }, 'resolve-url-loader', { loader: 'sass-loader', options: { sourceMap: true, }, }, ], }, ], }, plugins: [ new webpack.LoaderOptionsPlugin({ minimize: false, debug: true, }), new HtmlWebpackPlugin({ title: Package.title, cache: true, showErrors: true, template: resolve(paths.appHtml), }), new webpack.HotModuleReplacementPlugin(), new webpack.NamedModulesPlugin(), new webpack.DefinePlugin({ 'process.env': { NODE_ENV: JSON.stringify('development'), }, }), ], devServer: { hot: true, inline: true, contentBase: resolve(paths.appBuild), publicPath: '/', }, })