webpack.nodeps.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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. "backbone": "backbone",
  50. "backbone.nativeview": "backbone.nativeview",
  51. "backbone.vdomview": "backbone.vdomview",
  52. "backbone.browserStorage": "backbone.browserStorage",
  53. "backbone.overview": "backbone.overview",
  54. "es6-promise": "es6-promise",
  55. "formdata-polyfill": "formdata-polyfill",
  56. "lodash": "lodash",
  57. "lodash.noconflict": "lodash.noconflict",
  58. "strophe": "strophe",
  59. "window": "window",
  60. "filesize": "filesize",
  61. "jed": "jed",
  62. "sizzle": "sizzle",
  63. "twemoji": "twemoji",
  64. "urijs": "urijs"
  65. }]
  66. });