feat: refactor illustrations package#675
Open
adrienzheng-cb wants to merge 2 commits into
Open
Conversation
Collaborator
🟡 Heimdall Review Status
🟡
|
| Code Owner | Status | Calculation | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ui-systems-eng-team |
🟡
0/1
|
Denominator calculation
|
b0f36ff to
92e2b0f
Compare
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.
What changed? Why?
1. Migrate — Moves existing CJS wrapper files from the old flat layout to the new nested layout, updating the manifest paths:
svgJs/light/→svgJs/cjs/light/svgJs/dark/→svgJs/cjs/dark/svgJs/themeable/→svgJs/cjs/themeable/2. Backfill — For any illustration that has a raw
svg/themeable/*.svgon disk but is missing its JS wrappers, it reads the SVG content and writes the missing files:svgJs/cjs/themeable/<name>-<version>.js(module.exports = { content: \...` }`)svgJs/esm/themeable/<name>-<version>.js(export default \...``)After writing the wrappers (or if they already existed), it deletes the raw
.svgfile and removessvgThemedfrom the manifest — since the SVG content is now embedded in the JS wrappers and the raw file is no longer needed.3. Regenerate maps — For every illustration type that had any changes, it regenerates:
svgJsMap.ts— maps each illustration name to{ light, dark, themeable? }lazy CJS loaderssvgEsmMap.ts— maps each illustration name to{ themeable }lazy ESM dynamic imports (only for items that have a themeable variant)4. Remove — Removed files in
svg/themeable/Root cause (required for bugfixes)
UI changes
Testing
How has it been tested?
Testing instructions
Illustrations/Icons Checklist
Required if this PR changes files under
packages/illustrations/**orpackages/icons/**Change management
type=routine
risk=low
impact=sev5
automerge=false