UNPKG

corporate-frontend-mithril

Version:

Corporate frontend MithrilJS modules

77 lines (73 loc) 2.28 kB
const globalConfig = require('./_global'); const app = globalConfig.app; const merge = require('webpack-merge'); const common = require('./common'); const webpack = require('webpack'); const ExtractTextPlugin = require('extract-text-webpack-plugin'); const globImporter = require('node-sass-glob-importer'); const path = require('path'); module.exports = merge(common, { mode: 'development', devtool: 'source-map', devServer: { hot: true, contentBase: './dist', port: 9010, proxy: { '/api': 'http://localhost:3001', }, /*overlay: { errors: true, warnings: true, },*/ }, module: { rules: [{ test: /(\.css|\.scss)$/, use: [{ loader: 'css-hot-loader', }].concat(ExtractTextPlugin.extract({ use: [{ loader: 'css-loader', }, { loader: 'postcss-loader', }, { loader: 'sass-loader', options: { importer: globImporter(), }, }, { loader: 'sass-resources-loader', options: { resources: require(path.join(process.cwd(), 'src/styles/utils.js')), }, }], // use style-loader in development fallback: 'style-loader', })), }, { test: /\.js$/, enforce: 'pre', exclude: /node_modules/, loader: 'eslint-loader', options: { cache: true, configFile: '.eslintrc.js', emitWarning: true, // Fail only on errors failOnWarning: false, failOnError: false, // Toggle autofix fix: false, formatter: require('eslint/lib/formatters/stylish'), }, }], }, plugins: [ new ExtractTextPlugin({ filename: (getPath) => getPath('css/[name].css'), allChunks: true, }), new webpack.HotModuleReplacementPlugin(), ], });