Frontend Weekly 2025-03-14
TypeScriptコンパイラのGoへのポート計画、Bun v1.2.5、Playwright 1.51.0、pnpm 10.6.0のリリース、ESLintのCSS Baselineサポートなど。
typescript-go
TypeScriptコンパイラのGoへのポート計画が発表されました。TypeScript 7.0でリリース予定です。ビルド時間が10倍速くなり、メモリ使用量も大幅に削減されるとのことです。
https://devblogs.microsoft.com/typescript/typescript-native-port/
一部で誤解が見られますが、Goへの移植により型チェックやLSPのパフォーマンスは改善されるものの、TypeScriptの実行速度に影響はありません。
実装は次のリポジトリで行われています。
https://github.com/microsoft/typescript-go
なぜGoを選択したかについては次のdiscussionで語られています。
https://github.com/microsoft/typescript-go/discussions/411
Bun v1.2.5
Bun v1.2.5がリリースされました。
https://bun.sh/blog/bun-v1.2.5
次の変更などが行われています。
- 大幅なNode.jsとの互換性向上
- 開発サーバーのSvelteサポート
- バンドラーのCSSモジュールのサポート
- CSRF攻撃から保護するためのBun.CSRFの追加
Playwright 1.51.0
Playwright v1.51.0がリリースされました。
https://github.com/microsoft/playwright/releases/tag/v1.51.0
次の機能などが追加されました。
browserContext.storageState()
のindexedDBサポートawait page.context().storageState({ path: authFile, indexedDB: true })
- PlaywrightでindexedDBの保存や復元が可能になりました
- エラーをLLM向けのプロンプトとしてコピーする機能の追加
- 表示状態での要素のフィルタリング
page.getByTestId('todo-item').filter({ visible: true })
- TestStepInfoオブジェクトのテストステップサポート
await test.step('here is my step', async step => { step.skip(isMobile, '...');
pnpm 10.6.0
pnpm 10.6.0がリリースされました。
https://github.com/pnpm/pnpm/releases/tag/v10.6.0
.npmrc
による全ての設定をpnpm-workspace.yaml
で行えるようになりました。
pnpm-workspace.yaml
に記述する際は、camelCaseにする必要があります。
Support for CSS and Baseline has shipped in ESLint | web.dev
先日リリースされたESLintのCSS pluginにビルトインされているcss/require-baseline
ルールについての記事がweb.devで公開されました。
https://web.dev/blog/eslint-baseline-integration?hl=en
css/require-baseline
ルールを利用すると、CSSの機能がBaselineの基準を満たしているか確認することが出来ます。例えば、オプションにavailable: "widely"
を指定するとBaseline Widelyで利用出来ない機能に対して警告を出すようになります。