Frontend Weekly 2025-06-13
Oxlint v1.0の安定リリース、GitHub Pull Request リマインダーのSlack統合、GitHub App Manager のチーム付与、Node.js v24.2.0のimport.meta.main対応、VS Code 1.101リリース、ESLint 9.29.0の using declarations サポートについて、pnpm 10.12.1のGlobal Virtual Storeの追加について。
- # Oxlint v1.0 Stable リリース
- # GitHub Pull RequestのSlackリマインダー機能が強化
- # GitHub App Manager がチーム付与に対応
- # Node.js v24.2.0リリース、import.meta.main サポート
- # Visual Studio Code 1.101 リリース
- # Find-as-you-typeの制御とカスタムメニュー対応
- # Source Control Graph viewでのファイル表示対応
- # 言語サーバーによるターミナル内Pythonの補完
- # WindowsでのPowerShellシェル環境検出
- # ESLint 9.29.0リリース、using declarations サポート
- # pnpm 10.12.1リリース、実験的なGlobal Virtual Storeの追加
Oxlint v1.0 Stable リリース
日付:2025年6月10日
Rust製のJavaScript/TypeScript linterであるOxlintがついに安定版v1.0をリリース。ESLintと比較して50~100倍の高速化を実現し、500以上のルールをサポート。設定不要のゼロコンフィグで即座に利用開始でき、VS Code、IntelliJ、Zedエディターでの完全サポートも提供。Shopify、Airbnb、Mercedes-Benzなどの主要企業で採用済み。
npx oxlint@latest
既存のESLintプロジェクトからの移行が支援されており、oxlint-migrate
で設定を自動移行できる。またeslint-plugin-oxlint
でESLintルールの重複を無効化し、併用することも可能。加えて、設定ファイル.oxlintrc.json
はESLintと同様にflat config形式を採用。
GitHub Pull RequestのSlackリマインダー機能が強化
日付:2025年6月11日
GitHub Pull Requestのスケジュールリマインダー機能が強化され、より詳細な制御と明確性を提供。SlackとMicrosoft Teamsでのリマインダー受信をより精密に管理可能に。
最大20件のPRを最大5つのリポジトリから条件に基づいてリマインダーとして受信できる。リポジトリ選択は手動で行うか、組織内で最も古い平均PR年数を持つ5つのリポジトリを自動選択することも可能。
以前の「全リポジトリ」オプションでは、どのリポジトリがリマインダーに含まれるかが不明確だった。今回のアップデートでリポジトリ選択がより透明化され、注意が必要なPull Requestの優先順位付けと管理が容易に。
出展:Gain more control and clarity with scheduled reminders for pull requests
参考:Managing scheduled reminders for your organization
GitHub App Manager がチーム付与に対応
日付:2025年6月9日
GitHubのApp Managerロールがチーム割り当てをサポートし、標準的な組織ロールに変換された。組織設定とAPIで管理され、チームを特定またはすべてのGitHub Appのアプリマネージャーとして割り当て可能に。
App Managerロール自体に変更はなく、組織が所有する1つまたはすべてのGitHub Appの表示、編集、削除権限を提供。組織ロールとして割り当てられた場合、新しいGitHub Appの作成権限も含む。
出展:GitHub App Manager can now be granted to teams
Node.js v24.2.0リリース、import.meta.main サポート
日付:2025年6月9日
Node.js v24.2.0がリリースされ、import.meta.main
プロパティをサポート。ESモジュールで現在のモジュールがプロセスのエントリポイントかを判定できるブール値を提供。CommonJSのrequire.main === module
と同等の機能をESモジュールで実現。
import.meta.main
は、現在のモジュールがNode.jsプロセスの開始点として実行されている場合にtrue
、他のモジュールからインポートされている場合にfalse
を返す。この機能により、ライブラリとスクリプトの両方で使用できるデュアルパーパスモジュールの作成が可能。
export function foo() {
return 'Hello, world';
}
function main() {
const message = foo();
console.log(message);
}
if (import.meta.main) main();
// 他のモジュールからimportされた場合、mainは実行されない
この機能はDenoとBunでも既にサポートされており、JavaScriptランタイム間での相互運用性が向上。同じAPIを使用してエントリポイント判定が可能になり、クロスランタイム対応のライブラリ開発が容易に。
Visual Studio Code 1.101 リリース
日付:2025年6月12日
Visual Studio Code 1.101(May 2025)がリリース。エディター機能の改善、ソース管理の強化、ターミナル機能の向上など、開発体験を向上させる複数のアップデートを提供。
Find-as-you-typeの制御とカスタムメニュー対応
Find-as-you-typeの制御が可能になり、editor.find.findOnType
設定でリアルタイム検索の有効/無効を切り替えできる。無効にした場合、Enterキーを押した後にのみ検索が実行される。
またWindowsとLinuxでカスタムメニューとネイティブウィンドウタイトルバーの組み合わせが可能になり、window.menuStyle
設定でメニューバーとコンテキストメニューのスタイルを制御可能。
Source Control Graph viewでのファイル表示対応
Source Control Graph viewでファイル表示が可能に。履歴アイテムを選択すると、そのアイテムのリソースがツリービューまたはリストビューで表示される。Open Changesアクションでマルチファイル差分エディターでの一括表示も対応。
言語サーバーによるターミナル内Pythonの補完
言語サーバーベースの補完機能がPython REPLセッションで利用可能になり、エディターと同等の言語補完をターミナル内で提供。Pylanceを通じてPythonサポートが開始され、今後他の言語への拡張も予定。
WindowsでのPowerShellシェル環境検出
WindowsでPowerShellのシェル環境検出を実装し、PowerShellプロファイルで設定された環境変数をVS Codeが継承するように。これによりNode.jsなどのバージョンマネージャーがPowerShellプロファイルで設定したPATH更新をVS Codeが自動的に認識。
ESLint 9.29.0リリース、using declarations サポート
日付:2025年6月13日
ESLint 9.29.0がリリースされ、ECMAScript 2026のExplicit Resource Management構文であるusing
とawait using
宣言をサポート。デフォルトパーサーespree
で新しい構文を解析可能になり、languageOptions.ecmaVersion
を2026
または"latest"
に設定することで利用できる。ただし、コアルールはまだこの構文に対応していないため注意。
if (something) {
using someResource = getSomeResource();
// ... use `someResource`
} // dispose `someResource`
async function foo() {
if (something) {
await using someResource = getSomeResource();
// ... use `someResource`
} // await dispose `someResource`
}
加えてTypeScript構文サポートがさらに拡張され、no-restricted-globals
とno-var
ルールでTypeScriptファイルのlintが可能に。またno-restricted-properties
ルールにallowProperties
オプションが追加され、特定のプロパティのみを許可する設定が可能になった。
pnpm 10.12.1リリース、実験的なGlobal Virtual Storeの追加
日付:2025年6月11日
pnpmがバージョン10.12.1をリリース。高速インストールを実現する実験的なglobal virtual storeの追加とversion catalog systemの機能強化など。
実験的なGlobal Virtual Storeを有効化すると、従来のnode_modules/.pnpm
への依存関係リンクを<store-path>/links
の共有ディレクトリに変更。複数プロジェクトで同一依存関係インスタンスを再利用可能で、再リンクや再ダウンロード不要によりインストール時間を大幅短縮。warm cacheが利用可能な開発マシンでほぼ瞬時のインストールを実現。
Global Virtual Storeはpnpm-workspace.yaml
でenableGlobalVirtualStore: true
を設定するか、次のようにグローバルに設定することで利用可能。
pnpm config -g set enable-global-virtual-store true
出展:pnpm Introduces Global Virtual Store and Expanded Version Catalogs