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: __dirname + "/src/js/index.js",
output: {
  filename: devMode ? "main.js" : "main.[contenthash].js",
  path: __dirname + "/dist",
},
plugins: [
  new CleanWebpackPlugin({ cleanStaleWebpackAssets: !devMode }),
  new MiniCssExtractPlugin({
    filename: devMode ? '[name].css' : '[name].[contenthash].css'
  }),
  new HtmlWebpackPlugin({
    template: os.tmpdir() + "/rtfdoc_output.html"
  })
],
devtool: devMode ? "inline-source-map" : "source-map",
resolve: {
  modules: [path.resolve(__dirname, 'node_modules')]
},
module: {
  rules: [
    {
      test: /\.scss$/,
      use: [
        MiniCssExtractPlugin.loader,
        // Translates CSS into CommonJS
        'css-loader',
        // Compiles Sass to CSS
        'sass-loader',
      ]
    }
  ]
}

};