-
Notifications
You must be signed in to change notification settings - Fork 2.9k
refactor(scripts): encapsulate v0 and v8 tooling within its domain boundaries #25738
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor(scripts): encapsulate v0 and v8 tooling within its domain boundaries #25738
Conversation
Asset size changesSize Auditor did not detect a change in bundle size for any component! Baseline commit: a5ea64ce03f9292af9f799283bbd022ef037fbc1 (build) |
📊 Bundle size reportUnchanged fixtures
|
|
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 ad0754a:
|
Perf Analysis (
|
| Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
|---|---|---|---|---|---|
| Avatar | mount | 1277 | 1269 | 5000 | |
| Button | mount | 923 | 909 | 5000 | |
| FluentProvider | mount | 1481 | 1471 | 5000 | |
| FluentProviderWithTheme | mount | 575 | 585 | 10 | |
| FluentProviderWithTheme | virtual-rerender | 541 | 542 | 10 | |
| FluentProviderWithTheme | virtual-rerender-with-unmount | 576 | 575 | 10 | |
| MakeStyles | mount | 1963 | 1978 | 50000 | |
| SpinButton | mount | 2320 | 2321 | 5000 |
🕵 fluentuiv8 No visual regressions between this PR and main |
🕵 fluentuiv9 Open the Visual Regressions report to inspect the 2 screenshots✅ There was 0 screenshots added, 0 screenshots removed, 1752 screenshots unchanged, 0 screenshots with different dimensions and 2 screenshots with visible difference. unknown 2 screenshots
|
Perf Analysis (
|
Perf Analysis (
|
| Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
|---|---|---|---|---|---|
| GroupedList | mount | 1832 | 2019 | 2 | Possible regression |
All results
| Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
|---|---|---|---|---|---|
| BaseButton | mount | 1201 | 1202 | 5000 | |
| Breadcrumb | mount | 2815 | 2872 | 1000 | |
| Checkbox | mount | 2642 | 2629 | 5000 | |
| CheckboxBase | mount | 2362 | 2371 | 5000 | |
| ChoiceGroup | mount | 4294 | 4303 | 5000 | |
| ComboBox | mount | 1152 | 1158 | 1000 | |
| CommandBar | mount | 9241 | 9317 | 1000 | |
| ContextualMenu | mount | 10103 | 10043 | 1000 | |
| DefaultButton | mount | 1374 | 1388 | 5000 | |
| DetailsRow | mount | 3407 | 3376 | 5000 | |
| DetailsRowFast | mount | 3364 | 3368 | 5000 | |
| DetailsRowNoStyles | mount | 3224 | 3230 | 5000 | |
| Dialog | mount | 2920 | 2932 | 1000 | |
| DocumentCardTitle | mount | 589 | 579 | 1000 | |
| Dropdown | mount | 3185 | 3151 | 5000 | |
| FocusTrapZone | mount | 1972 | 1964 | 5000 | |
| FocusZone | mount | 1925 | 1957 | 5000 | |
| GroupedList | mount | 1832 | 2019 | 2 | Possible regression |
| GroupedList | virtual-rerender | 1096 | 1101 | 2 | |
| GroupedList | virtual-rerender-with-unmount | 1638 | 1627 | 2 | |
| GroupedListV2 | mount | 566 | 575 | 2 | |
| GroupedListV2 | virtual-rerender | 557 | 548 | 2 | |
| GroupedListV2 | virtual-rerender-with-unmount | 555 | 571 | 2 | |
| IconButton | mount | 1791 | 1786 | 5000 | |
| Label | mount | 758 | 765 | 5000 | |
| Layer | mount | 4195 | 4181 | 5000 | |
| Link | mount | 835 | 849 | 5000 | |
| MenuButton | mount | 1618 | 1610 | 5000 | |
| MessageBar | mount | 2392 | 2333 | 5000 | |
| Nav | mount | 3050 | 3073 | 1000 | |
| OverflowSet | mount | 1417 | 1393 | 5000 | |
| Panel | mount | 2513 | 2485 | 1000 | |
| Persona | mount | 1235 | 1290 | 1000 | |
| Pivot | mount | 1521 | 1530 | 1000 | |
| PrimaryButton | mount | 1486 | 1475 | 5000 | |
| Rating | mount | 6972 | 6964 | 5000 | |
| SearchBox | mount | 1509 | 1504 | 5000 | |
| Shimmer | mount | 2926 | 2882 | 5000 | |
| Slider | mount | 2099 | 2085 | 5000 | |
| SpinButton | mount | 4265 | 4334 | 5000 | |
| Spinner | mount | 828 | 827 | 5000 | |
| SplitButton | mount | 2843 | 2835 | 5000 | |
| Stack | mount | 875 | 873 | 5000 | |
| StackWithIntrinsicChildren | mount | 2312 | 2310 | 5000 | |
| StackWithTextChildren | mount | 5020 | 5032 | 5000 | |
| SwatchColorPicker | mount | 9447 | 9509 | 5000 | |
| TagPicker | mount | 2321 | 2380 | 5000 | |
| TeachingBubble | mount | 74752 | 74631 | 5000 | |
| Text | mount | 824 | 832 | 5000 | |
| TextField | mount | 1567 | 1553 | 5000 | |
| ThemeProvider | mount | 1454 | 1448 | 5000 | |
| ThemeProvider | virtual-rerender | 1146 | 1144 | 5000 | |
| ThemeProvider | virtual-rerender-with-unmount | 2004 | 2002 | 5000 | |
| Toggle | mount | 1143 | 1121 | 5000 | |
| buttonNative | mount | 541 | 537 | 5000 |
515071a to
7040adf
Compare
6d57850 to
5fc9eb7
Compare
| const DEV_SKIP_ERRORS = __DEV__ && __SKIP_ERRORS__; | ||
|
|
||
| const webpackPlugin = (webpackConfig: any, cb: (errror?: any) => void, onComplete = (err: any, stats: any) => {}) => { | ||
| const webpackPlugin = (webpackConfig: any, cb: (error?: any) => void, onComplete = (err: any, stats: any) => {}) => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typo
| import TerserWebpackPlugin from 'terser-webpack-plugin'; | ||
| // const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; | ||
|
|
||
| import config from '../config'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
style: separate relative import with absolute
| * | ||
| * @param {{excludedPackages:string[];type:keyof typeof lernaAlias} & lernaAlias.Options} options | ||
| */ | ||
| function getLernaAliases(options) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
generic helper that replaces lernaAliasNorthstar.js
| fsExtra.copySync(srcFolder, target, { recursive: true }); | ||
| } | ||
|
|
||
| export { workspaceRoot }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
re-exporting for convenience, apps using this domain dont have to import anything else
| @@ -0,0 +1,4 @@ | |||
| export { findConfig } from './find-config'; | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this pattern provides proper typings in TS scope, without need of manually duplicating definitions like we do in scripts/monorepo/index.d.ts
f04d9fb to
ad0754a
Compare
* master: BREAKING: `useTable` renamed to `useTableFeatures` (microsoft#25797) chore: add retries for navigation in ssr-tests-v9 (microsoft#25844) fix: Cell actions should have correct background when row focused within (microsoft#25790) applying package updates Disable 3 Avatar Converged active stories (microsoft#25765) chore: introduce TS path aliases for improved DX in v8 (microsoft#25778) chore: prepare release react-northstar 0.65.0 (microsoft#25446) refactor(scripts): encapsulate v0 and v8 tooling within its domain boundaries (microsoft#25738) Support single point in area chart (microsoft#25842) chore: enable isolateModules in all v8 packages (microsoft#25774) chore: refactor styles for Button (microsoft#25216) feat: Improve docs for `DataGrid`, export as unstable (microsoft#25805) applying package updates fix: Allow data-selection-disabled to be respected by DetailsRow (microsoft#25836) docs(rfcs): Update recipes rfc with chosen option and add more details (microsoft#25823) chore(react-textarea): migrate to new package structure (microsoft#25820) chore(react-switch): migrate to new package structure (microsoft#25819) fix(react-avatar): AvatarGroup's pie layout places inline items correctly in rtl (microsoft#25822) chore: add few improvements to toolbar stories (microsoft#25635)
…undaries (microsoft#25738) * refactor(scripts): encapsulate v0 and v8 tooling within its domain boundaries * refactor(project-tests): use generateFiles to unify and simplify test setup
Pre-requirements
Previous Behavior
v0,v8 and some v9 tooling setups are used cross boundary. This makes decoupling our tools to standalone packages with proper scope impossible. Also some files cannot be packaged properly and are left in
scripts/root.New Behavior
One of final step for enabling packaging sub-folder within
./scripts(only few leftower modules are now withinscripts/root.v0,v8 has been decoupled to isolated boundaries in 2 areas:
/scriptsmajor refactoringshfromgulp/toutils/getDefaultEnvironmentVarsfromwebpack/tomonorepo/lernaNorthstarAlias.jshas been refactored to genericgetLernaAliaseswithinmonorepo/config.tshas been removed from usage outsidegulp/and moved togulp/(v0 usage only)scripts/config.tsdependency (unnecessary module abstraction that crosses boundaries in wrong way - its scope is v0 but is used everywhere for no benefit)Related Issue(s)
/scripts) #24349