Safely generate an npm lockfile and output it to the filename of your choice.
MIT License
Use npm's Arborist to get a dependency tree for a package.
Determine if your dependency graph's stated "engines" criteria is met.