|
| 1 | +--- |
| 2 | +title: "2025-03-12のJS: React Aria March 5, 2025、Firefox 136.0、TypeScriptコンパイラをGoに移植" |
| 3 | +author: "azu" |
| 4 | +layout: post |
| 5 | +date: 2025-03-12T03:37:21.235Z |
| 6 | +category: JSer |
| 7 | +tags: |
| 8 | +- React |
| 9 | +- TypeScript |
| 10 | +- Vue |
| 11 | +- Electron |
| 12 | +- pnpm |
| 13 | + |
| 14 | +--- |
| 15 | + |
| 16 | +JSer.info #728 - React Aria March 5, 2025リリースされました |
| 17 | + |
| 18 | +- [March 5, 2025 Release – React Spectrum Releases](https://react-spectrum.adobe.com/releases/2025-03-05.html) |
| 19 | + |
| 20 | +Toast/Tree/Virtualizerコンポーネントを追加、AutocompleteをMenu/Selectなどと組み合わせて利用できるようになりました。 |
| 21 | +また、`<Pressable>`/`<Focusable>`の追加、`usePress`のリファクタリングなどが含まれています。 |
| 22 | +その他には、ドキュメントをTailwind v4に対応など |
| 23 | + |
| 24 | +--- |
| 25 | + |
| 26 | +Firefox 136.0リリースされました |
| 27 | + |
| 28 | +- [Firefox 136.0, See All New Features, Updates and Fixes](https://www.mozilla.org/en-US/firefox/136.0/releasenotes/) |
| 29 | +- [Firefox 136 for developers - Mozilla | MDN](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/136) |
| 30 | + |
| 31 | +HTMLの`autocorrect`属性をサポート、`Intl.DurationFormat`のサポート、Data URLsの最大サイズを32MBからChromeと同じ512MBに変更されています。 |
| 32 | +Cookie Storage APIのサポート、HTTPS-Firstに変更されています。 |
| 33 | +実験的な機能として、`Error.captureStackTrace()`のサポート、`Clear-Site-Data`ヘッダのサポート、SVGの`<discard>`要素のサポートなどが含まれています。 |
| 34 | + |
| 35 | +---- |
| 36 | + |
| 37 | +TypeScriptコンパイラのGo言語へのポートの計画が公開されました。 |
| 38 | + |
| 39 | +- [A 10x Faster TypeScript - TypeScript](https://devblogs.microsoft.com/typescript/typescript-native-port/) |
| 40 | + |
| 41 | +TypeScriptの型チェックやLSPのパフォーマンスを改善するために、TypeScriptコンパイラをGo言語へポートするという計画が公開されました。 |
| 42 | +移植したnative版をTypeScript 7としてリリースする予定で、native版が安定するまではJS版もメンテナンスしていく予定となっています。 |
| 43 | +TypeScript 7が出たあとも、移行の問題がなくなるまでJS版をメンテして、99.99%はそのまま移行できることを目指しているようです。 |
| 44 | + |
| 45 | +- https://github.com/microsoft/typescript-go |
| 46 | + |
| 47 | +> "Why a port instead of a rewrite? What's the difference? · microsoft/typescript-go · Discussion #410" |
| 48 | +> https://github.com/microsoft/typescript-go/discussions/411 |
| 49 | +
|
| 50 | +なぜ書き直しではなく移植を選んだのかについては、TypeScriptコンパイラのコードベースのサイズの大きさや、TypeScriptは仕様があるわけではなくリファレンス実装のみであるという理由などが挙げらています。 |
| 51 | + |
| 52 | +> Why Go? #411 |
| 53 | +> https://github.com/microsoft/typescript-go/discussions/411 |
| 54 | +
|
| 55 | +Goを選んだ理由として、GCがあることやセマンティクスとコードの構造がJSと似ているため、移植性が高いという理由が挙げられています。 |
| 56 | + |
| 57 | +- [TypeScript is being ported to Go | interview with Anders Hejlsberg - YouTube](https://www.youtube.com/watch?v=10qowKUW82U) |
| 58 | + |
| 59 | +C#はOOP言語なので、既存のTypeScriptコンパイラのコードを移植するには、構造を変更する必要があるため選択肢にするのが難しかったという話がされています。 |
| 60 | +また、TypeScriptコンパイラはGCなどに依存しているため、Rustなどの言語は選択肢にするのが難しかったという話もされています。 |
| 61 | +書き直しであれば、最初からGC/循環参照グラフに依存しないような構造にしていたなどの話もされています。 |
| 62 | + |
| 63 | +まだ、具体的なリリーススケジュールは未定ですが、基本的には移行がスムーズに行えるようにすることを目指しているようです。 |
| 64 | + |
| 65 | +---- |
| 66 | + |
| 67 | +{% include inline-support.html %} |
| 68 | + |
| 69 | +---- |
| 70 | + |
| 71 | +<h1 class="site-genre">ヘッドライン</h1> |
| 72 | + |
| 73 | +---- |
| 74 | + |
| 75 | +## March 5, 2025 Release – React Spectrum Releases |
| 76 | +[react-spectrum.adobe.com/releases/2025-03-05.html](https://react-spectrum.adobe.com/releases/2025-03-05.html "March 5, 2025 Release – React Spectrum Releases") |
| 77 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p> |
| 78 | + |
| 79 | +React Aria March 5, 2025リリース。 |
| 80 | +Toast/Tree/Virtualizerコンポーネントを追加、AutocompleteをMenu/Selectなどと組み合わせて利用できるように。 |
| 81 | +`<Pressable>`/`<Focusable>`の追加、 |
| 82 | +`usePress`のリファクタリング。 |
| 83 | +ドキュメントをTailwind v4に対応など |
| 84 | + |
| 85 | + |
| 86 | +---- |
| 87 | + |
| 88 | +## Electron 35.0.0 | Electron |
| 89 | +[www.electronjs.org/blog/electron-35-0](https://www.electronjs.org/blog/electron-35-0 "Electron 35.0.0 | Electron") |
| 90 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Electron</span> <span class="jser-tag">ReleaseNote</span></p> |
| 91 | + |
| 92 | +Electron 35.0.0リリース。 |
| 93 | +Chromium 134/Node.js 22.14.0/V8 13.5へアップデート、Service Worker Preload Scriptsのサポートなど |
| 94 | + |
| 95 | + |
| 96 | +---- |
| 97 | + |
| 98 | +## Release v3.16.0 · nuxt/nuxt |
| 99 | +[github.com/nuxt/nuxt/releases/tag/v3.16.0](https://github.com/nuxt/nuxt/releases/tag/v3.16.0 "Release v3.16.0 · nuxt/nuxt") |
| 100 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Vue</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p> |
| 101 | + |
| 102 | +Nuxt.js v3.16.0リリース。 |
| 103 | +`create-nuxt`パッケージの追加、パフォーマンスの改善、delayed/lazy hydrationのサポートなど |
| 104 | + |
| 105 | + |
| 106 | +---- |
| 107 | + |
| 108 | +## Release pnpm 10.6 · pnpm/pnpm |
| 109 | +[github.com/pnpm/pnpm/releases/tag/v10.6.0](https://github.com/pnpm/pnpm/releases/tag/v10.6.0 "Release pnpm 10.6 · pnpm/pnpm") |
| 110 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">pnpm</span> <span class="jser-tag">ReleaseNote</span></p> |
| 111 | + |
| 112 | +pnpm v10.6.0リリース。 |
| 113 | +`.npmrc`の設定を全て`pnpm-workspace.yaml`に記述できるように |
| 114 | + |
| 115 | + |
| 116 | +---- |
| 117 | + |
| 118 | +## Release v1.51.0 · microsoft/playwright |
| 119 | +[github.com/microsoft/playwright/releases/tag/v1.51.0](https://github.com/microsoft/playwright/releases/tag/v1.51.0 "Release v1.51.0 · microsoft/playwright") |
| 120 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">playwright</span> <span class="jser-tag">ReleaseNote</span></p> |
| 121 | + |
| 122 | +playwright v1.51.0リリース。 |
| 123 | +`browserContext.storageState()`がIndexedDBをサポート、`filter({ visible })`を追加、`expect(page).toHaveURL(fn)`をサポート。 |
| 124 | +LLM向けのCopy promptをレポーターに追加など |
| 125 | + |
| 126 | + |
| 127 | +---- |
| 128 | + |
| 129 | +## Release @ark-ui/react@5.0.0 · chakra-ui/ark |
| 130 | +[github.com/chakra-ui/ark/releases/tag/%40ark-ui%2Freact%405.0.0 ](https://github.com/chakra-ui/ark/releases/tag/%40ark-ui%2Freact%405.0.0 "Release @ark-ui/[email protected] · chakra-ui/ark") |
| 131 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">Vue</span> <span class="jser-tag">Solid</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p> |
| 132 | + |
| 133 | +Ark UI v5リリース。 |
| 134 | +パフォーマンスとBundle Sizeの改善、コンポーネントにデフォルト値を指定するオプションの追加など |
| 135 | + |
| 136 | + |
| 137 | +---- |
| 138 | + |
| 139 | +## Firefox 136.0, See All New Features, Updates and Fixes |
| 140 | +[www.mozilla.org/en-US/firefox/136.0/releasenotes/](https://www.mozilla.org/en-US/firefox/136.0/releasenotes/ "Firefox 136.0, See All New Features, Updates and Fixes") |
| 141 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Firefox</span> <span class="jser-tag">ReleaseNote</span></p> |
| 142 | + |
| 143 | +Firefox 136リリース。 |
| 144 | +HTMLの`autocorrect`属性をサポート、`Intl.DurationFormat`のサポート、Data URLsの最大サイズを32MBからChromeと同じ512MBに変更。 |
| 145 | +Cookie Storage APIのサポート、HTTPS-Firstに変更。 |
| 146 | +実験的な機能として、`Error.captureStackTrace()`のサポート、`Clear-Site-Data`ヘッダのサポート、SVGの`<discard>`要素のサポートなど |
| 147 | + |
| 148 | +- [Firefox 136 for developers - Mozilla | MDN](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/136 "Firefox 136 for developers - Mozilla | MDN") |
| 149 | + |
| 150 | +---- |
| 151 | + |
| 152 | +## Bun v1.2.5 | Bun Blog |
| 153 | +[bun.sh/blog/bun-v1.2.5](https://bun.sh/blog/bun-v1.2.5 "Bun v1.2.5 | Bun Blog") |
| 154 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Bun</span> <span class="jser-tag">ReleaseNote</span></p> |
| 155 | + |
| 156 | +Bun v1.2.5リリース。 |
| 157 | +Node-APIとの互換性の改善、`node:timers`の追加、`Bun.CSRF`の追加。 |
| 158 | +dev serverがsvelteをサポート、CSS modulesのサポートなど |
| 159 | + |
| 160 | + |
| 161 | +---- |
| 162 | +<h1 class="site-genre">アーティクル</h1> |
| 163 | + |
| 164 | +---- |
| 165 | + |
| 166 | +## A 10x Faster TypeScript - TypeScript |
| 167 | +[devblogs.microsoft.com/typescript/typescript-native-port/](https://devblogs.microsoft.com/typescript/typescript-native-port/ "A 10x Faster TypeScript - TypeScript") |
| 168 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">article</span> <span class="jser-tag">performance</span></p> |
| 169 | + |
| 170 | +TypeScriptの型チェックやLSPのパフォーマンスを改善するために、TypeScriptコンパイルやLSPなどのツールをGo言語へポートするという話。 |
| 171 | +移植したnative版をTypeScript 7としてリリースする予定で、native版が安定するまではJS版もメンテナンスしていく予定。 |
| 172 | + |
| 173 | + |
| 174 | +---- |
| 175 | + |
| 176 | +## Split Route Modules | Remix |
| 177 | +[remix.run/blog/split-route-modules](https://remix.run/blog/split-route-modules "Split Route Modules | Remix") |
| 178 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">article</span></p> |
| 179 | + |
| 180 | +React Router v7.2.0で追加されたSplit Route Modulesについて。 |
| 181 | + |
| 182 | + |
| 183 | +---- |
| 184 | +<h1 class="site-genre">ソフトウェア、ツール、ライブラリ関係</h1> |
| 185 | + |
| 186 | +---- |
| 187 | + |
| 188 | +## microsoft/typescript-go: Staging repo for development of native port of TypeScript |
| 189 | +[github.com/microsoft/typescript-go](https://github.com/microsoft/typescript-go "microsoft/typescript-go: Staging repo for development of native port of TypeScript") |
| 190 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">golang</span> <span class="jser-tag">Tools</span></p> |
| 191 | + |
| 192 | +TypeScriptをGo言語にポートした実装。 |
| 193 | +型チェック以外は並行に処理できる。型チェックはいくつかのブロックに分けて処理するようになっている。 |
| 194 | + |
| 195 | +- [A 10x faster TypeScript - YouTube](https://www.youtube.com/embed/pNlq-EVld70?si=OaEgTg6ROtfYDYLt "A 10x faster TypeScript - YouTube") |
| 196 | + |
| 197 | +---- |
| 198 | + |
| 199 | +## Pikku - A Function-First Framework for Node.js | Pikku |
| 200 | +[pikku.dev/](https://pikku.dev/ "Pikku - A Function-First Framework for Node.js | Pikku") |
| 201 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">library</span> <span class="jser-tag">server</span></p> |
| 202 | + |
| 203 | +TypeScriptで書かれたウェブフレームワーク。 |
| 204 | +ただの関数としてハンドラーなどを定義できる。TypeScriptのコードからJSONスキーマを生成してバリデーションを行え、クライアントコードも自動的に生成される |
| 205 | + |
| 206 | + |
| 207 | +---- |
0 commit comments