Repository URL to install this package:
|
Version:
0.6.0 ▾
|
| .. |
| CHANGELOG.md |
| LICENSE |
| README.md |
| browser.js |
| invariant.js |
| invariant.js.flow |
| package.json |
A mirror of Facebook's invariant (e.g. React, flux).
A way to provide descriptive errors in development but generic errors in production.
With npm do:
npm install invariant
invariant(condition, message)var invariant = require('invariant'); invariant(someTruthyVal, 'This will not throw'); // No errors invariant(someFalseyVal, 'This will throw an error with this message'); // Error: Invariant Violation: This will throw an error with this message
Note: When process.env.NODE_ENV is not production, the message is required. If omitted, invariant will throw regardless of the truthiness of the condition. When process.env.NODE_ENV is production, the message is optional – so they can be minified away.
When used with browserify, it'll use browser.js (instead of invariant.js) and the envify transform will inline the value of process.env.NODE_ENV.
The node version is optimized around the performance implications of accessing process.env. The value of process.env.NODE_ENV is cached, and repeatedly used instead of reading process.env. See Server rendering is slower with npm react #812