microsoft / microsoft/fluentui
feat: adopt single version policy for monorepo dependencies
Open
Nobody has claimed this yet.
Area: Build System
Resolution: Soft Close
Type: Epic
- Dominant language
- TypeScript
- Stars
- 20.3k
- Forks
- 2.9k
- Avg merge
- 2d 9h
- Merged PRs (30d)
- 46
Description
Story 🧚♀️
Actual behavior:
Currently every packages includes exact same list of devDependencies/
"devDependencies": {
"@fluentui/babel-make-styles": "9.0.0-beta.4",
"@fluentui/eslint-plugin": "*",
"@fluentui/jest-serializer-make-styles": "9.0.0-beta.4",
"@fluentui/react-conformance": "*",
"@fluentui/react-conformance-make-styles": "9.0.0-beta.4",
"@fluentui/scripts": "^1.0.0",
"@types/enzyme": "3.10.3",
"@types/enzyme-adapter-react-16": "1.0.3",
"@types/react-test-renderer": "^16.3.0",
"@types/react": "16.9.42",
"@types/react-dom": "16.9.10",
"enzyme": "~3.10.0",
"enzyme-adapter-react-16": "^1.15.0",
"react": "16.8.6",
"react-dom": "16.8.6",
"react-test-renderer": "^16.3.0"
},
Expected behavior:
All devDependencies should adhere to "single version policy in monorepo". Why ?
- every devDependency is defined in root
package.json- TBD: use pinned version to align with yarn.lock ( this might be detrimental in terms of modules de-dupe though)
- if package really needs to opt out, it will specify different version of devDependency within its package.json to prevent hoisting. (this should be only last resort and for temporary time period )
Tasks
- write migration https://github.com/microsoft/fluentui/pull/26437
- migrate to lastest syncpack
- update existing plol generator
- execute migration in batch
- add lint checks to prevent violations
Related issues
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.