1
0

webpack.config.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. const path = require("path");
  2. const webpack = require("webpack");
  3. module.exports = {
  4. target: ["web"],
  5. entry: path.resolve(__dirname, "gramjs/index.ts"),
  6. module: {
  7. rules: [
  8. {
  9. test: /\.ts$/,
  10. use: "ts-loader",
  11. exclude: /node_modules/,
  12. },
  13. {
  14. test: /\.js$/,
  15. use: "babel-loader",
  16. exclude: /node_modules/,
  17. },
  18. ],
  19. },
  20. resolve: {
  21. extensions: [".tsx", ".ts", ".js"],
  22. fallback: {
  23. fs: false,
  24. path: require.resolve("path-browserify"),
  25. net: false,
  26. crypto: false,
  27. os: require.resolve("os-browserify/browser"),
  28. util: require.resolve("util/"),
  29. assert: false,
  30. stream: false,
  31. events: false,
  32. constants: false,
  33. },
  34. },
  35. mode: process.env.NODE_ENV ?? "development",
  36. plugins: [
  37. new webpack.ProvidePlugin({
  38. Buffer: ["buffer", "Buffer"],
  39. }),
  40. new webpack.ProvidePlugin({
  41. process: "process/browser",
  42. }),
  43. ],
  44. output: {
  45. library: "telegram",
  46. libraryTarget: "umd",
  47. filename: "telegram.js",
  48. path: path.resolve(__dirname, "browser"),
  49. },
  50. };