proto v0.36 - Static registry, plugin searching, and more
In this release, we're taking the first step in supporting a plugin registry.
New static registry
Our long-term plan for proto is to provide a server-based registry in which users could publish and manage plugins, and immediately make them available to the community. However, this is quite a mountain of work, and will take some time, but making plugins available now is a priority.
As a temporary solution, we're introducing a static registry, in which available plugins are defined in static JSON files, located in the official moonrepo/proto repository. This will help unblock new features moving forward.
New proto plugin search
command
Because of the static registry work above, we're now able to introduce a new command,
proto plugin search
, that can be used to search for plugins
provided by the community. No longer will you need to browse the documentation, or search Google for
available plugins.
$ proto plugin search moon
Plugins
Available for query: moon
Plugin Author Format Description Locator
moon moonrepo TOML moon is a multi-language build system and codebase management tool. https://raw.githubusercontent.com/moonrepo/moon/master/proto-plugin.toml
New proto unpin
command
Additionally, a command that probably should have existed from the start, but did not, is now
available. The proto unpin
command does exactly as its name says, it
unpins (removes) a version from a .prototools
file.
Plugin locator syntax changes
We've decided to slightly change the syntax of plugin locator strings by embracing the common
protocol syntax. Instead of source:
and github:
, we now use file://
, https://
, and
github://
. The former syntax will continue to work for the time being, but will be removed
entirely in the future.
source:./file.wasm
->file://./file.wasm
source:https://url.com/file.wasm
->https://url.com/file.wasm
github:org/repo
->github://org/repo
If a
proto
command modifies a.prototools
file, the file will be saved with the new syntax. Don't be surprised when this happens!
Other changes
View the official release for a full list of changes.
- Updated
proto uninstall
to also remove entries from.prototools
if the version was uninstalled. - Updated some error messages to include copy for work arounds.
- We now lock the bin/shims directory when creating/removing files.
- This is an experiment to help avoid race conditions where multiple proto processes are all trying to write to the same location.
- If this results in too large of a performance hit, we'll remove the locking.