gecko-dev/devtools/client/shared/webpack
Nicolas Chevobbe e2539fb394 Bug 1403106 - Fix rewrite-lazy require for non-named modules; r=Honza
MozReview-Commit-ID: 3vGooT3G450

--HG--
extra : rebase_source : 60d9dc3223e3c3ae0ff72e6685ae8950eda5451f
2017-10-04 12:22:15 +02:00
..
shims Bug 1403489 - remove special loader rule for devtools/shared/platform;r=tromey 2017-09-27 12:38:23 +02:00
moz.build Bug 1403489 - remove special loader rule for devtools/shared/platform;r=tromey 2017-09-27 12:38:23 +02:00
README.md Bug 1399390 - Use lazy-require in Netmonitor's webpack.config; r=jdescottes 2017-09-14 10:53:27 +02:00
rewrite-browser-require.js Bug 1399390 - Use lazy-require in Netmonitor's webpack.config; r=jdescottes 2017-09-14 10:53:27 +02:00
rewrite-css-logic-importer.js Bug 1399390 - Use lazy-require in Netmonitor's webpack.config; r=jdescottes 2017-09-14 10:53:27 +02:00
rewrite-event-emitter.js Bug 1399390 - Use lazy-require in Netmonitor's webpack.config; r=jdescottes 2017-09-14 10:53:27 +02:00
rewrite-lazy-require.js Bug 1403106 - Fix rewrite-lazy require for non-named modules; r=Honza 2017-10-04 12:22:15 +02:00
rewrite-raw.js
rewrite-react-redux.js Bug 1399390 - Use lazy-require in Netmonitor's webpack.config; r=jdescottes 2017-09-14 10:53:27 +02:00
rewrite-sdk-lazy-require.js Bug 1399390 - Use lazy-require in Netmonitor's webpack.config; r=jdescottes 2017-09-14 10:53:27 +02:00
theme-loader.js

Webpack Support

This directory contains modules intended to support and customize DevTools source bundling.

DevTools use Webpack to generate bundles for individual tools, which allow e.g. running them on top of the Launchpad (within a browser tab).

Custom loaders implemented in this directory are mostly used to rewrite existing code, so it's understandable for Webpack.

For example:

The following piece of code is using lazyRequireGetter that is unknown to Webpack.

loader.lazyRequireGetter(this, "EventEmitter",
  "devtools/shared/old-event-emitter");

In order to properly bundle devtools/shared/old-event-emitter module the code needs to be translated into:

let EventEmitter = require("devtools/shared/old-event-emitter");

See more in rewrite-lazy-require