chore: Break circular dependency between themes' color palettes - #4837
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Refactors the style-dictionary color palette sources to eliminate an import cycle between the core and visual-refresh theme palette modules, which could cause build-order-dependent failures.
Changes:
- Extracted shared base
paletteTokensinto a new leaf module (style-dictionary/core/palette-values.ts). - Updated visual-refresh and one-theme palette consumers to import base palette values from the new leaf module instead of
core/color-palette. - Removed the one-theme workaround side-effect import that previously forced a specific evaluation order.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| style-dictionary/visual-refresh/colors.ts | Switches base palette import to the new leaf core/palette-values module. |
| style-dictionary/visual-refresh/color-palette.ts | Switches brand palette source to core/palette-values to avoid the prior cycle. |
| style-dictionary/one-theme/index.ts | Removes the now-unnecessary side-effect import used to work around the import cycle. |
| style-dictionary/one-theme/color-palette.ts | Switches brand palette source to core/palette-values while still layering on visual-refresh tokens. |
| style-dictionary/core/palette-values.ts | New leaf module containing the shared base palette token values. |
| style-dictionary/core/color-palette.ts | Imports paletteTokens from the new leaf module while keeping existing exports intact. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
jperals
marked this pull request as ready for review
July 27, 2026 10:38
jperals
requested review from
a team,
georgylobko and
pan-kot
and removed request for
a team and
pan-kot
July 27, 2026 10:38
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4837 +/- ##
=======================================
Coverage 97.62% 97.62%
=======================================
Files 956 956
Lines 31012 31012
Branches 11410 11409 -1
=======================================
Hits 30277 30277
- Misses 688 728 +40
+ Partials 47 7 -40 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
jperals
enabled auto-merge
July 27, 2026 11:13
georgylobko
approved these changes
Jul 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
style-dictionary/core/color-palette.tsandstyle-dictionary/visual-refresh/color-palette.tswere importing from each other. This would cause a build failure depending on the particular import order, so it didn't break on Github but it broke internally.Fix this by refactoring the reused Core code into a new leaf file (
palette-values.ts).How has this been tested?
Review checklist
The following items are to be evaluated by the author(s) and the reviewer(s).
Correctness
CONTRIBUTING.md.CONTRIBUTING.md.Security
checkSafeUrlfunction.Testing
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.