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.wasmsource:https://url.com/file.wasm->https://url.com/file.wasmgithub:org/repo->github://org/repo
If a
protocommand modifies a.prototoolsfile, 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 uninstallto also remove entries from.prototoolsif 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.
