Skip to content

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

Made with ❤️ with Rust