4.1.2 • Published 3 years ago

build-revision v4.1.2

Weekly downloads
3
License
MIT
Repository
github
Last release
3 years ago

build-revision

Coverage Status Build status Build Status

Generate semver compatible version to uniquely identify project build using build metadata

Usage

Install

# OPTION: Use npm
$ npm install --save-dev build-revision

# OPTION: Use yarn
$ yarn add build-revision --dev

Example

ES2015

var buildRevision = require('build-revision');

buildRevision().then(function(version){
  console.log(version);
});

ES2017+

import buildRevision from 'build-revision';

const fn = aync() => {
  const version = await buildRevision();
  console.log(version);
}

Results

If build metadata included in 'package.json' differs from that found by git. The SHA found by git is used.

Working copy has no changes (CI/CD Tools)

VersionBuild Version
0.1.00.1.0+SHA.abcd123
0.1.0-pre0.1.0-pre+SHA.abcd123
0.1.0-pre+SHA.012345670.1.0-pre+SHA.01234567

Working copy has no changes (Developer Machine)

VersionBuild Version
0.1.00.1.0+SHA.abcd123.currentuser.20170101T000000Z
0.1.0-pre0.1.0-pre+SHA.abcd123.currentuser.20170101T000000Z
0.1.0-pre+SHA.012345670.1.0-pre+SHA.01234567.currentuser.20170101T000000Z

Working copy is NOT a git clone

VersionBuild Version
0.1.00.1.0+NOREV.currentuser.20170101T000000Z
0.1.0-pre0.1.0-pre+NOREV.currentuser.20170101T000000Z

API

buildRevision(options)

  • Appends prefix.username.timestamp to the version if repository does not exists
  • Appends prefix.githash.username.timestamp to the version for a git repository with local changes
  • Appends prefix.githash to the version for a git repository with no local changes

The timestamp is an ISO 8601 UTC string

Type: Promise
Throws: Error
  - if the package version is not resolved
  - if the package version is not a valid semver
  - if the project is not a git repository
Returns:
  - semver compatible version with a build metadata part

Options

options.prefix

Build metadata Prefix

Type: `String`
Default: `SHA`

options.cwd

Search for the closest package.json starting from this directory

Type: `String`
Default: `.`

License MIT

4.1.2

3 years ago

4.1.1

3 years ago

4.1.0

3 years ago

3.1.0

4 years ago

4.0.0

4 years ago

3.0.0

5 years ago

2.0.0

5 years ago

1.0.0

6 years ago

0.2.0

7 years ago

0.1.0

7 years ago