Context
We’re a design system team working with one large shared library that’s used by all designers across the organization. This library contains complex nested components — for example, a Badge component that’s also used inside a Button component. The Button itself is a single component with multiple variants: it can act as a button or an icon button, and we have 5 different types/variants layered on top of that plus all the states (MEGA haha).
The problem
Because library changes are applied instantly to every file that uses the library, we have no way to stage, review, or release updates in a controlled way. Every edit we make propagates immediately to all consuming files. This causes two big issues for us:
- No safe way to iterate. We can’t work on a change, test it, and then “publish” it when ready — it’s live the moment we touch it.
- Performance/stability problems. With deeply nested components (Badge → Button → variants), instant propagation across many files causes our files to freeze or crash regularly.
What we’d like
Some kind of versioned/staged release mechanism for libraries — e.g. a way to work on library changes in a draft/branch state, and only push updates to consuming files when we explicitly publish a new version. This is standard in most design tools (Figma’s library publishing model, for example) and would make it possible to maintain a large design system without constant instability.
Has anyone found a workaround for this, or is there a roadmap item for library versioning/release control? Happy to share more details about our file structure if that helps diagnose the freezing issue too