Dealing with Dependencies Inside Design Systems
Dependencies in JavaScript are pretty straightforward. I can’t write library.doThing()
unless library
exists. If library changes in some fundamental way, things break and hopefully our tests catch it.
Dependencies in CSS can be a bit more abstract. Robin just wrote in our newsletter how the styling from certain classes (e.g. position: absolute
) can depend on the styling from other classes (e.g. position: relative
) and how that can be — at best — obtuse sometimes.
Design has dependencies too, especially in design systems. Nathan Curtis:
You release
icon
first, and then other components that depend on it later. Then,icon
adds minor features or suffers a breaking change. If you update icon, you can’t stop there. You must ripple that change through all of icon’s dependent in the library too.“If we upgrade and break a component, we have to go through and fix all the dependent components.”?—?Jony Cheung, Software Engineering Manager, Atlassian’s Atlaskit
The biggest changes happen with the smallest components.
Direct Link to Article — Permalink
The post Dealing with Dependencies Inside Design Systems appeared first on CSS-Tricks.