Skip to content

[code-infra] Port codebase to use tsgo#22826

Merged
brijeshb42 merged 5 commits into
mui:masterfrom
brijeshb42:tsgo
Jul 10, 2026
Merged

[code-infra] Port codebase to use tsgo#22826
brijeshb42 merged 5 commits into
mui:masterfrom
brijeshb42:tsgo

Conversation

@brijeshb42

@brijeshb42 brijeshb42 commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Ports the codebase to use tsgo for type checking.

CI typecheck speedup

Measured on the test_types CircleCI job, step "Tests TypeScript definitions":

Branch Typecheck time
This PR (tsgo) ~55s
master (typical) ~180–195s

Roughly 3.5× faster typechecks on CI (up to ~5× vs. slower master runs).

CI credit cost

This PR bumps test_types to xlarge.gen2 (48 credits/min); master runs on large.gen2 (24 credits/min). CircleCI bills per-second on whole-job wall-clock.

Resource Wall-clock Credits
master large.gen2 (24/min) ~260s ~104
This PR (tsgo) xlarge.gen2 (48/min) ~105s ~84
Saved per run ~155s ~20 (~19%)

Faster end-to-end (~2.5×) and still ~19% cheaper per run despite the larger box.

Verified via emitted .d.ts diff (master vs branch), both tsc and tsgo — outputs identical to each other. None are breaking. None require user action.

Only 2 changes alter the shipped .d.ts at all, both in internal surfaces and both type-compatible.

@brijeshb42 brijeshb42 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: code-infra Involves the code-infra product (https://www.notion.so/mui-org/5562c14178aa42af97bc1fa5114000cd). labels Jun 16, 2026
@code-infra-dashboard

code-infra-dashboard Bot commented Jun 16, 2026

Copy link
Copy Markdown

Deploy preview

https://deploy-preview-22826--material-ui-x.netlify.app/
QR code for https://deploy-preview-22826--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 0B(0.00%) 0B(0.00%)
@mui/x-license 0B(0.00%) 0B(0.00%)

Details of bundle changes

Performance

Total duration: 1,473.40 ms -85.89 ms(-5.5%) | Renders: 63 (+0)

Test Duration Renders
RadialBarChart stacked with multiple series 33.09 ms 🔺+13.56 ms(+69.4%) 2 (+0)
LineChart with date axis and big data amount 36.69 ms ▼-16.26 ms(-30.7%) 2 (+0)
RadialLineChart with big data amount 43.49 ms ▼-13.92 ms(-24.2%) 2 (+0)
ScatterChartPro with big data amount and zoomed in (batch renderer) 27.32 ms ▼-9.95 ms(-26.7%) 2 (+0)
ScatterChartPro with big data amount (single renderer) 14.04 ms ▼-5.28 ms(-27.3%) 2 (+0)

…and 1 more (+20 within noise) — details


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

Comment thread pnpm-workspace.yaml Outdated
minimumReleaseAgeExclude:
- '@mui/*'
- '@base-ui/*'
- '@typescript/native-preview*'

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Temporary change.

@brijeshb42
brijeshb42 force-pushed the tsgo branch 3 times, most recently from 70baa71 to cee441c Compare June 16, 2026 17:04
@github-actions

Copy link
Copy Markdown
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions Bot added the PR: out-of-date The pull request has merge conflicts and can't be merged. label Jun 16, 2026
@github-actions github-actions Bot removed the PR: out-of-date The pull request has merge conflicts and can't be merged. label Jun 17, 2026
@brijeshb42
brijeshb42 force-pushed the tsgo branch 3 times, most recently from a429301 to 0b8b4be Compare June 19, 2026 13:48
@github-actions github-actions Bot added the PR: out-of-date The pull request has merge conflicts and can't be merged. label Jun 22, 2026
@github-actions

Copy link
Copy Markdown
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions Bot removed the PR: out-of-date The pull request has merge conflicts and can't be merged. label Jun 22, 2026
@brijeshb42
brijeshb42 requested a review from a team June 23, 2026 05:34
@brijeshb42
brijeshb42 marked this pull request as ready for review June 23, 2026 05:34
Comment thread .gitignore
Comment on lines +4 to +6
.vscode/*
!.vscode/settings.json
!.vscode/extensions.json

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This is probably not a good idea. Just tell ppl to install/enable the extension/settings for the time being, else it will conflict with everyone's local settings

@brijeshb42 brijeshb42 Jun 23, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

But then how do we share common settings for the repo. Currently, we are enabling this and it should automatically get enabled for everyone when they pull. Then after few months, we'll need to revisit this again to cleanup
Informing on Slack seems tedious since there's also the requirement of installing the extension.
For users, workspace settings is there (as well as user settings) where they can customize. We are doing the same in base-ui and core.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🤷 we can go with it, it will just break stuff for everyone that uses vscode.

It is vscode's fault it doesn't have a proper way of handling it instead of just creating a custom workspace around a single project 🫠

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The settings can still be moved to user settings instead of the repo settings. Right ?

@Janpot Janpot left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

lgtm, if it has the blessing of X for the source changes

@github-actions github-actions Bot added the PR: out-of-date The pull request has merge conflicts and can't be merged. label Jun 24, 2026
@github-actions

Copy link
Copy Markdown
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions

Copy link
Copy Markdown
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions Bot added the PR: out-of-date The pull request has merge conflicts and can't be merged. label Jun 30, 2026
@github-actions github-actions Bot added PR: out-of-date The pull request has merge conflicts and can't be merged. and removed PR: out-of-date The pull request has merge conflicts and can't be merged. labels Jul 6, 2026
@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions Bot removed the PR: out-of-date The pull request has merge conflicts and can't be merged. label Jul 6, 2026
@brijeshb42
brijeshb42 requested a review from JCQuintas July 6, 2026 12:28
@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions Bot added the PR: out-of-date The pull request has merge conflicts and can't be merged. label Jul 7, 2026
@github-actions github-actions Bot removed the PR: out-of-date The pull request has merge conflicts and can't be merged. label Jul 8, 2026
@brijeshb42

Copy link
Copy Markdown
Contributor Author

It'd be great to get a +1 here since this is the only repo not migrated yet.

@Janpot
Janpot requested a review from LukasTy July 8, 2026 15:18
@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions Bot added the PR: out-of-date The pull request has merge conflicts and can't be merged. label Jul 8, 2026

@LukasTy LukasTy left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

A few risky configs, but looks good overall. 👍
Let's ship those speed gains. 🚀

@github-actions github-actions Bot removed the PR: out-of-date The pull request has merge conflicts and can't be merged. label Jul 9, 2026
@brijeshb42
brijeshb42 merged commit 62fd3df into mui:master Jul 10, 2026
22 checks passed
@brijeshb42
brijeshb42 deleted the tsgo branch July 10, 2026 03:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

scope: code-infra Involves the code-infra product (https://www.notion.so/mui-org/5562c14178aa42af97bc1fa5114000cd). 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.

4 participants