Skip to main content

proto v0.16 - Add, remove, and purge plugins

· 2 min read
Miles Johnson
Founder, developer

This release adds functionality for managing plugins and purging the proto store.

Add and remove plugins

Now that proto has fully embraced a plugin based architecture, we thought it'd be nice to support the management of these plugins through the CLI. This release adds two new commands: proto add-plugin and proto remove-plugin.

Adding a plugin requires a unique ID and what we call a locator, which is a string that dictates where to locate and download the plugin from. Here's an example for Node.js, but this isn't necessary as it's built-in:

$ proto add-plugin node source:https://github.com/moonrepo/node-plugin/releases/latest/download/node_plugin.wasm

Additionally, removing a plugin is even easier.

$ proto remove-plugin node

Purge tools and plugins

proto has supported cleaning for quite some time through the proto clean command (and the auto-clean setting), which would automatically delete installed tool versions and temporary files that are older then a specific timeframe. This helps to free up disk space for unused or rarely used tools.

In this release, we're expanding the clean command's functionality with a concept known as purging, which will "delete entirely". The first being the new --purge option, which will delete a tool, its manifest, all installed versions, and the entire ~/.proto/tools/<id> directory.

# Delete all traces of Node.js
$ proto clean --purge node

Additionally, a new --purge-plugins option can be used to delete all downloaded plugins (the ~/.proto/plugins directory). Useful for house keeping or if you want to start fresh.

$ proto clean --purge-plugins

Other changes

View the official release for a full list of changes.

  • Added folder locking during tool installation to avoid colliding processes.
  • Renamed PROTO_ROOT to PROTO_HOME, but we'll support PROTO_ROOT for the time being.