New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Treeshaking and duplicate code in core/lightbox ESM modules #2040
Comments
The Lightbox inherits only a small fraction of the Core. It's mainly used to start loading the first image in parallel with the Core JS. The script is intentionally split into two parts, so you can preload a large part of it separately and/or on-demand when a user actually needs the viewer. |
Never mind, I didn't realize I was already handling it myself. pswpModule: () => import('photoswipe') |
It appears that
photoswipe.esm.js
andphotoswipe-lightbox.esm.js
modules have a lot of the same code. So when I import them as suggested in the docs:This produces many of the same functions in the final javascript. Treeshaking (I'm using Rollup) is not possible as these are seen as different code paths.
Using static imports:
Gives an even larger size of ~250k (unminified). This is also not treeshakable.
The documentation says:
So do I have to import core again and pass a separate PhotoSwap to the lightbox? Am I missing something?
The text was updated successfully, but these errors were encountered: