UNPKG

@sun-asterisk/sunlint

Version:

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

121 lines 2.49 kB
{ "id": "C073", "name": "C073_validate_required_config_on_startup", "category": "configuration", "description": "C073 - Validate mandatory configuration at startup and fail fast on invalid/missing values.", "severity": "error", "enabled": true, "semantic": { "enabled": true, "priority": "high", "fallback": "heuristic" }, "patterns": { "include": [ "**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx", "**/*.java", "**/*.go" ], "exclude": [ "**/*.test.*", "**/*.spec.*", "**/__tests__/**", "**/fixtures/**", "**/examples/**" ] }, "options": { "configModules": { "typescript": [ "src/config/**", "**/config/**", "**/bootstrap/**", "**/main.ts" ], "java": [ "**/config/**", "**/Configuration/**", "**/Application.java", "**/*Application.java" ], "go": [ "cmd/**", "**/config/**", "**/main.go" ] }, "envAccessors": { "typescript": [ "process.env.*" ], "java": [ "System.getenv(*)", "System.getProperty(*)" ], "go": [ "os.Getenv(*)" ] }, "schemaDetectors": { "typescript": [ "zod", "joi", "yup", "envalid", "dotenv-safe", "class-validator" ], "java": [ "@ConfigurationProperties", "@Validated", "jakarta.validation", "hibernate.validator" ], "go": [ "github.com/kelseyhightower/envconfig", "github.com/spf13/viper" ] }, "failFastSignals": { "typescript": [ "throw new Error(*)", "process.exit(1)" ], "java": [ "throw new RuntimeException(*)", "SpringApplication.exit(*)", "System.exit(1)" ], "go": [ "log.Fatal(*)", "panic(*)", "os.Exit(1)" ] }, "dangerousDefaults": [ "|| ''", "|| 0", "|| 'http://localhost'", "?: ''", "?: 0" ], "thresholds": { "maxEnvReadsOutsideConfig": 3 }, "policy": { "requireSchemaOrExplicitChecks": true, "requireFailFast": true, "forbidEnvReadsOutsideConfig": true, "flagDangerousDefaults": true, "requireStartupConnectivityChecks": true } }, "languages": [ "typescript", "javascript", "dart" ] }