rushstack
rushstack copied to clipboard
Prototype of Lockfile Linter
Summary
This PR introduces the prototype for the lockfile linter, which is a way of enforcing linting "rules" to the lockfile. Example rules may include:
side-by-side version detection
For this rule, the lockfile linter will look for side-by-side "cluster-nodes", which are side-by-side dependency that don't have a parent side-by-side dependency. This means that these "cluster-nodes" are the source cause for many other side-by-side versions, as their dependency trees are highly likely to introduce other side-by-side versions. Thus, we are mainly concerned about the "root" side-by-side version because that is likely the root cause for all the others.
This detection will also flag projects (defined by packages in the rush.json file)