【#も読】JS/TS、Go周辺の気になった話題10選 ー 2025年11月号 (@__syumai)のトップ画像

【#も読】JS/TS、Go周辺の気になった話題10選 ー 2025年11月号 (@__syumai)

投稿日時:
syumaiのアイコン

株式会社ベースマキナ / ソフトウェアエンジニア

syumai

Xアカウントリンク

はじめに

こんにちは!syumaiです。
久しぶりの投稿となりますが、2025年11月号として、9月上旬〜10月末頃に見かけて気になった、JavaScript/TypeScript(以下、JS/TS)、Go周辺の話題についてご紹介させていただきます!
まず、JS/TS関連の話題から紹介させていただくので、Goの話題が気になる方はページ下部の方からご覧ください!

JS/TSライブラリ・フレームワーク

Hono CLI

WebフレームワークのHonoが、なんとCLIツールをリリースしました。

このCLIツールは、Honoの使い方を調べたり、Honoアプリケーションのデバッグ、最適化などの機能を持っています。
なぜこのようなCLIツールをリリースしたのかというと、なんと、人だけではなくAIにも使ってもらうためとのことでした。
もちろん人が使っても便利なのですが、Honoの使い方を詳しく知らないコーディングエージェントに、このHono CLIを渡すことで、よりうまくHonoアプリケーションの開発を進めてもらうことが期待できるとのことです。
詳しくは、作者のyusukebeさんがZennに記事を書いてくださっているので、こちらをご覧ください。
https://zenn.dev/yusukebe/articles/ff69c13ccafb28


Next.js MCP Server

10月21日に、Next.js 16がリリースされました。

注目すべき点はいくつもあると思いますが、今回は1点に絞って、新しく追加された「Next.js MCP Server」に焦点を当ててみます。
https://nextjs.org/docs/app/guides/mcp

Next.jsの提供するMCPサーバーには2種類あり、1つはビルトインの「Next.js MCP Server」、もう1つは外部パッケージとして作られている「Next DevTools MCP」です。
Next.js MCP Serverはアプリケーションの内部状態、ビルドエラー、ランタイムエラー、開発ログなどの情報へのアクセスを提供し、Next DevTools MCPは、Next.jsの使い方や、Playwright MCPと統合されたブラウザテストの機能などを提供します。

これって何かに似ていませんか…?そう、ちょっとHono CLIに似ていますね!
コーディングエージェントにうまくWebフレームワークを使ってもらうためのツール提供という文脈で、Hono CLIも、Next.js公式のMCPサーバーも捉えることができると思っています。

Claude Code、Codex CLIをはじめ、コーディングエージェントによる開発の流れが盛り上がっているところなので、もしかしたら、同様に各Webフレームワークやライブラリの作者が、それらをうまく使ってもらうためのCLIツールやMCPサーバーを作って提供するのがトレンドになるかもしれないですね!


React

ここ1ヶ月ほどで、React周辺でいくつか大きな話題がありました。

いずれも、React Blogの日本語翻訳版記事が公開されていたので、そちらのリンクを示させていただきました。
React 19.2の解説はどなたか他の方にお願いするとして、ここではReact Foundationについて取り上げます。

React Foundationは、Meta以外のコントリビューターを含む企業からなる団体で、初期メンバーは、Amazon、Callstack、Expo、Meta、Microsoft、Software Mansion、Vercelとなります。
そして、React、React NativeのプロジェクトはReact Foundationに移管されるとのことです。
この動きは、Reactの強い“Meta依存”から脱却し、複数の企業やコミュニティからなるプロジェクトとして成長させていくために必要なもののようです。React Confのイベント運営もReact Foundationで行っていくそうです。
すでに多くの企業のプロダクトの基盤として浸透しているReactが、より長く使われていくことに貢献することは間違いないと思いますので、とても歓迎できる話だと思いました。

今年のReact Confについては、先ほどリンクを紹介した公式ブログの振り返り記事をご覧いただければと思います。また、re-taroさんの書いたブログがとてもよくまとまっていたので、こちらもご紹介させていただきます。
https://blog.re-taro.dev/p/01K72ECG97DYRTNSG7CB6KB6J9


Cap’n Web

これは、個人的にとても面白いと思ったので紹介させていただきます。Cap’n Webは、Cloudflareがリリースした、新しい、TypeScriptによるRPCプロトコルとその実装です。

TypeScriptによるRPC実装といえば、かの有名なComlinkがありますが、Cap’n Webはより高度なアプリケーションを実装するための機能を備えています。
例えば、RPC経由で取得したデータの配列をmapして、さらにそれに関連したデータを取得するような、ラウンドトリップが多く発生してしまうRPC呼び出しを、遅延処理することでまとめて行う仕組みを持っています。
また、構造化複製アルゴリズムによって送受信できる種類の値以外に、Map、Set、Request、Responseなどをサポートする計画があるそうです。
個人的に、Sandbox間のRPC呼び出しの実装が必要になるシーンが多いので、Cap’n Webには期待しています。

JS/TSツールチェーン

Vite+

ツールチェーン周りで一番話題になったのは、間違いなくVite+でしょう。

これは、Vite、Vitest、Rolldown、Oxcを開発しているVoidZeroが発表した、統合型のCLIツールです。
Vite+では、Viteにもともと存在する vite devvite build といったコマンドに加え、Vitest、Oxlintなどを取り込み、 vite testvite lint などが使えるようになります。
筆者はこれを聞いて、かつてのRome (現Biome) を思い出しました。1つのCLIツールを中心に、JS/TSによる開発に関するあらゆる作業を行えるというのは、魅力的に感じる方も多いのではないでしょうか?

Vite+が特徴的なのは、その機能だけではなく、料金体系が設定されていることです。オープンソース、非商用などでは無料で使えますが、スタートアップ、エンタープライズでは使用に料金がかかります。
これまで、VoidZeroがどうやってマネタイズを行っていくのかは謎に包まれていましたが、Vite+のアナウンスによって、ついにその形が見えてきたという状況となります。
気になる方は、ぜひVite+のサイトから、early access版に申し込んでみてください!


Oxfmt

VoidZeroが、Oxcのプロジェクト配下で、Oxfmtというフォーマッタの開発を進めているそうです。

Evan You氏の投稿によると、Biomeの2~3倍、Prettierの45倍速く、Vite+に vite fmt コマンドとして取り込まれる予定とのことです。
また、Oxfmtは、Prettierのフォーマット形式との適合性を重視して作られており、PrettierからBiomeに切り替える場合よりも少ないdiffで済むとのことです。
Oxfmtはまだ一般的に利用可能とのアナウンスが行われていませんが、実装が進んでいるとのことで、期待が高まってきています。


Oxlint JS Plugins Preview

OxlintのプラグインをJavaScriptで書く機能のプレビュー版がリリースされました。

BiomeのLinterでは、GritQLというクエリ言語でプラグインを実装できます。GritQLは慣れれば書きやすいという評判ですが、日常的にJS/TSを書いているソフトウェアエンジニアにとって、正直なところ十分に親しみやすいとは言えず、どうしてもキャッチアップコストが発生してしまいます。Biomeでも、JavaScriptでプラグインを実装する機能の議論が行われている状況ではありますが、今回、Oxlintが一足先にJavaScriptによるプラグイン機構を公開した形となります。

筆者の肌感として、今のところはBiomeのLinterの方が採用事例数では優勢という状況ではないかと思いますが、この機能が完成した暁には、ESLintからの乗り換え先として、Oxlintも有力な選択肢として挙げられやすくなるのではないでしょうか?

Go

Go 1.25のリリース

8月12日と、少々前の話題ですが、Goの新しいバージョンがリリースされています。
Goのリリースサイクルは今ではほぼ固定されていて、基本的には半年ごとに新しいバージョンがリリースされるようになっています。
8月のリリースが無事行われたので、次はGo 1.26が来年の2月にリリースされる見込みとなります。

今回、特に話題になっているのは、試験的に導入された新しいガベージコレクタと、同じく試験的に導入されたパッケージである encoding/json/v2 だと思います。
詳細が気になる方は、ciaranaさんがまとめてくださっているので、以下の記事をご覧ください。
Go1.25 New Features

また、こちらもciaranaさんが紹介されていたものですが、Anton Zhiyanovさんという方が、承認されたGoのプロポーザルを1つずつ紹介する記事をブログに書き始めています。
Go 1.26のリリース前に、最新情報にキャッチアップしていきたい方は、こちらを参考にしてみてはいかがでしょうか?
https://antonz.org/tags/accepted/


errors.AsTypeのプロポーザル承認

errors.As をジェネリックにする、 errors.AsType のプロポーザルが承認されました。
https://github.com/golang/go/issues/51945#issuecomment-3335716708

従来、エラーをUnwrapして特定の種類のエラー型として扱うには、事前に欲しい型のエラー変数を宣言してからerrors.Asを使うという流れになっていましたが、 errors.AsType を使うことで事前の変数宣言が不要になり、より簡潔に記述できるようになります。
以下に、プロポーザルに記載のDescriptionを参考に、具体的な使い方を紹介させていただきます。

err := foo()
// errors.AsTypeを使う例
if err != nil {
	// AsTypeにハンドリングしたいエラーの型を渡す
	if myErr, ok := errors.AsType[*MyError](err); ok {
		// handle myErr
	}
}

// 従来のerrors.Asを使う例
if err != nil {
	// Asにハンドリングしたいエラー型の変数のポインタを渡す
	var myErr *MyError
	if errors.As(err, &myErr) {
		// handle myErr
	}
}

MCP公式Go SDKのv1.0.0がリリース

MCP公式Go SDKのv1.0.0がリリースされました。mcp-goなどのサードパーティの人気ライブラリなどもありましたが、ついに公式SDKが安定したということなので、今後はこちらを使っていくのがよさそうです。

筆者も実際に、MCP公式のGo SDKを使ったMCPサーバーを、Cloudflare Workersにデプロイするサンプルを作成してみました。Goの構造体を使ったMCPツールのスキーマ定義など、非常にシンプルで使いやすかったです。
https://github.com/syumai/mcp/tree/3b8a0b2dacc9fb97b122c40bce297ef6320d524d/cloudflare-go-mcp-example

おわりに

少々入り切らなかった部分もありましたが、2025年9月〜10月頃にあった気になった話題について、大まかにご紹介できたと思います。
引き続き、JS/TS、Go周りの話題をご紹介させていただきますので、よろしくお願いします!