@teambit/webpack 0.0.880 → 0.0.882

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/config/html.js +2 -2
  2. package/dist/config/html.js.map +1 -1
  3. package/dist/config/webpack-fallbacks-aliases.js.map +1 -1
  4. package/dist/config/webpack-fallbacks-provide-plugin-config.js.map +1 -1
  5. package/dist/config/webpack-fallbacks.js +7 -28
  6. package/dist/config/webpack-fallbacks.js.map +1 -1
  7. package/dist/config/webpack.config.js +1 -45
  8. package/dist/config/webpack.config.js.map +1 -1
  9. package/dist/config/webpack.dev.config.js +14 -58
  10. package/dist/config/webpack.dev.config.js.map +1 -1
  11. package/dist/events/index.js +0 -4
  12. package/dist/events/index.js.map +1 -1
  13. package/dist/events/webpack-compilation-done-event.js +1 -12
  14. package/dist/events/webpack-compilation-done-event.js.map +1 -1
  15. package/dist/events/webpack-compilation-started-event.js +1 -10
  16. package/dist/events/webpack-compilation-started-event.js.map +1 -1
  17. package/dist/index.js +0 -35
  18. package/dist/index.js.map +1 -1
  19. package/dist/plugins/webpack-bit-reporter-plugin.js +4 -16
  20. package/dist/plugins/webpack-bit-reporter-plugin.js.map +1 -1
  21. package/dist/transformers/get-exposed-rules.js +0 -18
  22. package/dist/transformers/get-exposed-rules.js.map +1 -1
  23. package/dist/transformers/get-externals.js +0 -10
  24. package/dist/transformers/get-externals.js.map +1 -1
  25. package/dist/transformers/index.js +0 -9
  26. package/dist/transformers/index.js.map +1 -1
  27. package/dist/transformers/inject-body.js +0 -5
  28. package/dist/transformers/inject-body.js.map +1 -1
  29. package/dist/transformers/inject-head.js +0 -4
  30. package/dist/transformers/inject-head.js.map +1 -1
  31. package/dist/transformers/resolve-peer.js +2 -22
  32. package/dist/transformers/resolve-peer.js.map +1 -1
  33. package/dist/transformers/transformers.js +5 -20
  34. package/dist/transformers/transformers.js.map +1 -1
  35. package/dist/webpack.aspect.js +0 -5
  36. package/dist/webpack.aspect.js.map +1 -1
  37. package/dist/webpack.bundler.js +2 -33
  38. package/dist/webpack.bundler.js.map +1 -1
  39. package/dist/webpack.composition.js +0 -6
  40. package/dist/webpack.composition.js.map +1 -1
  41. package/dist/webpack.dev-server.js +8 -25
  42. package/dist/webpack.dev-server.js.map +1 -1
  43. package/dist/webpack.main.runtime.js +9 -74
  44. package/dist/webpack.main.runtime.js.map +1 -1
  45. package/package-tar/teambit-webpack-0.0.882.tgz +0 -0
  46. package/package.json +8 -8
  47. package/{preview-1666312873430.js → preview-1666496165706.js} +2 -2
  48. package/package-tar/teambit-webpack-0.0.880.tgz +0 -0
@@ -1,44 +1,32 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  require("core-js/modules/es.promise.js");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.WebpackDevServer = void 0;
11
-
12
9
  function _defineProperty2() {
13
10
  const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
-
15
11
  _defineProperty2 = function () {
16
12
  return data;
17
13
  };
18
-
19
14
  return data;
20
15
  }
21
-
22
16
  function _util() {
23
17
  const data = require("util");
24
-
25
18
  _util = function () {
26
19
  return data;
27
20
  };
28
-
29
21
  return data;
30
22
  }
31
-
32
23
  function _webpack() {
33
24
  const data = require("./webpack.aspect");
34
-
35
25
  _webpack = function () {
36
26
  return data;
37
27
  };
38
-
39
28
  return data;
40
29
  }
41
-
42
30
  class WebpackDevServer {
43
31
  constructor(config, webpack, WsDevServer) {
44
32
  this.config = config;
@@ -47,39 +35,36 @@ class WebpackDevServer {
47
35
  (0, _defineProperty2().default)(this, "id", _webpack().WebpackAspect.id);
48
36
  (0, _defineProperty2().default)(this, "displayName", 'Webpack dev server');
49
37
  }
50
-
51
38
  getCompiler() {
52
39
  return this.webpack(this.config);
53
40
  }
54
-
55
41
  displayConfig() {
56
42
  return (0, _util().inspect)(this.config, {
57
43
  depth: 10
58
44
  });
59
45
  }
60
-
61
46
  async listen(port) {
62
47
  if (!this.config.devServer) {
63
48
  throw new Error('Missing devServer configuration for webpack');
64
- } // Prevent different port between the config port and the listen arg port
65
-
49
+ }
50
+ // Prevent different port between the config port and the listen arg port
51
+ this.config.devServer.port = port;
66
52
 
67
- this.config.devServer.port = port; // Adding signal listeners to make sure we immediately close the process on sigint / sigterm (otherwise webpack dev server closing will take time)
68
-
69
- this.addSignalListener(); // Compatibility check for Webpack dev server v3 (e.g. for Angular v8)
53
+ // Adding signal listeners to make sure we immediately close the process on sigint / sigterm (otherwise webpack dev server closing will take time)
54
+ this.addSignalListener();
70
55
 
56
+ // Compatibility check for Webpack dev server v3 (e.g. for Angular v8)
71
57
  if (typeof this.WsDevServer.addDevServerEntrypoints !== 'undefined') {
72
58
  // @ts-ignore in the capsules it throws an error about compatibilities issues between webpack.compiler and webpackDevServer/webpack/compiler
73
59
  const webpackDs = new this.WsDevServer(this.getCompiler(), this.config.devServer);
74
60
  return webpackDs.listen(port);
75
- } // @ts-ignore in the capsules it throws an error about compatibilities issues between webpack.compiler and webpackDevServer/webpack/compiler
76
-
61
+ }
77
62
 
63
+ // @ts-ignore in the capsules it throws an error about compatibilities issues between webpack.compiler and webpackDevServer/webpack/compiler
78
64
  const webpackDs = new this.WsDevServer(this.config.devServer, this.getCompiler());
79
65
  await webpackDs.start();
80
66
  return webpackDs.server;
81
67
  }
82
-
83
68
  addSignalListener() {
84
69
  process.on('SIGTERM', () => {
85
70
  process.exit();
@@ -88,9 +73,7 @@ class WebpackDevServer {
88
73
  process.exit();
89
74
  });
90
75
  }
91
-
92
76
  }
93
-
94
77
  exports.WebpackDevServer = WebpackDevServer;
95
78
 
96
79
  //# sourceMappingURL=webpack.dev-server.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["WebpackDevServer","constructor","config","webpack","WsDevServer","WebpackAspect","id","getCompiler","displayConfig","inspect","depth","listen","port","devServer","Error","addSignalListener","addDevServerEntrypoints","webpackDs","start","server","process","on","exit"],"sources":["webpack.dev-server.ts"],"sourcesContent":["import type { DevServer } from '@teambit/bundler';\nimport type { Server } from 'http';\nimport type { webpack as webpackCompiler, Configuration } from 'webpack';\nimport type * as WDS from 'webpack-dev-server';\nimport { inspect } from 'util';\nimport { WebpackAspect } from './webpack.aspect';\n\nexport interface WebpackConfigWithDevServer extends Configuration {\n devServer: WDS.Configuration;\n favicon?: string;\n}\nexport class WebpackDevServer implements DevServer {\n constructor(\n private config: WebpackConfigWithDevServer,\n private webpack: typeof webpackCompiler,\n private WsDevServer: WDS\n ) {}\n\n private getCompiler(): any {\n return this.webpack(this.config);\n }\n\n id = WebpackAspect.id;\n\n displayName = 'Webpack dev server';\n\n displayConfig(): string {\n return inspect(this.config, { depth: 10 });\n }\n\n async listen(port: number): Promise<Server> {\n if (!this.config.devServer) {\n throw new Error('Missing devServer configuration for webpack');\n }\n // Prevent different port between the config port and the listen arg port\n this.config.devServer.port = port;\n\n // Adding signal listeners to make sure we immediately close the process on sigint / sigterm (otherwise webpack dev server closing will take time)\n this.addSignalListener();\n\n // Compatibility check for Webpack dev server v3 (e.g. for Angular v8)\n if (typeof (this.WsDevServer as any).addDevServerEntrypoints !== 'undefined') {\n // @ts-ignore in the capsules it throws an error about compatibilities issues between webpack.compiler and webpackDevServer/webpack/compiler\n const webpackDs = new (this.WsDevServer as any)(this.getCompiler(), this.config.devServer);\n return webpackDs.listen(port);\n }\n\n // @ts-ignore in the capsules it throws an error about compatibilities issues between webpack.compiler and webpackDevServer/webpack/compiler\n const webpackDs: WDS = new this.WsDevServer(this.config.devServer, this.getCompiler());\n await webpackDs.start();\n\n return webpackDs.server;\n }\n\n private addSignalListener() {\n process.on('SIGTERM', () => {\n process.exit();\n });\n\n process.on('SIGINT', () => {\n process.exit();\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAIA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AACA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAMO,MAAMA,gBAAN,CAA4C;EACjDC,WAAW,CACDC,MADC,EAEDC,OAFC,EAGDC,WAHC,EAIT;IAAA,KAHQF,MAGR,GAHQA,MAGR;IAAA,KAFQC,OAER,GAFQA,OAER;IAAA,KADQC,WACR,GADQA,WACR;IAAA,4CAMGC,wBAAA,CAAcC,EANjB;IAAA,qDAQY,oBARZ;EAAE;;EAEIC,WAAW,GAAQ;IACzB,OAAO,KAAKJ,OAAL,CAAa,KAAKD,MAAlB,CAAP;EACD;;EAMDM,aAAa,GAAW;IACtB,OAAO,IAAAC,eAAA,EAAQ,KAAKP,MAAb,EAAqB;MAAEQ,KAAK,EAAE;IAAT,CAArB,CAAP;EACD;;EAEW,MAANC,MAAM,CAACC,IAAD,EAAgC;IAC1C,IAAI,CAAC,KAAKV,MAAL,CAAYW,SAAjB,EAA4B;MAC1B,MAAM,IAAIC,KAAJ,CAAU,6CAAV,CAAN;IACD,CAHyC,CAI1C;;;IACA,KAAKZ,MAAL,CAAYW,SAAZ,CAAsBD,IAAtB,GAA6BA,IAA7B,CAL0C,CAO1C;;IACA,KAAKG,iBAAL,GAR0C,CAU1C;;IACA,IAAI,OAAQ,KAAKX,WAAN,CAA0BY,uBAAjC,KAA6D,WAAjE,EAA8E;MAC5E;MACA,MAAMC,SAAS,GAAG,IAAK,KAAKb,WAAV,CAA8B,KAAKG,WAAL,EAA9B,EAAkD,KAAKL,MAAL,CAAYW,SAA9D,CAAlB;MACA,OAAOI,SAAS,CAACN,MAAV,CAAiBC,IAAjB,CAAP;IACD,CAfyC,CAiB1C;;;IACA,MAAMK,SAAc,GAAG,IAAI,KAAKb,WAAT,CAAqB,KAAKF,MAAL,CAAYW,SAAjC,EAA4C,KAAKN,WAAL,EAA5C,CAAvB;IACA,MAAMU,SAAS,CAACC,KAAV,EAAN;IAEA,OAAOD,SAAS,CAACE,MAAjB;EACD;;EAEOJ,iBAAiB,GAAG;IAC1BK,OAAO,CAACC,EAAR,CAAW,SAAX,EAAsB,MAAM;MAC1BD,OAAO,CAACE,IAAR;IACD,CAFD;IAIAF,OAAO,CAACC,EAAR,CAAW,QAAX,EAAqB,MAAM;MACzBD,OAAO,CAACE,IAAR;IACD,CAFD;EAGD;;AAnDgD"}
1
+ {"version":3,"names":["WebpackDevServer","constructor","config","webpack","WsDevServer","WebpackAspect","id","getCompiler","displayConfig","inspect","depth","listen","port","devServer","Error","addSignalListener","addDevServerEntrypoints","webpackDs","start","server","process","on","exit"],"sources":["webpack.dev-server.ts"],"sourcesContent":["import type { DevServer } from '@teambit/bundler';\nimport type { Server } from 'http';\nimport type { webpack as webpackCompiler, Configuration } from 'webpack';\nimport type * as WDS from 'webpack-dev-server';\nimport { inspect } from 'util';\nimport { WebpackAspect } from './webpack.aspect';\n\nexport interface WebpackConfigWithDevServer extends Configuration {\n devServer: WDS.Configuration;\n favicon?: string;\n}\nexport class WebpackDevServer implements DevServer {\n constructor(\n private config: WebpackConfigWithDevServer,\n private webpack: typeof webpackCompiler,\n private WsDevServer: WDS\n ) {}\n\n private getCompiler(): any {\n return this.webpack(this.config);\n }\n\n id = WebpackAspect.id;\n\n displayName = 'Webpack dev server';\n\n displayConfig(): string {\n return inspect(this.config, { depth: 10 });\n }\n\n async listen(port: number): Promise<Server> {\n if (!this.config.devServer) {\n throw new Error('Missing devServer configuration for webpack');\n }\n // Prevent different port between the config port and the listen arg port\n this.config.devServer.port = port;\n\n // Adding signal listeners to make sure we immediately close the process on sigint / sigterm (otherwise webpack dev server closing will take time)\n this.addSignalListener();\n\n // Compatibility check for Webpack dev server v3 (e.g. for Angular v8)\n if (typeof (this.WsDevServer as any).addDevServerEntrypoints !== 'undefined') {\n // @ts-ignore in the capsules it throws an error about compatibilities issues between webpack.compiler and webpackDevServer/webpack/compiler\n const webpackDs = new (this.WsDevServer as any)(this.getCompiler(), this.config.devServer);\n return webpackDs.listen(port);\n }\n\n // @ts-ignore in the capsules it throws an error about compatibilities issues between webpack.compiler and webpackDevServer/webpack/compiler\n const webpackDs: WDS = new this.WsDevServer(this.config.devServer, this.getCompiler());\n await webpackDs.start();\n\n return webpackDs.server;\n }\n\n private addSignalListener() {\n process.on('SIGTERM', () => {\n process.exit();\n });\n\n process.on('SIGINT', () => {\n process.exit();\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAIA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAMO,MAAMA,gBAAgB,CAAsB;EACjDC,WAAW,CACDC,MAAkC,EAClCC,OAA+B,EAC/BC,WAAgB,EACxB;IAAA,KAHQF,MAAkC,GAAlCA,MAAkC;IAAA,KAClCC,OAA+B,GAA/BA,OAA+B;IAAA,KAC/BC,WAAgB,GAAhBA,WAAgB;IAAA,4CAOrBC,wBAAa,CAACC,EAAE;IAAA,qDAEP,oBAAoB;EAR/B;EAEKC,WAAW,GAAQ;IACzB,OAAO,IAAI,CAACJ,OAAO,CAAC,IAAI,CAACD,MAAM,CAAC;EAClC;EAMAM,aAAa,GAAW;IACtB,OAAO,IAAAC,eAAO,EAAC,IAAI,CAACP,MAAM,EAAE;MAAEQ,KAAK,EAAE;IAAG,CAAC,CAAC;EAC5C;EAEA,MAAMC,MAAM,CAACC,IAAY,EAAmB;IAC1C,IAAI,CAAC,IAAI,CAACV,MAAM,CAACW,SAAS,EAAE;MAC1B,MAAM,IAAIC,KAAK,CAAC,6CAA6C,CAAC;IAChE;IACA;IACA,IAAI,CAACZ,MAAM,CAACW,SAAS,CAACD,IAAI,GAAGA,IAAI;;IAEjC;IACA,IAAI,CAACG,iBAAiB,EAAE;;IAExB;IACA,IAAI,OAAQ,IAAI,CAACX,WAAW,CAASY,uBAAuB,KAAK,WAAW,EAAE;MAC5E;MACA,MAAMC,SAAS,GAAG,IAAK,IAAI,CAACb,WAAW,CAAS,IAAI,CAACG,WAAW,EAAE,EAAE,IAAI,CAACL,MAAM,CAACW,SAAS,CAAC;MAC1F,OAAOI,SAAS,CAACN,MAAM,CAACC,IAAI,CAAC;IAC/B;;IAEA;IACA,MAAMK,SAAc,GAAG,IAAI,IAAI,CAACb,WAAW,CAAC,IAAI,CAACF,MAAM,CAACW,SAAS,EAAE,IAAI,CAACN,WAAW,EAAE,CAAC;IACtF,MAAMU,SAAS,CAACC,KAAK,EAAE;IAEvB,OAAOD,SAAS,CAACE,MAAM;EACzB;EAEQJ,iBAAiB,GAAG;IAC1BK,OAAO,CAACC,EAAE,CAAC,SAAS,EAAE,MAAM;MAC1BD,OAAO,CAACE,IAAI,EAAE;IAChB,CAAC,CAAC;IAEFF,OAAO,CAACC,EAAE,CAAC,QAAQ,EAAE,MAAM;MACzBD,OAAO,CAACE,IAAI,EAAE;IAChB,CAAC,CAAC;EACJ;AACF;AAAC"}
@@ -1,177 +1,125 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  require("core-js/modules/es.array.iterator.js");
6
-
7
5
  require("core-js/modules/es.promise.js");
8
-
9
6
  Object.defineProperty(exports, "__esModule", {
10
7
  value: true
11
8
  });
12
9
  exports.WebpackMain = void 0;
13
10
  exports.runTransformersWithContext = runTransformersWithContext;
14
-
15
11
  function _defineProperty2() {
16
12
  const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
-
18
13
  _defineProperty2 = function () {
19
14
  return data;
20
15
  };
21
-
22
16
  return data;
23
17
  }
24
-
25
18
  function _webpack() {
26
19
  const data = _interopRequireDefault(require("webpack"));
27
-
28
20
  _webpack = function () {
29
21
  return data;
30
22
  };
31
-
32
23
  return data;
33
24
  }
34
-
35
25
  function _pubsub() {
36
26
  const data = _interopRequireDefault(require("@teambit/pubsub"));
37
-
38
27
  _pubsub = function () {
39
28
  return data;
40
29
  };
41
-
42
30
  return data;
43
31
  }
44
-
45
32
  function _bundler() {
46
33
  const data = require("@teambit/bundler");
47
-
48
34
  _bundler = function () {
49
35
  return data;
50
36
  };
51
-
52
37
  return data;
53
38
  }
54
-
55
39
  function _cli() {
56
40
  const data = require("@teambit/cli");
57
-
58
41
  _cli = function () {
59
42
  return data;
60
43
  };
61
-
62
44
  return data;
63
45
  }
64
-
65
46
  function _logger() {
66
47
  const data = require("@teambit/logger");
67
-
68
48
  _logger = function () {
69
49
  return data;
70
50
  };
71
-
72
51
  return data;
73
52
  }
74
-
75
53
  function _workspace() {
76
54
  const data = require("@teambit/workspace");
77
-
78
55
  _workspace = function () {
79
56
  return data;
80
57
  };
81
-
82
58
  return data;
83
59
  }
84
-
85
60
  function _webpackMerge() {
86
61
  const data = require("webpack-merge");
87
-
88
62
  _webpackMerge = function () {
89
63
  return data;
90
64
  };
91
-
92
65
  return data;
93
66
  }
94
-
95
67
  function _webpackDevServer() {
96
68
  const data = _interopRequireDefault(require("webpack-dev-server"));
97
-
98
69
  _webpackDevServer = function () {
99
70
  return data;
100
71
  };
101
-
102
72
  return data;
103
73
  }
104
-
105
74
  function _webpackModules() {
106
75
  const data = require("@teambit/webpack.modules.config-mutator");
107
-
108
76
  _webpackModules = function () {
109
77
  return data;
110
78
  };
111
-
112
79
  return data;
113
80
  }
114
-
115
81
  function _transformers() {
116
82
  const data = require("./transformers");
117
-
118
83
  _transformers = function () {
119
84
  return data;
120
85
  };
121
-
122
86
  return data;
123
87
  }
124
-
125
88
  function _webpackDev() {
126
89
  const data = require("./config/webpack.dev.config");
127
-
128
90
  _webpackDev = function () {
129
91
  return data;
130
92
  };
131
-
132
93
  return data;
133
94
  }
134
-
135
95
  function _webpack2() {
136
96
  const data = require("./config/webpack.config");
137
-
138
97
  _webpack2 = function () {
139
98
  return data;
140
99
  };
141
-
142
100
  return data;
143
101
  }
144
-
145
102
  function _webpack3() {
146
103
  const data = require("./webpack.aspect");
147
-
148
104
  _webpack3 = function () {
149
105
  return data;
150
106
  };
151
-
152
107
  return data;
153
108
  }
154
-
155
109
  function _webpack4() {
156
110
  const data = require("./webpack.bundler");
157
-
158
111
  _webpack4 = function () {
159
112
  return data;
160
113
  };
161
-
162
114
  return data;
163
115
  }
164
-
165
116
  function _webpack5() {
166
117
  const data = require("./webpack.dev-server");
167
-
168
118
  _webpack5 = function () {
169
119
  return data;
170
120
  };
171
-
172
121
  return data;
173
122
  }
174
-
175
123
  class WebpackMain {
176
124
  constructor(
177
125
  /**
@@ -195,11 +143,10 @@ class WebpackMain {
195
143
  this.bundler = bundler;
196
144
  this.logger = logger;
197
145
  }
146
+
198
147
  /**
199
148
  * create an instance of bit-compliant webpack dev server for a set of components
200
149
  */
201
-
202
-
203
150
  createDevServer(context, transformers = []) {
204
151
  const config = this.createDevServerConfig(context.entry, this.workspace.path, context.id, context.rootPath, context.publicPath, context.title);
205
152
  const configMutator = new (_webpackModules().WebpackConfigMutator)(config);
@@ -207,24 +154,21 @@ class WebpackMain {
207
154
  mode: 'dev'
208
155
  });
209
156
  const internalTransformers = this.generateTransformers(undefined, transformerContext);
210
- const afterMutation = runTransformersWithContext(configMutator.clone(), [...internalTransformers, ...transformers], transformerContext); // @ts-ignore - fix this
211
-
157
+ const afterMutation = runTransformersWithContext(configMutator.clone(), [...internalTransformers, ...transformers], transformerContext);
158
+ // @ts-ignore - fix this
212
159
  return new (_webpack5().WebpackDevServer)(afterMutation.raw, _webpack().default, _webpackDevServer().default);
213
160
  }
214
-
215
161
  mergeConfig(target, source) {
216
162
  return (0, _webpackMerge().merge)(target, source);
217
163
  }
218
-
219
164
  createBundler(context, transformers = [], initialConfigs, webpackInstance) {
220
165
  const transformerContext = {
221
166
  mode: 'prod'
222
- }; // eslint-disable-next-line max-len
223
-
167
+ };
168
+ // eslint-disable-next-line max-len
224
169
  const configs = initialConfigs || this.createConfigs(context.targets, _webpack2().configFactory, transformers, transformerContext, context);
225
170
  return new (_webpack4().WebpackBundler)(context.targets, configs, this.logger, webpackInstance || _webpack().default, context.metaData);
226
171
  }
227
-
228
172
  createConfigs(targets, factory, transformers = [], transformerContext, bundlerContext) {
229
173
  return targets.map(target => {
230
174
  const baseConfig = factory(target, bundlerContext);
@@ -237,46 +181,37 @@ class WebpackMain {
237
181
  return afterMutation.raw;
238
182
  });
239
183
  }
240
-
241
184
  generateTransformers(_bundlerContext, devServerContext, target) {
242
- const transformers = []; // TODO: handle dev server
243
-
185
+ const transformers = [];
186
+ // TODO: handle dev server
244
187
  const hostDeps = (target === null || target === void 0 ? void 0 : target.hostDependencies) || (devServerContext === null || devServerContext === void 0 ? void 0 : devServerContext.hostDependencies);
245
-
246
188
  if (hostDeps) {
247
189
  if (target !== null && target !== void 0 && target.aliasHostDependencies || devServerContext !== null && devServerContext !== void 0 && devServerContext.aliasHostDependencies) {
248
190
  const peerAliasesTransformer = (0, _transformers().generateAddAliasesFromPeersTransformer)(hostDeps, this.logger);
249
191
  transformers.push(peerAliasesTransformer);
250
192
  }
251
-
252
193
  if (target !== null && target !== void 0 && target.externalizeHostDependencies || devServerContext !== null && devServerContext !== void 0 && devServerContext.externalizeHostDependencies) {
253
194
  const externalsTransformer = (0, _transformers().generateExternalsTransformer)(hostDeps);
254
195
  transformers.push(externalsTransformer);
255
196
  }
256
197
  }
257
-
258
198
  return transformers;
259
199
  }
260
-
261
200
  createDevServerConfig(entry, rootPath, devServerID, publicRoot, publicPath, title) {
262
201
  return (0, _webpackDev().configFactory)(devServerID, rootPath, entry, publicRoot, publicPath, this.pubsub, title);
263
202
  }
264
-
265
203
  static async provider([pubsub, workspace, bundler, logger]) {
266
204
  const logPublisher = logger.createLogger(_webpack3().WebpackAspect.id);
267
205
  return new WebpackMain(pubsub, workspace, bundler, logPublisher);
268
206
  }
269
-
270
207
  }
271
-
272
208
  exports.WebpackMain = WebpackMain;
273
209
  (0, _defineProperty2().default)(WebpackMain, "slots", []);
274
210
  (0, _defineProperty2().default)(WebpackMain, "runtime", _cli().MainRuntime);
275
211
  (0, _defineProperty2().default)(WebpackMain, "dependencies", [_pubsub().default, _workspace().WorkspaceAspect, _bundler().BundlerAspect, _logger().LoggerAspect]);
276
-
277
212
  _webpack3().WebpackAspect.addRuntime(WebpackMain);
278
-
279
- function runTransformersWithContext(config, transformers = [], // context: WebpackConfigTransformContext | WebpackConfigDevServerTransformContext
213
+ function runTransformersWithContext(config, transformers = [],
214
+ // context: WebpackConfigTransformContext | WebpackConfigDevServerTransformContext
280
215
  context) {
281
216
  if (!Array.isArray(transformers)) return config;
282
217
  const newConfig = transformers.reduce((acc, transformer) => {
@@ -1 +1 @@
1
- {"version":3,"names":["WebpackMain","constructor","pubsub","workspace","bundler","logger","createDevServer","context","transformers","config","createDevServerConfig","entry","path","id","rootPath","publicPath","title","configMutator","WebpackConfigMutator","transformerContext","Object","assign","mode","internalTransformers","generateTransformers","undefined","afterMutation","runTransformersWithContext","clone","WebpackDevServer","raw","webpack","WsDevServer","mergeConfig","target","source","merge","createBundler","initialConfigs","webpackInstance","configs","createConfigs","targets","baseConfigFactory","WebpackBundler","metaData","factory","bundlerContext","map","baseConfig","_bundlerContext","devServerContext","hostDeps","hostDependencies","aliasHostDependencies","peerAliasesTransformer","generateAddAliasesFromPeersTransformer","push","externalizeHostDependencies","externalsTransformer","generateExternalsTransformer","devServerID","publicRoot","devServerConfigFactory","provider","logPublisher","createLogger","WebpackAspect","MainRuntime","PubsubAspect","WorkspaceAspect","BundlerAspect","LoggerAspect","addRuntime","Array","isArray","newConfig","reduce","acc","transformer"],"sources":["webpack.main.runtime.ts"],"sourcesContent":["import webpack, { Configuration } from 'webpack';\nimport PubsubAspect, { PubsubMain } from '@teambit/pubsub';\nimport {\n BundlerAspect,\n BundlerContext,\n BundlerMain,\n DevServer,\n DevServerContext,\n BundlerMode,\n Target,\n} from '@teambit/bundler';\nimport { MainRuntime } from '@teambit/cli';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { merge } from 'webpack-merge';\nimport WsDevServer from 'webpack-dev-server';\nimport { WebpackConfigMutator } from '@teambit/webpack.modules.config-mutator';\n\nimport { generateAddAliasesFromPeersTransformer, generateExternalsTransformer } from './transformers';\nimport { configFactory as devServerConfigFactory } from './config/webpack.dev.config';\nimport { configFactory as baseConfigFactory } from './config/webpack.config';\n\nimport { WebpackAspect } from './webpack.aspect';\nimport { WebpackBundler } from './webpack.bundler';\nimport { WebpackDevServer } from './webpack.dev-server';\n\nexport type WebpackConfigTransformContext = GlobalWebpackConfigTransformContext & {\n target: Target;\n};\n\nexport type WebpackConfigDevServerTransformContext = GlobalWebpackConfigTransformContext & DevServerContext;\n\nexport type GlobalWebpackConfigTransformContext = {\n mode: BundlerMode;\n /**\n * A path for the host root dir\n * Host root dir is usually the env root dir\n * This can be used in different bundle options which run require.resolve\n * for example when configuring webpack aliases or webpack expose loader on the peers deps\n */\n hostRootDir?: string;\n};\n\nexport type WebpackConfigTransformer = (\n config: WebpackConfigMutator,\n context: WebpackConfigTransformContext\n) => WebpackConfigMutator;\n\nexport type WebpackConfigDevServerTransformer = (\n config: WebpackConfigMutator,\n context: WebpackConfigDevServerTransformContext\n) => WebpackConfigMutator;\n\nexport class WebpackMain {\n constructor(\n /**\n * Pubsub extension.\n */\n public pubsub: PubsubMain,\n\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * bundler extension.\n */\n private bundler: BundlerMain,\n\n /**\n * Logger extension\n */\n public logger: Logger\n ) {}\n\n /**\n * create an instance of bit-compliant webpack dev server for a set of components\n */\n createDevServer(context: DevServerContext, transformers: WebpackConfigTransformer[] = []): DevServer {\n const config = this.createDevServerConfig(\n context.entry,\n this.workspace.path,\n context.id,\n context.rootPath,\n context.publicPath,\n context.title\n ) as any;\n const configMutator = new WebpackConfigMutator(config);\n const transformerContext: WebpackConfigDevServerTransformContext = Object.assign(context, { mode: 'dev' as const });\n const internalTransformers = this.generateTransformers(undefined, transformerContext);\n\n const afterMutation = runTransformersWithContext(\n configMutator.clone(),\n [...internalTransformers, ...transformers],\n transformerContext\n );\n // @ts-ignore - fix this\n return new WebpackDevServer(afterMutation.raw, webpack, WsDevServer);\n }\n\n mergeConfig(target: any, source: any): any {\n return merge(target, source);\n }\n\n createBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n initialConfigs?: webpack.Configuration[],\n webpackInstance?: any\n ) {\n const transformerContext: GlobalWebpackConfigTransformContext = { mode: 'prod' };\n // eslint-disable-next-line max-len\n const configs =\n initialConfigs ||\n this.createConfigs(context.targets, baseConfigFactory, transformers, transformerContext, context);\n return new WebpackBundler(context.targets, configs, this.logger, webpackInstance || webpack, context.metaData);\n }\n\n private createConfigs(\n targets: Target[],\n factory: (target: Target, context: BundlerContext) => Configuration,\n transformers: WebpackConfigTransformer[] = [],\n transformerContext: GlobalWebpackConfigTransformContext,\n bundlerContext: BundlerContext\n ) {\n return targets.map((target) => {\n const baseConfig = factory(target, bundlerContext);\n const configMutator = new WebpackConfigMutator(baseConfig);\n const context = Object.assign({}, transformerContext, { target });\n const internalTransformers = this.generateTransformers(context, undefined, target);\n const afterMutation = runTransformersWithContext(\n configMutator.clone(),\n [...internalTransformers, ...transformers],\n context\n );\n return afterMutation.raw;\n });\n }\n\n private generateTransformers(\n _bundlerContext?: WebpackConfigTransformContext,\n devServerContext?: WebpackConfigDevServerTransformContext,\n target?: Target\n ): Array<WebpackConfigTransformer> {\n const transformers: WebpackConfigTransformer[] = [];\n // TODO: handle dev server\n const hostDeps = target?.hostDependencies || devServerContext?.hostDependencies;\n if (hostDeps) {\n if (target?.aliasHostDependencies || devServerContext?.aliasHostDependencies) {\n const peerAliasesTransformer = generateAddAliasesFromPeersTransformer(hostDeps, this.logger);\n transformers.push(peerAliasesTransformer);\n }\n if (target?.externalizeHostDependencies || devServerContext?.externalizeHostDependencies) {\n const externalsTransformer = generateExternalsTransformer(hostDeps);\n transformers.push(externalsTransformer);\n }\n }\n return transformers;\n }\n\n private createDevServerConfig(\n entry: string[],\n rootPath: string,\n devServerID: string,\n publicRoot: string,\n publicPath: string,\n title?: string\n ) {\n return devServerConfigFactory(devServerID, rootPath, entry, publicRoot, publicPath, this.pubsub, title);\n }\n\n static slots = [];\n\n static runtime = MainRuntime;\n static dependencies = [PubsubAspect, WorkspaceAspect, BundlerAspect, LoggerAspect];\n\n static async provider([pubsub, workspace, bundler, logger]: [PubsubMain, Workspace, BundlerMain, LoggerMain]) {\n const logPublisher = logger.createLogger(WebpackAspect.id);\n return new WebpackMain(pubsub, workspace, bundler, logPublisher);\n }\n}\n\nWebpackAspect.addRuntime(WebpackMain);\n\nexport function runTransformersWithContext(\n config: WebpackConfigMutator,\n transformers: Array<WebpackConfigTransformer | WebpackConfigDevServerTransformer> = [],\n // context: WebpackConfigTransformContext | WebpackConfigDevServerTransformContext\n context: any\n): WebpackConfigMutator {\n if (!Array.isArray(transformers)) return config;\n const newConfig = transformers.reduce((acc, transformer) => {\n // @ts-ignore\n return transformer(acc, context);\n }, config);\n return newConfig;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["WebpackMain","constructor","pubsub","workspace","bundler","logger","createDevServer","context","transformers","config","createDevServerConfig","entry","path","id","rootPath","publicPath","title","configMutator","WebpackConfigMutator","transformerContext","Object","assign","mode","internalTransformers","generateTransformers","undefined","afterMutation","runTransformersWithContext","clone","WebpackDevServer","raw","webpack","WsDevServer","mergeConfig","target","source","merge","createBundler","initialConfigs","webpackInstance","configs","createConfigs","targets","baseConfigFactory","WebpackBundler","metaData","factory","bundlerContext","map","baseConfig","_bundlerContext","devServerContext","hostDeps","hostDependencies","aliasHostDependencies","peerAliasesTransformer","generateAddAliasesFromPeersTransformer","push","externalizeHostDependencies","externalsTransformer","generateExternalsTransformer","devServerID","publicRoot","devServerConfigFactory","provider","logPublisher","createLogger","WebpackAspect","MainRuntime","PubsubAspect","WorkspaceAspect","BundlerAspect","LoggerAspect","addRuntime","Array","isArray","newConfig","reduce","acc","transformer"],"sources":["webpack.main.runtime.ts"],"sourcesContent":["import webpack, { Configuration } from 'webpack';\nimport PubsubAspect, { PubsubMain } from '@teambit/pubsub';\nimport {\n BundlerAspect,\n BundlerContext,\n BundlerMain,\n DevServer,\n DevServerContext,\n BundlerMode,\n Target,\n} from '@teambit/bundler';\nimport { MainRuntime } from '@teambit/cli';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { Workspace, WorkspaceAspect } from '@teambit/workspace';\nimport { merge } from 'webpack-merge';\nimport WsDevServer from 'webpack-dev-server';\nimport { WebpackConfigMutator } from '@teambit/webpack.modules.config-mutator';\n\nimport { generateAddAliasesFromPeersTransformer, generateExternalsTransformer } from './transformers';\nimport { configFactory as devServerConfigFactory } from './config/webpack.dev.config';\nimport { configFactory as baseConfigFactory } from './config/webpack.config';\n\nimport { WebpackAspect } from './webpack.aspect';\nimport { WebpackBundler } from './webpack.bundler';\nimport { WebpackDevServer } from './webpack.dev-server';\n\nexport type WebpackConfigTransformContext = GlobalWebpackConfigTransformContext & {\n target: Target;\n};\n\nexport type WebpackConfigDevServerTransformContext = GlobalWebpackConfigTransformContext & DevServerContext;\n\nexport type GlobalWebpackConfigTransformContext = {\n mode: BundlerMode;\n /**\n * A path for the host root dir\n * Host root dir is usually the env root dir\n * This can be used in different bundle options which run require.resolve\n * for example when configuring webpack aliases or webpack expose loader on the peers deps\n */\n hostRootDir?: string;\n};\n\nexport type WebpackConfigTransformer = (\n config: WebpackConfigMutator,\n context: WebpackConfigTransformContext\n) => WebpackConfigMutator;\n\nexport type WebpackConfigDevServerTransformer = (\n config: WebpackConfigMutator,\n context: WebpackConfigDevServerTransformContext\n) => WebpackConfigMutator;\n\nexport class WebpackMain {\n constructor(\n /**\n * Pubsub extension.\n */\n public pubsub: PubsubMain,\n\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * bundler extension.\n */\n private bundler: BundlerMain,\n\n /**\n * Logger extension\n */\n public logger: Logger\n ) {}\n\n /**\n * create an instance of bit-compliant webpack dev server for a set of components\n */\n createDevServer(context: DevServerContext, transformers: WebpackConfigTransformer[] = []): DevServer {\n const config = this.createDevServerConfig(\n context.entry,\n this.workspace.path,\n context.id,\n context.rootPath,\n context.publicPath,\n context.title\n ) as any;\n const configMutator = new WebpackConfigMutator(config);\n const transformerContext: WebpackConfigDevServerTransformContext = Object.assign(context, { mode: 'dev' as const });\n const internalTransformers = this.generateTransformers(undefined, transformerContext);\n\n const afterMutation = runTransformersWithContext(\n configMutator.clone(),\n [...internalTransformers, ...transformers],\n transformerContext\n );\n // @ts-ignore - fix this\n return new WebpackDevServer(afterMutation.raw, webpack, WsDevServer);\n }\n\n mergeConfig(target: any, source: any): any {\n return merge(target, source);\n }\n\n createBundler(\n context: BundlerContext,\n transformers: WebpackConfigTransformer[] = [],\n initialConfigs?: webpack.Configuration[],\n webpackInstance?: any\n ) {\n const transformerContext: GlobalWebpackConfigTransformContext = { mode: 'prod' };\n // eslint-disable-next-line max-len\n const configs =\n initialConfigs ||\n this.createConfigs(context.targets, baseConfigFactory, transformers, transformerContext, context);\n return new WebpackBundler(context.targets, configs, this.logger, webpackInstance || webpack, context.metaData);\n }\n\n private createConfigs(\n targets: Target[],\n factory: (target: Target, context: BundlerContext) => Configuration,\n transformers: WebpackConfigTransformer[] = [],\n transformerContext: GlobalWebpackConfigTransformContext,\n bundlerContext: BundlerContext\n ) {\n return targets.map((target) => {\n const baseConfig = factory(target, bundlerContext);\n const configMutator = new WebpackConfigMutator(baseConfig);\n const context = Object.assign({}, transformerContext, { target });\n const internalTransformers = this.generateTransformers(context, undefined, target);\n const afterMutation = runTransformersWithContext(\n configMutator.clone(),\n [...internalTransformers, ...transformers],\n context\n );\n return afterMutation.raw;\n });\n }\n\n private generateTransformers(\n _bundlerContext?: WebpackConfigTransformContext,\n devServerContext?: WebpackConfigDevServerTransformContext,\n target?: Target\n ): Array<WebpackConfigTransformer> {\n const transformers: WebpackConfigTransformer[] = [];\n // TODO: handle dev server\n const hostDeps = target?.hostDependencies || devServerContext?.hostDependencies;\n if (hostDeps) {\n if (target?.aliasHostDependencies || devServerContext?.aliasHostDependencies) {\n const peerAliasesTransformer = generateAddAliasesFromPeersTransformer(hostDeps, this.logger);\n transformers.push(peerAliasesTransformer);\n }\n if (target?.externalizeHostDependencies || devServerContext?.externalizeHostDependencies) {\n const externalsTransformer = generateExternalsTransformer(hostDeps);\n transformers.push(externalsTransformer);\n }\n }\n return transformers;\n }\n\n private createDevServerConfig(\n entry: string[],\n rootPath: string,\n devServerID: string,\n publicRoot: string,\n publicPath: string,\n title?: string\n ) {\n return devServerConfigFactory(devServerID, rootPath, entry, publicRoot, publicPath, this.pubsub, title);\n }\n\n static slots = [];\n\n static runtime = MainRuntime;\n static dependencies = [PubsubAspect, WorkspaceAspect, BundlerAspect, LoggerAspect];\n\n static async provider([pubsub, workspace, bundler, logger]: [PubsubMain, Workspace, BundlerMain, LoggerMain]) {\n const logPublisher = logger.createLogger(WebpackAspect.id);\n return new WebpackMain(pubsub, workspace, bundler, logPublisher);\n }\n}\n\nWebpackAspect.addRuntime(WebpackMain);\n\nexport function runTransformersWithContext(\n config: WebpackConfigMutator,\n transformers: Array<WebpackConfigTransformer | WebpackConfigDevServerTransformer> = [],\n // context: WebpackConfigTransformContext | WebpackConfigDevServerTransformContext\n context: any\n): WebpackConfigMutator {\n if (!Array.isArray(transformers)) return config;\n const newConfig = transformers.reduce((acc, transformer) => {\n // @ts-ignore\n return transformer(acc, context);\n }, config);\n return newConfig;\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/webpack",
3
- "version": "0.0.880",
3
+ "version": "0.0.882",
4
4
  "homepage": "https://bit.dev/teambit/webpack/webpack",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.webpack",
8
8
  "name": "webpack",
9
- "version": "0.0.880"
9
+ "version": "0.0.882"
10
10
  },
11
11
  "dependencies": {
12
12
  "webpack": "5.51.1",
@@ -48,11 +48,11 @@
48
48
  "@teambit/harmony": "0.3.3",
49
49
  "@teambit/webpack.modules.config-mutator": "0.0.147",
50
50
  "@teambit/bit-error": "0.0.400",
51
- "@teambit/bundler": "0.0.880",
52
- "@teambit/logger": "0.0.683",
53
- "@teambit/cli": "0.0.590",
54
- "@teambit/pubsub": "0.0.880",
55
- "@teambit/workspace": "0.0.880",
51
+ "@teambit/bundler": "0.0.882",
52
+ "@teambit/logger": "0.0.684",
53
+ "@teambit/cli": "0.0.591",
54
+ "@teambit/pubsub": "0.0.882",
55
+ "@teambit/workspace": "0.0.882",
56
56
  "@teambit/webpack.modules.generate-expose-loaders": "0.0.9",
57
57
  "@teambit/webpack.modules.generate-externals": "0.0.10",
58
58
  "@teambit/webpack.plugins.inject-head-webpack-plugin": "0.0.2"
@@ -70,7 +70,7 @@
70
70
  "@types/node": "12.20.4"
71
71
  },
72
72
  "peerDependencies": {
73
- "@teambit/legacy": "1.0.373",
73
+ "@teambit/legacy": "1.0.374",
74
74
  "react-dom": "^16.8.0 || ^17.0.0",
75
75
  "react": "^16.8.0 || ^17.0.0"
76
76
  },
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.webpack_webpack@0.0.880/dist/webpack.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.webpack_webpack@0.0.880/dist/webpack.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.webpack_webpack@0.0.882/dist/webpack.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.webpack_webpack@0.0.882/dist/webpack.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];