Story 🧚♀️
Follows #20287 (comment)
Actual behavior:
We currently ship all declaration files for packages which create following following issues:
we allow consumers to access private API's with ease by providing intellisense
we leak private typings/TS type constructs from 3rd party and internal libraries that might contain TS features not supported in our particular minbar for TS support
Expected behavior:
types are shipped only as a rolluped type definition
Tasks
RFC / docs(rfc): update packaging with shipping types rfc #22469
Update Generator and tooling / feat(tools): apply d.ts rolluping setup in migration generator #22663
migrate v9 packages / gradual migration started on 29th of April
@fluentui/react-components | feat(v9): migrate react-components suite to ship rolluped only dts #22746
@fluentui/react-accordion | feat(v9): migrate accordion, combobox, divider to ship rolluped only dts #23061
@fluentui/react-badge | feat(v9): migrate badge to ship rolluped only dts #23053
@fluentui/react-combobox | feat(v9): migrate accordion, combobox, divider to ship rolluped only dts #23061
@fluentui/react-divider | feat(v9): migrate accordion, combobox, divider to ship rolluped only dts #23061
@fluentui/react-shared-contexts | feat(v9): migrate react-shared-contexts to ship rolluped only dts #22965
@fluentui/keyboard-keys | feat(v9): migrate keyboard-keys,priority-overflow,alert,aria,avatar,button,conf-griffel,context-selector to ship rolluped only dts #22823
@fluentui/priority-overflow | feat(v9): migrate keyboard-keys,priority-overflow,alert,aria,avatar,button,conf-griffel,context-selector to ship rolluped only dts #22823
@fluentui/react-alert | feat(v9): migrate keyboard-keys,priority-overflow,alert,aria,avatar,button,conf-griffel,context-selector to ship rolluped only dts #22823
@fluentui/react-aria | feat(v9): migrate keyboard-keys,priority-overflow,alert,aria,avatar,button,conf-griffel,context-selector to ship rolluped only dts #22823
@fluentui/react-avatar | feat(v9): migrate keyboard-keys,priority-overflow,alert,aria,avatar,button,conf-griffel,context-selector to ship rolluped only dts #22823
@fluentui/react-button | feat(v9): migrate keyboard-keys,priority-overflow,alert,aria,avatar,button,conf-griffel,context-selector to ship rolluped only dts #22823
@fluentui/react-conformance-griffel | feat(v9): migrate keyboard-keys,priority-overflow,alert,aria,avatar,button,conf-griffel,context-selector to ship rolluped only dts #22823
@fluentui/react-context-selector | feat(v9): migrate keyboard-keys,priority-overflow,alert,aria,avatar,button,conf-griffel,context-selector to ship rolluped only dts #22823
@fluentui/react-card | feat(v9): migrate card,dialog,image,text to ship rolluped only dts #22708
@fluentui/react-dialog | feat(v9): migrate card,dialog,image,text to ship rolluped only dts #22708
@fluentui/react-image | feat(v9): migrate card,dialog,image,text to ship rolluped only dts #22708
@fluentui/react-text | feat(v9): migrate card,dialog,image,text to ship rolluped only dts #22708
@fluentui/react-input | feat(v9): migrate checkbox,input,label,link,select to ship rolluped only dts #22793
@fluentui/react-checkbox | feat(v9): migrate checkbox,input,label,link,select to ship rolluped only dts #22793
@fluentui/react-label | feat(v9): migrate checkbox,input,label,link,select to ship rolluped only dts #22793
@fluentui/react-link | feat(v9): migrate checkbox,input,label,link,select to ship rolluped only dts #22793
@fluentui/react-select | feat(v9): migrate checkbox,input,label,link,select to ship rolluped only dts #22793
@fluentui/react-list | feat(v9): migrate menu,popover,portal,provider,toolbar,list to ship rolluped only dts #22791
@fluentui/react-menu | feat(v9): migrate menu,popover,portal,provider,toolbar,list to ship rolluped only dts #22791
@fluentui/react-popover | feat(v9): migrate menu,popover,portal,provider,toolbar,list to ship rolluped only dts #22791
@fluentui/react-portal | feat(v9): migrate menu,popover,portal,provider,toolbar,list to ship rolluped only dts #22791
@fluentui/react-provider | feat(v9): migrate menu,popover,portal,provider,toolbar,list to ship rolluped only dts #22791
@fluentui/react-toolbar | feat(v9): migrate menu,popover,portal,provider,toolbar,list to ship rolluped only dts #22791
@fluentui/react-portal-compat-context | feat(v9): migrate overflow,portal-compat-context,positioning,slider,spinbutton,spinner,sb,sb-addon,tabs,tabster,theme,tooltip,utilities to ship rolluped only dts #22828
@fluentui/react-positioning | feat(v9): migrate overflow,portal-compat-context,positioning,slider,spinbutton,spinner,sb,sb-addon,tabs,tabster,theme,tooltip,utilities to ship rolluped only dts #22828
@fluentui/react-overflow | feat(v9): migrate overflow,portal-compat-context,positioning,slider,spinbutton,spinner,sb,sb-addon,tabs,tabster,theme,tooltip,utilities to ship rolluped only dts #22828
@fluentui/react-portal-compat | feat(v9): migrate portal-compat,radio,switch,textarea to ship rolluped only dts #22874
@fluentui/react-radio | feat(v9): migrate portal-compat,radio,switch,textarea to ship rolluped only dts #22874
@fluentui/react-switch | feat(v9): migrate portal-compat,radio,switch,textarea to ship rolluped only dts #22874
@fluentui/react-textarea | feat(v9): migrate portal-compat,radio,switch,textarea to ship rolluped only dts #22874
@fluentui/react-slider | feat(v9): migrate overflow,portal-compat-context,positioning,slider,spinbutton,spinner,sb,sb-addon,tabs,tabster,theme,tooltip,utilities to ship rolluped only dts #22828
@fluentui/react-spinbutton | feat(v9): migrate overflow,portal-compat-context,positioning,slider,spinbutton,spinner,sb,sb-addon,tabs,tabster,theme,tooltip,utilities to ship rolluped only dts #22828
@fluentui/react-spinner | feat(v9): migrate overflow,portal-compat-context,positioning,slider,spinbutton,spinner,sb,sb-addon,tabs,tabster,theme,tooltip,utilities to ship rolluped only dts #22828
@fluentui/react-storybook | feat(v9): migrate overflow,portal-compat-context,positioning,slider,spinbutton,spinner,sb,sb-addon,tabs,tabster,theme,tooltip,utilities to ship rolluped only dts #22828
@fluentui/react-storybook-addon | feat(v9): migrate overflow,portal-compat-context,positioning,slider,spinbutton,spinner,sb,sb-addon,tabs,tabster,theme,tooltip,utilities to ship rolluped only dts #22828
@fluentui/react-tabs | feat(v9): migrate overflow,portal-compat-context,positioning,slider,spinbutton,spinner,sb,sb-addon,tabs,tabster,theme,tooltip,utilities to ship rolluped only dts #22828
@fluentui/react-tabster | feat(v9): migrate overflow,portal-compat-context,positioning,slider,spinbutton,spinner,sb,sb-addon,tabs,tabster,theme,tooltip,utilities to ship rolluped only dts #22828
@fluentui/react-theme | feat(v9): migrate overflow,portal-compat-context,positioning,slider,spinbutton,spinner,sb,sb-addon,tabs,tabster,theme,tooltip,utilities to ship rolluped only dts #22828
@fluentui/react-tooltip | feat(v9): migrate overflow,portal-compat-context,positioning,slider,spinbutton,spinner,sb,sb-addon,tabs,tabster,theme,tooltip,utilities to ship rolluped only dts #22828
@fluentui/react-utilities | feat(v9): migrate overflow,portal-compat-context,positioning,slider,spinbutton,spinner,sb,sb-addon,tabs,tabster,theme,tooltip,utilities to ship rolluped only dts #22828
How to migrate
Pre-requisite
You can execute the migration only if your package has been migrated to react-components folder:
one at a time
yarn workspace-generator migrate-converged-pkg --name @fluentui/react-menu
multiple at a time
yarn workspace-generator migrate-converged-pkg --name @fluentui/react-menu,@fluentui/react-text,@fluentui/react-button
Story 🧚♀️
Follows #20287 (comment)
Actual behavior:
We currently ship all declaration files for packages which create following following issues:
Expected behavior:
Tasks
How to migrate
Pre-requisite
You can execute the migration only if your package has been migrated to
react-componentsfolder:one at a time
yarn workspace-generator migrate-converged-pkg --name @fluentui/react-menumultiple at a time
yarn workspace-generator migrate-converged-pkg --name @fluentui/react-menu,@fluentui/react-text,@fluentui/react-button