Does Eleventy Perform Deep Merges Across the Data Cascade?
0 reputation · 02 Dec 2022, 12:35 UTC
Data Cascade Merging
Eleventy builds a single data object for each template by merging global data files, directory‑specific data, and the template’s front matter. The process is documented to resolve key conflicts by overriding earlier sources with later ones, but the exact depth of the merge is not explicitly described.
Current Understanding
When a key exists in multiple data layers, the value from the template front matter takes precedence over directory data, which in turn overrides global data. However, it is unclear whether nested objects are merged recursively or simply replaced, and how array values are handled when they appear in more than one layer.
Unresolved Questions
- Does Eleventy perform deep merges when combining nested objects across the Data Cascade, or are nested objects overwritten?
- When arrays are defined in both global data and a directory data file, how does Eleventy merge or override them?
- Is there a configurable option to switch between shallow and deep merging behavior?