Nice little library... probably a great option for adding dynamic elements to server-rendered content, where you might otherwise reach for jQuery (or Knockout).
Just a minor note... You probably want to stick to the most recent 100 entries by last modified date and let any search engine navigate/remember the rest. Inflating the sitemap too big can work against you.
One thing to mention... If you're using AWS Lambda in particular, just use the largest option, you'll usually save enough time to overcome the extra cost as you get more compute with the added memory. Also, if your job *might* take more than 3 minutes, then Lambda is a risk as iirc there's a 5 minute max.
Would be better to use the DOM classList[1] API, which is already available on all major browsers for a couple generations now (limited support in IE).
I will say, if you're using React, this is a bit lighter than the classnames[2] module, which would be my own preference. However, knowledge of Array methods (map, reduce, etc) can accomplish the same without an external dependency, or the runtime wrapping likely to happen.
[1] https://developer.mozilla.org/en-US/docs/Web/API/Element/classList
[2] https://www.npmjs.com/package/classnames
Note: not the one who downvoted.
Interesting read... really applicable to very large organizations that would want to distribute portions of visibility to different development organizations and teams.
For example, a large financial institution may want a consistent interface for header, footer and navigation, where each subsite will need to reuse/register their place in the larger application.
This is a very deep well in practice and there are infinite combinations and no perfect solution, only combinations of good enough in this space (imho).