Skip to content

[test] Track @mui/x-chat bundle size via native expand#23049

Merged
Janpot merged 1 commit into
mui:masterfrom
Janpot:worktree-bundle-size-native-expand
Jul 3, 2026
Merged

[test] Track @mui/x-chat bundle size via native expand#23049
Janpot merged 1 commit into
mui:masterfrom
Janpot:worktree-bundle-size-native-expand

Conversation

@Janpot

@Janpot Janpot commented Jul 3, 2026

Copy link
Copy Markdown
Member

Adds @mui/x-chat to the bundle-size checker and converts the config to the checker's native expand, replacing the findComponents/findComponentsFromExports helpers.

  • Add @mui/x-chat (root + Chat* components); @mui/x-chat-headless stays untracked (hooks-only).
  • Drop @mui/x-license/internals.
  • Exclude rules: ['[a-z]*', '[a-z]*/**'] for component packages (components are PascalCase), plus the AdapterDateFns*V2 adapters for pickers and a small denylist for scheduler's kebab-case views.
  • Bump @mui/internal-bundle-size-checker to 1.0.9-canary.83.

We should review the exports of our packages because currently we're leaking private modules.

Convert the bundle-size-checker config to the checker's native `expand`
feature, replacing the bespoke findComponents/findComponentsFromExports
helpers with a declarative entrypoint list plus small exclude rules.

- Add @mui/x-chat (root + Chat* components).
- Drop @mui/x-license/internals from tracking.
- Bump @mui/internal-bundle-size-checker to 1.0.9-canary.83.
@code-infra-dashboard

Copy link
Copy Markdown

Deploy preview

https://deploy-preview-23049--material-ui-x.netlify.app/
QR code for https://deploy-preview-23049--material-ui-x.netlify.app/

Bundle size

Bundle Parsed size Gzip size
@mui/x-data-grid 0B(0.00%) 0B(0.00%)
@mui/x-data-grid-pro 0B(0.00%) 0B(0.00%)
@mui/x-data-grid-premium 0B(0.00%) 0B(0.00%)
@mui/x-charts 0B(0.00%) 0B(0.00%)
@mui/x-charts-pro 0B(0.00%) 0B(0.00%)
@mui/x-charts-premium 0B(0.00%) 0B(0.00%)
@mui/x-date-pickers 0B(0.00%) 0B(0.00%)
@mui/x-date-pickers-pro 0B(0.00%) 0B(0.00%)
@mui/x-tree-view 0B(0.00%) 0B(0.00%)
@mui/x-tree-view-pro 0B(0.00%) 0B(0.00%)
@mui/x-scheduler 0B(0.00%) 0B(0.00%)
@mui/x-scheduler-premium 0B(0.00%) 0B(0.00%)
@mui/x-chat 🔺+318KB(new) 🔺+90KB(new)
@mui/x-license 0B(0.00%) 0B(0.00%)

Details of bundle changes


Check out the code infra dashboard for more information about this PR.

@Janpot
Janpot marked this pull request as ready for review July 3, 2026 10:26
@Janpot
Janpot requested review from a team and hasdfa July 3, 2026 10:26
@Janpot Janpot added type: enhancement It’s an improvement, but we can’t make up our mind whether it's a bug fix or a new feature. scope: design-kits labels Jul 3, 2026
// Renderable components are PascalCase; every lowercase-first sub-path export
// (hooks, models, locales, internals, utils, internals/demo, moduleAugmentation/*, …)
// is a non-component. A single rule covers them at any depth.
const componentPackage = { exclude: ['[a-z]*', '[a-z]*/**'] };

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these excluded because they are used in components anyways ?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

They're only excluded because currently they're not being tracked. We can add them, but I would do it separately.

@Janpot
Janpot merged commit 833bf82 into mui:master Jul 3, 2026
25 of 26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

scope: design-kits type: enhancement It’s an improvement, but we can’t make up our mind whether it's a bug fix or a new feature.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants