JSer.info #782 - TypeScript 7.1 Betaがリリースされました。
Ambient ModulesでのImport Attributes、import source/import.source()に対応しています。
--target es2026/--lib es2026が追加され、Promise.allKeyedなどの型定義も追加されています。
また、typescript/sync/typescript/asyncなどの新しいAPI、埋め込みコードを扱うContent Mappersが追加されています。
Node.js 26.13.0がリリースされ、Node.js 26系がコードネームLithiumとしてLTSに移行しました。
Node.js 26系は2029年4月末までサポートされます。
Node.js 25以降のLinux公式バイナリはlibatomicにリンクされており、古いLTSからの更新時には別途インストールが必要になる場合があります。
また、Node.js 27 Alphaがリリースされました。
Node.js 27からは、リリーススケジュールが変更されています。
メジャーリリースは年2回から年1回となり、奇数・偶数の区別なく各メジャーバージョンがLTSへ移行します。
6か月のAlpha、6か月のCurrentを経て、30か月のLTSとしてサポートされます。
Node.js 27は、2027年4月にCurrent、同年10月にLTSへ移行する予定です。
V8 15.6へアップデートされ、Math.sumPrecise()/Iterator.zip()などに対応しています。
破壊的変更として、ヒープ上限の既定値が変更されています。
Buffer/ArrayBufferのメモリもヒープ上限に算入されます。
v8.serialize()の出力形式が変更され、旧バージョンでは読み込めなくなっています。
このほか、node:vfsのフラグが不要になり、環境変数へのアクセスを制御する--allow-env、実験的なnet/promises APIが追加されています。
Safari 27.1がリリースされました。
iPhone Duo向けにDevice Posture APIとViewport Segments APIを、機能フラグ付きで試験的にサポートしています。
device-postureメディアクエリやnavigator.devicePostureで折りたたみ状態を取得できます。
また、window.viewport.segmentsやCSS環境変数で画面の分割領域を取得できます。
ヘッドライン
Announcing TypeScript 7.1 Beta - TypeScript
devblogs.microsoft.com/typescript/announcing-typescript-7-1-beta/
TypeScript 7.1 Betaリリース。
Ambient ModulesにおけるImport Attributesをサポート、import source/import.source()に対応。
--target es2026/--lib es2026を追加、Promise.allKeyedなどの型定義を追加。
typescript/sync/typescript/asyncなどの新しいAPI、埋め込みコードを扱うContent Mappersを追加など
Nuxt 4.6 · Nuxt Blog
Nuxt v4.6.0リリース。
同梱のNuxt CLI v4でnuxt initを削除し、npm create nuxt@latestに統一。
サーバー処理の共通APIとなるnuxt/server、runtimeConfig.appSecretとセッション管理APIを追加。
experimental.routeTypedFetchで$fetch/useFetchの型推論を刷新し、型チェックのパフォーマンスを改善。
Vue Vaporとの相互運用、createUseFetch/createUseAsyncDataのaddons、実験的な@nuxt/vite-serverを追加。
my-badによる開発時のエラー表示、nuxt devの対話パネル、nuxt curl/nuxt taskコマンドを追加など
Node.js — 2026年10月21日(水)セキュリティリリース
nodejs.org/en/blog/vulnerability/october-2026-security-releases
Node.js 22.23.4/24.22.1/26.12.1のセキュリティリリース。
重要度Highを含む10件の脆弱性を修正。
dns.resolveでのNUL文字による名前の切り詰め、TLS証明書のホスト名検証の回避、Brotliデコーダーの領域外書き込みを修正。
crypto.randomUUID()とcrypto.randomInt()の乱数キャッシュがスナップショットに保存される問題を修正。
fs.realpathSyncによるPermission Modelの回避などを修正。
また、c-ares/Undici/OpenSSL/SQLiteなどの依存関係を更新。
WebKit Features for Safari 27.1 | WebKit
webkit.org/blog/18486/webkit-features-for-safari-27-1/
Safari 27.1リリース。
iPhone Duo向けにDevice Posture APIとViewport Segments APIを機能フラグ付きで試験的にサポート。
device-postureメディアクエリやnavigator.devicePostureで折りたたみ状態を取得できる。
window.viewport.segmentsやCSS環境変数で画面の分割領域を取得できる。
Release v10.0.0-beta.0 · TypeStrong/ts-loader
github.com/TypeStrong/ts-loader/releases/tag/v10.0.0-beta.0
ts-loader v10.0.0-beta.0リリース。
TypeScript 7.1以上/Node.js 22以上を必須とし、コンパイル処理をtypescript/sync APIへ移行。
compilerOptions/context/happyPackModeなどのローダーオプションを削除している。
Release vite-plus v1.4.0 · voidzero-dev/vite-plus
github.com/voidzero-dev/vite-plus/releases/tag/v1.4.0
Vite+ 1.4.0リリース。
vpxでTypeScript/JavaScriptファイルの実行と--watchによる監視に対応、vp migrateでtsxからの移行をサポート。
vp check --deny-warnings、レジストリのチームを管理するvp pm teamを追加。
グローバルCLIの依存関係をリリースごとのロックファイルからインストールするように変更など
Node.js — Node.js 26.13.0 (LTS)
nodejs.org/en/blog/release/v26.13.0
Node.js v26.13.0リリース。
Node.js 26系がコードネームLithiumとしてLTSに移行し、2029年4月末までサポートされる。
Node.js 25以降のLinux公式バイナリはlibatomicにリンクされており、古いLTSからの更新時には別途インストールを必要とする場合がある。
Node.js — Node.js 27.0.0-alpha.0.0.0 (Alpha)
nodejs.org/en/blog/release/v27.0.0-alpha.0.0.0
Node.js v27.0.0-alpha.0.0.0リリース。
破壊的変更として、ヒープ上限の既定値を変更し、Buffer/ArrayBufferのメモリも上限に算入するように変更。
v8.serialize()の出力形式を変更し、旧バージョンでの読み込みに非対応となる。
V8 15.6へアップデートとMath.sumPrecise()/Iterator.zip()などをサポート。
node:vfsのフラグなしに変更、環境変数へのアクセスを制御する--allow-envを追加、実験的なnet/promises APIの追加など
Release v1.0.0 · dy/jz
github.com/dy/jz/releases/tag/v1.0.0
JavaScriptをWebAssemblyにコンパイルするJZ v1.0.0リリース。
Release v1.65.0 · microsoft/playwright
github.com/microsoft/playwright/releases/tag/v1.65.0
Playwright v1.65.0リリース。
破壊的変更として、TypeScriptのクラスフィールドがuseDefineForClassFieldsに従うように変更、クリックなどの操作でinertの解除を待つように変更。
Cookieの照合をRFC 6265に合わせ、APIRequestContextのparamsを既存のクエリに追記するように変更。
bunx --bun playwright testでBun上でのテスト実行に対応、failuresレポーターとonlyFailuresオプションを追加。
テストを単独で実行するlock: '-exclusive-'、cdpSession.send()のtimeout/signalオプションを追加など
アーティクル
Unload event deprecated in Chrome | Blog | Chrome for Developers
developer.chrome.com/blog/unload-deprecated-in-chrome
Chrome 155でunloadイベントの非推奨化が完了し、デフォルトでは発火しなくなった。
イベントの信頼性やBFCacheへの影響、段階的な適用の経緯について解説している。
Permissions PolicyやChrome Enterpriseの設定によるオプトアウトは引き続き利用できる。
Rebuilding the global town square from scratch
blog.x.com/en/engineering/rebuilding-the-global-town-square-from-scratch
X.comのWebアプリを再構築した背景と移行方法について。
React/Relay/Fastifyなどを使い、利用者/検索クローラー/リンクプレビュー向けに分かれていた3つのサーバーを統合。
Streaming HTML、GraphQLレスポンスの再利用、JavaScriptの分割や読み込み順序の調整によるパフォーマンス改善。
AIコーディングエージェントを使った開発と、既存サーバーを仕様として利用するテスト、国ごとの段階的な移行についても解説している。
サイト、サービス、ドキュメント
Add streaming HTML insertion methods by noamr · Pull Request #12758 · whatwg/html
github.com/whatwg/html/pull/12758?overview=true
HTMLをストリーミングで解析し、DOMへ段階的に挿入するAPIをHTML仕様に。
Element.streamHTML()/streamAppendHTML()などがWritableStreamを返し、Streamへ書き込まれたHTML文字列をHTMLとして挿入する。
危険な要素や属性を除去するメソッドと、除去を既定で行わないUnsafe版を用意する。
ソフトウェア、ツール、ライブラリ関係
vercel-labs/tsc-ts: TypeScript written in TypeScript
TypeScript-Go(tsgo)をTypeScriptに移植した実験的なコンパイラ。
scriptcを使ってネイティブコードにコンパイルし、npmパッケージとして配布している。
tsc-ts -p tsconfig.jsonでプロジェクトをコンパイルでき、--apiで標準入出力を使うAPIサーバーとしても動作する。
obsidianmd/pele: Renders Mermaid diagrams faster than you'd run from a volcano! 🌋
MermaidのダイアグラムをSVGに変換するライブラリ。依存がなく、CSS変数による色やフォントの変更、図の種類ごとの読み込みや遅延読み込みに対応している。
mount()でブラウザの要素に描画し、コンテナの幅に合わせてレイアウトを調整できる。
