12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- import { dirname, join } from "path";
- import { exec } from "child_process";
- import { fileURLToPath } from "url";
- import MiniCssExtractPlugin from "mini-css-extract-plugin";
- import CssMinimizerPlugin from "css-minimizer-webpack-plugin";
- export default {
- entry: "./src/BetterYTM.user.ts",
- mode: "production",
- // optimization: {
- // minimize: false,
- // },
- module: {
- rules: [
- {
- test: /\.tsx?$/,
- use: "ts-loader",
- exclude: /node_modules/,
- },
- {
- test: /\.html$/i,
- loader: "html-loader",
- },
- {
- test: /\.md$/,
- use: [
- {
- loader: "html-loader",
- },
- {
- loader: "markdown-loader",
- },
- ],
- },
- {
- test: /.css$/,
- use: [MiniCssExtractPlugin.loader, "css-loader" /*, "sass-loader"*/],
- },
- // {
- // test: /\.css$/i,
- // use: "raw-loader",
- // },
- ],
- },
- optimization: {
- minimizer: [
- `...`,
- new CssMinimizerPlugin(),
- ],
- },
- plugins: [
- new MiniCssExtractPlugin(),
- {
- apply: (compiler) => {
- compiler.hooks.afterEmit.tap("AfterEmitPlugin", () => {
- exec("npm run post-build", (_err, stdout, stderr) => {
- stdout && process.stdout.write(stdout);
- stderr && process.stderr.write(stderr);
- });
- });
- },
- },
- ],
- resolve: {
- extensions: [".ts", ".js", ".css"],
- },
- output: {
- filename: "BetterYTM.user.js",
- path: join(dirname(fileURLToPath(import.meta.url)), "/dist"),
- },
- devtool: "source-map",
- };
|