chore: introduce more barrel file apis within /scripts #26125
chore: introduce more barrel file apis within /scripts #26125Hotell merged 9 commits intomicrosoft:masterfrom
/scripts #26125Conversation
/scripts
Asset size changesSize Auditor did not detect a change in bundle size for any component! Baseline commit: 2c38f1e4ae07b2b60df596efe11015a68f166dbf (build) |
📊 Bundle size reportUnchanged fixtures
|
🕵 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 (
|
| Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
|---|---|---|---|---|---|
| Avatar | mount | 1268 | 1267 | 5000 | |
| Button | mount | 903 | 913 | 5000 | |
| FluentProvider | mount | 1521 | 1473 | 5000 | |
| FluentProviderWithTheme | mount | 584 | 580 | 10 | |
| FluentProviderWithTheme | virtual-rerender | 525 | 540 | 10 | |
| FluentProviderWithTheme | virtual-rerender-with-unmount | 579 | 570 | 10 | |
| MakeStyles | mount | 1938 | 1925 | 50000 | |
| Persona | mount | 2830 | 2772 | 5000 | |
| SpinButton | mount | 2372 | 2334 | 5000 |
Perf Analysis (
|
Perf Analysis (
|
| Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
|---|---|---|---|---|---|
| BaseButton | mount | 1429 | 1410 | 5000 | |
| Breadcrumb | mount | 3512 | 3482 | 1000 | |
| Checkbox | mount | 3141 | 3128 | 5000 | |
| CheckboxBase | mount | 2770 | 2776 | 5000 | |
| ChoiceGroup | mount | 5218 | 5166 | 5000 | |
| ComboBox | mount | 1465 | 1471 | 1000 | |
| CommandBar | mount | 11154 | 11157 | 1000 | |
| ContextualMenu | mount | 12679 | 12802 | 1000 | |
| DefaultButton | mount | 1596 | 1624 | 5000 | |
| DetailsRow | mount | 4219 | 4260 | 5000 | |
| DetailsRowFast | mount | 4235 | 4230 | 5000 | |
| DetailsRowNoStyles | mount | 4084 | 4084 | 5000 | |
| Dialog | mount | 3599 | 3613 | 1000 | |
| DocumentCardTitle | mount | 678 | 693 | 1000 | |
| Dropdown | mount | 3747 | 3797 | 5000 | |
| FocusTrapZone | mount | 2389 | 2413 | 5000 | |
| FocusZone | mount | 2337 | 2353 | 5000 | |
| GroupedList | mount | 2218 | 2475 | 2 | |
| GroupedList | virtual-rerender | 1335 | 1321 | 2 | |
| GroupedList | virtual-rerender-with-unmount | 1959 | 1945 | 2 | |
| GroupedListV2 | mount | 669 | 683 | 2 | |
| GroupedListV2 | virtual-rerender | 647 | 655 | 2 | |
| GroupedListV2 | virtual-rerender-with-unmount | 655 | 677 | 2 | |
| IconButton | mount | 2216 | 2217 | 5000 | |
| Label | mount | 863 | 869 | 5000 | |
| Layer | mount | 5073 | 5079 | 5000 | |
| Link | mount | 977 | 980 | 5000 | |
| MenuButton | mount | 1969 | 1969 | 5000 | |
| MessageBar | mount | 2718 | 2716 | 5000 | |
| Nav | mount | 3812 | 3832 | 1000 | |
| OverflowSet | mount | 1592 | 1561 | 5000 | |
| Panel | mount | 2989 | 2950 | 1000 | |
| Persona | mount | 1559 | 1522 | 1000 | |
| Pivot | mount | 1940 | 1950 | 1000 | |
| PrimaryButton | mount | 1798 | 1792 | 5000 | |
| Rating | mount | 8130 | 8179 | 5000 | |
| SearchBox | mount | 1758 | 1783 | 5000 | |
| Shimmer | mount | 3353 | 3333 | 5000 | |
| Slider | mount | 2484 | 2483 | 5000 | |
| SpinButton | mount | 5463 | 5453 | 5000 | |
| Spinner | mount | 936 | 961 | 5000 | |
| SplitButton | mount | 3638 | 3678 | 5000 | |
| Stack | mount | 968 | 973 | 5000 | |
| StackWithIntrinsicChildren | mount | 2751 | 2729 | 5000 | |
| StackWithTextChildren | mount | 5668 | 5628 | 5000 | |
| SwatchColorPicker | mount | 12347 | 12239 | 5000 | |
| TagPicker | mount | 3018 | 3095 | 5000 | |
| TeachingBubble | mount | 97753 | 97134 | 5000 | |
| Text | mount | 933 | 927 | 5000 | |
| TextField | mount | 1862 | 1896 | 5000 | |
| ThemeProvider | mount | 1797 | 1793 | 5000 | |
| ThemeProvider | virtual-rerender | 1265 | 1268 | 5000 | |
| ThemeProvider | virtual-rerender-with-unmount | 2526 | 2542 | 5000 | |
| Toggle | mount | 1302 | 1313 | 5000 | |
| buttonNative | mount | 653 | 654 | 5000 |
|
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 e3ddca0:
|
🕵 fluentuiv9 No visual regressions between this PR and main |
🕵 FluentUI-v0 No visual regressions between this PR and main |
c91d3dd to
520db7d
Compare
| @@ -1,6 +0,0 @@ | |||
| // https://github.com/gulpjs/gulp-cli#configuration | |||
| module.exports = { | |||
There was a problem hiding this comment.
this was redundant, we use now only .gulp from repo root
6d1a8f5 to
27994a1
Compare
/scripts /scripts
| @@ -1,3 +1,3 @@ | |||
| import baseConfig from '@fluentui/scripts/cypress/cypress.config'; | |||
| import { baseConfig } from '@fluentui/scripts/cypress'; | |||
There was a problem hiding this comment.
QQ: Is there anything that will prevent us from using import baseConfig from '@fluentui/scripts/cypress/cypress.config';?
There was a problem hiding this comment.
all these sub-folders will be packaged as last step (including export maps as well ) - which should throw error on such import. we wont do type rolluping for internal packages as that doesn't make much sense. we can enable lint rule to ban deep imports in those.
| @@ -1 +1 @@ | |||
| module.exports = require('@fluentui/scripts/gulp/.gulp'); | |||
| module.exports = require('../../../.gulp'); | |||
There was a problem hiding this comment.
Can you please explain why we don't use module.exports = require('@fluentui/scripts/gulp/.gulp');? To avoid @fluentui/scripts/gulp/.gulp import or is there another reason?
Can we do module.exports = require('@fluentui/scripts/gulp').gulpConfig instead?
There was a problem hiding this comment.
the pattern used is based on -> global monorepo particular tool configs should live in monorepo root.
From package perspective you would probably not export global tool configuration as part of package public api.
Last but not least it nicely aligns with per package gulpfile.ts which also follows pattern mentioned in 1st sentence and adds uniformity.
What I was expecting was that gulp is smart enough and will find .gulp.js in monorepo root, thus no need for this at all. unfortunately that's not the case :(
…emove react-fui v8 dependency
…/purpose and prepare @scripts imports for packaging
3d5f5fd to
e3ddca0
Compare
…6125) * refactor: use only public api for scripts/project-test * refactor: use only public api for scripts/dangerjs * refactor(scripts): normalize /scripts/babel plugin * refactor(scripts): normalize /scripts/cypress to use barrel api and remove react-fui v8 dependency * generate change files * refactor(scripts): move tagVnext to /executors to match domain boundary/purpose * refactor(scripts): normalize /scripts/gulp to use barrel api * refactor(scripts): move serve to /gulp/tasks to match domain boundary/purpose and prepare @scripts imports for packaging * chore(scripts): remove reduntant fields from package.json
…6125) * refactor: use only public api for scripts/project-test * refactor: use only public api for scripts/dangerjs * refactor(scripts): normalize /scripts/babel plugin * refactor(scripts): normalize /scripts/cypress to use barrel api and remove react-fui v8 dependency * generate change files * refactor(scripts): move tagVnext to /executors to match domain boundary/purpose * refactor(scripts): normalize /scripts/gulp to use barrel api * refactor(scripts): move serve to /gulp/tasks to match domain boundary/purpose and prepare @scripts imports for packaging * chore(scripts): remove reduntant fields from package.json
New Behavior
Following sub-folders now follow barrel/public API pattern
/cypress/dangerjs/gulpAdditional changes:
/babelencapsulates custom plugin under/babel/pluginsfolder/beachballto/executors/cypressis now decoupled from v8 and improves type definitions so less churn is needed when usedgulpconfig within northstar and monorepo root has been unified/normalizedRelated Issue(s)
/scripts) #24349