Ik heb een Webpack 5 configuratie met volgende Babel configuratie:
In de resulterende bundle zie ik dat de core-js polyfills toevoegd zijn op basis van hun gebruik. Prima dus.
Het probleem is echter dat ik een extra child compilation uitvoer in combinatie met EntryPlugin in Webpack om een service worker te builden. Deze service worker is geisoleerd van de rest van de codebase, maar moet in dezelfde Webpack compilatie zitten omdat deze allerlei data uit de parent compilatie nodig heeft.
Dit is een probleem omdat dit betekent dat alle core-js polyfills gebaseerd op de gehele codebase ook in de service worker toegevoegd worden. Ik heb reeds zitten experimenteren met Babel overrides, maar in het beste geval exclude dit de service worker gewoonweg van Babel in zijn geheel.
Wat ik dus wil is dat de service worker en de rest van de codebase apart behandeld worden door Babel, maar dan met dezelfde Babel config (preset-env, core-js usage). Enige idee of dit mogelijk is?
code:
1
2
3
4
5
6
7
8
9
10
11
| { "presets": [ [ "@babel/preset-env", { "corejs": 3.32, "useBuiltIns": "usage" } ] ] } |
In de resulterende bundle zie ik dat de core-js polyfills toevoegd zijn op basis van hun gebruik. Prima dus.
Het probleem is echter dat ik een extra child compilation uitvoer in combinatie met EntryPlugin in Webpack om een service worker te builden. Deze service worker is geisoleerd van de rest van de codebase, maar moet in dezelfde Webpack compilatie zitten omdat deze allerlei data uit de parent compilatie nodig heeft.
Dit is een probleem omdat dit betekent dat alle core-js polyfills gebaseerd op de gehele codebase ook in de service worker toegevoegd worden. Ik heb reeds zitten experimenteren met Babel overrides, maar in het beste geval exclude dit de service worker gewoonweg van Babel in zijn geheel.
Wat ik dus wil is dat de service worker en de rest van de codebase apart behandeld worden door Babel, maar dan met dezelfde Babel config (preset-env, core-js usage). Enige idee of dit mogelijk is?