const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
module.exports = {
context: path.resolve(__dirname, "slides"),
entry: {
reveal: "./index.js"
},
output: {
path: path.resolve(__dirname, "./site/static/slides/"),
filename: "[name].js"
},
mode: "production",
devtool: "source-map",
module: {
rules: [
{
test: /\.css$/,
use: [MiniCssExtractPlugin.loader, "css-loader"]
},
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: "babel-loader",
options: {
presets: ["@babel/preset-env"]
}
}
},
{
test: /\.pug$/,
use: "pug-loader"
},
{
test: /\.(woff|woff2|eot|ttf|otf|png|jpg|gif)$/,
use: "file-loader"
}
]
},
plugins: [
new HtmlWebpackPlugin({
template: "introducing-dry-python.pug",
filename: "introducing-dry-python.html"
}),
new HtmlWebpackPlugin({
template: "ddd-toolkit.pug",
filename: "ddd-toolkit.html"
}),
new HtmlWebpackPlugin({
template: "keeping-software-soft.pug",
filename: "keeping-software-soft.html"
}),
new HtmlWebpackPlugin({
template: "ddd-toolkit-2.pug",
filename: "ddd-toolkit-2.html"
}),
new HtmlWebpackPlugin({
template: "ddd-toolkit-3.pug",
filename: "ddd-toolkit-3.html"
}),
new MiniCssExtractPlugin({
filename: "[name].css"
})
]
};