O hirunewani blog

Frontend Weekly 2025-03-14

Created at

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で利用出来ない機能に対して警告を出すようになります。