FormidableLabs / FormidableLabs/react-live

Support for JSX automatic runtime

Abierto
#405 1 comentario 1 reacción 0 asignados Ver en GitHub
Lenguaje dominante
TypeScript
Estrellas
4.6k
Forks
260
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

### Is there an existing issue for this?

- [X] I have searched the existing issues

### Code of Conduct

- [X] I agree to follow this project's Code of Conduct

### Feature Request

```markdown
When upgrading Docusaurus to React 19, I noticed some warnings in documentation pages containing React-Live playgrounds

It turns out React 19 has a new warning in dev mode:

VM59912:5 Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform Error Component Stack
at Hello ()
at ErrorBoundary (eval at ../node_modules/react-live/dist/index.mjs (vendors-node_modules_parse-numeric-range_index_js-node_modules_react-live_dist_index_mjs-node-bdedd5.js:338:1), :161:10)
at div ()
at LivePreview (eval at ../node_modules/react-live/dist/index.mjs (vendors-node_modules_parse-numeric-range_index_js-node_modules_react-live_dist_index_mjs-node-bdedd5.js:338:1), :331:29)
at ErrorBoundary (eval at ../packages/docusaurus/lib/client/exports/ErrorBoundary.js (main.js:1021:1), :29:9)
at BrowserOnly (eval at ../packages/docusaurus/lib/client/exports/BrowserOnly.js (__comp---theme-blog-post-pageccc-cab.js:488:1), :19:24)
at Preview ()
```

By default, React-Live is using Sucrase to transform the code, but there's no ability to customize the JSX runtime (classic by default).

An option to turn on the automatic runtime would be welcome to get rid of this warning.

---

To be honest, I'm not 100% sure why there is a warning, considering `React.createElement` is considered fine although not optimal according to the linked page.

> Note
> The functions inside react/jsx-runtime and react/jsx-dev-runtime must only be used by the compiler transform. If you need to manually create elements in your code, you should keep using React.createElement. It will continue to work and is not going away.

In any case, it looks future proof to support the automatic runtime in this lib

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza siguiendo la ruta de transformación de Sucrase de React-Live, centrándote en cómo se compila JSX actualmente y dónde se exponen las opciones de transformación. Añade compatibilidad para seleccionar el runtime automático de JSX de React y verifica después que React 19 ya no reporte la advertencia sobre la transformación obsoleta de JSX en los playgrounds en vivo.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
react, typescript
Área
frontend
Tipo de issue
Nueva funcionalidad
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Activo
Claridad
Bastante claro
Aptitud para principiantes
65/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.