const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const AutoPrefixer = require('autoprefixer'); const dirs = require('./dirs'); module.exports = { entry: { bundle: ['./src/index.ts'], }, resolve: { mainFields: ['module', 'main'], mainFiles: ['index'], extensions: ['.js', '.jsx', '.ts', '.tsx'], alias: { '@': dirs.SRC, '@app': dirs.SRC_MODULES_APP, '@base': dirs.SRC_MODULES_BASE, '@card': dirs.SRC_MODULES_CARD, '@core': dirs.SRC_MODULES_CORE, '@service': dirs.SRC_MODULES_SERVICE, '@types': dirs.SRC_MODULES_TYPES, }, }, stats: { children: false, modules: false, }, module: { rules: [ { test: /\.(jsx?|tsx?)$/, include: [dirs.NODE_MODULES, dirs.SRC], use: [ { loader: 'babel-loader', options: { configFile: dirs.BABEL_CONFIG, }, }, { loader: 'source-map-loader', options: { enforce: 'pre', }, }, ], }, { test: /\.(css|less)$/, use: [ MiniCssExtractPlugin.loader, { loader: 'css-loader', options: { url: false, }, }, { loader: 'postcss-loader', options: { plugins: [AutoPrefixer], }, }, { loader: 'less-loader', options: { relativeUrls: false, }, }, ], }, ], }, };