Some checks failed
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Docs CI / lint-and-preview (push) Has been cancelled
Export Center CI / export-ci (push) Has been cancelled
Findings Ledger CI / build-test (push) Has been cancelled
Findings Ledger CI / migration-validation (push) Has been cancelled
Findings Ledger CI / generate-manifest (push) Has been cancelled
Lighthouse CI / Lighthouse Audit (push) Has been cancelled
Lighthouse CI / Axe Accessibility Audit (push) Has been cancelled
Policy Lint & Smoke / policy-lint (push) Has been cancelled
Reachability Corpus Validation / validate-corpus (push) Has been cancelled
Reachability Corpus Validation / validate-ground-truths (push) Has been cancelled
Scanner Analyzers / Discover Analyzers (push) Has been cancelled
Scanner Analyzers / Validate Test Fixtures (push) Has been cancelled
Signals CI & Image / signals-ci (push) Has been cancelled
Signals Reachability Scoring & Events / reachability-smoke (push) Has been cancelled
Reachability Corpus Validation / determinism-check (push) Has been cancelled
Scanner Analyzers / Build Analyzers (push) Has been cancelled
Scanner Analyzers / Test Language Analyzers (push) Has been cancelled
Scanner Analyzers / Verify Deterministic Output (push) Has been cancelled
Signals Reachability Scoring & Events / sign-and-upload (push) Has been cancelled
- Introduced `all-edge-reasons.json` to test edge resolution reasons in .NET. - Added `all-visibility-levels.json` to validate method visibility levels in .NET. - Created `dotnet-aspnetcore-minimal.json` for a minimal ASP.NET Core application. - Included `go-gin-api.json` for a Go Gin API application structure. - Added `java-spring-boot.json` for the Spring PetClinic application in Java. - Introduced `legacy-no-schema.json` for legacy application structure without schema. - Created `node-express-api.json` for an Express.js API application structure.
147 lines
3.4 KiB
JSON
147 lines
3.4 KiB
JSON
{
|
|
"schema": "stella.callgraph.v1",
|
|
"scanKey": "scan:express-api:2.1.0",
|
|
"language": "Node",
|
|
"artifacts": [
|
|
{
|
|
"artifactKey": "express-api",
|
|
"kind": "npm-package",
|
|
"sha256": "c4d5e6f7890123456789abcdef0123456789abcdef0123456789abcdef012345",
|
|
"purl": "pkg:npm/express-api@2.1.0",
|
|
"filePath": "/app",
|
|
"sizeBytes": 2500000
|
|
}
|
|
],
|
|
"nodes": [
|
|
{
|
|
"id": "e001",
|
|
"nodeId": "e001",
|
|
"name": "startServer",
|
|
"kind": "function",
|
|
"namespace": "src",
|
|
"file": "index.js",
|
|
"line": 15,
|
|
"symbolKey": "src/index.js::startServer",
|
|
"artifactKey": "express-api",
|
|
"visibility": "Public",
|
|
"isEntrypointCandidate": true,
|
|
"flags": 1
|
|
},
|
|
{
|
|
"id": "e002",
|
|
"nodeId": "e002",
|
|
"name": "getUserById",
|
|
"kind": "function",
|
|
"namespace": "src/routes",
|
|
"file": "users.js",
|
|
"line": 22,
|
|
"symbolKey": "src/routes/users.js::getUserById",
|
|
"artifactKey": "express-api",
|
|
"visibility": "Public",
|
|
"isEntrypointCandidate": true,
|
|
"attributes": {
|
|
"httpMethod": "GET",
|
|
"route": "/api/users/:id"
|
|
},
|
|
"flags": 3
|
|
},
|
|
{
|
|
"id": "e003",
|
|
"nodeId": "e003",
|
|
"name": "findUser",
|
|
"kind": "function",
|
|
"namespace": "src/services",
|
|
"file": "userService.js",
|
|
"line": 45,
|
|
"symbolKey": "src/services/userService.js::findUser",
|
|
"artifactKey": "express-api",
|
|
"visibility": "Public",
|
|
"isEntrypointCandidate": false,
|
|
"flags": 0
|
|
},
|
|
{
|
|
"id": "e004",
|
|
"nodeId": "e004",
|
|
"name": "query",
|
|
"kind": "function",
|
|
"namespace": "src/db",
|
|
"file": "connection.js",
|
|
"line": 30,
|
|
"symbolKey": "src/db/connection.js::query",
|
|
"artifactKey": "express-api",
|
|
"visibility": "Public",
|
|
"isEntrypointCandidate": false,
|
|
"flags": 0
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"sourceId": "e001",
|
|
"targetId": "e002",
|
|
"from": "e001",
|
|
"to": "e002",
|
|
"type": "require",
|
|
"kind": "Static",
|
|
"reason": "DynamicImport",
|
|
"weight": 0.95,
|
|
"isResolved": true,
|
|
"provenance": "express-router"
|
|
},
|
|
{
|
|
"sourceId": "e002",
|
|
"targetId": "e003",
|
|
"from": "e002",
|
|
"to": "e003",
|
|
"type": "call",
|
|
"kind": "Static",
|
|
"reason": "DirectCall",
|
|
"weight": 1.0,
|
|
"isResolved": true
|
|
},
|
|
{
|
|
"sourceId": "e003",
|
|
"targetId": "e004",
|
|
"from": "e003",
|
|
"to": "e004",
|
|
"type": "async-call",
|
|
"kind": "Static",
|
|
"reason": "AsyncContinuation",
|
|
"weight": 1.0,
|
|
"isResolved": true
|
|
}
|
|
],
|
|
"entrypoints": [
|
|
{
|
|
"nodeId": "e001",
|
|
"kind": "Main",
|
|
"framework": "Express",
|
|
"source": "convention",
|
|
"phase": "AppStart",
|
|
"order": 0
|
|
},
|
|
{
|
|
"nodeId": "e002",
|
|
"kind": "Http",
|
|
"route": "/api/users/:id",
|
|
"httpMethod": "GET",
|
|
"framework": "Express",
|
|
"source": "code-analysis",
|
|
"phase": "Runtime",
|
|
"order": 1
|
|
}
|
|
],
|
|
"metadata": {
|
|
"toolId": "stellaops.scanner.node",
|
|
"toolVersion": "1.0.0",
|
|
"analysisTimestamp": "2025-01-15T12:00:00Z",
|
|
"sourceCommit": "789abc012def",
|
|
"buildId": "build-003"
|
|
},
|
|
"id": "cg-node-express-api-001",
|
|
"languageString": "javascript",
|
|
"component": "express-api",
|
|
"version": "2.1.0",
|
|
"ingestedAt": "2025-01-15T12:00:00Z",
|
|
"graphHash": "sha256:c3d4e5f6a7b8"
|
|
}
|