Consistent dependency versions in large JavaScript Monorepos.
MIT License
Bot releases are visible (Hide)
Published by JamieMason almost 3 years ago
Use loose semver ranges for devDependencies
only, with the rest of the repo using the default setting.
{
"semverGroups": [
{
"dependencies": ["**"],
"dependencyTypes": ["devDependencies"],
"packages": ["**"],
"semverRange": "^"
}
]
}
Force the version of jest
to *
(latest) for the whole monorepo, but only within peerDependencies
.
{
"versionGroups": [
{
"dependencies": ["jest"],
"dependencyTypes": ["peerDependencies"],
"packages": ["**"],
"pinVersion": "*"
}
]
}
Published by JamieMason almost 3 years ago
1.64.1
in the whole monorepo.{
"versionGroups": [
{
"dependencies": ["@aws-cdk/**"],
"packages": ["**"],
"pinVersion": "1.64.1"
}
]
}
1.64.1
in your alpha packages, and 0.37.0
for those packages in the rest of the monorepo:{
"versionGroups": [
{
"dependencies": ["@aws-cdk/**"],
"packages": ["@alpha/**"],
"pinVersion": "1.64.1"
},
{
"dependencies": ["@aws-cdk/**"],
"packages": ["**"],
"pinVersion": "0.37.0"
}
]
}
lodash
everywhere{
"versionGroups": [
{
"dependencies": ["lodash"],
"packages": ["**"],
"pinVersion": "14.17.0"
}
]
}
webpack@4
in some packages and webpack@5
in others{
"versionGroups": [
{
"dependencies": ["webpack"],
"packages": ["@old-stuff/server", "@old-stuff/ui"],
"pinVersion": "4.x.x"
},
{
"dependencies": ["webpack"],
"packages": ["@new-stuff/server", "@new-stuff/ui"],
"pinVersion": "5.x.x"
}
]
}
Published by JamieMason almost 3 years ago
resolutions
and overrides
fields are now processed by syncpack and are enabled by default. To exclude these new fields you will need to define only the fields you do want to process, either in your configuration file:{
"dev": true,
"peer": true,
"prod": true
}
or via the command line:
syncpack list --dev --peer --prod
Published by JamieMason about 4 years ago
Published by JamieMason over 4 years ago