Socket
Socket
Sign inDemoInstall

envinfo

Package Overview
Dependencies
92
Maintainers
1
Versions
88
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 3.11.0 to 3.11.1

2

package.json
{
"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);
};
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc