Product
Introducing Enhanced Alert Actions and Triage Functionality
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
envinfo
Advanced tools
Package description
The envinfo npm package is a tool that generates information about the development environment. It can be used to report system information, software versions, and configuration details, which is particularly useful for debugging and issue reporting in software projects.
System Information
This command prints information about the system, such as OS, CPU, Memory, and Shell.
envinfo --system
Browsers
This command lists installed web browsers and their versions.
envinfo --browsers
Languages
This command shows the installed languages and their versions, like Node.js, Python, Ruby, etc.
envinfo --languages
Utilities
This command provides information about installed utilities like Git, Make, GCC, etc.
envinfo --utilities
Servers
This command reports on server software like Apache, Nginx, and IIS.
envinfo --servers
Virtualization
This command lists virtualization tools like Docker, Parallels, and VirtualBox.
envinfo --virtualization
IDEs
This command shows the installed Integrated Development Environments (IDEs) and their versions.
envinfo --ides
SDKs
This command lists the installed SDKs for platforms like iOS, Android, and .NET.
envinfo --sdks
Custom Configuration
This command allows for custom configuration to include duplicate packages in the output and the full dependency tree.
envinfo --duplicates --fullTree
The systeminformation package provides detailed information about the system hardware and software. It offers a broader range of system metrics compared to envinfo, but it does not focus on the development environment configuration.
The os package is a core Node.js module that provides basic operating system-related utility functions. It is more limited in scope compared to envinfo and does not provide information about software versions or development tools.
The which package is a simple utility to find the path of the executable files in the system. It is much more specific in functionality compared to envinfo, which provides a comprehensive report of the environment.
Readme
Please mention other relevant information such as the browser version, Node.js version, Operating System and programming language.
To use as a CLI tool, install this package globally:
npm install -g envinfo || yarn global add envinfo
Or, use without installing with npx:
npx envinfo
To use as a library in another project:
npm install envinfo || yarn add envinfo
envinfo
|| npx envinfo
System:
OS: macOS High Sierra 10.13
CPU: x64 Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz
Memory: 204.88 MB / 16.00 GB
Shell: 5.4.2 - /usr/local/bin/zsh
Binaries:
Node: 8.11.0 - ~/.nvm/versions/node/v8.11.0/bin/node
Yarn: 1.5.1 - ~/.yarn/bin/yarn
npm: 5.6.0 - ~/.nvm/versions/node/v8.11.0/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
Utilities:
CMake: 3.10.2 - /usr/local/bin/cmake
Make: 3.81 - /usr/bin/make
GCC: 4.2.1 - /usr/bin/gcc
Git: 2.17.1 - /usr/local/bin/git
Servers:
Apache: 2.4.27 - /usr/sbin/apachectl
Nginx: 1.13.12 - /usr/local/bin/nginx
Virtualization:
Docker: 18.03.1 - /usr/local/bin/docker
Parallels: 13.3.0 - /usr/local/bin/prlctl
VirtualBox: 5.2.8 - /usr/local/bin/vboxmanage
SDKs:
iOS SDK:
Platforms: iOS 11.0, macOS 10.13, tvOS 11.0, watchOS 4.0
Android SDK:
Build Tools: 27.0.3
API Levels: 26
IDEs:
Android Studio: 3.0 AI-171.4443003
Atom: 1.23.3
Emacs: 22.1.1 - /usr/bin/emacs
Nano: 2.0.6 - /usr/bin/nano
Vim: 8.0 - /usr/bin/vim
VSCode: 1.23.1 - /usr/local/bin/code
Xcode: 9.0/9A235 - /usr/bin/xcodebuild
Languages:
Bash: 4.4.12 - /usr/local/bin/bash
Go: 1.9.3 - /usr/local/bin/go
Elixir: 1.6.2 - /usr/local/bin/elixir
Java: 1.8.0 - /usr/bin/javac
Perl: 5.18.2 - /usr/bin/perl
PHP: 7.1.7 - /usr/bin/php
Python: 2.7.14 - /usr/local/bin/python
Ruby: 2.4.1 - ~/.rvm/rubies/ruby-2.4.1/bin/ruby
Rust: 1.11.0 - ~/.cargo/bin/rustup
Scala: 2.12.6 - /usr/local/bin/scalac
Databases:
MongoDB: 3.6.4 - /usr/local/bin/mongo
MySQL: 10.2.14 (MariaDB) - /usr/local/bin/mysql
PostgreSQL: 10.3 - /usr/local/bin/postgres
SQLite: 3.19.4 - /usr/local/bin/sqlite3
Browsers:
Chrome: 67.0.3396.62
Chrome Canary: 69.0.3447.2
Firefox: 59.0.2
Firefox Developer Edition: 61.0
Firefox Nightly: 61.0a1
Safari: 11.0
Safari Technology Preview: 11.2
npmPackages:
apollo-client: ^2.3.1 => 2.3.1
jest: ^22.2.1 => 22.2.1
...
react: ^16.3.2 => 16.3.2
react-apollo: ^2.1.4 => 2.1.4
run4staged: ^1.1.1 => 1.1.1
solidarity: 2.0.5 => 2.0.5
styled-components: ^3.1.6 => 3.1.6
npmGlobalPackages:
create-react-app: 1.5.2
create-react-native-app: 1.0.0
envinfo: 5.10.0
exp: 49.2.2
gatsby-cli: 1.1.52
npm: 5.6.0
react-native-cli: 2.0.1
solidarity: 2.1.0
typescript: 2.8.1
Envinfo takes a configuration object and returns a string (optionally yaml, json or markdown)
import envinfo from 'envinfo';
envinfo.run(
{
System: ['OS', 'CPU'],
Binaries: ['Node', 'Yarn', 'npm'],
Browsers: ['Chrome', 'Firefox', 'Safari'],
npmPackages: ['styled-components', 'babel-plugin-styled-components'],
},
{ json: true, console: true, showNotFound: true }
);
returns:
{
"System": {
"OS": "macOS High Sierra 10.13",
"CPU": "x64 Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz"
},
"Binaries": {
"Node": {
"version": "8.11.0",
"path": "~/.nvm/versions/node/v8.11.0/bin/node"
},
"Yarn": {
"version": "1.5.1",
"path": "~/.yarn/bin/yarn"
},
"npm": {
"version": "5.6.0",
"path": "~/.nvm/versions/node/v8.11.0/bin/npm"
}
},
"Browsers": {
"Chrome": {
"version": "67.0.3396.62"
},
"Firefox": {
"version": "59.0.2"
},
"Safari": {
"version": "11.0"
}
},
"npmPackages": {
"styled-components": {
"wanted": "^3.2.1",
"installed": "3.2.1"
},
"babel-plugin-styled-components": "Not Found"
}
}
All of envinfo's helpers are also exported for use. You can use envinfo as a whole, or just the parts that you need, like this:
const envinfo = require('envinfo');
// each helper returns a promise
const node = await envinfo.helpers.getNodeInfo();
// The promises resolve to an array of values: ["Name", "Version", "Path"]
// e.g. ["Node", "10.9.0", "/usr/local/bin/node"]
console.log(`Node: ${node[1]}`); // "Node: 10.9.0"
--system Print general system info such as OS, CPU, Memory and Shell
--browsers Get version numbers of installed web browsers
--SDKs Get platforms, build tools and SDKs of iOS and Android
--IDEs Get version numbers of installed IDEs
--languages Get version numbers of installed languages such as Java, Python, PHP, etc
--binaries Get version numbers of node, npm, watchman, etc
--npmPackages Get version numbers of locally installed npm packages - glob, string, or comma delimited list
--npmGlobalPackages Get version numbers of globally installed npm packages
--duplicates Mark duplicate npm packages inside parentheses eg. (2.1.4)
--fullTree Traverse entire node_modules dependency tree, not just top level
--markdown Print output in markdown format
--json Print output in JSON format
--console Print to console (defaults to on for CLI usage, off for programmatic usage)
envinfo is live in:
react-native info
)create-react-app --info
)expo diagnostics
)webpack-cli info
)solidarity report
)gatsby info
)envinfo is used in the ISSUE_TEMPLATE of:
command -v
until you smash your computercommand -v
for you on :all-the-things: Great for raw info.MIT
PRs for additional features are welcome! Run npm run lint && npm run format
before committing.
This project came out of a PR to the React Native CLI tool - issues are reported frequently without important environment information, like Node/npm versions.
Thanks goes to these wonderful people (emoji key):
Trevor Brindle ๐ฌ ๐ ๐ ๐ป ๐ ๐ก ๐ค ๐ ๐ข โ ๏ธ | Gant Laborde ๐ ๐ ๐ป ๐ค | Anton Fisher ๐ ๐ป | Ahmad Awais โก๏ธ ๐ ๐ป | Hasan ๐ ๐ป | Ernesto Ramรญrez ๐ ๐ป |
---|
This project follows the all-contributors specification. Contributions of any kind welcome!
FAQs
Info about your dev environment for debugging purposes
The npm package envinfo receives a total of 11,305,377 weekly downloads. As such, envinfo popularity was classified as popular.
We found that envinfo demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.ย It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
Security News
Polyfill.io has been serving malware for months via its CDN, after the project's open source maintainer sold the service to a company based in China.
Security News
OpenSSF is warning open source maintainers to stay vigilant against reputation farming on GitHub, where users artificially inflate their status by manipulating interactions on closed issues and PRs.