Socket
Socket
Sign inDemoInstall

envinfo

Package Overview
Dependencies
0
Maintainers
1
Versions
88
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    envinfo

Info about your dev environment for debugging purposes


Version published
Weekly downloads
12M
increased by0.71%
Maintainers
1
Install size
265 kB
Created
Weekly downloads
 

Package description

What is envinfo?

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.

What are envinfo's main functionalities?

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

Other packages similar to envinfo

Readme

Source

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


Build Status npm version npm downloads per month License: MIT All Contributors

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:

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

CLI Usage

envinfo || npx envinfo

System:
  OS: macOS High Sierra 10.13
  CPU: x64 Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz
  Free Memory: 4.01 GB
  Total Memory: 16.00 GB
  Shell: /usr/local/bin/bash - 4.4.12
Binaries:
  Node: 8.9.4
  Yarn: 1.3.2
  npm: 5.6.0
  Watchman: 4.9.0
  Docker: 17.12.0-ce, build c97c6d6
  Homebrew: 1.5.4
SDKs:
  iOS:
    Platforms: iOS 11.0, macOS 10.13, tvOS 11.0, watchOS 4.0
  Android:
    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
  IntelliJ: 2018.1.3
  Nano: 2.0.6 - /usr/bin/nano
  PhpStorm: 2018.1.3
  Sublime Text: Build 3143
  Vim: 8.0 - /usr/bin/vim
  VSCode: 1.20.1
  WebStorm: 2017.3.4
  Xcode: Xcode 9.0 Build version 9A235
Languages:
  Bash: 4.4.12
  Go: 1.9.3
  PHP: 7.1.7
  Python: 2.7.10
  Ruby: 2.3.3p222
Browsers:
  Chrome: 64.0.3282.167
  Chrome Canary: 66.0.3353.0
  Firefox: 58.0
  Firefox Developer Edition: 57.0
  Firefox Nightly: 58.0a1
  Safari: 11.0
  Safari Technology Preview: 11.1
npmPackages:
  eslint:
    wanted: ^4.10.0
    installed: 4.16.0
  ...
  yamlify-object:
    wanted: ^0.4.5
    installed: 0.4.5
npmGlobalPackages:
  create-react-native-app: 1.0.0
  exp: 49.2.2
  lerna: 2.7.1
  npm: 5.6.0
  npm-check-updates: 2.14.0
  react-native-cli: 2.0.1

Programmatic Usage

Envinfo takes a configuration object and returns a string (optionally yaml, json or markdown)

import envinfo from 'envinfo';

console.log(
    envinfo.run(
        {
            System: ['OS', 'CPU'],
            Binaries: ['Node', 'Yarn', 'npm'],
            Browsers: ['Chrome', 'Firefox', 'Safari'],
            npmPackages: ['styled-components', 'babel-plugin-styled-components'],
        },
        { json: true }
    )
);

returns:

{
  "System": {
    "OS": "macOS High Sierra 10.13",
    "CPU": "x64 Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz"
  },
  "Binaries": {
    "Node": "8.9.4",
    "Yarn": "1.3.2",
    "npm": "5.6.0"
  },
  "Browsers": {
    "Chrome": "65.0.3325.146",
    "Firefox": 58.0,
    "Safari": 11.0
  },
  "npmPackages": {
    "styled-components": {
      "wanted": "^3.2.1",
      "installed": "3.2.1"
    },
    "babel-plugin-styled-components": {
      "wanted": "^1.5.1",
      "installed": "1.5.1"
    }
  }
}

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:

import { helpers } from 'envinfo';

const OS = helpers.getOperatingSystemInfo();
const docker = helpers.getDockerVersion();

console.log({ OS, docker });
{
 OS: 'macOS High Sierra 10.13'
 docker: '17.12.0-ce, build c97c6d6'
}

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)
    --clipboard            Copy output to your system clipboard (uses clipboardy)

Integration

envinfo is live in:

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

🐛 💻

This project follows the all-contributors specification. Contributions of any kind welcome!

Keywords

FAQs

Last updated on 01 Jun 2018

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.

Install

Related posts

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