webpack.config.js 957 B

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