JSer.info #781 - CloudflareによるDenoの買収が発表されました。
- Deno is joining Cloudflare | Deno
- The state of Deno after the Cloudflare announcement · Issue #37030 · denoland/deno
Denoランタイムは1年間の不具合修正・セキュリティ更新を行った後、Denoチームによる開発を終了するとしています。
Deno Deployは6か月後に終了し、JSRはCloudflareへ移行して継続するとしています。
今後はWorkersとDurable Objectsのプラットフォームに注力し、rusty_v8は引き続きサポートしてworkerdへの統合を進める予定としています。
TanStack Start 1.0がリリースされました。
TanStack Startは、TanStack Routerを基盤とするReact/Solid向けのフルスタックフレームワークです。
SSRとストリーミング、型付きサーバ関数のcreateServerFn、実行環境ごとに処理を切り替えるcreateIsomorphicFnを提供しています。
Bun 1.4.3がリリースされました。
TypeScriptの型チェックを行うbun checkが追加され、bun run --check/bun test --check/bun build --checkに対応しています。
また、--disallow-code-generation-from-stringsによる文字列からのコード生成の禁止、bun build --compile --bytecode-orderに対応しています。
Panda CSS 2.0がリリースされました。
Panda CSS 2.0では、ESMのみとなりNode.js 22以上が必要になり、hooksがpluginsへ移動しています。
また、コンパイラがRustとOxcで書き直され、panda libとdesignSystemによるデザインシステムの配布に対応しています。
そのほか、viewTransition()/firstThatWorks()/keyframes()/positionTry()、panda doctor/panda analyze/panda debugが追加されています。
ヘッドライン
Preact 11 – Preact
Preact 11.0.0リリース。
破壊的な変更として、.mjsのESM配布のみとなりCommonJS/UMDバンドルを削除、render()の第3引数を削除。
Hydration 2.0、Object.isによるHook引数の比較、refをデフォルトで転送するように変更しforwardRefを不要に、createPortalのcoreへの追加など。
Next.js 16.4 | Next.js
Next.js 16.4リリース。
create-next-appでCache Componentsがデフォルトで有効化、ensureStatic/navigation()/prefetch()を追加。
next upgrade --agentとexperimental.agentUpgrade、experimental.agentFeedbackを追加。
Turbopackのディスクキャッシュ削減、Lazy server HMR、Turbopackの共有Runtime。
CSS Modulesでproductionビルドでは短いクラス名で生成するように変更、React 19.3への更新など。
Panda CSS 2.0 | Panda CSS Blog - Panda CSS
panda-css.com/blog/panda-css-v2
Panda CSS 2.0リリース。
ESMのみとなりNode.js 22以上が必要、hooksをpluginsへ移動。
createStyleContextをcreateSlotRecipeContext/createRecipeContextへ分割。
RustとOxcでコンパイラを書き直し、panda libとdesignSystemによるデザインシステムの配布に対応。
viewTransition()/firstThatWorks()/keyframes()/positionTry()を追加。
panda doctor/panda analyze/panda debug、ESLintプラグインを正式サポートなど
Node.js — Node.js 26.11.0 (Current)
nodejs.org/en/blog/release/v26.11.0
Node.js v26.11.0リリース。
isLatin1/Buffer.stringLength()、http.isValidHeaderName()/http.isValidHeaderValue()を追加。
http2のconnectionWindowSize、histogram.diff()/histogram.snapshot()、--process-timeout=Nを追加。
process.ref()/process.unref()がStable化、npm 11.20.0へ更新など。
Release 3.0.0 · qunitjs/qunit
github.com/qunitjs/qunit/releases/tag/3.0.0
QUnit 3.0.0リリース。
Node.js 16以下/PhantomJS/AMD向けビルトインexport/QUnit.load()などを削除。
ネイティブESM配布、before/afterフックのmodule context、QUnit.config.reporters.htmlを追加。
デフォルトのテストタイムアウトを3秒に変更、HTML Reporterのデザイン刷新など。
Bun v1.4.3 | Bun Blog
Bun v1.4.3リリース。
TypeScriptの型チェックを行うbun checkを追加し、bun run --check/bun test --check/bun build --checkに対応。
--disallow-code-generation-from-stringsによる文字列からのコード生成の禁止に対応、bun build --compile --bytecode-orderのサポートなど
Deno is joining Cloudflare | Deno
CloudflareがDenoを買収。
Denoランタイムは1年間の不具合修正・セキュリティ更新を行った後、Denoチームによる開発を終了する、Deno Deployは6か月後に終了、JSRはCloudflareへ移行して継続する。
今後はWorkersとDurable Objectsのプラットフォームに注力し、rusty_v8は引き続きサポートしてworkerdへの統合を進める予定。
TanStack Start 1.0 is Stable | TanStack Blog
tanstack.com/blog/tanstack-start-1-0
TanStack Start 1.0リリース。
TanStack Routerを基盤とするReact/Solid向けのフルスタックフレームワーク。
SSR/ストリーミング、型付きサーバ関数のcreateServerFn、実行環境ごとに処理を切り替えるcreateIsomorphicFnを提供する。
Release v5.3.0 · expressjs/express
github.com/expressjs/express/releases/tag/v5.3.0
Express 5.3.0リリース。
Content-Dispositionのファイル名の引用符を省略する条件を変更、res.send()で既存のContent-Typeパラメーターを保持するように変更。
req.freshがQUERYメソッドに対応、デフォルトのエラーハンドラーがError.causeを含むエラー全体をログに出力。
Release v1.0.0 · QwikDev/partytown
github.com/QwikDev/partytown/releases/tag/v1.0.0
Partytown v1.0.0リリース。
サードパーティスクリプトをWeb Workerで実行するライブラリ。
アーティクル
Responsive iframes in Chrome 154 | Blog | Chrome for Developers
developer.chrome.com/blog/responsive-iframes?hl=en
Chrome 154で追加されたレスポンシブなiframeの解説記事。
frame-sizing: content-heightで、埋め込み先の内容に合わせてサイズ調整できる。
埋め込まれる側のresponsive-embedded-sizingメタタグ、window.requestResize()、Cross-Origin対応についても解説している。
Scrolling is All You Need: Building a Swipeable Sheet | React Aria
react-aria.adobe.com/blog/sheet
React Ariaのスワイプ操作で閉じられるSheetコンポーネントの実装について。
CSS Scroll Snapとview-timelineを使い、JavaScriptでタッチイベントを処理せずにスワイプ操作と連動したアニメーションを実現する。
途中の位置で停止するスナップポイント、シートの重ね合わせ、ソフトウェアキーボードへの対応についても解説している。
サイト、サービス、ドキュメント
tester-army/e2e: Next generation e2e testing framework for web and mobile apps.
Webとモバイルアプリ向けのE2Eテストフレームワーク。
自然言語で書いた手順をエージェントが実行し、LocatorとAssertionで結果を検証できる。
WebはPlaywright経由でChromium/Firefox/WebKit、モバイルはiOS/Androidに対応している。
tarwin/tinyjsapp: Build native apps in JS. Backend, frontend. ~5Mb.
txiki.jsとOSネイティブのWebViewを使ってデスクトップアプリを作るツール。
バックエンドはJavaScriptで書き、フロントエンドはHTML/CSS/JSをOSのWebViewで表示する。
tinyjs new/tinyjs dev/tinyjs buildなどのCLI、メニュー/通知/トレイ/ドラッグアンドドロップなどのネイティブ機能を提供する。
ソフトウェア、ツール、ライブラリ関係
rauchg/gdp-ts
github.com/rauchg/gdp-ts/tree/main
TypeScript向けのGhosts of Departed Proofsを実装するライブラリ。
name()で値にコンパイル時の名前を付け、defineProof()で認可チェックの結果を型として扱い、関数側で_proof引数を受け取って認可チェック済みの型かをチェックする。
