No console
except in catch
block Has Fix
Description
Using console
methods is usually for debugging purposes and therefore not suitable to ship to the client. console
can expose sensitive information, clutter the output, or affect the performance.
The only exception is using console.error
to log errors in the catch block, which can be useful for debugging production.
YAML
yaml
id: no-console-except-error
language: typescript
rule:
any:
- pattern: console.error($$$)
not:
inside:
kind: catch_clause
stopBy: end
- pattern: console.$METHOD($$$)
constraints:
METHOD:
regex: 'log|debug|warn'
Example
ts
console.debug('')
try {
console.log('hello')
} catch (e) {
console.error(e) // OK
}
Diff
ts
console.debug('')
try {
console.log('hello')
} catch (e) {
console.error(e) // OK
}
Contributed by
Inspired by Jerry Mouse