or run

npx @tessl/cli init
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-4/

{
  "context": "This evaluation assesses how well the engineer uses the @pnpm/modules-cleaner package to build a CLI tool for cleaning up node_modules. The focus is on proper usage of the prune function and related lockfile handling capabilities from the pnpm ecosystem.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Import prune function",
      "description": "Correctly imports the prune function from @pnpm/modules-cleaner package",
      "max_score": 15
    },
    {
      "name": "Configure importer options",
      "description": "Properly constructs the importers array with required fields (binsDir, id, modulesDir, rootDir) and appropriate optional fields (pruneDirectDependencies)",
      "max_score": 20
    },
    {
      "name": "Load lockfiles",
      "description": "Uses lockfile reading functionality (e.g., from @pnpm/lockfile.fs) to load both wantedLockfile and currentLockfile for the pruning operation",
      "max_score": 15
    },
    {
      "name": "Configure pruning options",
      "description": "Correctly configures the prune options object including: include fields for dependency types, virtualStoreDir, lockfileDir, and handles the dryRun flag appropriately",
      "max_score": 20
    },
    {
      "name": "Create store controller",
      "description": "Properly initializes or mocks a StoreController instance required by the prune function, handling its methods appropriately",
      "max_score": 15
    },
    {
      "name": "Handle prune result",
      "description": "Correctly processes the return value from the prune function (a Set of string paths) and reports the size or contents to the user",
      "max_score": 15
    }
  ]
}