How do you deal with branches and component libraries?

I’d love to hear your thoughts and your workflows for people having the same situation as me.

In my company, we store components in two ways :

  • DS libraries, they contain the common components across the app
  • Team libraries, they contain components that are context specific (in a feature team) that we use multiple times

We use Figma branches of our master files for each new feature. Sometimes, these new features requires to update components that are in team libraries (to allow the new usecases we’re covering). This branch remains separate from the master branch until the feature is live.

However, to use updated components in your branch, you need to publish the library from the other files. By doing that, it will impact your master branch if someone update the library.

How do you deal with this type of situation?

1 Like

Hi @Floran, Thanks for reaching out about this!

​​While we wait for more insights from experienced members of our community, I’d like to share some resources with you. They may not be exactly what you’re looking for, but they could offer some insights:

I hope you find these resources useful. If anyone in our community has insights or suggestions, please feel free to share them here!

Thanks again for reaching out1

I’m not sure I’m following the initial question, but I [think] I have a similar issue.
For us, the only reason we are on Organization level is to have access to the branching feature.

So far, I’ve found branches to be unusable for libraries because I can find no way to publish branched variations. Since changes to libraries is our primary use case for branching, I’m finding branching to be essentially unhelpful.

For our purposes, the point of branching a component library is to test changes to existing library components. We can’t do this if we can’t access the branched library as a published library.

Ideally, for branching of a library to be useful, we would need to be able to go into an existing project that uses a library and choose to access the branched version of that library.

As best I can tell, that is not an option.

If branched versions of components can’t be published, I’m better off doing what I’ve always done which is to simply add temporary variants to a component, publish, test the new variant and then deprecate older variants if the new version is accepted.

Hopefully, I’m just missing something.

Thoughts?