Webpackチームとのパートナーシップを確立しました。 Rspackは、Rustを使用してWebpackのパフォーマンスを最適化する試みであり、すでに大きな進歩を遂げています。
Webpackチームとともに、Webpackを最適化するための可能性をさらに模索していきます。Rspackがある程度の成熟度に達したら、Webpackは実験フラグを使用して、RspackをWebpackに統合することを試みます。
私たちは、単にベンチマークの指標を追い求めるのではなく、既存のWebプロジェクトに低い移行コストでパフォーマンスの向上をもたらすことに重点を置いています。
Webpackエコシステムとの互換性により、パフォーマンスの低下が多少発生しますが、検証結果によると、この低下は許容範囲内です。
Rspackは内部的にSWCを使用してコードのダウングレードコンパイルを実行します。これはbuiltin:swc-loaderで構成できるため、babel-loaderを使用してコードのダウングレードコンパイルを実行する必要はありません。
いいえ、Rspackの目標は、Webpack APIの100%と100%互換性を持たせることではありません。パレートの法則に基づいて、ほとんどのプロジェクトで一般的に使用されているAPIの実装を優先し、ユーザーのニーズに基づいて他のAPIをサポートします。
サポートする予定です。私たちはNAPI-RSチームと一緒にWasmソリューションを模索しており、まだ探索段階です。今後はさらに進展があるでしょう。
webpack + SWC-loaderがbabel-loaderのパフォーマンス問題を解決したとしても、webpack自体には、makeやsealステージなど、シングルスレッドであるため、多くのパフォーマンスボトルネックがあります。しかし、Rspackはこれらの制限を打破しているため、特にマルチコアシナリオでは、Rspackはwebpack + SWC-loaderよりも優れたパフォーマンスを発揮します。
いいえ、webpackプラグインやローダーを開発するのと同じように、JavaScriptを使用してプラグインやローダーを開発できます。一方、Rustを使用してカスタムプラグインとローダーを開発できるようにする方法を模索しています。
RspackはReact Server Componentをサポートします。現在、内部プロジェクトでRspack + RSCを試しており、顕著なパフォーマンスの向上を確認しています。
関連PR:#5824。
はい、現在、多くの内部プロジェクトでRspackを使用してビルドしており、本番環境でスムーズに実行されています。
私たちの目標は、Rspackによって生成されたランタイムコードをWebpackと完全に一致させることです(つまり、出力からWebpackかRspackの出力かをほとんど見分けることができないようにします)。まだ完全に一致していませんが、ランタイムを継続的に改善し、最終的に完全な一致を達成します。