Ungenutztes Javascript entfernen?

Moin,

Ich möchte jQuery entfernen und nur Bootstrap (version 5) Komponenten laden die ich auch wirklich benötige, damit der ganze JS Code nicht so aufgebläht wird.
Mein Gedanke war dabei eine neue package.json und webpack.config.js in meinem Theme zu erstellen und den Entrypoint in der plugins.json beim Storefront auf null zu setzen, damit davon nix geladen wird.
Klappt soweit auch.

Nun werden aber natürlich die JS Core Komponenten vom Storefront nicht mitgeladen.
Ich sehe hier 3 Möglichkeiten.

  1. Die Core Komponenten manuell ins Theme laden. Eher nicht so prickelnd
  2. Eine korrekte Pfad Auflösung zum Storefront hinbekommen und die Komponenten in der index.js importieren.
  3. Shopware bietet ein NPM Package für seine JS Core Geschichten an.

Bei Möglichkeit 2 bekomme ich diese Pfad Auflösung aber nicht hin. Mit einem import des absoluten Pfads (also /var/www/meinshop/vendor/.../app/storefront/plugin/xyz.plugin) klappt es. Aber ich weiß nicht wie ich hier eine Relative Pfad Auflösung hinbekomme. Hat da jemand der fit in NodeJS / Webpack ist eine Idee wie man das lösen kann?

1 Like