mirror of
https://github.com/samiyev/puaros.git
synced 2025-12-27 23:06:54 +05:00
Implement entity exposure detection to prevent domain entities from leaking to API responses. Detects when controllers/routes return domain entities instead of DTOs. Features: - EntityExposure value object with detailed suggestions - IEntityExposureDetector interface in domain layer - EntityExposureDetector implementation in infrastructure - Integration into AnalyzeProject use case - CLI display with helpful suggestions - 24 comprehensive unit tests (98% coverage) - Examples for bad and good patterns Detection scope: - Infrastructure layer only (controllers, routes, handlers, resolvers, gateways) - Identifies PascalCase entities without Dto/Request/Response suffixes - Parses async methods with Promise<T> return types - Provides step-by-step remediation suggestions Test coverage: - EntityExposureDetector: 98.07% - Overall project: 90.6% statements, 83.97% branches - 218 tests passing BREAKING CHANGE: Version bump to 0.3.0
102 lines
2.7 KiB
JSON
102 lines
2.7 KiB
JSON
{
|
|
"name": "@samiyev/guardian",
|
|
"version": "0.3.0",
|
|
"description": "Code quality guardian for vibe coders and enterprise teams - catch hardcodes, architecture violations, and circular deps. Enforce Clean Architecture at scale. Works with Claude, GPT, Copilot.",
|
|
"keywords": [
|
|
"puaros",
|
|
"guardian",
|
|
"vibe-coding",
|
|
"enterprise",
|
|
"ai-assistant",
|
|
"ai-powered",
|
|
"claude-code",
|
|
"copilot",
|
|
"cursor",
|
|
"gpt-code",
|
|
"ai-code-review",
|
|
"code-analysis",
|
|
"static-analysis",
|
|
"hardcode-detection",
|
|
"magic-numbers",
|
|
"magic-strings",
|
|
"circular-dependency",
|
|
"dependency-cycles",
|
|
"code-quality",
|
|
"linter",
|
|
"clean-architecture",
|
|
"code-review",
|
|
"tech-debt",
|
|
"architecture-governance",
|
|
"code-standards",
|
|
"security-audit",
|
|
"compliance",
|
|
"quality-gate",
|
|
"ci-cd",
|
|
"devops"
|
|
],
|
|
"main": "dist/index.js",
|
|
"types": "dist/index.d.ts",
|
|
"author": "Fozilbek Samiyev <fozilbek.samiyev@gmail.com>",
|
|
"license": "MIT",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/samiyev/puaros.git",
|
|
"directory": "packages/guardian"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/samiyev/puaros/issues"
|
|
},
|
|
"homepage": "https://github.com/samiyev/puaros#readme",
|
|
"engines": {
|
|
"node": ">=18.0.0"
|
|
},
|
|
"files": [
|
|
"dist",
|
|
"bin",
|
|
"README.md",
|
|
"LICENSE"
|
|
],
|
|
"exports": {
|
|
".": {
|
|
"types": "./dist/index.d.ts",
|
|
"require": "./dist/index.js",
|
|
"import": "./dist/index.js"
|
|
},
|
|
"./package.json": "./package.json"
|
|
},
|
|
"publishConfig": {
|
|
"access": "public"
|
|
},
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"watch": "tsc --watch",
|
|
"clean": "rm -rf dist",
|
|
"test": "vitest",
|
|
"test:ui": "vitest --ui",
|
|
"test:watch": "vitest --watch",
|
|
"test:coverage": "vitest run --coverage",
|
|
"test:run": "vitest run",
|
|
"prepublishOnly": "pnpm run clean && pnpm run build && pnpm run test:run"
|
|
},
|
|
"bin": {
|
|
"guardian": "./bin/guardian.js"
|
|
},
|
|
"dependencies": {
|
|
"commander": "^12.1.0",
|
|
"simple-git": "^3.30.0",
|
|
"tree-sitter": "^0.21.1",
|
|
"tree-sitter-javascript": "^0.23.0",
|
|
"tree-sitter-typescript": "^0.23.0",
|
|
"uuid": "^13.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.10.7",
|
|
"@types/uuid": "^11.0.0",
|
|
"@vitest/coverage-v8": "^4.0.10",
|
|
"@vitest/ui": "^4.0.10",
|
|
"tsx": "^4.20.6",
|
|
"typescript": "^5.7.3",
|
|
"vitest": "^4.0.10"
|
|
}
|
|
}
|