Rspack v1.0#

Rspack v1.0 がリリースされた。

https://rspack.dev/blog/announcing-1-0

Rspack とは#

Rspack とは ByteDance 製の Rust で書かれた Webpack 互換バンドラである。当初から Webpack の主要なローダーやプラグインをほぼそのまま利用できる他、Webpack と同様に JavaScript を用いて独自のローダーやプラグインを実装することが出来るなど、Webpack との互換性が非常に意識されている。

リリースノートでは、Webpack よりも 10 倍高速であり、既に ByteDance の Tiktok や Douyin などのプロダクトに加えて、Microsoft や Amazon、Alibaba などの企業でも採用されていると言及されている。

互換性#

Rspack は、ほぼ全ての Webpack API やエコシステム、ローダーに互換性を持っており、プラグインでも頻繁に利用されるものであれば 8 割をサポートまたは代替手段を提供していると言及されている。

将来性#

Webpack の後継としては Rspack が発表される以前から Turbopack が存在したが、Turbopack はそもそも Webpack との互換性を保証しておらず、Turbopack は基本的に Next.js 経由でユーザーが使うためかドキュメントが充実していないため、Webpack からの緩やかな移行先としては Webpack との高い互換性がありドキュメントの充実している Rspack は非常に有力である。

数年前に作られた Webpack を使用しているようなサービスでは、非常に良い選択肢だろう。

Material-UI v6#

Material-UI v6 がリリースされた。

https://mui.com/blog/material-ui-v6-is-out/

CSS 変数やカラースキーム、コンテナクエリなど CSS 関連の新機能が多く追加されている。

Pigment CSS#

実験的な Zero Runtime CSS-in-JS である Pigment CSS をオプトインで導入できるようになった。

Pigment CSS では、Material-UI のチームが独自に開発しており、Material-UI の従来のデフォルトである Emotion とあまり変わらない使用感で、ゼロランタイムの恩恵を受けることが出来る。

また Pigment CSS を有効化することで、Material-UI のレイアウト用コンポーネントをサーバーコンポーネントとして利用することが可能になる。

WebdriverIO v9 - WebDriver BiDi Support#

WebDriver BiDi プロトコルをサポートした WebdriverIO v9 がリリースされた。

https://webdriver.io/blog/2024/08/15/webdriverio-v9-release/

これにより WebDriver BiDi をサポートしている環境であれば、今までよりも高速で安定したテストが可能になる。

WebdriverIO とは#

WebdriverIO はなぜか知名度が低いので説明をしておくと、WebdriverIO とは Puppeteer や Playwright、Cypress などと同等の機能を備えた E2E やコンポーネントテスト用のテスト自動化フレームワークであり、OpenJS Fundation がホストしているプロジェクトである。

WebDriver BiDi とは#

WebDriver BiDi は、W3C が策定した次世代ブラウザテスト自動化プロトコルである。 従来の手法の欠点を解消することを目的としており、つい先日、Chrome に加えて Firefox 129 と Puppeteer 23 で本番環境での利用が可能になった。

Deno v1.46#

1 系の最終リリースと予告された Deno v1.46 がリリースされた。

https://deno.com/blog/v1.46

run の省略#

deno runコマンドのrunを省略できるようになった。

Terminal window
deno main.ts

run で task を呼ぶ#

deno taskdeno runでも呼べるようになった。

Terminal window
deno run test

HTML/CSS/YAML などのフォーマット#

deno fmtコマンドで、HTML や CSS、SCSS、Sass、Less、YAML さらには Astro、Angular、Svelte、Vue などのフォーマットが可能になった。

依存関係を削除する remove#

依存関係を削除するremoveコマンドが追加された。

Terminal window
deno remove some_package

グローバルキャッシュを消去する clean#

Deno のいくつかの機能のパフォーマンスを向上させるために取られているキャッシュを削除できるcleanコマンドが追加された。

Terminal window
deno clean