webpack.nodeps.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /* global module, __dirname */
  2. const MiniCssExtractPlugin = require('mini-css-extract-plugin');
  3. const common = require("./webpack.common.js");
  4. const merge = require("webpack-merge");
  5. const path = require('path');
  6. module.exports = merge(common, {
  7. mode: "production",
  8. output: {
  9. filename: 'converse-no-dependencies.js'
  10. },
  11. optimization: {
  12. minimizer: []
  13. },
  14. plugins: [
  15. new MiniCssExtractPlugin({filename: ''})
  16. ],
  17. module: {
  18. rules: [
  19. {
  20. test: /\.js$/,
  21. use: {
  22. loader: 'babel-loader',
  23. options: {
  24. presets: [
  25. ["@babel/preset-env", {
  26. "targets": {
  27. "browsers": ["ie 8"]
  28. }
  29. }]
  30. ]
  31. }
  32. }
  33. },
  34. {
  35. test: /\.scss$/,
  36. use: [
  37. MiniCssExtractPlugin.loader,
  38. 'css-loader',
  39. {
  40. loader: 'sass-loader',
  41. options: {
  42. includePaths: [path.resolve(__dirname, 'node_modules/')]
  43. }
  44. }
  45. ]
  46. }]
  47. },
  48. externals: [{
  49. "lodash": "lodash",
  50. "lodash.noconflict": "lodash.noconflict",
  51. "strophe": "strophe",
  52. "window": "window",
  53. "filesize": "filesize",
  54. "jed": "jed",
  55. "sizzle": "sizzle",
  56. "twemoji": "twemoji",
  57. "urijs": "urijs"
  58. }]
  59. });