hi Markus, das funktioniert aber nur als Entwickler, also bei einem Framework, nicht so sehr bei einer durch Anwender erweiterbaren Anwendung wie Plone oder Typo3. Dort ist ja das Problem, dass man eine Hauptanwendung hat und diverse Extensions die sich da einklinken sollen. wenn jetzt extentionA und B beide von einer library abhängen muss die ja unabhängig davon verwaltet werden. Der Ansatz von Jens ist eine Lösung, aber diese bringt einiges an Komplexität in den Stack, weil man hier Javascript und andere Sprachen und deren Pakete mischt.
Dinge wie webpack &co funktionieren nur auf Projektbasis, was hier brauche ist eine Lösung für Extensions die sich ohne nen bundle abzuwerfen installieren lassen. Aber da dreht man sich im Kreis.
Eine Lösung ist, keine externen Abhängigkeiten zu haben. jede Extension bringt mit was es braucht. Man will natürlich nicht unbedingt das jeder sein react/angular oder vuejs mit bringt, aber Ansätze wie die von Svelte ermöglichen es hier schlanke Komponenten zu bauen, die keine Abhängigkeiten haben. Und auch die anderen Frameworks arbeiten in diese Richtung. Dann kann man wieder bundler innerhalb seiner Extension einsetzen, wenn man denn will/muss. Auch eine Mischung aus beidem ware denkbar. Plone verwendet aktuell eine liste von namen, von dingen die als gegen angesehen werden können und daher nicht installiert werden müssen. So ähnlich könnte man auch die großen wichtigen Frameworks bereitstellen und den rest in seiner Extension mit liefern. dann würde eine Extension mit vuejs nur den app code + eventuell dependencies bauen und erwarten das die vuejs-runtime vorhanden ist. aber da kommt man dann wieder in die Situation dass man die runtime in verschiedenen Versionen haben möchte.