'How do I upgrade all scoped packages with Yarn?
Is it possible to upgrade all specific scoped packages in the dependencies section of my package.json
by using the Yarn package manager?
For example:
yarn upgrade @scope/*
This will upgrade all scoped packages in yarn.lock
and package.json
file.
Solution 1:[1]
Since there's no way to do this currently with Yarn, I've written a very short Node script to do what you want:
var fs = require('fs');
var child_process = require('child_process');
var filterRegex = /@angular\/.*/;
fs.readFile('./package.json', function(err, data) {
if (err) throw err;
var dependencies = JSON.parse(data)['dependencies'];
Object.keys(dependencies).forEach(function(dependency) {
if (filterRegex.test(dependency)) {
console.log('Upgrading ' + dependency);
child_process.execSync('yarn upgrade ' + dependency);
} else {
console.log('Skipping ' + dependency);
}
});
});
Here's a quick explanation of what that does:
it loads the
package.json
from the directory that the terminal is currently inwe then parse the JSON of the
package.json
and get the"dependencies"
keyfor each dependency, we run the regex specified as the
filterRegex
(if you need to change this or want an explanation of the regex syntax, I would test with RegExr. I used@angular
as an example prefix for the regex)if the dependency matches, we run
yarn upgrade [DEPENDENCY]
and log it- otherwise, we log that it was skipped.
Let me know if you have any trouble with this, but it should solve your issue until the Yarn team come up with something better.
Solution 2:[2]
Solution 3:[3]
In the current version v1.2.1 you can actually use the build in --scope
flag to upgrade only packages that begin with that scope yarn upgrade --scope @angular
. Check out more on yarn upgrade scope on the official website.
Solution 4:[4]
Or better install yarn-update.
I found it very useful.
All you have to do is to run yarn-update
and then select the packages you want to update.
Solution 5:[5]
yarn upgrade-interactive
should do the trick for you with an up-to-date version of yarn. This advice is even output when installing the yarn-update package that @valentinvoilean mentioned above.
Solution 6:[6]
Code below upgrade all packages of scope to latest version.
yarn upgrade --scope @scope-name --latest
Solution 7:[7]
yarn upgrade --scope @scopeName --latest
//Example :-
yarn upgrade --scope @angular --latest
// OR
yarn upgrade -S @angular --latest
Solution 8:[8]
i'm using npm-check-updates
after installing it, just run ncu -u
and then run yarn
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | |
Solution 2 | Googol |
Solution 3 | Claudiu Hojda |
Solution 4 | ValentinVoilean |
Solution 5 | jbustamovej |
Solution 6 | Odenir Gomes |
Solution 7 | |
Solution 8 | Muhammad Adam |