The webpack compiler can understand modules written as ES2015 modules, CommonJS or AMD. However, some third party libraries may expect global dependencies (e.g. $ for jQuery). The libraries might also create globals which need to be exported. These "broken modules" are one instance where shimming comes into play. Another instance where shimming can be useful is when you want to polyfill browser fu
![Shimming | webpack](https://cdn-ak-scissors.b.st-hatena.com/image/square/eceadfb8015bc128031bfdea6262fbbe4c918b99/height=288;version=1;width=512/https%3A%2F%2Fwebpack.js.org%2Ficon-pwa-512x512.934507c816afbcdb.png)