Skip to content

oclif/plugin-warn-if-update-available

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
bin
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

@oclif/plugin-warn-if-update-available

warns if there is a newer version of CLI released

Version CircleCI Appveyor CI Downloads/week License

What is this?

This plugin shows a warning message if a user is running an out of date CLI.

screenshot

How it works

This checks the version against the npm registry asynchronously in a forked process, at most once per 7 days. It then saves a version file to the cache directory that will enable the warning. The upside of this method is that it won't block a user while they're using your CLI—the downside is that it will only display after running a command that fetches the new version.

Installation

Add the plugin to your project with yarn add @oclif/plugin-warn-if-update-available, then add it to the package.json of the oclif CLI:

{
  "name": "mycli",
  "version": "0.0.0",
  // ...
  "oclif": {
    "plugins": ["@oclif/plugin-help", "@oclif/plugin-warn-if-update-available"]
  }
}

Configuration

In package.json, set oclif['warn-if-update-available'] to an object with any of the following configuration properties:

  • timeoutInDays - Duration between update checks. Defaults to 60.
  • message - Customize update message.
  • registry - URL of registry. Defaults to the public npm registry: https://registry.npmjs.org
  • authorization - Authorization header value for registries that require auth.

Example configuration

{
  "oclif": {
    "plugins": [
      "@oclif/plugin-warn-if-update-available"
    ],
    "warn-if-update-available": {
      "timeoutInDays": 7,
      "message": "<%= config.name %> update available from <%= chalk.greenBright(config.version) %> to <%= chalk.greenBright(latest) %>.",
      "registry": "https://my.example.com/module/registry",
      "authorization": "Basic <SOME READ ONLY AUTH TOKEN>"
    }
  }
}