Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cibernox/git-repo-version
Calculates the version of a repo based on the package.json and the current SHA
https://github.com/cibernox/git-repo-version
Last synced: 2 months ago
JSON representation
Calculates the version of a repo based on the package.json and the current SHA
- Host: GitHub
- URL: https://github.com/cibernox/git-repo-version
- Owner: cibernox
- Created: 2014-10-23T22:42:02.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2018-11-28T14:28:27.000Z (about 6 years ago)
- Last Synced: 2024-10-18T06:08:50.993Z (3 months ago)
- Language: JavaScript
- Size: 18.6 KB
- Stars: 8
- Watchers: 2
- Forks: 9
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# git-repo-version
Generates a version string based on the version specified in your `package.json` and the sha revision of
the current commit/branch.## Install
Typically you will only need to install this as a devDependency as follows
`npm install --save-dev git-repo-version`
## Usage
This plugin automatically exports a function that when called calculates return the version string with a sha of the given length (defaults to 8). You can also specify second parameter to include commit date in the output `{ includeDate: true }`.
```js
var getVersion = require('git-repo-version');
getVersion(); // "1.5.0+a1b2c3d4"
getVersion({ shaLength: 10 }); // "1.5.0+a1b2c3d4e5"
getVersion({ shaLength: 10, includeDate: true }); // "1.5.0+a1b2c3d4e5 2016-10-24T18:26:53.000Z"
getVersion({ shaLength: 0, includeDate: true }); // "1.5.0 2016-10-24T18:26:53.000Z"
```The version number is determined by first valid condition:
* If current commit is tagged and version number in app's `package.json` is not include in tag name,
it will use tag name.
* If app has a version number in its `package.json`, it will use version number in `package.json`
and append the SHA of the current commit at the end (p.e. `1.5.0-beta.1+a1b2c3d4`).
* If current HEAD is a branch, it will use the name of the that branch and append the SHA
(p.e. `develop+a1b2c3d4`).
* It will use the string `DETACHED_HEAD` as fallback (p.e `DETACHED_HEAD+1a2b3c4d`)## Running tests
Simply run `npm test`