eleventy-plugin-bundle
eleventy-plugin-bundle copied to clipboard
getBundle only works once in .11ty.js templates, then fails to replace
I seem to have stumbled into some confusing behavior that I'm seeing when using getBundle
and/or getBundleFileUrl
specifically within a .11ty.js
layout used by multiple templates.
I've created a repo to reproduce the issue: https://github.com/kfranqueiro/11ty-js-getbundle-bug
To better illustrate the issue, the repo begins in a working state. It has 3 templates (one HTML/Liquid, one JS, one Markdown) and 2 layouts (one HTML/Liquid, one JS).
In its initial state, all 3 templates are using the HTML layout, and npm run build
produces the expected results: all 3 resulting pages have CSS both inlined and referenced via separate files properly.
Where things get interesting, is when you start switching those templates to use the JS layout...
- When you switch 1 over, everything is still fine
- When you switch 2 over (seemingly regardless of which 2 exactly), 1 out of 2 will be broken, with incorrect output still containing
__EleventyBundle
comments that should have been replaced - When you switch all 3 over, 2 out of 3 will be broken as above
Somehow getBundle
and getBundleFileUrl
within the .11ty.js
layout only ever work for one page?
(For what it's worth, this also happens if only using getBundle
; I added getBundleFileUrl
to the example later to see if it behaved the same)
- Eleventy: 3.0.0-alpha.10 + eleventy-plugin-bundle 2.0.2
- Node: 20.13.1
- OS: Linux (Debian 12)