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

warns if there is a newer version of CLI released

Usage no npm install needed!

<script type="module">
  import oclifPluginWarnIfUpdateAvailable from 'https://cdn.skypack.dev/@oclif/plugin-warn-if-update-available';
</script>

README

@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>"
    }
  }
}