complain
Mark methods as deprecated and warn the user when they're called. Forked from brianc/node-deprecate.
api
var complain = require('complain');
complain()
`complain([String message1 [, String message2 [,...]]], [Object options])`
Call complain
within a function you are deprecating. It will spit out all the messages to the console the first time and only the first time the method is called.
1 â var complain = require('complain');
2 â
3 â var someDeprecatedFunction = function() {
4 â complain('someDeprecatedFunction() is deprecated');
5 â };
6 â
⌠â
30 â
31 â someDeprecatedFunction();
program output:
Options
location
: a string in the format ${filepath}:${line}:${column}
indicating where the deprecated function was called from. Setting this to false
disables outputting the location and will only log the message once.
complain.method()
`complain.method(Object proto, String methodName, [String message1 [, String message2 [,...]]], [Object options])`
Deprecates a method on an object:
complain.method(console, 'log', 'You should not log.');
complain.fn()
`complain.fn(Function func, [String message1 [, String message2 [,...]]], [Object options])`
Deprecates a function and returns it:
console.log = complain.fn(console.log, 'You should not log.');
complain.color
Set to false
to disable color output. Set to true
to force color output. Defaults to the value of complain.stream.isTTY
.
complain.colors
Controls the colors used when logging. Default value:
{
warning: '\x1b[31;1m',
message: false,
location: '\u001b[90m'
}
How the default looks on a dark background vs. a light background:
complain.silence
When true
, do nothing when the complain method is called.
complain.stream
The to which output is written. Defaults to process.stderr
.
complain.log(message)
The function used to log, by default this function writes to complain.stream
and falls back to console.warn
.
You can replace this with your own logging method.
complain.getModuleName(location)
The function that determines if a complaint is coming from a node_module
. If the location for a complaint is inside a dependent module, a single generic warning is logged once per module. You can replace this with your own function for environments (like browsers) that might not have node_modules
in the path.
Run with the enviornment variable SHOW_MODULE_COMPLAINS=1 to disable the generic module warning
license
MIT