versions

    9.1.0 • Public • Published

    versions

    CLI to flexibly increment a project's version

    Installation

    npm i -D versions
    npx versions --help
    

    Usage

    usage: versions [options] patch|minor|major [files...]
    
      Semantically increment a project's version in multiple files.
    
      Arguments:
       files                  Files to do version replacement in. The nearest package.json and
                              package-lock.json will always be included unless the -P argument is given
      Options:
        -a, --all             Add all changed files to the commit instead of only the ones currently modified
        -b, --base <version>  Base version to use. Default is parsed from the nearest package.json
        -C, --changelog       Generate a changelog since the base version tag or if absent, the latest tag
        -c, --command <cmd>   Run a command after files are updated but before git commit and tag
        -d, --date [<date>]   Replace dates in format YYYY-MM-DD with current or given date
        -m, --message <str>   Custom tag and commit message. Token _VER_ is available to fill the new version
        -p, --prefix          Prefix git tags with a "v" character
        -r, --replace <str>   Additional replacement in the format "s#regexp#replacement#flags"
        -g, --gitless         Do not perform any git action like creating commit and tag
        -G, --globless        Do not process globs in the file arguments
        -P, --packageless     Do not include package.json and package-lock.json unless explicitely given
        -v, --version         Print the version
        -h, --help            Print this help
    
      Examples:
        $ versions patch
        $ versions -Cc 'npm run build' -m 'Release _VER_' minor file.css
    

    Signing commits and tags

    To automatically sign commits and tags created by versions with GPG add this to your ~/.gitconfig:

    [user]
      signingkey = <keyid>
    [commit]
      gpgSign = true
    [tag]
      forceSignAnnotated = true
    [push]
      gpgSign = if-asked

    CI environments

    CI environments usually do shallow git checkout. To use --changelog unshallow the repository first:

    git fetch --unshallow --quiet --tags

    © silverwind, distributed under BSD licence

    Install

    npm i versions

    DownloadsWeekly Downloads

    384

    Version

    9.1.0

    License

    BSD-2-Clause

    Unpacked Size

    135 kB

    Total Files

    5

    Last publish

    Collaborators

    • silverwind