This right here shows why I'm not the biggest fan of the way components work in web dev and also why I don't buy into Tailwind.
This is actually two components in one: a container and a split-view. Both are independent components, but they can be applied to the same element without issues. In plain HTML you'd do this: <section class="l-container--fixed-200 l-container--pad-i l-container--pad-b c-split-view">.
Expressing this kind of composition with components is impossible or very clunky (as can be seen here). That's how we get a lot of subpar markup on web apps. And Tailwind makes this problem even worse because it actively uses this architecture to achieve reusability and composition. Look at any Tailwind website and you will see a lot of nested tags that wouldn't even need to be nested since their styles wouldn't clash. This is why.
@lunarised I was using Typegoose instead of vanilla Mongoose to define Schemas, which relies on TypeScript decorators. I don't use them otherwise, but I will miss using Typegoose for my new TypeScript-free project
There was one situation where the client downloaded about 1000 of them. That was probably what caused the crash. I hadn't had time to add pagination there because software development is all a big "ship this ASAP" moment
The solution was to stream the data to the client so only one database entry would be in RAM at a time. There was no memory leak, they're just that big
@icedquinn Treeshaking by analyzing the generated HTML files and scripts? I found that very annoying to work with because it can't handle dynamically assigned classes well, so you have to maintain a whitelist manually