-
Notifications
You must be signed in to change notification settings - Fork 205
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
chore: standardise workspace dependencies #3467
base: main
Are you sure you want to change the base?
chore: standardise workspace dependencies #3467
Conversation
|
packages/abi-ts/package.json
Outdated
"execa": "^7.0.0", | ||
"glob": "^10.4.2", | ||
"execa": "*", | ||
"glob": "*", |
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.
when publishing, do these version wildcards get swapped for the workspace semver?
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.
Great point...from my testing, no they don't 😭
Seems like this a non-starter for mud in that case, we can't run this PR as-is.
Some possible paths:
- Version 10 of pnpm introduces Catalogs. I just tried this locally and it works as intended; define catalog versions in
pnpm-workspace.yaml
, specifycatalog:
in workspace packages, and then packing/publishing any workspace package will set its version directly in the resultingpackage.json
. We could try an upgrade (separate PR) then change this to use catalogs. - Use a tool like syncpack to manage workspace package versions.
Not sure what your plans are for v10 at the moment (release notes here). Sounds... maybe doable?
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.
I recently got rid of our usage of catalogs as it made some other things harder to work with: #3405
I have already made a habit of trying to keep versions aligned across the repo. It's not perfect, but hasn't been a huge issue.
The issue you're trying to solve (#2962) is specifically for common dev deps, so we can still move those up to the workspace root (and no need to declare them in each individual package's dev deps).
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.
Got it, shame. Ok then, I'll just simply remove the wildcards from all dependencies
in workspace packages, leave the wildcards for devDependencies
, and that should do the trick.
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.
IMO we should lift the common dev deps into the workspace root's dev deps, and remove them from each package, rather than a wildcard
87ba900
to
96a20c2
Compare
- Replace common workspace package devDependencies (where possible without major modifications) with the workspace root's devDependencies - Update some error message snapshots for workspace vitest version
96a20c2
to
27ca5d1
Compare
Before:
After:
|
Fixes #2962
execa
wasn't updated to the workspace version in all cases, because there are some breaking changes going from 6/7 to 9react-hooks-testing-library
.forge-std
in use still; unclear why these were chosen, so I didn't change themsolhint
). It probably makes sense to add more, but this is a large PR already.