text: const path = require("path");
  const CopyWebpackPlugin = require("copy-webpack-plugin");
  const { babelLoaderConfig } = require("../config/babel.js");
  const { minimizer } = require("../config/babel.js");
  
  const isProd = process.env.NODE_ENV === "production";
  const chunkFilename = isProd ? "chunk.[chunkhash].js" : "[name].chunk.js";
  const buildPath = path.resolve(__dirname, "dist");
  const publicPath = isProd ? "./" : "http://localhost:8080/";
  
  module.exports = {
    mode: isProd ? "production" : "development",
    // Disabled in prod while we make Home Assistant able to serve the right files.
    // Was source-map
    devtool: isProd ? "none" : "inline-source-map",
    entry: "./src/entrypoint.js",
    module: {
      rules: [
        babelLoaderConfig({ latestBuild: true }),
        {
          test: /\.css$/,
          use: "raw-loader",
        },
        {
          test: /\.(html)$/,
          use: {
            loader: "html-loader",
            options: {
              exportAsEs6Default: true,
            },
          },
        },
      ],
    },
    optimization: {
      minimizer,
    },
    plugins: [
      new CopyWebpackPlugin([
        "public",
        { from: "../public", to: "static" },
        { from: "../build-translations/output", to: "static/translations" },
        {
          from: "../node_modules/leaflet/dist/leaflet.css",
          to: "static/images/leaflet/",
        },
        {
          from: "../node_modules/@polymer/font-roboto-local/fonts",
          to: "static/fonts",
        },
        {
          from: "../node_modules/leaflet/dist/images",
          to: "static/images/leaflet/",
        },
      ]),
      isProd &&
        new UglifyJsPlugin({
          extractComments: true,
          sourceMap: true,
          uglifyOptions: {
            // Disabling because it broke output
            mangle: false,
          },
        }),
    ].filter(Boolean),
    resolve: {
      extensions: [".ts", ".js", ".json"],
    },
    output: {
      filename: "[name].js",
      chunkFilename: chunkFilename,
      path: buildPath,
      publicPath,
    },
    devServer: {
      contentBase: "./public",
    },
  };
  