Our team uses separate libraries to organize different aspects of our design system. Although our adopting designers must enable multiple libraries to take advantage of the whole design system, this separation has been beneficial for elements that can be logically grouped, such as icons, typography, colors, etc.
But when it comes to UI component designs, our attempt to carve out multiple libraries feels tortured and illogical. We were inspired by Esther Cheran’s demonstration of a single-file-per-component organization scheme, but decided against it since we don’t want to burden our adopting designers with the need to enable one library per component. So we’ve left all our components in a monolithic design file that continues to grow rapidly in size & complexity.
Currently, a library can only publish assets from a single design file. But is that restriction necessary? Would it be possible to further abstract the library concept, allowing one library to collect & publish assets from multiple design files? This would allow our design system contributors to create design files that are small, tidy, fast to load, easy to merge, etc., while still minimizing the number of libraries our adopters would need to enable in order to take advantage of the the whole design system.