evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"context": "This criteria evaluates how effectively the engineer uses @nx/devkit's project graph APIs to implement a workspace dependency analyzer. The focus is on correct usage of graph creation, dependency traversal, circular dependency detection, and graph export functionality.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Project graph creation",
"description": "Uses createProjectGraphAsync() or readCachedProjectGraph() from @nx/devkit to obtain the workspace project graph",
"max_score": 25
},
{
"name": "Reverse dependency computation",
"description": "Correctly identifies projects that depend on the target project using the reverse() function or by traversing graph dependencies in reverse",
"max_score": 25
},
{
"name": "Circular dependency detection",
"description": "Implements circular dependency detection by analyzing the graph structure, checking if any dependency chains loop back to the starting project",
"max_score": 25
},
{
"name": "Direct dependency counting",
"description": "Accurately counts direct dependencies by accessing the project's dependencies from the graph nodes (e.g., graph.dependencies[projectName])",
"max_score": 15
},
{
"name": "Graph export",
"description": "Exports the project graph to JSON format using JSON.stringify() on the graph object or its relevant properties",
"max_score": 10
}
]
}