@sun-asterisk/sunlint
Version:
☀️ SunLint - Multi-language static analysis tool for code quality and security | Sun* Engineering Standards
72 lines (63 loc) • 1.87 kB
JSON
{
"knownRetryFunctions": [
"axios.get",
"axios.post",
"axios.put",
"axios.delete",
"axios.patch",
"axios.request",
"axios.head",
"axios.options",
"useQuery",
"useMutation",
"useInfiniteQuery",
"queryClient.fetchQuery",
"queryClient.prefetchQuery",
"apolloClient.query",
"apolloClient.mutate",
"apolloClient.watchQuery",
"useLazyQuery",
"apiService.get",
"apiService.post",
"apiService.put",
"apiService.delete",
"apiService.patch",
"httpClient.get",
"httpClient.post",
"httpClient.request",
"retryAsync",
"withRetry",
"retry",
"p-retry",
"exponentialBackoff",
"retryPromise",
"fetch",
"fetch-retry",
"node-fetch",
"got",
"superagent",
"request-promise"
],
"layerPatterns": {
"ui": ["component", "view", "page", "modal", "form", "screen", "widget", "/ui/", "/components/"],
"usecase": ["usecase", "use-case", "usecases", "service", "business", "/usecases/", "/services/"],
"repository": ["repository", "repo", "dao", "store", "persistence", "/repositories/", "/data/"],
"api": ["api", "client", "adapter", "gateway", "connector", "/api/", "/clients/", "/gateways/"]
},
"retryDetectionPatterns": {
"exceptionRetry": {
"description": "Detect retry logic in try-catch blocks",
"enabled": true
},
"emptyDataRetry": {
"description": "Detect retry logic when data is empty/null",
"enabled": true
},
"knownRetryConflict": {
"description": "Detect manual retry conflicting with built-in retry",
"enabled": true
}
},
"_description": "Configuration for Symbol-Based Analysis of retry functions using ts-morph",
"_usage": "Add functions that have built-in retry mechanisms to avoid false positives"
}