const path = require('path'); const os = require('os'); const { CleanWebpackPlugin } = require('clean-webpack-plugin'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const devMode = process.env.NODE_ENV != 'production' module.exports = { mode: devMode ? "development" : "production", entry: "<%= gem_dir %>/src/js/index.js", output: { filename: devMode ? "main.js" : "main.[contenthash].js", path: __dirname + "/dist", }, plugins: [ new CleanWebpackPlugin(), new MiniCssExtractPlugin({ filename: devMode ? '[name].css' : '[name].[contenthash].css' }), new HtmlWebpackPlugin({ template: os.tmpdir() + "/rtfdoc_output.html" }) ], devtool: devMode ? "inline-source-map" : "source-map", module: { rules: [ { test: /\.scss$/, use: [ MiniCssExtractPlugin.loader, // Translates CSS into CommonJS 'css-loader', // Compiles Sass to CSS 'sass-loader', ] } ] } };