tessl install tessl/pypi-nodeenv@1.9.0Node.js virtual environment builder for creating isolated Node.js environments
Agent Success
Agent success rate when using this tile
80%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.25x
Baseline
Agent success rate without this tile
64%
{
"context": "This criteria evaluates how well the engineer uses the nodeenv package's advanced npm version management capabilities, specifically focusing on version-specific installation, legacy version handling, environment isolation, and cleanup operations.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Specific npm version installation",
"description": "Uses nodeenv's --npm option or equivalent API to install a specific npm version (e.g., nodeenv's npm parameter in create_environment or install_packages functions)",
"max_score": 20
},
{
"name": "Latest version fetching",
"description": "Implements logic to fetch the latest npm version, ideally using nodeenv's get_last_stable_node_version pattern or similar version discovery mechanism from nodeenv",
"max_score": 15
},
{
"name": "Legacy version detection",
"description": "Uses nodeenv's version parsing utilities (parse_version) or similar functionality to differentiate between npm versions < 1.0.0 and >= 1.0.0",
"max_score": 15
},
{
"name": "Version-specific installation commands",
"description": "Implements different installation logic for legacy (npm 0.x) versus modern npm versions, mirroring nodeenv's approach to handling npm version differences",
"max_score": 15
},
{
"name": "NPM_CONFIG_PREFIX setup",
"description": "Sets the NPM_CONFIG_PREFIX environment variable to the installation directory, following nodeenv's environment isolation pattern",
"max_score": 10
},
{
"name": "npm_config_prefix lowercase",
"description": "Also sets the lowercase npm_config_prefix variable for backward compatibility, as nodeenv does",
"max_score": 10
},
{
"name": "Legacy cleanup logic",
"description": "Implements cleanup of npm 0.x artifacts when appropriate, using subprocess calls or file operations similar to nodeenv's cleanup approach",
"max_score": 10
},
{
"name": "Conditional cleanup",
"description": "Makes cleanup operations conditional based on a flag (cleanup_legacy parameter), following nodeenv's --no-npm-clean pattern",
"max_score": 5
}
]
}