Tracked in DEVEX-624 · Project: Workspaces webview + UI library
Create the shared component library package. Mostly boilerplate + foundations; no components yet.
Scope
- New
packages/ui (React + TS), wired like existing packages (vite, tsconfig, catalog deps, Storybook via @repo/storybook-utils)
tokens.css: semantic token names mapped to --vscode-* variables (single place to theme-match VS Code, incl. high contrast)
- Move
useVscodeTheme from packages/webview-shared into packages/ui (re-export from webview-shared for existing consumers during transition)
package.json shaped for a future standalone NPM split: no workspace:* runtime deps, react as peer dependency, proper exports map (JS, tokens.css, codicon assets)
Out of scope
- Any actual components (follow-up issues)
Acceptance
packages/ui builds, typechecks, and renders a trivial story in Storybook with tokens applied
- Package has zero runtime deps besides
react (peer) at this stage
Tracked in DEVEX-624 · Project: Workspaces webview + UI library
Create the shared component library package. Mostly boilerplate + foundations; no components yet.
Scope
packages/ui(React + TS), wired like existing packages (vite,tsconfig, catalog deps, Storybook via@repo/storybook-utils)tokens.css: semantic token names mapped to--vscode-*variables (single place to theme-match VS Code, incl. high contrast)useVscodeThemefrompackages/webview-sharedintopackages/ui(re-export fromwebview-sharedfor existing consumers during transition)package.jsonshaped for a future standalone NPM split: noworkspace:*runtime deps,reactas peer dependency, properexportsmap (JS,tokens.css, codicon assets)Out of scope
Acceptance
packages/uibuilds, typechecks, and renders a trivial story in Storybook with tokens appliedreact(peer) at this stage