const webpack = require("webpack"); const path = require("path"); const CopyPlugin = require("copy-webpack-plugin"); const srcDir = path.join(__dirname, "..", "src"); const tailwindcss = require('tailwindcss') const autoprefixer = require('autoprefixer') module.exports = { entry: { popup: path.join(srcDir, 'popup.tsx'), background: path.join(srcDir, 'background.ts'), content_script: path.join(srcDir, 'content_script.tsx'), }, output: { path: path.join(__dirname, "../dist/js"), filename: "[name].js", }, optimization: { splitChunks: { name: "vendor", chunks(chunk) { return chunk.name !== 'background'; } }, }, module: { rules: [ { test: /\.tsx?$/, use: "ts-loader", exclude: /node_modules/, }, { test: /\.css$/i, use: [ 'style-loader', { loader: 'css-loader', options: { importLoaders: 1, }, }, { loader: 'postcss-loader', // postcss loader needed for tailwindcss options: { postcssOptions: { ident: 'postcss', plugins: [tailwindcss, autoprefixer], }, }, }, ], }, ], }, resolve: { extensions: [".ts", ".tsx", ".js"], }, plugins: [ new CopyPlugin({ patterns: [{ from: ".", to: "../", context: "public" }], options: {}, }), ], };