Generate a report about your development environment for debugging and issue reporting
Installations
npm install envinfo
Developer Guide
Typescript
No
Module System
CommonJS
Min. Node Version
>=4
Node Version
16.20.2
NPM Version
8.19.4
Score
89.6
Supply Chain
89.8
Quality
80.7
Maintenance
100
Vulnerability
100
License
Releases
Contributors
Unable to fetch Contributors
Languages
JavaScript (100%)
Developer
tabrindle
Download Statistics
Total Downloads
1,821,233,332
Last Day
2,181,444
Last Week
9,711,186
Last Month
43,895,998
Last Year
601,375,206
GitHub Statistics
767 Stars
368 Commits
58 Forks
4 Watching
34 Branches
39 Contributors
Bundle Size
135.28 kB
Minified
40.83 kB
Minified + Gzipped
Package Meta Information
Latest Version
7.14.0
Package Id
envinfo@7.14.0
Unpacked Size
158.06 kB
Size
49.04 kB
File Count
5
NPM Version
8.19.4
Node Version
16.20.2
Publised On
13 Sept 2024
Total Downloads
Cumulative downloads
Total Downloads
1,821,233,332
Last day
-6.1%
2,181,444
Compared to previous day
Last week
-16.4%
9,711,186
Compared to previous week
Last month
2%
43,895,998
Compared to previous month
Last year
29%
601,375,206
Compared to previous year
Daily Downloads
Weekly Downloads
Monthly Downloads
Yearly Downloads
Dev Dependencies
30
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 pnpm: 8.7.6 - /usr/local/bin/pnpm 11 bun: 1.0.2 - /usr/local/bin/bun 12 Watchman: 4.9.0 - /usr/local/bin/watchman 13 Managers: 14 Cargo: 1.31.0 - ~/.cargo/bin/cargo 15 CocoaPods: 1.7.3 - /usr/local/bin/pod 16 Composer: 1.8.6 - /usr/local/bin/composer 17 Gradle: 5.5 - /usr/local/bin/gradle 18 Homebrew: 2.1.7 - /usr/local/bin/brew 19 Maven: 3.6.1 - /usr/local/bin/mvn 20 pip2: 19.0.3 - /usr/local/bin/pip2 21 pip3: 19.0.2 - /usr/local/bin/pip3 22 RubyGems: 2.5.2.3 - /usr/bin/gem 23 Utilities: 24 CMake: 3.13.3 - /usr/local/bin/cmake 25 Make: 3.81 - /usr/bin/make 26 GCC: 10.14. - /usr/bin/gcc 27 Git: 2.20.0 - /usr/local/bin/git 28 Mercurial: 4.5.3 - /usr/bin/hg 29 Clang: 1001.0.46.4 - /usr/bin/clang 30 Subversion: 1.10.3 - /usr/bin/svn 31 Servers: 32 Apache: 2.4.34 - /usr/sbin/apachectl 33 Nginx: 1.13.12 - /usr/local/bin/nginx 34 Virtualization: 35 Docker: 18.09.1 - /usr/local/bin/docker 36 Parallels: 13.3.0 - /usr/local/bin/prlctl 37 VirtualBox: 5.2.20 - /usr/local/bin/vboxmanage 38 SDKs: 39 iOS SDK: 40 Platforms: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2 41 Android SDK: 42 API Levels: 28 43 Build Tools: 28.0.3 44 System Images: android-28 | Google Play Intel x86 Atom 45 IDEs: 46 Android Studio: 3.2 AI-181.5540.7.32.5056338 47 Atom: 1.23.3 48 Emacs: 22.1.1 - /usr/bin/emacs 49 Nano: 2.0.6 - /usr/bin/nano 50 VSCode: 1.36.0 - /usr/local/bin/code 51 Vim: 8.0 - /usr/bin/vim 52 Xcode: 10.2.1/10E1001 - /usr/bin/xcodebuild 53 Languages: 54 Bash: 4.4.23 - /usr/local/bin/bash 55 Elixir: 1.6.2 - /usr/local/bin/elixir 56 Go: 1.11.1 - /usr/local/bin/go 57 Java: 1.8.0_192 - /usr/bin/javac 58 Perl: 5.18.4 - /usr/bin/perl 59 PHP: 7.1.23 - /usr/bin/php 60 Python: 2.7.16 - /usr/local/bin/python 61 Python3: 3.7.2 - /usr/local/bin/python3 62 R: 3.6.0 - /usr/local/bin/R 63 Ruby: 2.3.7 - /usr/bin/ruby 64 Rust: 1.16.0 - /Users/tabrindle/.cargo/bin/rustup 65 Databases: 66 MongoDB: 3.6.4 - /usr/local/bin/mongo 67 MySQL: 10.3.10 (MariaDB) - /usr/local/bin/mysql 68 PostgreSQL: 10.3 - /usr/local/bin/postgres 69 SQLite: 3.24.0 - /usr/bin/sqlite3 70 Browsers: 71 Chrome: 75.0.3770.100 72 Chrome Canary: 77.0.3847.0 73 Firefox: 68.0 74 Firefox Developer Edition: 69.0 75 Firefox Nightly: 69.0a1 76 Safari: 12.1.1 77 Safari Technology Preview: 13.0 78 npmPackages: 79 apollo-client: ^2.3.1 => 2.3.1 80 jest: ^22.2.1 => 22.2.1 81 ... 82 react: ^16.3.2 => 16.3.2 83 react-apollo: ^2.1.4 => 2.1.4 84 run4staged: ^1.1.1 => 1.1.1 85 solidarity: 2.0.5 => 2.0.5 86 styled-components: ^3.1.6 => 3.1.6 87 npmGlobalPackages: 88 create-react-app: 1.5.2 89 create-react-native-app: 1.0.0 90 envinfo: 5.10.0 91 exp: 49.2.2 92 gatsby-cli: 1.1.52 93 npm: 5.6.0 94 react-native-cli: 2.0.1 95 solidarity: 2.1.0 96 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 Environment Info (
npx expo-env-info
) - 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 - 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):
This project follows the all-contributors specification. Contributions of any kind welcome!
No vulnerabilities found.
Reason
no dangerous workflow patterns detected
Reason
no binaries found in the repo
Reason
license file detected
Details
- Info: project has a license file: LICENSE:0
- Info: FSF or OSI recognized license: MIT License: LICENSE:0
Reason
packaging workflow detected
Details
- Info: Project packages its releases by way of GitHub Actions.: .github/workflows/release-please.yml:8
Reason
Found 18/24 approved changesets -- score normalized to 7
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
- Warn: no topLevel permission defined: .github/workflows/release-please.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:16: update your workflow using https://app.stepsecurity.io/secureworkflow/tabrindle/envinfo/node.js.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/node.js.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/tabrindle/envinfo/node.js.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/node.js.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/tabrindle/envinfo/node.js.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/node.js.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/tabrindle/envinfo/node.js.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/node.js.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/tabrindle/envinfo/node.js.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/node.js.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/tabrindle/envinfo/node.js.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-please.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/tabrindle/envinfo/release-please.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-please.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/tabrindle/envinfo/release-please.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-please.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/tabrindle/envinfo/release-please.yml/main?enable=pin
- Info: 0 out of 8 GitHub-owned GitHubAction dependencies pinned
- Info: 0 out of 1 third-party GitHubAction dependencies pinned
Reason
no effort to earn an OpenSSF best practices badge detected
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'
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
- Warn: 0 commits out of 28 are checked with a SAST tool
Reason
79 existing vulnerabilities detected
Details
- Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92
- Warn: Project is vulnerable to: GHSA-6chw-6frg-f759
- Warn: Project is vulnerable to: GHSA-v88g-cgmw-v5xw
- Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw
- Warn: Project is vulnerable to: GHSA-fwr7-v2mv-hh25
- Warn: Project is vulnerable to: GHSA-cwfw-4gq5-mrqx
- Warn: Project is vulnerable to: GHSA-g95f-p29q-9xw4
- Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg
- Warn: Project is vulnerable to: GHSA-w8qv-6jwh-64r5
- Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275
- Warn: Project is vulnerable to: GHSA-gxpj-cx7g-858c
- Warn: Project is vulnerable to: GHSA-w573-4hg7-7wgq
- Warn: Project is vulnerable to: GHSA-ff7x-qrg7-qggm
- Warn: Project is vulnerable to: GHSA-3gx7-xhv7-5mx3
- Warn: Project is vulnerable to: GHSA-74fj-2j2h-c42q
- Warn: Project is vulnerable to: GHSA-pw2r-vq6v-hr8c
- Warn: Project is vulnerable to: GHSA-jchw-25xp-jwwc
- Warn: Project is vulnerable to: GHSA-cxjh-pqwp-8mfp
- Warn: Project is vulnerable to: GHSA-8r6j-v8pm-fqw3
- Warn: Project is vulnerable to: MAL-2023-462
- Warn: Project is vulnerable to: GHSA-q42p-pg8m-cqh6
- Warn: Project is vulnerable to: GHSA-w457-6q6x-cgp9
- Warn: Project is vulnerable to: GHSA-62gr-4qp9-h98f
- Warn: Project is vulnerable to: GHSA-f52g-6jhx-586p
- Warn: Project is vulnerable to: GHSA-2cf5-4w76-r9qv
- Warn: Project is vulnerable to: GHSA-3cqr-58rm-57f8
- Warn: Project is vulnerable to: GHSA-g9r4-xpmj-mj65
- Warn: Project is vulnerable to: GHSA-q2c6-c6pm-g3gh
- Warn: Project is vulnerable to: GHSA-765h-qjxv-5f44
- Warn: Project is vulnerable to: GHSA-f2jv-r9rf-7988
- Warn: Project is vulnerable to: GHSA-43f8-2h32-f4cj
- Warn: Project is vulnerable to: GHSA-8g7p-74h8-hg48
- Warn: Project is vulnerable to: GHSA-pc5p-h8pf-mvwp
- Warn: Project is vulnerable to: GHSA-qqgx-2p2h-9c37
- Warn: Project is vulnerable to: GHSA-2pr6-76vf-7546
- Warn: Project is vulnerable to: GHSA-8j8c-7jfh-h6hx
- Warn: Project is vulnerable to: GHSA-896r-f27r-55mw
- Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h
- Warn: Project is vulnerable to: GHSA-6c8f-qphg-qjgp
- Warn: Project is vulnerable to: GHSA-76p3-8jx3-jpfq
- Warn: Project is vulnerable to: GHSA-3rfm-jhwj-7488
- Warn: Project is vulnerable to: GHSA-hhq3-ff78-jv3g
- Warn: Project is vulnerable to: GHSA-p6mc-m468-83gw
- Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9
- Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm
- Warn: Project is vulnerable to: GHSA-h726-x36v-rx45
- Warn: Project is vulnerable to: GHSA-4xcv-9jjx-gfj3
- Warn: Project is vulnerable to: GHSA-7wpw-2hjm-89gp
- Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv
- Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3
- Warn: Project is vulnerable to: GHSA-vh95-rmgr-6w4m
- Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h
- Warn: Project is vulnerable to: GHSA-fhjf-83wg-r2j9
- Warn: Project is vulnerable to: GHSA-5fw9-fq32-wv5p
- Warn: Project is vulnerable to: GHSA-hj48-42vr-x3v9
- Warn: Project is vulnerable to: GHSA-22r3-9w55-cj54
- Warn: Project is vulnerable to: GHSA-hrpp-h998-j3pp
- Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6
- Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw
- Warn: Project is vulnerable to: GHSA-44c6-4v22-4mhx
- Warn: Project is vulnerable to: GHSA-4x5v-gmq8-25ch
- Warn: Project is vulnerable to: GHSA-4g88-fppr-53pp
- Warn: Project is vulnerable to: GHSA-4jqc-8m5r-9rpr
- Warn: Project is vulnerable to: GHSA-wpg7-2c88-r8xv
- Warn: Project is vulnerable to: GHSA-3jfq-g458-7qm9
- Warn: Project is vulnerable to: GHSA-r628-mhmh-qjhw
- Warn: Project is vulnerable to: GHSA-9r2w-394v-53qc
- Warn: Project is vulnerable to: GHSA-5955-9wpr-37jh
- Warn: Project is vulnerable to: GHSA-qq89-hq3f-393p
- Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36
- Warn: Project is vulnerable to: GHSA-jgrx-mgxx-jf9v
- Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3
- Warn: Project is vulnerable to: GHSA-7p7h-4mm5-852v
- Warn: Project is vulnerable to: GHSA-38fc-wpqx-33j7
- Warn: Project is vulnerable to: GHSA-4vvj-4cpr-p986
- Warn: Project is vulnerable to: GHSA-6fc8-4gx4-v693
- Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q
- Warn: Project is vulnerable to: GHSA-c4w7-xm78-47vh
- Warn: Project is vulnerable to: GHSA-p9pc-299p-vxgp
Score
3.6
/10
Last Scanned on 2025-01-27
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 MoreGathering detailed insights and metrics for envinfo