exenv
React's ExecutionEnvironment module extracted for use in other packages & components.
Why?
Because a lot of packages and components use React's private ExecutionEnvironment lib to detect the environment, e.g
canUseDOM = require('react/lib/ExecutionEnvironment').canUseDOM;
It is bad practice to use React internals and this is likely to be broken / disabled in the future. Use this package instead.
Usage
npm install exenv --save
var ExecutionEnvironment = require('exenv');
ExecutionEnvironment.canUseDOM
ExecutionEnvironment.canUseWorkers
ExecutionEnvironment.canUseEventListeners
ExecutionEnvironment.canUseViewport