Skip to content

Version Packages - #420

Merged
ryan-roemer merged 1 commit into
masterfrom
changeset-release/master
Sep 23, 2026
Merged

ryan-roemer merged 1 commit into
masterfrom
changeset-release/master

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to master, this PR will be updated.

Releases

react-live@5.0.0

Major Changes

  • #418 be53ccd - Support React 19 type definitions, add an exports map, drop engines, and raise the
    output target.

    LivePreview's overloads referenced the global JSX namespace, which @types/react@19
    removed. Because those types are emitted into the published declarations, consumers on React
    19 types failed to compile. They now use React.JSX, which resolves under both
    @types/react@18 and @types/react@19.

    The package also gains an exports map with separate types for the ESM and CJS conditions.
    Filenames are unchanged from 4.1.x (dist/index.js, dist/index.mjs, dist/index.d.ts), so
    main, module, and types resolve exactly as before. Subpaths other than
    ./package.json are no longer importable; only the package root was ever documented.

    Output is now built for es2022 rather than es6, so the bundle may contain syntax such as
    optional chaining that previous releases transpiled away.

    The engines field is gone, along with the node: ">= 0.12.0" and npm: ">= 2.0.0" it
    declared. Both were years out of date, and neither constrained anything real: this is browser
    code, so the Node version that installs it has no bearing on whether it runs. npm will no
    longer print an engine warning against those bounds.

    None of this changes the public API -- same exports, same props, same react >=18 peer
    range -- but the exports map and the raised output target are enough that a major release
    is the honest way to ship them.

  • #421 004b007 - Type the live prop that withLive injects, instead of Record<string, unknown>.

    Wrapped components saw unknown for every key, so live.element could not be
    rendered and live.error could not be read without casting first. The prop now
    uses the same type the context is created with, which is the shape
    the docs
    have always described: code, error, element, onError, onChange.

    const Panel = withLive(({ live }) => {
      const Result = live.element; // was `unknown`, now a component
      return Result ? <Result /> : <pre>{live.error}</pre>;
    });

    Types only, with no runtime change. It is a narrowing, so a wrapped component
    that reads a key outside that shape off live will now fail to compile.

Patch Changes

  • #418 be53ccd - Forward the Editor prism prop to prism-react-renderer. It was typed but never passed through, so a custom Prism instance was silently ignored.

  • #418 be53ccd - Stop emitting React's __self and __source debug props from transpiled code.

    Sucrase adds these props to every element it compiles. They describe a source file, and there
    is no source file here -- the code comes from a live editor rather than from disk, so the
    filename sucrase emitted was always the empty string. React ignores both props, and React 19
    additionally treats __self as the signature of an outdated JSX transform, logging
    "Your app (or one of its dependencies) is using an outdated JSX transform" to the console of
    every page rendering a LiveProvider.

    Transpiling with sucrase's production option drops both props, and with them the
    _jsxFileName constant that the transform pipeline used to splice out and re-add solely to
    keep __source resolvable.

  • #418 be53ccd - Add getDerivedStateFromError to the internal error boundary, so a runtime error in live code no longer logs a React warning about it.

@vercel

vercel Bot commented Sep 22, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
react-live-docs-website Ready Ready Preview Sep 23, 2026 5:31pm UTC

Request Review

@ryan-roemer
ryan-roemer merged commit 876a2a9 into master Sep 23, 2026
5 checks passed
@ryan-roemer
ryan-roemer deleted the changeset-release/master branch September 23, 2026 18:14

This branch was successfully deployed

1 active deployment
Preview fa329134 Deployed Sep 23, 2026 by vercel[bot]
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