2.1.0
With the release of Yarn 3 not long behind us, I'm excited to introduce version 2.1.0 of the outdated plugin which adds lockfile aware version comparison, URLs in output, and fixes a number of annoying bugs.
TLDR
Don't want to bother with release notes? You can update your project to version 2.1.0 today using the following command.
yarn plugin import https://github.com/mskelton/yarn-plugin-outdated/raw/v2.1.0/bundles/@yarnpkg/plugin-outdated.js
Lockfile aware version comparison
In previous versions of the plugin, the current version of dependencies would be retrieved from the manifest (package.json
file). While this worked well in many cases, using semver ranges that include a caret or tilde could result in a dependency having a newer version in the lockfile than in the manifest. This lead to confusing behavior where dependencies were marked as outdated even though they were actually updated. This problem became more of an issue in Yarn 3 with the addition of the --recursive
flag for yarn up
which will update dependencies in the lockfile without changing the manifest version.
With this release, we will now use the version information from your lockfile to determine outdated dependencies rather than the manifest versions. This should result in a more correct result of outdated dependencies.
URLs in output
In the Yarn 1 outdated command, package homepage URLs were printing in the output to make it easy to view more information about a given package. If you've been missing that feature, it's back! Simply add the --url
flag to the outdated command to get URL information in the results.
yarn outdated --url
Bug squashing and maintenance
We've squashed a couple other small bugs in this release.
- The name of aliased dependencies (e.g.
"old-eslint": "npm:eslint@1.0.0"
) is now properly printed in the output. - Dependencies which are workspaces in the current project are now ignored. This fixes an issue where private workspaces that are not published would cause the outdated command to break.
In addition to these bugs, we've completely revamped out test suite to be more sustainable and to require much less mocking giving us better confidence when shipping new features.