Version.is Sources Repo
This repo contains the source files, which version.is is using to generate project versions.
Version.is repo is available at version-is/version.is.
Each project has a .yaml file which contains data about how the versions are fetched.
There is two standard ways to fetch data, specified by the handler object:
- by GitHub tags
- by package.json / component.json files in a GitHub repo.
GitHub tags are the best fit for most projects. The package.json/component.json files will be better for monitoring the latest development versions.
Submitting your Project
If you want to add your project to the list of monitored projects, please submit a pull request. We will make sure that it is working before accepting it, and will assist you in the process if needed. Take a look at the existing projects for reference.
The conventions for file names is, that they must only contain characters
- dash. Letters should be converted to lowercase and punctuation and spaces should be replaced by dashes. The file extension should be
The contents of the file should be valid yaml. Each project branch should have their own yaml object. The first object should be the base branch, and the name of that should correspond to the filename. Additional branches, should be named the same as the base-branch, with an addition of a branch name seperated by a dash. If the project was jQuery, it would have the filename
jquery.yaml and two yaml objects in the file,
Each yaml object have some required properties;
website, which should be pretty obvious.
Additionally, each yaml object has a object named
handler. This object specifies how and where to fetch version data. There is custom handlers for some projects, but those will generally not be interesting, if you are submitting it yourself. The handler has one universal property,
type that specifies which method will be used to fetch version data.
This handler is invoked by setting
type: bytags as a property on the handler object. It has only one required property, which is
repo. It works by fetching version data from tags on a GitHub repo. A handler object for jQuery using the tags on their GitHub repo would look like this:
handler: type: bytags repo: jquery/jquery
This handler is invoked by setting
type: byjsonfile as a property on the handler object. It has two required properties,
file. It works by fetching version data from a json file in a GitHub repo. It is intended to be used with
component.json files, but it should work with all jsonfiles that has an object with a
version property, as that is what it tries to parse.
A handler object for the development branch of jQuery using the
package.json file in their GitHub repo would look like this:
handler: type: byjsonfile repo: jquery/jquery file: package.json
Some projects will have their own handlers. Examples being Google Chrome and Firefox browsers. Only selected projects will get this treatment. If you cannot make your project fit into the standard ways of version fetching get in touch with us.
Please be aware, that this service is not free and may be subject to billing. Only development time is billed, so do not hesitate to get in touch.
Some projects may be of such great significance that we have added custom handlers for them.
If you have suggestions to the project, please refer to the project repo at version-is/version.is.
If you feel that there is need for another basic handler type, please get in touch.