/** * Disallow passing full error objects to logger methods. Full error objects * contain stack traces, provider response bodies, and potentially credentials. * Extract specific fields instead. * * Bad: * catch (error) { logger.error(error); } * logger.warn(err); * * Good: * catch (error) { logger.error('upload failed', { message: error.message }); } * logger.warn({ message: err.message, code: err.code }); * * Detection tiers: * 1. (high confidence) Inside a CatchClause, the caught parameter is passed * directly to a logger call — regardless of the parameter's name. * 2. (medium confidence) Any logger call with an argument matching the * common error identifier pattern /^(e|err|error|ex|exception|cause)$/i. */ import type { Rule } from 'eslint'; declare const rule: Rule.RuleModule; export default rule;