or run

tessl search
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-2/

{
  "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
    }
  ]
}