📅 You're Invited: Meet the Socket team at RSAC (April 28 – May 1).RSVP
Socket
Sign inDemoInstall
Socket

get-git-version

Package Overview
Dependencies
Maintainers
0
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

get-git-version

Gets Git version and commit information for one or more repositories.

0.5.5
latest
Source
npm
Version published
Weekly downloads
162
-40%
Maintainers
0
Weekly downloads
 
Created
Source

get-git-version

npm node

Gets Git version and commit information for one or more repositories. This is useful for applications that span multiple repositories or use submodules.

Prerequisites

Git is expected to be preinstalled (and in PATH).

The script simply runs shell commands similar to:

  • repository: git config --get remote.origin.url
  • branch: git rev-parse --abbrev-ref HEAD
  • sha1: git rev-parse HEAD
  • date: git --no-pager log --pretty=format:"%at" -n1
  • clean: git diff-index --quiet HEAD --
  • version: git describe --tags --match "v[0-9]*" HEAD

Install

npm install -g get-git-version

Usage

To get information about the current directory, run:

get-git-version

If the working directory contains a package.json file, it will be used to set the name and default version.

Otherwise, the name of the current folder is used as the name and version is not set.

Sample Output

{
  "name": "get-git-version",
  "version": "0.0.4",
  "git": {
    "repository": "https://github.com/polys/git-version.git",
    "branch": "master",
    "sha1": "dccb48950fa60511c3b235404209f17610aab67e",
    "date": "2018-04-21T17:31:35+01:00",
    "clean": false
  },
  "components": []
}

or with --version-only:

{
  "name": "get-git-version",
  "version": "0.1.4"
}

Command-line Options

  • -w [path] or --working-dir [path] overrides the working directory (defaults to the current directory)
  • -o [path] or --out-file [path] writes the output to a file instead of stdout
  • -c [path] or --config-file [path] overrides the config file name (defaults to .git-version.config.json)
  • --app-id [id] overrides the application id (defaults to app)
  • --version-tag-prefix [prefix] overrides the default version tag prefix (defaults to v[0-9]*)
  • --no-pretty disables pretty printing the output JSON
  • --version-only returns only the version, without git information
  • -h or --help outputs usage information

Configuration file example

Create a .git-version.config.json file with a simple array, similar to:

[
  {
    "id": "app",
    "name": "Test App",
    "path": ".",
    "versionTagPrefix": "v[0-9]*",
    "version": "0.1"
  },
  {
    "id": "dummy",
    "name": "Dummy Component",
    "path": ".",
    "versionTagPrefix": "v[0-9]*"
  }
]

All entries are expected to have an id.

If name is specified, it's simply copied to the output.

If path is specified, it's joined to the working directory path; otherwise, defaults to the working directory.

An item whose id is app (can be overridden using the --app-id command-line option) is required and treated as the main application. All other items are considered components of that application.

If versionTagPrefix is specified, a version is computed for the component, based on the most recent git tag that starts with this prefix. If no matching tag is not found, version won't be defined.

Keywords

version

FAQs

Package last updated on 08 Oct 2024

Did you know?

Socket

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