This is lerna 1.x behavior
In babel if we update babel-types for a simple type update, it will only update babel-types which is ok because we use ^ everywhere for versioning.
In lerna 2.x however, updating babel-types will cause all 117 packages to update because babel-types becomes a dependency of all packages if you keep checking nested package.json dependencies.
Could just be a config value/flag?
I don't have a good name for it but just have to change https://github.com/lerna/lerna/blob/master/src/UpdatedPackagesCollector.js#L130 to something like return this.updatedPackages[pkg.name] || (this.flags.updatedOnly && this.dependents[pkg.name]) || this.flags.canary;
This is lerna 1.x behavior
In babel if we update
babel-typesfor a simple type update, it will only updatebabel-typeswhich is ok because we use^everywhere for versioning.In lerna 2.x however, updating
babel-typeswill cause all 117 packages to update because babel-types becomes a dependency of all packages if you keep checking nested package.json dependencies.Could just be a config value/flag?
I don't have a good name for it but just have to change https://github.com/lerna/lerna/blob/master/src/UpdatedPackagesCollector.js#L130 to something like
return this.updatedPackages[pkg.name] || (this.flags.updatedOnly && this.dependents[pkg.name]) || this.flags.canary;