docs
evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"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
}
]
}