1548 文字
8 分

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 などの主要企業で採用済み。

Terminal window
npx oxlint@latest

既存の ESLint プロジェクトからの移行が支援されており、oxlint-migrateで設定を自動移行できる。またeslint-plugin-oxlintで ESLint ルールの重複を無効化し、併用することも可能。加えて、設定ファイル.oxlintrc.jsonは ESLint と同様に flat config 形式を採用。

出展:Oxlint v1.0 Stable

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 を使用してエントリポイント判定が可能になり、クロスランタイム対応のライブラリ開発が容易に。

出展:Node.js v24.2.0

Visual Studio Code 1.101 リリース#

日付:2025 年 6 月 12 日

Visual Studio Code 1.101(May 2025)がリリース。エディター機能の改善、ソース管理の強化、ターミナル機能の向上など、開発体験を向上させる複数のアップデートを提供。

出展:Visual Studio Code 1.101

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 構文であるusingawait using宣言をサポート。デフォルトパーサーespreeで新しい構文を解析可能になり、languageOptions.ecmaVersion2026または"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-globalsno-varルールで TypeScript ファイルの lint が可能に。またno-restricted-propertiesルールにallowPropertiesオプションが追加され、特定のプロパティのみを許可する設定が可能になった。

出展:ESLint v9.29.0 released

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.yamlenableGlobalVirtualStore: trueを設定するか、次のようにグローバルに設定することで利用可能。

Terminal window
pnpm config -g set enable-global-virtual-store true

出展:pnpm Introduces Global Virtual Store and Expanded Version Catalogs

Frontend Weekly 2025-06-13
https://blog.ohirunewani.com/series/frontend-weekly/2025-06-13/
作者
hrdtbs
公開日
2025-06-13
ライセンス
CC BY-NC-SA 4.0