Skip to content

[code-infra] Add ts-package-migration skill#48545

Draft
Janpot wants to merge 1 commit into
mui:masterfrom
Janpot:code-infra/ts-migration-skill
Draft

[code-infra] Add ts-package-migration skill#48545
Janpot wants to merge 1 commit into
mui:masterfrom
Janpot:code-infra/ts-migration-skill

Conversation

@Janpot
Copy link
Copy Markdown
Member

@Janpot Janpot commented May 19, 2026

Adds a reusable Claude Code skill (.claude/skills/ts-package-migration/) that encodes the playbook for migrating a MUI package from hand-written .js + .d.ts to true TypeScript (single .ts/.tsx source, tsc-emitted declarations), like @mui/utils.

Captures the procedure and the non-obvious findings discovered during the @mui/styled-engine conversion (#48544): the code-infra build declaration pipeline and tsconfig.build.json requirement, Babel's import-elision behavior (import type * as / export type *), the (X as any).propTypes /* remove-proptypes */ trick to suppress the tsc expando while keeping the production guard, stripInternal for runtime-only exports, the mui-env.d.ts convention for process.env (no node in build types), the 'use client' + export * ESLint constraint, the quality-gate commands, and a bidirectional type-equivalence probe to prove the exported type surface is preserved.

Tooling/docs only — no runtime or package changes.

@code-infra-dashboard
Copy link
Copy Markdown

code-infra-dashboard Bot commented May 19, 2026

Deploy preview

https://deploy-preview-48545--material-ui.netlify.app/

Bundle size

Bundle Parsed size Gzip size
@mui/material 0B(0.00%) 0B(0.00%)
@mui/lab 0B(0.00%) 0B(0.00%)
@mui/private-theming 0B(0.00%) 0B(0.00%)
@mui/system 0B(0.00%) 0B(0.00%)
@mui/utils 0B(0.00%) 0B(0.00%)

Details of bundle changes


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

@Janpot Janpot force-pushed the code-infra/ts-migration-skill branch 5 times, most recently from 32dcd0a to ee59374 Compare May 20, 2026 09:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant