FormidableLabs / FormidableLabs/react-live

Support for JSX automatic runtime

オープン
#405 コメント 1 件 リアクション 1 件 担当者 0 名 GitHub で見る
主要言語
TypeScript
スター
4.6k
フォーク
260
PR マージ指標
30日以内にマージされた PR はありません

説明

### 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

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

まず React-Live の Sucrase 変換パスを追跡し、現在 JSX がどのようにコンパイルされているか、また変換オプションがどこで公開されているかに注目してください。React の自動 JSX runtime を選択できるように対応し、その後、live playground で React 19 が古い JSX transform に関する警告を報告しなくなったことを確認してください。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
react, typescript
領域
frontend
issue の種類
機能追加
難易度
3/5
見積もり時間
1〜2日
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
65/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。