node package manager
It’s your turn. Help us improve JavaScript. Take the 2017 JavaScript Ecosystem Survey »


Warning npm version

A mirror of Facebook's Warning


npm install warning
// some script
var warning = require('warning');
var ShouldBeTrue = false;
  'This thing should be true but you set to false. No soup for you!'
//  'This thing should be true but you set to false. No soup for you!'

Similar to Facebook's invariant but only logs a warning if the condition is not met. This can be used to log issues in development environments in critical paths. Removing the logging code for production environments will keep the same logic and follow the same code paths.


When using browserify, the browser.js file will be imported instead of invariant.js and browserify will be told to transform the file with envify. The only difference between browser.js and invariant.js is the process.env.NODE_ENV variable isn't cached. This, in combination with envify and (optionally) uglifyjs, will result in a noop in production environments. Otherwise behavior is as expected.

Use in Production

It is recommended to add babel-plugin-dev-expression with this module to remove warning messages in production.

Don't Forget To Be Awesome