envinfo
Advanced tools
Comparing version 3.11.0 to 3.11.1
{ | ||
"name": "envinfo", | ||
"version": "3.11.0", | ||
"version": "3.11.1", | ||
"description": "Info about your dev environment for debugging purposes", | ||
@@ -5,0 +5,0 @@ "repository": "https://github.com/tabrindle/envinfo", |
@@ -9,3 +9,4 @@ #!/usr/bin/env node | ||
module.exports.helpers = helpers; | ||
module.exports.print = function print(options) { | ||
module.exports.print = function print(opts) { | ||
var options = opts || {}; | ||
var log = []; | ||
@@ -25,93 +26,91 @@ | ||
if (options) { | ||
if (options.browsers && process.platform === 'darwin') { | ||
options.clipboard ? log.push('Browsers:') : log.push('\x1b[4mBrowsers:\x1b[0m'); | ||
var browsers = helpers.browserBundleIdentifiers; | ||
var browserVersions = Object.keys(browsers).map(function browserMap(browser) { | ||
return ' ' + browser + ': ' + helpers.getDarwinApplicationVersion(browsers[browser]); | ||
}); | ||
log = log.concat(browserVersions); | ||
if (options.browsers && process.platform === 'darwin') { | ||
options.clipboard ? log.push('Browsers:') : log.push('\x1b[4mBrowsers:\x1b[0m'); | ||
var browsers = helpers.browserBundleIdentifiers; | ||
var browserVersions = Object.keys(browsers).map(function browserMap(browser) { | ||
return ' ' + browser + ': ' + helpers.getDarwinApplicationVersion(browsers[browser]); | ||
}); | ||
log = log.concat(browserVersions); | ||
log.push(''); | ||
} | ||
if (options.packages) { | ||
var packageJson = helpers.getPackageJsonByPath('/package.json'); | ||
if (!packageJson) { | ||
log.push('ERROR: package.json not found!'); | ||
log.push(''); | ||
log = log.join('\n'); | ||
if (options.clipboard) copypasta.copy(log); | ||
console.log(log); | ||
return; | ||
} | ||
if (options.packages) { | ||
var packageJson = helpers.getPackageJsonByPath('/package.json'); | ||
options.clipboard | ||
? log.push('Packages: (wanted => installed)') | ||
: log.push('\x1b[4mPackages:\x1b[0m (wanted => installed)'); | ||
if (!packageJson) { | ||
log.push('ERROR: package.json not found!'); | ||
log.push(''); | ||
log = log.join('\n'); | ||
if (options.clipboard) copypasta.copy(log); | ||
console.log(log); | ||
return; | ||
} | ||
var devDependencies = packageJson.devDependencies || {}; | ||
var dependencies = packageJson.dependencies || {}; | ||
var topLevelDependencies = Object.assign({}, devDependencies, dependencies); | ||
var packagePaths; | ||
options.clipboard | ||
? log.push('Packages: (wanted => installed)') | ||
: log.push('\x1b[4mPackages:\x1b[0m (wanted => installed)'); | ||
if (options.duplicates || options.fullTree) { | ||
packagePaths = helpers.getAllPackageJsonPaths(); | ||
} | ||
var devDependencies = packageJson.devDependencies || {}; | ||
var dependencies = packageJson.dependencies || {}; | ||
var topLevelDependencies = Object.assign({}, devDependencies, dependencies); | ||
var packagePaths; | ||
var logFunction = function logFunc(dep) { | ||
var trimmedDep = dep.trim(); | ||
var wanted = topLevelDependencies[trimmedDep] || ''; | ||
var dependencyPackageJson = helpers.getPackageJsonByName(dep); | ||
var installed = dependencyPackageJson ? dependencyPackageJson.version : 'Not Found'; | ||
var duplicates = ''; | ||
if (options.duplicates || options.fullTree) { | ||
packagePaths = helpers.getAllPackageJsonPaths(); | ||
if (options.duplicates) { | ||
duplicates = helpers | ||
.getModuleVersions(dep, packagePaths) | ||
.filter(depVer => depVer !== installed) | ||
.join(', '); | ||
if (duplicates) duplicates = ' (' + duplicates + ')'; | ||
} | ||
var logFunction = function logFunc(dep) { | ||
var trimmedDep = dep.trim(); | ||
var wanted = topLevelDependencies[trimmedDep] || ''; | ||
var dependencyPackageJson = helpers.getPackageJsonByName(dep); | ||
var installed = dependencyPackageJson ? dependencyPackageJson.version : 'Not Found'; | ||
var duplicates = ''; | ||
if (wanted) wanted += ' => '; | ||
if (options.duplicates) { | ||
duplicates = helpers | ||
.getModuleVersions(dep, packagePaths) | ||
.filter(depVer => depVer !== installed) | ||
.join(', '); | ||
if (duplicates) duplicates = ' (' + duplicates + ')'; | ||
} | ||
log.push(' ' + trimmedDep + ': ' + wanted + installed + duplicates); | ||
}; | ||
if (wanted) wanted += ' => '; | ||
log.push(' ' + trimmedDep + ': ' + wanted + installed + duplicates); | ||
}; | ||
if (Array.isArray(options.packages)) { | ||
options.packages.map(logFunction); | ||
} else if (typeof options.packages === 'string') { | ||
options.packages.split(',').map(logFunction); | ||
} else if (typeof options.packages === 'boolean') { | ||
if (options.fullTree) { | ||
var allDependencies = packagePaths | ||
.map(filePath => { | ||
var json = helpers.getPackageJsonByPath(filePath); | ||
return { | ||
name: json.name, | ||
version: json.version, | ||
}; | ||
}) | ||
.reduce((acc, val) => { | ||
return Object.assign(acc, { | ||
[val.name]: acc[val.name] ? acc[val.name].concat([val.version]) : [val.version], | ||
}); | ||
}, {}); | ||
Object.keys(allDependencies).map(logFunction); | ||
} else { | ||
Object.keys(topLevelDependencies).map(logFunction); | ||
} | ||
if (Array.isArray(options.packages)) { | ||
options.packages.map(logFunction); | ||
} else if (typeof options.packages === 'string') { | ||
options.packages.split(',').map(logFunction); | ||
} else if (typeof options.packages === 'boolean') { | ||
if (options.fullTree) { | ||
var allDependencies = packagePaths | ||
.map(filePath => { | ||
var json = helpers.getPackageJsonByPath(filePath); | ||
return { | ||
name: json.name, | ||
version: json.version, | ||
}; | ||
}) | ||
.reduce((acc, val) => { | ||
return Object.assign(acc, { | ||
[val.name]: acc[val.name] ? acc[val.name].concat([val.version]) : [val.version], | ||
}); | ||
}, {}); | ||
Object.keys(allDependencies).map(logFunction); | ||
} else { | ||
Object.keys(topLevelDependencies).map(logFunction); | ||
} | ||
log.push(''); | ||
} | ||
log = log.join('\n'); | ||
if (options.clipboard) { | ||
copypasta.writeSync(log); | ||
} | ||
log.push(''); | ||
} | ||
log = log.join('\n'); | ||
if (options.clipboard) { | ||
copypasta.writeSync(log); | ||
} | ||
console.log(log); | ||
}; |
64801
351