webpack.config.js 1001 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. const path = require("path");
  2. const { exec } = require("child_process");
  3. module.exports = {
  4. entry: "./src/BetterYTM.user.ts",
  5. mode: "production",
  6. optimization: {
  7. minimize: false,
  8. },
  9. module: {
  10. rules: [{
  11. test: /\.tsx?$/,
  12. use: "ts-loader",
  13. exclude: /node_modules/,
  14. },
  15. {
  16. test: /\.html$/i,
  17. loader: "html-loader",
  18. },
  19. // {
  20. // test: /\.s[ac]ss$/i,
  21. // use: [
  22. // "style-loader",
  23. // "css-loader",
  24. // "sass-loader",
  25. // ],
  26. // },
  27. ],
  28. },
  29. plugins: [{
  30. apply: (compiler) => {
  31. compiler.hooks.afterEmit.tap("AfterEmitPlugin", () => {
  32. exec("node ./tools/post-build.js", (_err, stdout, stderr) => {
  33. stdout && process.stdout.write(`${stdout}\n`);
  34. stderr && process.stderr.write(`${stderr}\n`);
  35. });
  36. });
  37. }
  38. }],
  39. resolve: {
  40. extensions: [".ts", ".js"],
  41. },
  42. output: {
  43. filename: "BetterYTM.user.js",
  44. path: path.resolve(__dirname),
  45. },
  46. };