JSPM

  • Created
  • Published
  • Downloads 16052847
  • Score
    100M100P100Q221676F
  • License MIT

Info about your dev environment for debugging purposes

Package Exports

  • envinfo

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (envinfo) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

envinfo

Reporting issues is a pain. Responding to issues is a pain. Make it a bit better.

Build Status npm version npm downloads per month License: MIT

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
  VSCode: 1.20.1
  Sublime Text: Build 3143
  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 }
  )
);
{
  "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

  • --clipboard - Optionally copy directly to your clipboard with envinfo --clipboard. This feature uses Clipboardy

  • --npmPackages - Optionally return packages from your package.json: takes either boolean or comma delimited string in CLI or array via API

envinfo --npmPackages minimist,which

npmPackages:
  minimist:
    wanted: ^1.2.0
    installed: 1.2.0
  which:
    wanted: ^1.2.14
    installed: 1.3.0
  • --npmGlobalPackages - print your npm global packages versions

envinfo --npmGlobalPackages

npmGlobalPackages:
  exp: 48.0.2
  npm: 5.6.0
  react-native-cli: 2.0.1
  • --duplicates - will search given packages for duplicates, display in parentheses
Packages:
  minimist: ^1.2.0 => 1.2.0 (1.2.0, 0.0.8)
  • --fullTree - will traverse and print the entire flattened dependency tree (optionally also with --duplicates)
Packages:
  ...
  minimatch:  3.0.4
  minimist: ^1.2.0 => 1.2.0 (1.2.0, 0.0.8)
  mkdirp:  0.5.1
  ...

Integration

envinfo is live in:

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.