Socket
Socket
Sign inDemoInstall

@janslow/ci-build-version

Package Overview
Dependencies
79
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @janslow/ci-build-version

Generate a CI build version


Version published
Weekly downloads
4
increased by100%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

CI Build Version

Generates an opinionated semantic version from a base version and the current CI context. Currently supports GitLab CI.

Version Logic

The generated versions have the following precendence (from highest to lowest) based on git ref:

  1. Tag which is a semantic version (release version).
  • It must match the base version (with no prerelease identifiers).
  1. release/hotfix branches (prerelease starts with rc).
  2. master/develop branches (prerelease starts with dev).
  3. Other branches and tags (prerelease starts with ci).

If used outside a CI environment, the prerelease is always local.

Usage

TypeScript

import { SemVer } from 'semver';
import generateBuildVersion, { load, loadSync, parse } from '@janslow/ci-build-version';

// Manually specify base version.
const buildVersion1: SemVer = generateBuildVersion(new SemVer('1.2.3-local'));

// Load base version from a file
const buildVersion2: Promise<SemVer> = load('package.json', 'UTF8');
const buildVersion3: SemVer = loadSync('package.json', 'UTF8');
const buildVersion4: SemVer = parse(require('package.json'));

Command Line

ci-build-version -b 1.2.3-local # Generate a version using the base version 1.2.3-local
ci-build-version -f package.json # Generate a version using the base version in `package.json`

Supported File Formats

Plain text

Must only contain the base version. E.g.,

1.2.3-local

JSON/YAML

Must either contain a JSON/YAML string which is the base version or an object with the key version (which is the base version). For example a package.json file. YAML files must only contain a single document. E.g.,

"0.1.2-local" # Base version
{
  "version": "0.1.2-local"
}
version: 0.1.2-local

Development

Debugging

export DEBUG='ci-build-version*'

Keywords

FAQs

Last updated on 18 Apr 2017

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc