newsreader/webpack.common.babel.js
2020-06-03 20:49:35 +02:00

45 lines
1.1 KiB
JavaScript

import { resolve } from 'path';
import { CleanWebpackPlugin } from 'clean-webpack-plugin';
import MiniCssExtractPlugin from 'mini-css-extract-plugin';
export default {
entry: {
main: ['./src/newsreader/js/index.js', './src/newsreader/scss/index.scss'],
},
output: {
path: resolve(__dirname, 'src', 'newsreader', 'static'),
filename: 'js/[name].bundle.js',
},
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: { loader: 'babel-loader' },
},
{
test: /\.(sass|scss)$/,
use: [{ loader: MiniCssExtractPlugin.loader }, 'css-loader', 'sass-loader'],
},
{
test: /\.(ttf|woff|woff2)$/,
use: {
loader: 'file-loader',
options: {
name: 'fonts/[name].[ext]',
publicPath: '../',
},
},
},
],
},
plugins: [
new MiniCssExtractPlugin({
filename: 'css/main.css',
allChunks: true,
}),
new CleanWebpackPlugin({
cleanOnceBeforeBuildPatterns: ['**/*', '!favicon.png'],
}),
],
};