I have been musing about a potential problem with the "beta" namespace. Namely, what do we want to do if, e.g. ion beta schema validate becomes stable, but there's a new, unstable command in the schema namespace.
- We could have two "schema" namespaces...
ion
├─ schema
│ └─ validate
└─ beta
└─ schema
└─ transmogrify
- We could have two "beta" namespaces...
ion
└─ schema
├─ validate
└─ beta
└─ transmogrify
-
We could fudge with the namespaces a bit so that "beta" is a pseudo-namespace and just has to appear somewhere in the command—i.e. so that ion beta schema transmogrify and ion schema beta transmogrify would be equivalent.
-
We could do away with the "beta" namespace altogether, and have a "beta" (or other) prefix on the commands. E.g.:
ion
└─ schema
├─ validate
└─ beta-transmogrify
I think I lean toward a command prefix so that we can just avoid having to choose between 1 & 2, and because the namespaces are generally grouping things by function, but the beta namespace is orthogonal to that by grouping by api stability. However, I think a shorter prefix (maybe x- as in ion schema x-transmogrify) would be sufficient to flag it as experimental.
I have been musing about a potential problem with the "beta" namespace. Namely, what do we want to do if, e.g.
ion beta schema validatebecomes stable, but there's a new, unstable command in theschemanamespace.We could fudge with the namespaces a bit so that "beta" is a pseudo-namespace and just has to appear somewhere in the command—i.e. so that
ion beta schema transmogrifyandion schema beta transmogrifywould be equivalent.We could do away with the "beta" namespace altogether, and have a "beta" (or other) prefix on the commands. E.g.:
I think I lean toward a command prefix so that we can just avoid having to choose between 1 & 2, and because the namespaces are generally grouping things by function, but the beta namespace is orthogonal to that by grouping by api stability. However, I think a shorter prefix (maybe
x-as inion schema x-transmogrify) would be sufficient to flag it as experimental.