Skip to content

programs-react, pointers-react: support React 19 and shiki 3 - #374

Merged
gnidan merged 6 commits into
mainfrom
react19
Oct 9, 2026
Merged

gnidan merged 6 commits into
mainfrom
react19

Conversation

@gnidan

@gnidan gnidan commented Oct 9, 2026 •

Copy link
Copy Markdown
Member

Lets an app on React 19 and shiki 3 install and type-check @ethdebug/programs-react and @ethdebug/pointers-react. The react and react-dom peer ranges become ^18.0.0 || ^19.0.0, and programs-react's shiki, @shikijs/langs and @shikijs/themes ranges become ^2.5.0 || ^3.0.0. The monorepo itself, Docusaurus included, stays on React 18 and shiki 2.

Components annotated the global JSX.Element, which @types/react 19 removes; they now use React.JSX.Element, which both versions define (bugc-react too, though its peers stay on React 18 because react-flow-renderer v10 only supports up to 18).

New yarn check:react-consumers (and a CI job) packs the packages, installs them with plain npm install into a React 18 + shiki 2.5 and a React 19 + shiki 3 project, type-checks each with skipLibCheck: false, and bundles the highlighter without code splitting to assert it stays under 400 KB gzipped (about 285 KB now). That guards against importing every grammar and theme through shiki/langs and shiki/themes, which is the only route shiki 2.5 offers besides the per-package imports we keep.

The shiki ranges can resolve to different majors for shiki and the grammar and theme packages. The consumer check installs both mixes (shiki 2.5 with 3.x grammars and themes, and the reverse) and highlights Solidity with the theme in each, so the mix is covered.

@github-actions

github-actions Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-10-09 01:03 UTC

@gnidan
gnidan merged commit 0109507 into main Oct 9, 2026
9 checks passed
@gnidan
gnidan deleted the react19 branch October 9, 2026 00:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant