|
| 1 | +--- |
| 2 | +title: "2024-05-19のJS: Remix + React Router = React Router、State of HTML 2023" |
| 3 | +author: "azu" |
| 4 | +layout: post |
| 5 | +date: 2024-05-19T14:15:49.809Z |
| 6 | +category: JSer |
| 7 | +tags: |
| 8 | +- React |
| 9 | +- Angular |
| 10 | +- nodejs |
| 11 | +- Next.js |
| 12 | +- safari |
| 13 | + |
| 14 | +--- |
| 15 | + |
| 16 | +JSer.info #693 - 次の記事では、Remix v3はReact Router v7としてリリースする予定という話が紹介されています。 |
| 17 | + |
| 18 | +- [Merging Remix and React Router | Remix](https://remix.run/blog/merging-remix-and-react-router) |
| 19 | + |
| 20 | +RemixとReact Routerは、Viteとサーバ以外はほぼ同等の機能になってきています。 |
| 21 | +そのため、React RouterをRemixにマイグレーションするのではなく、React RouterをアップデートするだけでRemixの機能を使えるようにしたいという話が書かれています。 |
| 22 | +既存のRemixアプリは、import先のパッケージを`react-router`に変更するだけで動く予定とのことです。 |
| 23 | + |
| 24 | +この意思決定の詳細は、Xでも書かれています。 |
| 25 | + |
| 26 | +- https://x.com/ryanflorence/status/1791479313939976313 |
| 27 | + |
| 28 | +React Routerの安定化のために、Remix自体の開発は少しの間止まるとのことですが、 |
| 29 | +今後Remixプロジェクトとしての予定があるそうです。 |
| 30 | + |
| 31 | +--- |
| 32 | + |
| 33 | +State of HTML 2023の結果が公開されました。 |
| 34 | + |
| 35 | +- [State of HTML 2023](https://2023.stateofhtml.com/en-US/) |
| 36 | + |
| 37 | +HTMLの要素や属性、Web Components、アクセシビリティ、課題や欲しい機能についてのアンケート結果がまとめられています。 |
| 38 | + |
| 39 | +---- |
| 40 | + |
| 41 | +{% include inline-support.html %} |
| 42 | + |
| 43 | +---- |
| 44 | + |
| 45 | +<h1 class="site-genre">ヘッドライン</h1> |
| 46 | + |
| 47 | +---- |
| 48 | + |
| 49 | +## WebKit Features in Safari 17.5 | WebKit |
| 50 | +[webkit.org/blog/15383/webkit-features-in-safari-17-5/](https://webkit.org/blog/15383/webkit-features-in-safari-17-5/ "WebKit Features in Safari 17.5 | WebKit") |
| 51 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">safari</span> <span class="jser-tag">ReleaseNote</span></p> |
| 52 | + |
| 53 | +Safari 17.5の変更点について。 |
| 54 | +CSSの`text-wrap: balance`、`light-dark()`、`@starting-style`、`@import <url> supports(<feature>)`のサポート。 |
| 55 | +AV1 for WebCodecsのサポートなど |
| 56 | + |
| 57 | + |
| 58 | +---- |
| 59 | + |
| 60 | +## Firefox 126.0, See All New Features, Updates and Fixes |
| 61 | +[www.mozilla.org/en-US/firefox/126.0/releasenotes/](https://www.mozilla.org/en-US/firefox/126.0/releasenotes/ "Firefox 126.0, See All New Features, Updates and Fixes") |
| 62 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Firefox</span> <span class="jser-tag">ReleaseNote</span></p> |
| 63 | + |
| 64 | +Firefox 126リリース。 |
| 65 | +zstdをサポート、CSSの`zoom`プロパティをサポート、`URL.parse()`をサポート、 Screen Wake Lock APIをサポート。 |
| 66 | +Custom ElementのCustomStateSetと`:state()`擬似クラスをサポートなど |
| 67 | + |
| 68 | +- [Firefox 126 for developers - Mozilla | MDN](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/126 "Firefox 126 for developers - Mozilla | MDN") |
| 69 | + |
| 70 | +---- |
| 71 | + |
| 72 | +## Node.js — Node v22.2.0 (Current) |
| 73 | +[nodejs.org/en/blog/release/v22.2.0](https://nodejs.org/en/blog/release/v22.2.0 "Node.js — Node v22.2.0 (Current)") |
| 74 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">ReleaseNote</span></p> |
| 75 | + |
| 76 | +Node.js v22.2.0リリース。 |
| 77 | +fs.globが`withFileTypes`をサポート、`--inspect-wait=host:port`をサポート、`--experimental-policy`を削除。 |
| 78 | +`node:test`に`test.plan`メソッドの追加など |
| 79 | + |
| 80 | + |
| 81 | +---- |
| 82 | + |
| 83 | +## Release 8.1.0 · google/zx |
| 84 | +[github.com/google/zx/releases/tag/8.1.0](https://github.com/google/zx/releases/tag/8.1.0 "Release 8.1.0 · google/zx") |
| 85 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">ShellScript</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p> |
| 86 | + |
| 87 | +zx 8.1.0リリース。 |
| 88 | +ESMとCJSの両方をサポート、Node.js 12から22までサポート、Deno 1.xとの互換性のサポート。 |
| 89 | +`usePwsh()`の追加、`$.timeout`のサポート、`--cwd`フラグの追加など |
| 90 | + |
| 91 | + |
| 92 | +---- |
| 93 | + |
| 94 | +## Release v0.21.3 · evanw/esbuild |
| 95 | +[github.com/evanw/esbuild/releases/tag/v0.21.3](https://github.com/evanw/esbuild/releases/tag/v0.21.3 "Release v0.21.3 · evanw/esbuild") |
| 96 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">esbuild</span> <span class="jser-tag">ReleaseNote</span></p> |
| 97 | + |
| 98 | +esbuild v0.21.3リリース。 |
| 99 | +decorator metadata proposalのサポート |
| 100 | + |
| 101 | + |
| 102 | +---- |
| 103 | +<h1 class="site-genre">アーティクル</h1> |
| 104 | + |
| 105 | +---- |
| 106 | + |
| 107 | +## Merging Remix and React Router | Remix |
| 108 | +[remix.run/blog/merging-remix-and-react-router](https://remix.run/blog/merging-remix-and-react-router "Merging Remix and React Router | Remix") |
| 109 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">Remix</span> <span class="jser-tag">article</span></p> |
| 110 | + |
| 111 | +RemixはReact Router v7としてリリースする予定という話。 |
| 112 | +RemixとReact Routerは、Viteとサーバ以外はほぼ同等の機能になってきている。 |
| 113 | +そのため、React RouterをRemixにマイグレーションするのではなく、React RouterをアップデートするだけでRemixの機能を使えるようにしたいという話。 |
| 114 | +既存のRemixアプリは、import先のパッケージを`react-router`に変更するだけで動く予定という話。 |
| 115 | + |
| 116 | + |
| 117 | +---- |
| 118 | + |
| 119 | +## Angular 17 Update: Control Flow & App Builder Migration - ANGULARarchitects |
| 120 | +[www.angulararchitects.io/blog/angular-17-update-control-flow-app-builder-migration/](https://www.angulararchitects.io/blog/angular-17-update-control-flow-app-builder-migration/ "Angular 17 Update: Control Flow & App Builder Migration - ANGULARarchitects") |
| 121 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Angular</span> <span class="jser-tag">article</span></p> |
| 122 | + |
| 123 | +Angular 18が2024-05-20にリリースされるため、その前にAngular 17へアップデートしようという記事。 |
| 124 | +Angular 17では新しい制御フローやViteへの変更なども含まれていて、アップデート方法について。 |
| 125 | + |
| 126 | + |
| 127 | +---- |
| 128 | + |
| 129 | +## Introducing Firebase App Hosting |
| 130 | +[firebase.blog/posts/2024/05/introducing-app-hosting/](https://firebase.blog/posts/2024/05/introducing-app-hosting/ "Introducing Firebase App Hosting") |
| 131 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">firebase</span> <span class="jser-tag">Next.js</span> <span class="jser-tag">Angular</span> <span class="jser-tag">article</span></p> |
| 132 | + |
| 133 | +Firebase App Hostingについて。 |
| 134 | +設定なしでAngularとNext.jsをサポートするCloud Runベースのホスティングサービス |
| 135 | + |
| 136 | + |
| 137 | +---- |
| 138 | + |
| 139 | +## State of HTML 2023 |
| 140 | +[2023.stateofhtml.com/en-US/](https://2023.stateofhtml.com/en-US/ "State of HTML 2023") |
| 141 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">HTML</span> <span class="jser-tag">Survey</span></p> |
| 142 | + |
| 143 | +State of HTML 2023の結果が公開された。 |
| 144 | +HTMLの要素や属性、Web Components、アクセシビリティ、課題や欲しい機能についてのアンケート |
| 145 | + |
| 146 | + |
| 147 | +---- |
| 148 | + |
| 149 | +## Digging for SSRF in NextJS apps |
| 150 | +[www.assetnote.io/resources/research/digging-for-ssrf-in-nextjs-apps](https://www.assetnote.io/resources/research/digging-for-ssrf-in-nextjs-apps "Digging for SSRF in NextJS apps") |
| 151 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Next.js</span> <span class="jser-tag">security</span> <span class="jser-tag">article</span></p> |
| 152 | + |
| 153 | +Next.js 14.1.1で修正されたSSRFの脆弱性について。 |
| 154 | +Server Actionsで`redirect()`を使ったパスリダイレクトをしてるAPIがある場合に、Next.jsから任意のURLに対してGETリクエストした内容を取得できるSSRF脆弱性について |
| 155 | + |
| 156 | +- [Next.js Server-Side Request Forgery in Server Actions · CVE-2024-34351 · GitHub Advisory Database](https://github.com/advisories/GHSA-fr5h-rqp8-mj6g "Next.js Server-Side Request Forgery in Server Actions · CVE-2024-34351 · GitHub Advisory Database") |
| 157 | +- [azu/nextjs-CVE-2024-34351: poc](https://github.com/azu/nextjs-CVE-2024-34351 "azu/nextjs-CVE-2024-34351: poc") |
| 158 | + |
| 159 | +---- |
| 160 | + |
| 161 | +## Introducing the CSS anchor positioning API | Blog | Chrome for Developers |
| 162 | +[developer.chrome.com/blog/anchor-positioning-api](https://developer.chrome.com/blog/anchor-positioning-api "Introducing the CSS anchor positioning API | Blog | Chrome for Developers") |
| 163 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">CSS</span> <span class="jser-tag">article</span></p> |
| 164 | + |
| 165 | +CSS Anchor Positioning APIについて。 |
| 166 | +コンセプト、基本的な使い方、popover属性や`<dialog>`との組み合わせ、`@position-try`での代替の位置指定、スクロールとの組み合わせなど |
| 167 | + |
| 168 | + |
| 169 | +---- |
| 170 | + |
| 171 | +## React Compiler – React |
| 172 | +[react.dev/learn/react-compiler](https://react.dev/learn/react-compiler "React Compiler – React") |
| 173 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">babel</span> <span class="jser-tag">document</span></p> |
| 174 | + |
| 175 | +React Compilerが実験的に公開された。 |
| 176 | +Babelプラグインとして実装されていて、opt-inでの導入方法や`react-compiler-healthcheck`での互換性のチェック、ESLintプラグインについて書かれている |
| 177 | + |
| 178 | + |
| 179 | +---- |
| 180 | +<h1 class="site-genre">サイト、サービス、ドキュメント</h1> |
| 181 | + |
| 182 | +---- |
| 183 | + |
| 184 | +## Web Platform Status |
| 185 | +[webstatus.dev/](https://webstatus.dev/ "Web Platform Status") |
| 186 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">browser</span> <span class="jser-tag">webservice</span></p> |
| 187 | + |
| 188 | +ウェブプラットフォームのブラウザのステータスをまとめてるページ。 |
| 189 | +機能ごとのブラウザサポートの表示、検索などができる |
| 190 | + |
| 191 | + |
| 192 | +---- |
| 193 | +<h1 class="site-genre">ソフトウェア、ツール、ライブラリ関係</h1> |
| 194 | + |
| 195 | +---- |
| 196 | + |
| 197 | +## farzher/fuzzysort: Fast SublimeText-like fuzzy search for JavaScript. |
| 198 | +[github.com/farzher/fuzzysort](https://github.com/farzher/fuzzysort "farzher/fuzzysort: Fast SublimeText-like fuzzy search for JavaScript.") |
| 199 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">search</span> <span class="jser-tag">library</span></p> |
| 200 | + |
| 201 | +fuzzy searchライブラリ |
| 202 | + |
| 203 | + |
| 204 | +---- |
0 commit comments