How do I know the minimum node.js version for my project?

Does NPM have a command to list the minimum Node version dependency based on the available project modules?

No. There is no built-in way to recursively check the current package and its dependencies and collate the engines.node requirement into a cohesive whole.

If you are on a unix-like system you can try this command:

find . -name package.json | xargs grep -h node\": | sort | uniq -c

It will give you something like this output:

1 "gnode": "0.1.0", 36 "node": "*" 1 "node": "0.10.x || 0.8.x" 1 "node": "0.4 || >=0.5.8" 1 "node": ">= 0.10.0" 3 "node": ">= 0.4" 3 "node": ">= 0.4.0" 2 "node": ">= 0.4.1 < 0.5.0" 2 "node": ">= 0.6" 1 "node": ">= 0.6.6" 8 "node": ">= 0.8" 3 "node": ">= 0.8.0" 1 "node": ">=0.1.90" 2 "node": ">=0.10.0" 5 "node": ">=0.4" 9 "node": ">=0.4.0" 3 "node": ">=0.4.12" 3 "node": ">=0.4.9" 5 "node": ">=0.6" 5 "node": ">=0.8" 19 "node": ">=0.8.0" 1 "node": ">=0.8.x" 1 "engines": { "node": ">= 0.4.0" } 1 , "dnode": "10.999.14234"

Where (in addition to some extraneous 'gnode' and 'dnode') you can see that the minimum version for some dependencies is '0.10', but many dependencies claim to work with all versions of node ('*').

To see which package.json requires which version, use this:

find . -name package.json | xargs grep node\":

You should be able to check the package.json for the following:

  "engines": {
    "node": ">=0.10.0"
  }

I think you should try npm ls command