Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,243 @@
---
title: "2026-06-22のJS: TypeScript 7.0 RC、Babel 8.0.0、React Router v8"
author: "azu"
layout: post
date: 2026-06-22T13:14:54.573Z
category: JSer
tags:
- TypeScript
- babel
- React
- ECMAScript
- nodejs

---

JSer.info #774 - TypeScript 7.0 RCがリリースされました。

- [Announcing TypeScript 7.0 RC - TypeScript](https://devblogs.microsoft.com/typescript/announcing-typescript-7-0-rc/)

Go言語へ移植されたコンパイラが`typescript@rc`として公開され、既存の`@typescript/typescript6`と併用できるようになっています。
`--checkers`/`--builders`/`--singleThreaded`オプションや、`--watch`の改善が追加されています。
また、`strict`/`module`/`target`などのデフォルト値が変更されているほか、`target: es5`や`baseUrl`などのオプションが削除されています。

---

Babel 8.0.0がリリースされました。

- [Releasing Babel 8 today: ESM-only, drop ES5 default, and a smooth migration path · Babel](https://babeljs.io/blog/2026/06/16/8.0.0/)
- [Upgrade to Babel 8 (API) · Babel](https://babeljs.io/docs/v8-migration-api/)

ESMのみで配布されるようになり、Node.js 24以降が必須となる破壊的変更を含みます。
`@babel/preset-env`はデフォルトでES5へコンパイルしなくなり、Browserslistのデフォルト設定(ES2023相当)をターゲットとするように変更されています。
`loose`/`spec`オプションは削除され、`assumptions`への移行が推奨されています。
`corejs`/`useBuiltIns`オプションも削除され、代わりに`babel-plugin-polyfill-corejs3`プラグインの利用が推奨されています。
Babel 7は2027年6月までセキュリティサポートが継続されます。

---

React Router v8がリリースされました。

- [React Router v8 | Remix](https://remix.run/blog/react-router-v8)

Node.js 22.22.0以上/React 19.2.7以上/Vite 7以上が最小サポートバージョンとなり、ESMのみの配布へ変更されています。
`future.v8_middleware`/`future.v8_viteEnvironmentApi`などのFuture Flagがデフォルトで有効化されています。
`react-router-dom`、meta APIの`data`引数、`@react-router/dev/vite/cloudflare`などが削除されています。
React Router v6とRemix v2はEOLとなり、今後はReact Router v7にセキュリティ更新のみが提供されます。

----
{% include inline-support.html %}

----

<h1 class="site-genre">ヘッドライン</h1>

----

## Dependabot version updates now support the Deno ecosystem - GitHub Changelog
[github.blog/changelog/2026-06-09-dependabot-version-updates-now-support-the-deno-ecosystem/](https://github.blog/changelog/2026-06-09-dependabot-version-updates-now-support-the-deno-ecosystem/ "Dependabot version updates now support the Deno ecosystem - GitHub Changelog")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">GitHub</span> <span class="jser-tag">deno</span> <span class="jser-tag">npm</span> <span class="jser-tag">package</span> <span class="jser-tag">Actions</span> <span class="jser-tag">news</span></p>

Dependabotのversion updatesがDenoエコシステムに対応した。


----

## Bytecode Alliance — WASI 0.3 Launched
[bytecodealliance.org/articles/WASI-0.3](https://bytecodealliance.org/articles/WASI-0.3 "Bytecode Alliance — WASI 0.3 Launched")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">WebAssembly</span> <span class="jser-tag">ReleaseNote</span></p>

WASI 0.3リリース。
WebAssembly Component Modelのネイティブ機能として非同期処理が組み込まれ、`stream<T>`/`future<T>`/`async`がCanonical ABIに追加された。
WASI 0.2では各コンポーネントが独自のイベントループを持つ必要があったが、ホストが共有イベントループを管理する設計へと変更された。
従来の`start-foo`/`finish-foo`/`subscribe`パターンが`async func`に置き換わり、ストリームのエラーハンドリングも独立した`future`で扱えるようになった。


----

## Biome v2.5—500 Lint Rules, Plugin Code Fix, and Cross-File Linting | Biome
[biomejs.dev/blog/biome-v2-5/](https://biomejs.dev/blog/biome-v2-5/ "Biome v2.5—500 Lint Rules, Plugin Code Fix, and Cross-File Linting | Biome")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">biome</span> <span class="jser-tag">ReleaseNote</span> <span class="jser-tag">ESLint</span> <span class="jser-tag">css</span></p>

Biome v2.5リリース。
CSSのクラスをファイル横断で解析するLintルール`noUndeclaredClasses`/`noUnusedClasses`を追加。
GritQLプラグインがファイルパスごとの適用と`=>`によるコードフィックスをサポート。
Formatterに`delimiterSpacing`オプションの追加、`lint`/`format`/`check`での`--watch`サポート。
Language Serverのgo-to-definition対応、AI Agent向けの`concise`レポーターの追加など。


----

## Releasing Babel 8 today: ESM-only, drop ES5 default, and a smooth migration path · Babel
[babeljs.io/blog/2026/06/16/8.0.0/](https://babeljs.io/blog/2026/06/16/8.0.0/ "Releasing Babel 8 today: ESM-only, drop ES5 default, and a smooth migration path · Babel")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">babel</span> <span class="jser-tag">ReleaseNote</span> <span class="jser-tag">ECMAScript</span> <span class="jser-tag">nodejs</span> <span class="jser-tag">polyfill</span></p>

Babel 8.0.0リリース。
ESMのみで配布されるようになり、Node.js 24以降が必須となる破壊的変更を含む。
`@babel/preset-env`がデフォルトでES5へコンパイルしなくなり、Browserslistのデフォルト設定(ES2023相当)をターゲットとするように変更。
`loose`/`spec`オプションを削除し、`assumptions`への移行を推奨。
`corejs`/`useBuiltIns`オプションを削除し、`babel-plugin-polyfill-corejs3`プラグインの利用を推奨。
すべてのパッケージにTypeScriptの型定義を追加。多くのASTの変更を含む。
Babel 7は2027年6月までセキュリティサポートを継続する。

- [Upgrade to Babel 8 (API) · Babel](https://babeljs.io/docs/v8-migration-api/ "Upgrade to Babel 8 (API) · Babel")

----

## pnpm 11.7 | pnpm
[pnpm.io/blog/releases/11.7](https://pnpm.io/blog/releases/11.7 "pnpm 11.7 | pnpm")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">pnpm</span> <span class="jser-tag">ReleaseNote</span></p>

pnpm 11.7リリース。
読み取り専用ファイルシステム上のストアに対応する`frozenStore`設定、同一レジストリURL配下でのスコープ別認証トークンの指定に対応。
依存関係の解決をRust実装のPacquetを使うようになるなど


----

## Release v1.61.0 · microsoft/playwright
[github.com/microsoft/playwright/releases/tag/v1.61.0](https://github.com/microsoft/playwright/releases/tag/v1.61.0 "Release v1.61.0 · microsoft/playwright")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">playwright</span> <span class="jser-tag">testing</span> <span class="jser-tag">ReleaseNote</span></p>

playwright v1.61.0リリース。
`browserContext.credentials`でWebAuthnのpasskeyを扱えるように。
`page.localStorage`/`page.sessionStorage`でWeb Storageを読み書きするAPIを追加。
`apiResponse.securityDetails()`/`apiResponse.serverAddr()`、`artifactsDir`オプション、`-G`オプションを追加。


----

## React Router v8 | Remix
[remix.run/blog/react-router-v8](https://remix.run/blog/react-router-v8 "React Router v8 | Remix")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">ReleaseNote</span></p>

React Router v8リリース。
Node.js 22.22.0+/React 19.2.7+/Vite 7+が最小サポートバージョンとなり、ESMのみの配布へ変更。
`future.v8_middleware`/`future.v8_viteEnvironmentApi`などのFuture Flagをデフォルト化。
`react-router-dom`、meta APIの`data`引数、`@react-router/dev/vite/cloudflare`を削除。
React Router v6とRemix v2はEOLとなり、今後はReact Router v7にセキュリティ更新を提供する。


----

## News from WWDC26: WebKit in Safari 27 beta | WebKit
[webkit.org/blog/17967/news-from-wwdc26-webkit-in-safari-27-beta/](https://webkit.org/blog/17967/news-from-wwdc26-webkit-in-safari-27-beta/ "News from WWDC26: WebKit in Safari 27 beta | WebKit")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">safari</span> <span class="jser-tag">browser</span> <span class="jser-tag">ReleaseNote</span> <span class="jser-tag">css</span> <span class="jser-tag">JavaScript</span></p>

Safari 27 betaリリース。
CSSの`appearance: base-select`による`<select>`のカスタマイズ、Scroll Anchoring、`position-anchor: normal`などを追加。
JavaScriptはTop-Level Awaitの問題を修正、WebAssembly JSPIをサポート。
Web APIはService Worker Static Routing API、`ReadableStream.from()`、Streamの`postMessage()`転送をサポートなど。


----

## Announcing TypeScript 7.0 RC - TypeScript
[devblogs.microsoft.com/typescript/announcing-typescript-7-0-rc/](https://devblogs.microsoft.com/typescript/announcing-typescript-7-0-rc/ "Announcing TypeScript 7.0 RC - TypeScript")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">ReleaseNote</span> <span class="jser-tag">go</span></p>

TypeScript 7.0 RCリリース。
Goへ移植されたコンパイラを`typescript@rc`で公開、`@typescript/typescript6`との併用に対応。
`--checkers`/`--builders`/`--singleThreaded`、`--watch`の改善を追加。
`strict`/`module`/`target`などのデフォルト値の変更、`target: es5`/`baseUrl`などの削除などを含む


----
<h1 class="site-genre">アーティクル</h1>

----

## Upcoming breaking changes for npm v12 - GitHub Changelog
[github.blog/changelog/2026-06-09-upcoming-breaking-changes-for-npm-v12/](https://github.blog/changelog/2026-06-09-upcoming-breaking-changes-for-npm-v12/ "Upcoming breaking changes for npm v12 - GitHub Changelog")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">npm</span> <span class="jser-tag">security</span> <span class="jser-tag">CLI</span> <span class="jser-tag">article</span></p>

npm v12で予定されている破壊的変更の解説。2026年7月リリース予定のnpm v12では、サプライチェーン攻撃対策として、ライフサイクルスクリプトの実行が変更される。
preinstall/install/postinstallなどのスクリプトがデフォルトで実行されなくなり、`npm approve-scripts`で承認したパッケージのみ実行される。
`--allow-git`/`--allow-remote`のデフォルトが`none`となり、Git依存やリモートURLからの依存解決が明示的な許可なしでは行われなくなる。


----

## Why pnpm no longer expands environment variables in a repository&#039;s .npmrc | pnpm
[pnpm.io/blog/2026/06/11/env-variables-in-repository-npmrc](https://pnpm.io/blog/2026/06/11/env-variables-in-repository-npmrc "Why pnpm no longer expands environment variables in a repository&#039;s .npmrc | pnpm")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">pnpm</span> <span class="jser-tag">security</span> <span class="jser-tag">npm</span> <span class="jser-tag">article</span></p>

悪意あるリポジトリで`.npmrc`を使って環境変数が盗まれる問題への対策として、pnpmがリポジトリ管理の`.npmrc`で環境変数を展開しなくなった経緯の解説。
v10.34.2/v11.5.3以降、リポジトリ内の`.npmrc`や`pnpm-workspace.yaml`の認証情報やレジストリURLに含まれる`${...}`は展開されなくなった。
ユーザーレベルの`~/.npmrc`や `PNPM_CONFIG_NPMRC_AUTH_FILE` で指定されている`.npmrc`では引き続き展開される。

- [CAND-PNPM-122: Repository config can expand victim environment secrets into registry requests before scripts run · Advisory · pnpm/pnpm](https://github.com/pnpm/pnpm/security/advisories/GHSA-3qhv-2rgh-x77r "CAND-PNPM-122: Repository config can expand victim environment secrets into registry requests before scripts run · Advisory · pnpm/pnpm")

----

## Introducing the MDN MCP server
[developer.mozilla.org/en-US/blog/introducing-mdn-mcp-server/](https://developer.mozilla.org/en-US/blog/introducing-mdn-mcp-server/ "Introducing the MDN MCP server")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">mdn</span> <span class="jser-tag">MCP</span> <span class="jser-tag">document</span> <span class="jser-tag">browser</span> <span class="jser-tag">AI</span> <span class="jser-tag">article</span></p>

MDN MCP serverについて
MCP経由でMDNの検索、ドキュメント、ブラウザ互換性データをLLMやエディタから参照できる。
実験的なサーバで、利用時のクエリデータを保存することについても説明している。


----
<h1 class="site-genre">サイト、サービス、ドキュメント</h1>

----

## Introducing eve - Vercel
[vercel.com/blog/introducing-eve](https://vercel.com/blog/introducing-eve "Introducing eve - Vercel")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">AI</span> <span class="jser-tag">TypeScript</span> <span class="jser-tag">library</span></p>

VercelによるAIエージェントフレームワークのEveについて。
`instructions.md`/`agent.ts`/`tools/`などのディレクトリ構成でエージェントを定義するフレームワーク。
Durable execution、Sandbox、Human-in-the-loop approvals、Subagents、Evalsなどを扱う

- [vercel/eve: The Framework for Building Agents](https://github.com/vercel/eve "vercel/eve: The Framework for Building Agents")

----

## Rust Roadmap · Issue #11633 · pnpm/pnpm
[github.com/pnpm/pnpm/issues/11633](https://github.com/pnpm/pnpm/issues/11633 "Rust Roadmap · Issue #11633 · pnpm/pnpm")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">pnpm</span> <span class="jser-tag">Rust</span> <span class="jser-tag">issue</span></p>

pnpmのRust実装であるPacquetのロードマップIssue。
resolveを必要としない`pacquet install --frozen-lockfile`から対応をしてから、resolveの対応を進める。
また`pnpm`とは`install-backend=pacquet`の設定で統合していく予定。


----
<h1 class="site-genre">ソフトウェア、ツール、ライブラリ関係</h1>

----

## nubjs/nub: The all-in-one Node.js toolkit
[github.com/nubjs/nub](https://github.com/nubjs/nub "nubjs/nub: The all-in-one Node.js toolkit")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">Rust</span> <span class="jser-tag">Tools</span></p>

Node.js向けのRust製ツールキット。
TypeScriptファイルや`package.json`のスクリプト実行、`nub install`で依存関係のインストールやパッケージ管理、`nub node`でNode.jsのバージョン管理ができる。
RuntimeとしてPolyfillなどを含めたNode.jsを利用し、内部的にはRustで書かれたパッケージマネージャであるaubeとOXCを利用している。

- [Nub — an all-in-one toolkit for Node.js](https://nubjs.com/ "Nub — an all-in-one toolkit for Node.js")

----