-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
feat: adopt single version policy for monorepo dependencies #21395
Comments
Because this issue has not had activity for over 180 days, we're automatically closing it for house-keeping purposes. Still require assistance? Please, create a new issue with up-to date details. |
Rules:flowchart TB
RPD[root package.json prodDep]
RPDD[root package.json devDep]
PPD[library package.json prod]
PDD[library package.json devDep]
D[devDep]
P[prodDep]
PDD --> B{is a workspace package ?}
B -->|"no"| RFL["remove from lib"] --> RPDD --> E["end"]
B -->|"yes"| KKK["keep and use *"] --> E
PPD --> |"keep in lib"| RPD
Why do we need to specify "dependencies" as well within root package.json ? The motivation behind this is to have every non transient dependency used within our production (as well non production code which is covered by devDependencies) within root package.json for 2 reasons:
One might question this approach as it will create duplicates as one will have to specify same dependency at two places - What to do if package is both production and dev dependency ? Prod dependency has always higher priority ( if clashes occur ) Library/App that specifies devDependency on workpsace package uses After we migrate to nx, all devDeps fields will be removed, because unlike lage, nx will properly resolve within monorepo dependency graph What about root package.json version format? All deps and devDeps in root use strict version, pinned to lowest caret specified in lib package
Exceptions:stylis
react / react-domwhole monorepo is using react v17 ATM. to be able to verify fluent compatibility on newer version we also have React 18 within 2 apps as dependency, thus those can't/won't be normalized to SVP. axe-core
This can be normalized by additional work. #20799 REMARKS: Until tslibweb-components are on old tslib v1. The reasoning behind was that some OSS folks on FAST were using Typescript v3.9. Based on discussion with WC team we can bump to v2 and unify tslib version |
Because this issue has not had activity for over 180 days, we're automatically closing it for house-keeping purposes. Still require assistance? Please, create a new issue with up-to date details. |
3 similar comments
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
7 similar comments
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
This comment was marked as duplicate.
Because this issue has not had activity for over 180 days, we're automatically closing it for house-keeping purposes. Still require assistance? Please, create a new issue with up-to date details. |
This issue has not had activity for over 180 days! We're adding Soft close label and will close it soon for house-keeping purposes. |
Story 🧚♀️
Actual behavior:
Currently every packages includes exact same list of devDependencies/
Expected behavior:
All devDependencies should adhere to "single version policy in monorepo". Why ?
package.json
Tasks
Related issues
*
#19799The text was updated successfully, but these errors were encountered: