chore: enable proper type checking within all just.config.ts and its dependents#25852
Conversation
|
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. Latest deployment of this branch, based on commit 10c20e1:
|
Perf Analysis (
|
| Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
|---|---|---|---|---|---|
| Avatar | mount | 1650 | 1681 | 5000 | |
| Button | mount | 1182 | 1203 | 5000 | |
| FluentProvider | mount | 1979 | 1989 | 5000 | |
| FluentProviderWithTheme | mount | 798 | 784 | 10 | |
| FluentProviderWithTheme | virtual-rerender | 750 | 725 | 10 | |
| FluentProviderWithTheme | virtual-rerender-with-unmount | 788 | 789 | 10 | |
| MakeStyles | mount | 2314 | 2323 | 50000 | |
| Persona | mount | 3787 | 3691 | 5000 | |
| SpinButton | mount | 3179 | 3202 | 5000 |
🕵 fluentuiv8 Open the Visual Regressions report to inspect the 2 screenshots✅ There was 0 screenshots added, 2 screenshots removed, 1043 screenshots unchanged, 0 screenshots with different dimensions and 0 screenshots with visible difference. unknown 2 screenshots
|
Perf Analysis (
|
🕵 fluentuiv9 No visual regressions between this PR and main |
📊 Bundle size reportUnchanged fixtures
|
Perf Analysis (
|
| Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
|---|---|---|---|---|---|
| BaseButton | mount | 1151 | 1154 | 5000 | |
| Breadcrumb | mount | 2698 | 2728 | 1000 | |
| Checkbox | mount | 2566 | 2456 | 5000 | |
| CheckboxBase | mount | 2332 | 2242 | 5000 | |
| ChoiceGroup | mount | 4334 | 4428 | 5000 | |
| ComboBox | mount | 1166 | 1241 | 1000 | |
| CommandBar | mount | 9073 | 9070 | 1000 | |
| ContextualMenu | mount | 11267 | 11032 | 1000 | |
| DefaultButton | mount | 1303 | 1378 | 5000 | |
| DetailsRow | mount | 3313 | 3541 | 5000 | |
| DetailsRowFast | mount | 3601 | 3537 | 5000 | |
| DetailsRowNoStyles | mount | 3409 | 3326 | 5000 | |
| Dialog | mount | 2923 | 3001 | 1000 | |
| DocumentCardTitle | mount | 561 | 559 | 1000 | |
| Dropdown | mount | 3034 | 3062 | 5000 | |
| FocusTrapZone | mount | 1905 | 1923 | 5000 | |
| FocusZone | mount | 1908 | 1875 | 5000 | |
| GroupedList | mount | 1788 | 2018 | 2 | |
| GroupedList | virtual-rerender | 1068 | 1075 | 2 | |
| GroupedList | virtual-rerender-with-unmount | 1554 | 1639 | 2 | |
| GroupedListV2 | mount | 546 | 543 | 2 | |
| GroupedListV2 | virtual-rerender | 548 | 525 | 2 | |
| GroupedListV2 | virtual-rerender-with-unmount | 573 | 504 | 2 | |
| IconButton | mount | 1896 | 1892 | 5000 | |
| Label | mount | 719 | 685 | 5000 | |
| Layer | mount | 4173 | 4127 | 5000 | |
| Link | mount | 782 | 765 | 5000 | |
| MenuButton | mount | 1545 | 1523 | 5000 | |
| MessageBar | mount | 2336 | 2097 | 5000 | |
| Nav | mount | 3076 | 3023 | 1000 | |
| OverflowSet | mount | 1338 | 1318 | 5000 | |
| Panel | mount | 2485 | 2509 | 1000 | |
| Persona | mount | 1204 | 1277 | 1000 | |
| Pivot | mount | 1659 | 1575 | 1000 | |
| PrimaryButton | mount | 1417 | 1477 | 5000 | |
| Rating | mount | 6810 | 6619 | 5000 | |
| SearchBox | mount | 1403 | 1350 | 5000 | |
| Shimmer | mount | 2600 | 2760 | 5000 | |
| Slider | mount | 1940 | 1949 | 5000 | |
| SpinButton | mount | 4200 | 4308 | 5000 | |
| Spinner | mount | 789 | 728 | 5000 | |
| SplitButton | mount | 2910 | 2895 | 5000 | |
| Stack | mount | 770 | 828 | 5000 | |
| StackWithIntrinsicChildren | mount | 2130 | 2191 | 5000 | |
| StackWithTextChildren | mount | 4574 | 4572 | 5000 | |
| SwatchColorPicker | mount | 9876 | 9837 | 5000 | |
| TagPicker | mount | 2604 | 2420 | 5000 | |
| TeachingBubble | mount | 83925 | 82883 | 5000 | |
| Text | mount | 710 | 697 | 5000 | |
| TextField | mount | 1601 | 1556 | 5000 | |
| ThemeProvider | mount | 1405 | 1544 | 5000 | |
| ThemeProvider | virtual-rerender | 1042 | 1033 | 5000 | |
| ThemeProvider | virtual-rerender-with-unmount | 2036 | 2071 | 5000 | |
| Toggle | mount | 1110 | 1101 | 5000 | |
| buttonNative | mount | 551 | 534 | 5000 |
d651a46 to
2fa953a
Compare
Asset size changesSize Auditor did not detect a change in bundle size for any component! Baseline commit: 0ba1e7e3d1804a407efd9b58fdb38318f1d99447 (build) |
🕵 FluentUI-v0 No visual regressions between this PR and main |
877bced to
a125a6b
Compare
|
|
||
| // copied from scripts/just.config.js with addition of generate-json | ||
| task('build', series('clean', 'copy', 'sass', 'generate-json', 'ts')).cached(); | ||
| task('build', series('clean', 'copy', 'sass', 'generate-json', 'ts')).cached!(); |
There was a problem hiding this comment.
whilst using ! is deprecated and should be avoided, this is caused by bad just types, so sticking with ! instead of nodejs standard ?
| @@ -1,4 +1,6 @@ | |||
| import { preset, task, resolveCwd } from '@fluentui/scripts'; | |||
| // eslint-disable-next-line @typescript-eslint/ban-ts-comment | |||
| // @ts-ignore - parallel-webpack has no types | |||
There was a problem hiding this comment.
I could write types manually for this package but I decided to not do so ATM (its the only usage in whole repo)
| @@ -1,4 +1,8 @@ | |||
| { | |||
| "extends": "@tsconfig/node14/tsconfig.json", | |||
| "include": ["./{apps,packages}/*/just.config.ts"] | |||
There was a problem hiding this comment.
this never worked (bash expansion)
|
|
||
| while (packagesToResolve.length) { | ||
| const pkg = packagesToResolve.shift(); | ||
| const pkg = packagesToResolve.shift() as string; |
There was a problem hiding this comment.
why is this cast needed? typescript should know that it's a string from line 9
There was a problem hiding this comment.
refactored the code to contain less assertions 10c20e1
…and their dependencies
|
admin merged with all checks passing as got approvals from all core teams |
…dependents (microsoft#25852) * chore: enable strict checking in all just-config files and their dependencies * ci: enable type checking of just.configs * generate change files
…dependents (microsoft#25852) * chore: enable strict checking in all just-config files and their dependencies * ci: enable type checking of just.configs * generate change files

Pre-requirement:
Previous Behavior
just.config.tswith all its dep tree is not giving proper DX/is not validated against anythingNew Behavior
Related Issue(s)
/scripts) #24349