UNPKG

@sun-asterisk/sunlint

Version:

☀️ SunLint - Multi-language static analysis tool for code quality and security | Sun* Engineering Standards

75 lines 1.5 kB
{ "rule": "C040", "name": "Centralized Validation Logic", "description": "Don't scatter validation logic across multiple classes", "category": "code-quality", "languages": [ "javascript", "typescript", "dart" ], "applies_to": [ "all" ], "strategies": [ "symbol-based", "regex" ], "priority": "hybrid", "severity": "major", "enabled": true, "options": { "minCentralizationScore": 70, "maxDuplicationCount": 3, "frameworkDetection": true, "layerDetection": true, "validationPatterns": [ "validate*", "*Validator", "isValid*", "ensure*", "check*" ], "frameworkKeywords": [ "zod", "joi", "yup", "class-validator", "ajv", "checkSchema", "validateSync" ], "layerPatterns": { "controller": [ "**/controllers/**", "**/controller/**", "**/*Controller*", "**/*controller*" ], "service": [ "**/services/**", "**/service/**", "**/*Service*", "**/*service*" ], "repository": [ "**/repositories/**", "**/repository/**", "**/*Repository*", "**/*repository*" ], "validator": [ "**/validators/**", "**/validation/**", "**/*Validator*", "**/*validator*" ] }, "errorTypes": [ "ValidationError", "BadRequest", "InvalidInput", "TypeError" ] } }