Fork me on GitHub

2025-03-12のJS: React Aria March 5, 2025、Firefox 136.0、TypeScriptコンパイラをGoに移植

Edit on GitHub 編集履歴を見る

JSer.info #728 - React Aria March 5, 2025リリースされました

Toast/Tree/Virtualizerコンポーネントを追加、AutocompleteをMenu/Selectなどと組み合わせて利用できるようになりました。
また、<Pressable>/<Focusable>の追加、usePressのリファクタリングなどが含まれています。
その他には、ドキュメントをTailwind v4に対応など


Firefox 136.0リリースされました

HTMLのautocorrect属性をサポート、Intl.DurationFormatのサポート、Data URLsの最大サイズを32MBからChromeと同じ512MBに変更されています。
Cookie Storage APIのサポート、HTTPS-Firstに変更されています。
実験的な機能として、Error.captureStackTrace()のサポート、Clear-Site-Dataヘッダのサポート、SVGの<discard>要素のサポートなどが含まれています。


TypeScriptコンパイラのGo言語へのポートの計画が公開されました。

TypeScriptの型チェックやLSPのパフォーマンスを改善するために、TypeScriptコンパイラをGo言語へポートするという計画が公開されました。
移植したnative版をTypeScript 7としてリリースする予定で、native版が安定するまではJS版もメンテナンスしていく予定となっています。
TypeScript 7が出たあとも、移行の問題がなくなるまでJS版をメンテして、99.99%はそのまま移行できることを目指しているようです。

"Why a port instead of a rewrite? What's the difference? · microsoft/typescript-go · Discussion #410"
https://github.com/microsoft/typescript-go/discussions/411

なぜ書き直しではなく移植を選んだのかについては、TypeScriptコンパイラのコードベースのサイズの大きさや、TypeScriptは仕様があるわけではなくリファレンス実装のみであるという理由などが挙げらています。

Why Go? #411
https://github.com/microsoft/typescript-go/discussions/411

Goを選んだ理由として、GCがあることやセマンティクスとコードの構造がJSと似ているため、移植性が高いという理由が挙げられています。

C#はOOP言語なので、既存のTypeScriptコンパイラのコードを移植するには、構造を変更する必要があるため選択肢にするのが難しかったという話がされています。
また、TypeScriptコンパイラはGCなどに依存しているため、Rustなどの言語は選択肢にするのが難しかったという話もされています。
書き直しであれば、最初からGC/循環参照グラフに依存しないような構造にしていたなどの話もされています。

まだ、具体的なリリーススケジュールは未定ですが、基本的には移行がスムーズに行えるようにすることを目指しているようです。


JSer.infoをサポートするには

JSer.info Sponsors

JSer.info SponsorsGitHub SponsorsとしてJSer.infoを支援してくれている方々です。


ヘッドライン


March 5, 2025 Release – React Spectrum Releases

react-spectrum.adobe.com/releases/2025-03-05.html

React library ReleaseNote

React Aria March 5, 2025リリース。
Toast/Tree/Virtualizerコンポーネントを追加、AutocompleteをMenu/Selectなどと組み合わせて利用できるように。
<Pressable>/<Focusable>の追加、
usePressのリファクタリング。
ドキュメントをTailwind v4に対応など


Electron 35.0.0 | Electron

www.electronjs.org/blog/electron-35-0

Electron ReleaseNote

Electron 35.0.0リリース。
Chromium 134/Node.js 22.14.0/V8 13.5へアップデート、Service Worker Preload Scriptsのサポートなど


Release v3.16.0 · nuxt/nuxt

github.com/nuxt/nuxt/releases/tag/v3.16.0

Vue library ReleaseNote

Nuxt.js v3.16.0リリース。
create-nuxtパッケージの追加、パフォーマンスの改善、delayed/lazy hydrationのサポートなど


Release pnpm 10.6 · pnpm/pnpm

github.com/pnpm/pnpm/releases/tag/v10.6.0

pnpm ReleaseNote

pnpm v10.6.0リリース。
.npmrcの設定を全てpnpm-workspace.yamlに記述できるように


Release v1.51.0 · microsoft/playwright

github.com/microsoft/playwright/releases/tag/v1.51.0

playwright ReleaseNote

playwright v1.51.0リリース。
browserContext.storageState()がIndexedDBをサポート、filter({ visible })を追加、expect(page).toHaveURL(fn)をサポート。
LLM向けのCopy promptをレポーターに追加など


Release @ark-ui/[email protected] · chakra-ui/ark

github.com/chakra-ui/ark/releases/tag/%40ark-ui%2Freact%405.0.0

React Vue Solid library ReleaseNote

Ark UI v5リリース。
パフォーマンスとBundle Sizeの改善、コンポーネントにデフォルト値を指定するオプションの追加など


Firefox 136.0, See All New Features, Updates and Fixes

www.mozilla.org/en-US/firefox/136.0/releasenotes/

Firefox ReleaseNote

Firefox 136リリース。
HTMLのautocorrect属性をサポート、Intl.DurationFormatのサポート、Data URLsの最大サイズを32MBからChromeと同じ512MBに変更。
Cookie Storage APIのサポート、HTTPS-Firstに変更。
実験的な機能として、Error.captureStackTrace()のサポート、Clear-Site-Dataヘッダのサポート、SVGの<discard>要素のサポートなど


Bun v1.2.5 | Bun Blog

bun.sh/blog/bun-v1.2.5

Bun ReleaseNote

Bun v1.2.5リリース。
Node-APIとの互換性の改善、node:timersの追加、Bun.CSRFの追加。
dev serverがsvelteをサポート、CSS modulesのサポートなど


アーティクル


A 10x Faster TypeScript - TypeScript

devblogs.microsoft.com/typescript/typescript-native-port/

TypeScript article performance

TypeScriptの型チェックやLSPのパフォーマンスを改善するために、TypeScriptコンパイルやLSPなどのツールをGo言語へポートするという話。
移植したnative版をTypeScript 7としてリリースする予定で、native版が安定するまではJS版もメンテナンスしていく予定。


Split Route Modules | Remix

remix.run/blog/split-route-modules

React article

React Router v7.2.0で追加されたSplit Route Modulesについて。


ソフトウェア、ツール、ライブラリ関係


microsoft/typescript-go: Staging repo for development of native port of TypeScript

github.com/microsoft/typescript-go

TypeScript golang Tools

TypeScriptをGo言語にポートした実装。
型チェック以外は並行に処理できる。型チェックはいくつかのブロックに分けて処理するようになっている。


Pikku - A Function-First Framework for Node.js | Pikku

pikku.dev/

TypeScript library server

TypeScriptで書かれたウェブフレームワーク。
ただの関数としてハンドラーなどを定義できる。TypeScriptのコードからJSONスキーマを生成してバリデーションを行え、クライアントコードも自動的に生成される


この記事へ修正リクエストをする
JSer.info Slackに参加する