First of all I love this utility, thanks for making!
I am getting the following error:
SyntaxError: Unexpected end of JSON input
at JSON.parse (<anonymous>)
at getDependencyTree (/Users/me/.config/yarn/global/node_modules/cost-of-modules/lib/helpers.js:64:17)
at Object.getRootDependencies (/Users/me/.config/yarn/global/node_modules/cost-of-modules/lib/helpers.js:73:26)
at Object.<anonymous> (/Users/me/.config/yarn/global/node_modules/cost-of-modules/lib/index.js:26:32)
at Module._compile (module.js:569:30)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
at Function.Module.runMain (module.js:605:10)
My package.json is:
{
"name": "gtest",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"devDependencies": {
"gulp": "gulpjs/gulp#4.0",
"gulp-cli": "^1.3.0"
}
}
I am using npm 5.0.0, and I suspect that the issue relates to npm ls --json printing errors after printing the json (note that sync-exec channels both STDOUT and STDERR and returns the combination).
You should probably use:
const {spawnSync} = require('child_process')
const proc = spawnSync('npm', ['ls', '--json'])
console.log(JSON.parse(proc.stdout.toString()))
// ignore proc.stderr
Erroneous "JSON" output (note STDERR at end):
{
"name": "gtest",
"version": "1.0.0",
"problems": [
"invalid: gulp@4.0.0-alpha.2 /Users/me/Desktop/gtest/node_modules/gulp",
"extraneous: glob-watcher@3.2.0 /Users/me/Desktop/gtest/node_modules/glob-watcher",
"extraneous: undertaker@1.1.0 /Users/me/Desktop/gtest/node_modules/undertaker",
"extraneous: vinyl-fs@2.4.4 /Users/me/Desktop/gtest/node_modules/vinyl-fs",
"extraneous: node-pre-gyp@0.6.36 /Users/me/Desktop/gtest/node_modules/node-pre-gyp"
],
"dependencies": {
"...": "..."
}
}
npm ERR! invalid: gulp@4.0.0-alpha.2 /Users/me/Desktop/gtest/node_modules/gulp
npm ERR! extraneous: glob-watcher@3.2.0 /Users/me/Desktop/gtest/node_modules/glob-watcher
npm ERR! extraneous: undertaker@1.1.0 /Users/me/Desktop/gtest/node_modules/undertaker
npm ERR! extraneous: vinyl-fs@2.4.4 /Users/me/Desktop/gtest/node_modules/vinyl-fs
npm ERR! extraneous: node-pre-gyp@0.6.36 /Users/me/Desktop/gtest/node_modules/node-pre-gyp
First of all I love this utility, thanks for making!
I am getting the following error:
SyntaxError: Unexpected end of JSON input at JSON.parse (<anonymous>) at getDependencyTree (/Users/me/.config/yarn/global/node_modules/cost-of-modules/lib/helpers.js:64:17) at Object.getRootDependencies (/Users/me/.config/yarn/global/node_modules/cost-of-modules/lib/helpers.js:73:26) at Object.<anonymous> (/Users/me/.config/yarn/global/node_modules/cost-of-modules/lib/index.js:26:32) at Module._compile (module.js:569:30) at Object.Module._extensions..js (module.js:580:10) at Module.load (module.js:503:32) at tryModuleLoad (module.js:466:12) at Function.Module._load (module.js:458:3) at Function.Module.runMain (module.js:605:10)My package.json is:
{ "name": "gtest", "version": "1.0.0", "main": "index.js", "license": "MIT", "devDependencies": { "gulp": "gulpjs/gulp#4.0", "gulp-cli": "^1.3.0" } }I am using npm 5.0.0, and I suspect that the issue relates to
npm ls --jsonprinting errors after printing the json (note that sync-exec channels both STDOUT and STDERR and returns the combination).You should probably use:
Erroneous "JSON" output (note STDERR at end):