Frontend Weekly 2025-06-13
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
GitHub App Manager がチーム付与に対応
日付:2025 年 6 月 9 日
GitHub の App Manager ロールがチーム割り当てをサポートし、標準的な組織ロールに変換された。組織設定と API で管理され、チームを特定またはすべての GitHub App のアプリマネージャーとして割り当て可能に。
App Manager ロール自体に変更はなく、組織が所有する 1 つまたはすべての GitHub App の表示、編集、削除権限を提供。組織ロールとして割り当てられた場合、新しい GitHub App の作成権限も含む。
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