webpack.config.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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. constants: false,
  32. },
  33. },
  34. mode: process.env.NODE_ENV ?? "development",
  35. plugins: [
  36. new webpack.ProvidePlugin({
  37. Buffer: ["buffer", "Buffer"],
  38. }),
  39. new webpack.ProvidePlugin({
  40. process: "process/browser",
  41. }),
  42. ],
  43. output: {
  44. library: "telegram",
  45. libraryTarget: "umd",
  46. filename: "telegram.js",
  47. path: path.resolve(__dirname, "browser"),
  48. },
  49. };