text: const HtmlWebpackInlineSourcePlugin = require("html-webpack-inline-source-plugin");
  const HtmlWebpackPlugin = require("html-webpack-plugin");
  const path = require("path");
  const TerserPlugin = require("terser-webpack-plugin");
  
  module.exports = (env, argv) => ({
    mode: argv.mode === "production" ? "production" : "development",
  
    // This is necessary because Figma's 'eval' works differently than normal eval
    devtool: argv.mode === "production" ? false : "inline-source-map",
  
    entry: {
      //ui: './src/ui.ts', // The entry point for your UI code
      code: "./code.ts", // The entry point for your plugin code
    },
  
    module: {
      rules: [
        // Converts TypeScript code to JavaScript
        { test: /\.tsx?$/, use: "ts-loader", exclude: /node_modules/ },
  
        // Enables including CSS by doing "import './file.css'" in your TypeScript code
        {
          test: /\.css$/,
          loader: [{ loader: "style-loader" }, { loader: "css-loader" }],
        },
  
        // Allows you to use "<%= require('./file.svg') %>" in your HTML code to get a data URI
        { test: /\.(png|jpg|gif|webp|svg)$/, loader: [{ loader: "url-loader" }] },
      ],
    },
    devtool: false,
    plugins: [],
    // Webpack tries these extensions for you if you omit the extension like "import './file'"
    resolve: { extensions: [".tsx", ".ts", ".jsx", ".js"] },
  
    optimization: {
      minimize: true,
      minimizer: [
        new TerserPlugin({
          terserOptions: {
            output: {
              comments: false,
            },
          },
          extractComments: false,
        }),
      ],
    },
  
    output: {
      filename: "[name].js",
      path: path.resolve(__dirname, "dist"), // Compile into a folder called "dist"
    },
  
    // Tells Webpack to generate "ui.html" and to inline "ui.ts" into it
  });
  