Syntax for referring to item versions
- Dominant language
- Scala
- Stars
- 6.8k
- Forks
- 1.2k
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 2
Description
Some work is already done to versioned actions, but it's not expose in CLI and other items like rules, triggers, feeds will need to be doc.
From @vinodmut :
All items are versioned using semantic versioning. We need a way to refer to particular versions of items.
This is needed both in the CLI and API.
A proposal for the syntax that continues to use ':' delimiters:
Fully qualified name with version would look like:
```
namespace:name:version
```
So examples include:
```
bob@example.com:myaction:0.1.0
bob@example.com:myaction:0.1.*
bob@example.com:myaction:>=1.2.3
bob@example.com:myaction:~1.2.3
bob@example.com:myaction // implies latest version
```
The versioning syntax is based on the semantic versioning as supported by npm: https://github.com/npm/node-semver
Since we allow arbitrarily nested namespaces, and both namespaces and versions are optional, we can avoid ambiguities by requiring that namespaces and item names start with [a-zA-Z]. Versions would start with [0-9~><=^].
Contributor guide
Research direction
Start by reviewing the existing work on versioned actions and tracing how item names are handled in the CLI and API. Compare the proposed namespace:name:version forms with rules, triggers, and feeds; done means a decided syntax and consistent support for the documented version selectors.
Written by the indexing model from the issue text.
Assessment
- Domain
- api, cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 20/100