Skip to content

feat: refactor illustrations package#675

Open
adrienzheng-cb wants to merge 2 commits into
masterfrom
adrien/refactor-illustrations
Open

feat: refactor illustrations package#675
adrienzheng-cb wants to merge 2 commits into
masterfrom
adrien/refactor-illustrations

Conversation

@adrienzheng-cb
Copy link
Copy Markdown
Contributor

@adrienzheng-cb adrienzheng-cb commented May 12, 2026

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/*.svg on disk but is missing its JS wrappers, it reads the SVG content and writes the missing files:

  • CJS wrapper → svgJs/cjs/themeable/<name>-<version>.js (module.exports = { content: \...` }`)
  • ESM wrapper → svgJs/esm/themeable/<name>-<version>.js (export default \...``)

After writing the wrappers (or if they already existed), it deletes the raw .svg file and removes svgThemed from 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 loaders
  • svgEsmMap.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

iOS Old iOS New
old screenshot new screenshot
Android Old Android New
old screenshot new screenshot
Web Old Web New
old screenshot new screenshot

Testing

How has it been tested?

  • Unit tests
  • Interaction tests
  • Pseudo State tests
  • Manual - Web
  • Manual - Android (Emulator / Device)
  • Manual - iOS (Emulator / Device)

Testing instructions

Illustrations/Icons Checklist

Required if this PR changes files under packages/illustrations/** or packages/icons/**

  • verified visreg changes with Terran (include link to visreg run/approval)
  • all illustration/icons names have been reviewed by Dom and/or Terran

Change management

type=routine
risk=low
impact=sev5

automerge=false

@cb-heimdall
Copy link
Copy Markdown
Collaborator

cb-heimdall commented May 12, 2026

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 1
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1
CODEOWNERS 🟡 See below

🟡 CODEOWNERS

Code Owner Status Calculation
ui-systems-eng-team 🟡 0/1
Denominator calculation
Additional CODEOWNERS Requirement
Show calculation
Sum 0
0
From CODEOWNERS 1
Sum 1

@adrienzheng-cb adrienzheng-cb force-pushed the adrien/refactor-illustrations branch from b0f36ff to 92e2b0f Compare May 12, 2026 20:45
@github-actions github-actions Bot added the root label May 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

2 participants