Installations
npm install @frat/envinfo
Developer Guide
Typescript
Yes
Module System
CommonJS
Min. Node Version
>=4
Node Version
18.3.0
NPM Version
8.6.0
Score
58.7
Supply Chain
94.6
Quality
75.4
Maintenance
100
Vulnerability
100
License
Releases
Unable to fetch releases
Contributors
Unable to fetch Contributors
Languages
JavaScript (100%)
validate.email 🚀
Verify real, reachable, and deliverable emails with instant MX records, SMTP checks, and disposable email detection.
Developer
ratson
Download Statistics
Total Downloads
10,916
Last Day
2
Last Week
6
Last Month
35
Last Year
1,086
GitHub Statistics
MIT License
366 Commits
28 Branches
1 Contributors
Updated on Dec 31, 2021
Bundle Size
140.08 kB
Minified
44.14 kB
Minified + Gzipped
Package Meta Information
Latest Version
7.10.1
Package Id
@frat/envinfo@7.10.1
Unpacked Size
168.33 kB
Size
53.49 kB
File Count
6
NPM Version
8.6.0
Node Version
18.3.0
Total Downloads
Cumulative downloads
Total Downloads
10,916
Last Day
0%
2
Compared to previous day
Last Week
-25%
6
Compared to previous week
Last Month
-54.5%
35
Compared to previous month
Last Year
-60%
1,086
Compared to previous year
Daily Downloads
Weekly Downloads
Monthly Downloads
Yearly Downloads
Dev Dependencies
31
envinfo generates a report of the common details needed when troubleshooting software issues, such as your operating system, binary versions, browsers, installed languages, and more
The problem
- It works on my computer
- "command not found"
- what version of "command" are you running?
- what version of "different command" are you running?
- do you have "insert obscure android sdk version"?
- every github issue reporting template ever:
Please mention other relevant information such as the browser version, Node.js version, Operating System and programming language.
This solution
- Gather all of this information in one spot, quickly, and painlessly.
Installation
To use as a CLI tool, install this package globally:
1npm install -g envinfo || yarn global add envinfo
Or, use without installing with npx:
npx envinfo
To use as a library in another project:
1npm install envinfo || yarn add envinfo
CLI Usage
envinfo
|| npx envinfo
1 System: 2 OS: macOS Mojave 10.14.5 3 CPU: (8) x64 Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz 4 Memory: 2.97 GB / 16.00 GB 5 Shell: 5.3 - /bin/zsh 6 Binaries: 7 Node: 8.16.0 - ~/.nvm/versions/node/v8.16.0/bin/node 8 Yarn: 1.15.2 - ~/.yarn/bin/yarn 9 npm: 6.9.0 - ~/.nvm/versions/node/v8.16.0/bin/npm 10 Watchman: 4.9.0 - /usr/local/bin/watchman 11 Managers: 12 Cargo: 1.31.0 - ~/.cargo/bin/cargo 13 CocoaPods: 1.7.3 - /usr/local/bin/pod 14 Composer: 1.8.6 - /usr/local/bin/composer 15 Gradle: 5.5 - /usr/local/bin/gradle 16 Homebrew: 2.1.7 - /usr/local/bin/brew 17 Maven: 3.6.1 - /usr/local/bin/mvn 18 pip2: 19.0.3 - /usr/local/bin/pip2 19 pip3: 19.0.2 - /usr/local/bin/pip3 20 RubyGems: 2.5.2.3 - /usr/bin/gem 21 Utilities: 22 CMake: 3.13.3 - /usr/local/bin/cmake 23 Make: 3.81 - /usr/bin/make 24 GCC: 10.14. - /usr/bin/gcc 25 Git: 2.20.0 - /usr/local/bin/git 26 Mercurial: 4.5.3 - /usr/bin/hg 27 Clang: 1001.0.46.4 - /usr/bin/clang 28 Subversion: 1.10.3 - /usr/bin/svn 29 Servers: 30 Apache: 2.4.34 - /usr/sbin/apachectl 31 Nginx: 1.13.12 - /usr/local/bin/nginx 32 Virtualization: 33 Docker: 18.09.1 - /usr/local/bin/docker 34 Parallels: 13.3.0 - /usr/local/bin/prlctl 35 VirtualBox: 5.2.20 - /usr/local/bin/vboxmanage 36 SDKs: 37 iOS SDK: 38 Platforms: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2 39 Android SDK: 40 API Levels: 28 41 Build Tools: 28.0.3 42 System Images: android-28 | Google Play Intel x86 Atom 43 IDEs: 44 Android Studio: 3.2 AI-181.5540.7.32.5056338 45 Atom: 1.23.3 46 Emacs: 22.1.1 - /usr/bin/emacs 47 Nano: 2.0.6 - /usr/bin/nano 48 VSCode: 1.36.0 - /usr/local/bin/code 49 Vim: 8.0 - /usr/bin/vim 50 Xcode: 10.2.1/10E1001 - /usr/bin/xcodebuild 51 Languages: 52 Bash: 4.4.23 - /usr/local/bin/bash 53 Elixir: 1.6.2 - /usr/local/bin/elixir 54 Go: 1.11.1 - /usr/local/bin/go 55 Java: 1.8.0_192 - /usr/bin/javac 56 Perl: 5.18.4 - /usr/bin/perl 57 PHP: 7.1.23 - /usr/bin/php 58 Python: 2.7.16 - /usr/local/bin/python 59 Python3: 3.7.2 - /usr/local/bin/python3 60 R: 3.6.0 - /usr/local/bin/R 61 Ruby: 2.3.7 - /usr/bin/ruby 62 Rust: 1.16.0 - /Users/tabrindle/.cargo/bin/rustup 63 Databases: 64 MongoDB: 3.6.4 - /usr/local/bin/mongo 65 MySQL: 10.3.10 (MariaDB) - /usr/local/bin/mysql 66 PostgreSQL: 10.3 - /usr/local/bin/postgres 67 SQLite: 3.24.0 - /usr/bin/sqlite3 68 Browsers: 69 Chrome: 75.0.3770.100 70 Chrome Canary: 77.0.3847.0 71 Firefox: 68.0 72 Firefox Developer Edition: 69.0 73 Firefox Nightly: 69.0a1 74 Safari: 12.1.1 75 Safari Technology Preview: 13.0 76 npmPackages: 77 apollo-client: ^2.3.1 => 2.3.1 78 jest: ^22.2.1 => 22.2.1 79 ... 80 react: ^16.3.2 => 16.3.2 81 react-apollo: ^2.1.4 => 2.1.4 82 run4staged: ^1.1.1 => 1.1.1 83 solidarity: 2.0.5 => 2.0.5 84 styled-components: ^3.1.6 => 3.1.6 85 npmGlobalPackages: 86 create-react-app: 1.5.2 87 create-react-native-app: 1.0.0 88 envinfo: 5.10.0 89 exp: 49.2.2 90 gatsby-cli: 1.1.52 91 npm: 5.6.0 92 react-native-cli: 2.0.1 93 solidarity: 2.1.0 94 typescript: 2.8.1
Programmatic Usage
Envinfo takes a configuration object and returns a Promise that resolves a string (optionally yaml, json or markdown)
1import envinfo from 'envinfo'; 2 3envinfo.run( 4 { 5 System: ['OS', 'CPU'], 6 Binaries: ['Node', 'Yarn', 'npm'], 7 Browsers: ['Chrome', 'Firefox', 'Safari'], 8 npmPackages: ['styled-components', 'babel-plugin-styled-components'], 9 }, 10 { json: true, showNotFound: true } 11).then(env => console.log(env));
logs:
1{ 2 "System": { 3 "OS": "macOS High Sierra 10.13", 4 "CPU": "x64 Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz" 5 }, 6 "Binaries": { 7 "Node": { 8 "version": "8.11.0", 9 "path": "~/.nvm/versions/node/v8.11.0/bin/node" 10 }, 11 "Yarn": { 12 "version": "1.5.1", 13 "path": "~/.yarn/bin/yarn" 14 }, 15 "npm": { 16 "version": "5.6.0", 17 "path": "~/.nvm/versions/node/v8.11.0/bin/npm" 18 } 19 }, 20 "Browsers": { 21 "Chrome": { 22 "version": "67.0.3396.62" 23 }, 24 "Firefox": { 25 "version": "59.0.2" 26 }, 27 "Safari": { 28 "version": "11.0" 29 } 30 }, 31 "npmPackages": { 32 "styled-components": { 33 "wanted": "^3.2.1", 34 "installed": "3.2.1" 35 }, 36 "babel-plugin-styled-components": "Not Found" 37 } 38}
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:
1const envinfo = require('envinfo'); 2 3// each helper returns a promise 4const node = await envinfo.helpers.getNodeInfo(); 5 6// The promises resolve to an array of values: ["Name", "Version", "Path"] 7// e.g. ["Node", "10.9.0", "/usr/local/bin/node"] 8 9console.log(`Node: ${node[1]} - ${node[2]}`); // "Node: 10.9.0 - ~/.nvm/versions/node/v8.14.0/bin/node"
CLI Options
--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)
Integration
envinfo is live in:
- React Native (
react-native info
) - Create React App (
create-react-app --info
) - Expo CLI (
expo diagnostics
) - Webpack (
webpack-cli info
) - Solidarity (
solidarity report
) - Gatsby (
gatsby info
)
envinfo is used in the ISSUE_TEMPLATE of:
Alternatives
- type
command -v
until you smash your computer - specs - an excellent ruby gem that runs
command -v
for you on :all-the-things: Great for raw info. - screenfetch - fetch system and terminal information, and display a pretty ascii logo
- Solidarity - a project based environment checker
- write your own
License
MIT
Contributing
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.
Contributors
Thanks goes to these wonderful people (emoji key):
Trevor Brindle 💬 📝 🐛 💻 📖 💡 🤔 👀 📢 ⚠️ | Gant Laborde 📝 🐛 💻 🤔 | Anton Fisher 🐛 💻 | Ahmad Awais ⚡️ 🐛 💻 | Hasan 🐛 💻 | Ernesto Ramírez 🐛 💻 | Jiawen Geng 🐛 💻 🤔 ⚠️ |
---|---|---|---|---|---|---|
Zac Anger 💻 🐛 | Ville Immonen 🐛 💻 | Olmo Maldonado 🐛 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!

No vulnerabilities found.
Reason
no binaries found in the repo
Reason
no dangerous workflow patterns detected
Reason
0 existing vulnerabilities detected
Reason
license file detected
Details
- Info: project has a license file: LICENSE:0
- Info: FSF or OSI recognized license: MIT License: LICENSE:0
Reason
no SAST tool detected
Details
- Warn: no pull requests merged into dev branch
Reason
Found 0/30 approved changesets -- score normalized to 0
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Reason
detected GitHub workflow tokens with excessive permissions
Details
- Warn: no topLevel permission defined: .github/workflows/node.js.yml:1
- Info: no jobLevel write permissions found
Reason
dependency not pinned by hash detected -- score normalized to 0
Details
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/node.js.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/ratson/envinfo/node.js.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/node.js.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/ratson/envinfo/node.js.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/node.js.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/ratson/envinfo/node.js.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/node.js.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/ratson/envinfo/node.js.yml/main?enable=pin
- Info: 0 out of 4 GitHub-owned GitHubAction dependencies pinned
Reason
security policy file not detected
Details
- Warn: no security policy file detected
- Warn: no security file to analyze
- Warn: no security file to analyze
- Warn: no security file to analyze
Reason
project is not fuzzed
Details
- Warn: no fuzzer integrations found
Reason
branch protection not enabled on development/release branches
Details
- Warn: branch protection not enabled for branch 'main'
Score
3.4
/10
Last Scanned on 2025-03-03
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More