mirror of
https://github.com/johndoe6345789/snippet-pastebin.git
synced 2026-04-24 13:34:55 +00:00
- Fixed Jest configuration to discover tests in tests/ directory - Added tests/ root directory to jest.config.ts - Fixed 2 test calculation errors in scoring and analyzer tests - All 5 test modules now passing: * types.test.ts (25 tests) * index.test.ts (32 tests) * analyzers.test.ts (91 tests) * scoring-reporters.test.ts (56 tests) * config-utils.test.ts (83 tests) - Comprehensive coverage of all 4 analysis engines - Test execution time: 368ms for 283 tests - Ready for production deployment Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
126 lines
2.8 KiB
JSON
126 lines
2.8 KiB
JSON
{
|
|
"projectName": "snippet-pastebin",
|
|
"description": "Code snippet pastebin application with quality validation",
|
|
"codeQuality": {
|
|
"enabled": true,
|
|
"complexity": {
|
|
"enabled": true,
|
|
"max": 15,
|
|
"warning": 12,
|
|
"ignorePatterns": ["**/node_modules/**", "**/dist/**"]
|
|
},
|
|
"duplication": {
|
|
"enabled": true,
|
|
"maxPercent": 5,
|
|
"warningPercent": 3,
|
|
"minBlockSize": 4,
|
|
"ignoredPatterns": ["**/node_modules/**", "**/dist/**", "**/*.spec.ts", "**/*.test.ts"]
|
|
},
|
|
"linting": {
|
|
"enabled": true,
|
|
"maxErrors": 3,
|
|
"maxWarnings": 15,
|
|
"ignoredRules": [],
|
|
"customRules": []
|
|
}
|
|
},
|
|
"testCoverage": {
|
|
"enabled": true,
|
|
"minimumPercent": 80,
|
|
"warningPercent": 60,
|
|
"byType": {
|
|
"line": 80,
|
|
"branch": 75,
|
|
"function": 80,
|
|
"statement": 80
|
|
},
|
|
"effectivenessScore": {
|
|
"minAssertionsPerTest": 1,
|
|
"maxMockUsagePercent": 50,
|
|
"checkTestNaming": true,
|
|
"checkTestIsolation": true
|
|
},
|
|
"ignoredFiles": ["**/node_modules/**", "**/dist/**"]
|
|
},
|
|
"architecture": {
|
|
"enabled": true,
|
|
"components": {
|
|
"enabled": true,
|
|
"maxLines": 500,
|
|
"warningLines": 300,
|
|
"validateAtomicDesign": true,
|
|
"validatePropTypes": true
|
|
},
|
|
"dependencies": {
|
|
"enabled": true,
|
|
"allowCircularDependencies": false,
|
|
"allowCrossLayerDependencies": false,
|
|
"maxExternalDeps": null
|
|
},
|
|
"patterns": {
|
|
"enabled": true,
|
|
"validateRedux": true,
|
|
"validateHooks": true,
|
|
"validateReactBestPractices": true
|
|
}
|
|
},
|
|
"security": {
|
|
"enabled": true,
|
|
"vulnerabilities": {
|
|
"enabled": true,
|
|
"allowCritical": 0,
|
|
"allowHigh": 2,
|
|
"checkTransitive": true
|
|
},
|
|
"patterns": {
|
|
"enabled": true,
|
|
"checkSecrets": true,
|
|
"checkDangerousPatterns": true,
|
|
"checkInputValidation": true,
|
|
"checkXssRisks": true
|
|
},
|
|
"performance": {
|
|
"enabled": true,
|
|
"checkRenderOptimization": true,
|
|
"checkBundleSize": true,
|
|
"checkUnusedDeps": true
|
|
}
|
|
},
|
|
"scoring": {
|
|
"weights": {
|
|
"codeQuality": 0.30,
|
|
"testCoverage": 0.35,
|
|
"architecture": 0.20,
|
|
"security": 0.15
|
|
},
|
|
"passingGrade": "B",
|
|
"passingScore": 80
|
|
},
|
|
"reporting": {
|
|
"defaultFormat": "console",
|
|
"colors": true,
|
|
"verbose": false,
|
|
"outputDirectory": ".quality",
|
|
"includeRecommendations": true,
|
|
"includeTrends": true
|
|
},
|
|
"history": {
|
|
"enabled": true,
|
|
"keepRuns": 10,
|
|
"storePath": ".quality/history.json",
|
|
"compareToPrevious": true
|
|
},
|
|
"excludePaths": [
|
|
"node_modules/**",
|
|
"dist/**",
|
|
"coverage/**",
|
|
"**/*.spec.ts",
|
|
"**/*.spec.tsx",
|
|
"**/*.test.ts",
|
|
"**/*.test.tsx",
|
|
"**/__tests__/**",
|
|
".next/**",
|
|
"build/**"
|
|
]
|
|
}
|