Update notifications for your CLI app
Overall
score
97%
{
"context": "This criteria evaluates how well the engineer uses the update-notifier package to implement context-aware update checking behavior. The focus is on correctly leveraging update-notifier's built-in features for environment detection and notification control.",
"type": "weighted_checklist",
"checklist": [
{
"name": "update-notifier import",
"description": "Correctly imports and uses the update-notifier package as the primary dependency",
"max_score": 10
},
{
"name": "Package metadata usage",
"description": "Passes package information (name and version) to update-notifier via the pkg option, typically from package.json",
"max_score": 15
},
{
"name": "Basic notification display",
"description": "Calls the notify() method on the update-notifier instance to trigger update notifications",
"max_score": 15
},
{
"name": "CI detection",
"description": "Relies on update-notifier's built-in CI environment detection (via is-in-ci) rather than implementing custom CI detection logic",
"max_score": 20
},
{
"name": "Test environment handling",
"description": "Relies on update-notifier's built-in test environment detection (NODE_ENV === 'test') rather than implementing custom test detection",
"max_score": 15
},
{
"name": "npm script behavior",
"description": "Leverages update-notifier's default behavior of suppressing notifications in npm scripts (via is-npm detection) without custom configuration, or explicitly configures shouldNotifyInNpmScript if needed",
"max_score": 10
},
{
"name": "Environment variable opt-out",
"description": "Relies on update-notifier's built-in support for the NO_UPDATE_NOTIFIER environment variable rather than implementing custom opt-out logic",
"max_score": 10
},
{
"name": "TTY detection",
"description": "Relies on update-notifier's built-in TTY detection (process.stdout.isTTY) rather than implementing custom terminal detection",
"max_score": 5
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-update-notifierdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10