Yarn workspaces introduces complexity where local packages
are mentioned as required dependency but are not present on the lockfile
this means that the lockfile is considered deeply out of sync by the plugin.
Allow to skip the check if user is calling with StrictOutOfSync=false not just
for top level dependencies but also the transitives as a package can rely on another local workspace which lists a workspace as a dep.
Notes for the reviewer
We already allow skipping out of sync check/error but we still had a place where it is deeper than the top level dependencies that would also throw. Unfortunately Yarn Workspace is indeed hitting this error.
What this does
Yarn workspaces introduces complexity where local packages are mentioned as required dependency but are not present on the lockfile this means that the lockfile is considered deeply out of sync by the plugin.
Allow to skip the check if user is calling with StrictOutOfSync=false not just for top level dependencies but also the transitives as a package can rely on another local workspace which lists a workspace as a dep.
Notes for the reviewer
We already allow skipping out of sync check/error but we still had a place where it is deeper than the top level dependencies that would also throw. Unfortunately Yarn Workspace is indeed hitting this error.
The changes allow us to successfully scan https://github.com/RoadieHQ/backstage-plugin-travis-ci which previously failed
More information
Screenshots
Before
After