close

Introduction

Rsdoctor is a build analyzer tailored for the Rspack ecosystem and fully compatible with the webpack ecosystem.

Rsdoctor is committed to being a one-stop, intelligent build analyzer that makes the build process transparent, predictable, and optimizable through visualization and smart analysis, helping development teams precisely identify bottlenecks, optimize performance, and improve engineering quality.

Rsdoctor supports all tools and frameworks based on Rspack or webpack, such as: Docusaurus, Rspeedy (Lynx), Storybook, Next.js, Nuxt, Re.Pack, Modern.js, Rsbuild, Rspress and Rslib.

🔥 Features

  • Compilation Visualization: Rsdoctor visualizes the compilation behavior and time consumption, making it easy to view build issues.
  • Multiple Analysis Capabilities: Rsdoctor supports build artifact, build-time analysis, and anti-degradation capabilities:
    • Build artifact support for resource lists and module dependencies, etc.
    • Build-time analysis supports Loader, Plugin, and Resolver building process analysis.
    • Build rules support duplicate package detection and ES Version Check, etc.
  • Support Custom Rules: In addition to built-in build scan rules, Rsdoctor also supports users adding custom build scan rules based on Rsdoctor's build data.

🛠️ Introduction

⭐️ Overview

  • The overview page (i.e., the home page) displays project configuration, diagnostic information, compilation information, and artifact status.

Overall

  • In addition to the project overview, we also provide diagnostic modules, including compilation diagnostics and duplicate package diagnostics. If your compilation and artifacts match the diagnostic rules we defined, the corresponding warning modules will appear on the tool's home page, where you can view the detailed reference paths of duplicate packages:

Overall-Alerts

⭐️ Compilation analysis

Provides corresponding data and analysis functions for Loaders, Plugins, and Module Resolve to help you analyze problems in the compilation process.

Loader analysis

  • This module mainly provides the function of data analysis such as input and output, estimated time consumption, and parameters within Rspack or webpack loaders.

Plugin analysis

  • This module mainly intercepts and collects data information such as the number of calls and estimated time consumption of Plugins.

bundle

Resolve analysis

  • This module mainly provides path data and estimated time consumption for module resolution in a single file within the project. Rspack temporarily does not support this module.

bundle

⭐️ Product analysis

  • In the Bundle Size page, we can see an overview of the product data information of the current project, as well as analyze the size and reasons for duplicate package imports.

  • In addition, we can also use the Bundle Analysis page to further analyze the relationship between the product and module in the current product, size data and other information, as well as the reasons for module introduction.

bundle

⭐️ Bundle diff

Using the Bundle Diff function provided by Rsdoctor, you can see the changes in resource size, duplicate packages, Packages, and other data in the artifacts, as well as the size of module files and code changes in each resource.

For more information, refer to the Bundle Diff documentation.

bundle-diff-1bundle-diff-2

🧑‍💻 Community

Welcome to join our Discord channel! The Rstack team and users are active there, and we're always looking for contributions.

You can also join the Feishu Group to chat with everyone.