vlt outdated
vltfeaturesclient

vlt outdated

We shipped the "vlt outdated" command. Find out what packages need upgrading and if you're vulnerable.

Introducing "vlt outdated"

We recently shipped a vlt outdated command. vlt outdated looks at your project and all workspaces, and gives you a list of packages for which an update is available.

Here's an example:

sh

$ vlt outdated
Package     Current  Wanted  Latest  Type  Why
typescript  5.4.2    5.9.3   7.0.2   dev   major
axios       1.6.0    1.20.0  1.20.0  prod  minor, wanted fixes 13 serious alerts, latest fixes 13 serious alerts
chalk       4.1.0    4.1.2   6.0.1   prod  major
express     4.18.2   4.22.3  5.3.0   prod  major
lodash      4.17.15  4.18.1  4.18.1  prod  minor, wanted fixes 3 serious alerts, latest fixes 3 serious alerts

Run `vlt update` to pick up 5 in-range updates.
Run `vlt install typescript@^7.0.2 --save-dev` to move to latest.
Run `vlt install chalk@^6.0.1 express@^5.3.0` to move to latest.

After running vlt update here, this reduces the list to just the major changes:

sh

$ vlt outdated
Package     Current  Wanted  Latest  Type  Why
typescript  5.9.3    5.9.3   7.0.2   dev   major
chalk       4.1.2    4.1.2   6.0.1   prod  major
express     4.22.3   4.22.3  5.3.0   prod  major

Run `vlt install typescript@^7.0.2 --save-dev` to move to latest.
Run `vlt install chalk@^6.0.1 express@^5.3.0` to move to latest.

Straight vlt outdated shows direct dependencies only. You can also see the whole graph with vlt outdated --target='*'. This adds the 'dependent' column so you can see which dependent is holding the update back:

sh

$ vlt outdated --target='*'
Package           Current  Wanted  Latest  Type  Dependent               Why
abbrev            1.1.1    1.1.1   5.0.0   prod  smoke                   major
glob              7.2.3    7.2.3   13.0.6  prod  smoke                   major, deprecated
once              1.3.0    1.3.0   1.4.0   prod  smoke                   minor
balanced-match    1.0.2    1.0.2   4.0.4   prod  brace-expansion@1.1.21  major
concat-map        0.0.1    0.0.1   0.0.2   prod  brace-expansion@1.1.21  patch
minimatch         3.1.5    3.1.5   10.2.6  prod  glob@7.2.3              major
once              1.3.0    1.4.0   1.4.0   prod  glob@7.2.3              minor
path-is-absolute  1.0.1    1.0.1   2.0.0   prod  glob@7.2.3              major
once              1.3.0    1.4.0   1.4.0   prod  inflight@1.0.6          minor
brace-expansion   1.1.21   1.1.21  5.0.12  prod  minimatch@3.1.5         major

Run `vlt update` to pick up 2 in-range updates.
Run `vlt install abbrev@^5.0.0 glob@^13.0.6 once@^1.4.0` to move to latest.

Workspaces and Catalogued dependencies are fully supported, and you can get machine-readable output with --view=json:

json

{
  "name": "lodash",
  "spec": "4.17.15",
  "type": "prod",
  "current": "4.17.15",
  "wanted": "4.17.15",
  "latest": "4.18.1",
  "dependent": "demo-app",
  "location": ".",
  "kind": "minor",
  "inRange": false,
  "action": "vlt install lodash@^4.18.1",
  "security": {
    "current": { "score": 87, "alerts": 10 },
    "latest": { "score": 93, "alerts": 5 }
  }
}

You can find more examples in the docs.