custom-webpack.config.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. //const webpack = require('webpack');
  2. const { shareAll, withModuleFederationPlugin } = require('@angular-architects/module-federation/webpack');
  3. const {
  4. ModifyEntryPlugin,
  5. } = require('@angular-architects/module-federation/src/utils/modify-entry-plugin');
  6. const webpackConfig = {
  7. ...withModuleFederationPlugin({
  8. name: 'fieldcalc',
  9. exposes: {
  10. './FcCalculatorComponent': './src/app/calculator/calculator-panel.component.ts',
  11. },
  12. shared: {
  13. "@angular/core": {
  14. singleton: true,
  15. strictVersion: false,
  16. requiredVersion: "auto",
  17. },
  18. "@angular/common": {
  19. singleton: true,
  20. strictVersion: false,
  21. requiredVersion: "auto",
  22. },
  23. "@angular/forms": {
  24. singleton: true,
  25. strictVersion: false,
  26. requiredVersion: "auto",
  27. },
  28. "@angular/common/http": {
  29. singleton: true,
  30. strictVersion: false,
  31. requiredVersion: "auto",
  32. },
  33. "@angular/router": {
  34. singleton: true,
  35. strictVersion: false,
  36. requiredVersion: "auto",
  37. },
  38. "@ngx-translate/core": { singleton: true, strictVersion: false },
  39. "@angular/localize/init": {
  40. singleton: true,
  41. eager: true
  42. },
  43. 'ol': {singleton: true, requiredVersion: '^7.1.0'},
  44. 'ol-ext': {singleton: true, requiredVersion: '^4.0.3'},
  45. 'ol/layer': {
  46. singleton: true,
  47. },
  48. 'ol/source': {
  49. singleton: true,
  50. },
  51. 'hslayers-ng': {
  52. singleton: true,
  53. },
  54. },
  55. })
  56. }
  57. const plugins = webpackConfig.plugins.filter((plugin) => !(plugin instanceof ModifyEntryPlugin));
  58. // // Uncomment for debugging.
  59. // console.log('webpackConfig:::', webpackConfig);
  60. // console.log('plugins:::', plugins);
  61. webpackConfig.resolve.fallback = {
  62. "path": false,
  63. "fs": false
  64. };
  65. module.exports = {
  66. ...webpackConfig,
  67. plugins,
  68. };
  69. /*module.exports = {
  70. devtool: false,
  71. plugins: [
  72. new webpack.SourceMapDevToolPlugin({
  73. filename: '[file].map',
  74. exclude: ['vendor.js'],
  75. })
  76. ],
  77. };*/