Edit a string with the users preferred text editor using $VISUAL or $ENVIRONMENT
79
{
"context": "Evaluates how well the solution uses the external-editor package to drive temp-file-backed editing with customizable naming, location, permissions, and synchronous/asynchronous flows. Checks that the implementation relies on the library's tmp options and lifecycle hooks rather than recreating them manually.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Prefix/postfix",
"description": "Calls external-editor (edit or ExternalEditor) with fileOptions carrying the provided prefix and postfix so the tmp filename boundaries come from the package rather than manual string building.",
"max_score": 25
},
{
"name": "Dir/template",
"description": "Forwards dir and template values into the external-editor tmp options (e.g., via ExternalEditor constructor) so the package places the temp file inside the requested directory and fills the template pattern.",
"max_score": 20
},
{
"name": "Mode applied",
"description": "Supplies mode through the external-editor tmp configuration (not post-hoc chmod) so the created temp file inherits the requested permission mask.",
"max_score": 15
},
{
"name": "Status & cleanup",
"description": "Retrieves lastExitStatus from ExternalEditor/edit results and returns it, and invokes ExternalEditor.cleanup() so the package removes the temp file once reading is done.",
"max_score": 20
},
{
"name": "Async path",
"description": "Implements the async workflow with external-editor's editAsync or ExternalEditor.runAsync callback pattern instead of wrapping synchronous calls or spawning editors manually.",
"max_score": 20
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-external-editordocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10