[Feature]: project domain scoping/co-location
Library
React Components / v9 (@fluentui/react-components)
Describe the feature that you would like added
we wanna remove(mitigate as much as possible) global approach on executing checks/tasks whenever possible which is present within our apps/ for cases like vr-tests, typescript compatibility checks etc.
Current global Example:
vr-tests-web-components contains VR-tests for every v9 package:
- any PR that affects just 1 package will trigger all vr-tests -> slow/waste of resources
- it doesn't follow our ownership code principles ( team ownership by package )
Expected Example:
every package has collocated domain with target/task as necessary.
VR TEST:
-
package sources live in collocated library
packages/react-components/react-text/visual-regression
-
run VR Test for package:
yarn nx run react-text-visual-regression:test-vr
-
run VR Test only for affected packages:
yarn nx affected --target test-vr
PERF TEST:
-
package sources might live in the same space as library driven by config ( similar to bundle-size )
-
run Perf Test for package:
yarn nx run react-text:test-perf
-
run Perf Test only for affected packages:
yarn nx affected --target test-perf
Collocation is already set for following targets:
test-ssre2e(component-tests) teststorybook
domains that need to be implemented:
test-vrtest-perftest-ts-minbar- TBA
Have you discussed this feature with our team
@microsoft/fluentui-react-build @spmonahan
Additional context
Validations
- [X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
Priority
Normal