Skip to content

feat: restructure illustration package generated artifacts#670

Closed
adrienzheng-cb wants to merge 2 commits into
masterfrom
illustrations/05-10-2026
Closed

feat: restructure illustration package generated artifacts#670
adrienzheng-cb wants to merge 2 commits into
masterfrom
illustrations/05-10-2026

Conversation

@adrienzheng-cb
Copy link
Copy Markdown
Contributor

@adrienzheng-cb adrienzheng-cb commented May 10, 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)

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 10, 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 illustrations/05-10-2026 branch from b336a41 to 6d7b9ed Compare May 12, 2026 04:11
@github-actions github-actions Bot added the root label May 12, 2026
@adrienzheng-cb adrienzheng-cb changed the title feat: deploy themeable illustration svgs + sync illustrations feat: restructure illustration package generated artifacts 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