const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const path = require('path'); const { mdsvex } = require('mdsvex') const mode = process.env.NODE_ENV || 'development'; const prod = mode === 'production'; module.exports = { entry: { bundle: ['./src/main.js'] }, resolve: { alias: { svelte: path.resolve('node_modules', 'svelte') }, extensions: ['.mjs', '.js', '.svelte','.svx'], mainFields: ['svelte', 'browser', 'module', 'main'] }, output: { path: __dirname + '/public', filename: 'bundle.js', chunkFilename: 'bundle.[id].js' }, module: { rules: [ { test: /.(svelte|svx)$/, use: { loader: 'svelte-loader', options: { emitCss: true, hotReload: true, preprocess: mdsvex() } } }, { test: /\.css$/, use: [ /** * MiniCssExtractPlugin doesn't support HMR. * For developing, use 'style-loader' instead. * */ prod ? MiniCssExtractPlugin.loader : 'style-loader', 'css-loader' ] } ] }, mode, plugins: [ new MiniCssExtractPlugin({ filename: 'bundle.css' }) ], devtool: prod ? false: 'source-map' };