proto v0.16 - Add, remove, and purge plugins
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
toPROTO_HOME
, but we'll supportPROTO_ROOT
for the time being.