The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

git-package - Manage package.json file versions

VERSION

This documentation refers to git-package version 1.1.20

SYNOPSIS

   git-package [uniq] [option]
   git-package next [--update|-u]
   git-package whos version [option]

 SUB-COMMAND:
  uniq          Confirm that the current branch is the only branch using its version
  next          Calculates the next available version number
  whos          Which branch uses the package version "version"

 OPTIONS:
  -P --package[=]file
                Specify the package file location (Default ./package.json)
  -u --update   Update to next version (used with next)
  -t --tag[=]str
                Specify a tag that any branch with newer commits must contain
  -b --branch[=]str
                Similarly a branch that other branches with newer commits must
                contain (Default origin/master)
  -l --local    Shorthand for --branch '^master$'

  -v --verbose  Show more detailed option
     --version  Prints the version information
     --help     Prints this help information
     --man      Prints the full documentation for git-package

DESCRIPTION

The git-package tool helps working with NPM package.json files by looking at all branches to see what versions are set. The sub commands allow different kinds of checking to be done.

uniq

Check that the current branch's package.json version is unique across all branches.

next

Finds the next available package.json version number buy finding the current nighest package.json version and incrementing the second number. If --update is used then the package.json version is updated to that number.

whos

Find which branch or branches use a package.json version number.

SUBROUTINES/METHODS

run ()

Executes the git workflow command

do_whos ()

do_next ()

do_uniq ()

do_bad_branches ($pom)

Show branches with package.json files that don't pass

DIAGNOSTICS

CONFIGURATION AND ENVIRONMENT

Defaults for this script can be set through git config

 workflow.prod     Sets how a prod release is determined
                   eg the default equivalent is branch=^origin/master$
 workflow.package  The default location for the package.json file (used by C<--new-pom>
                   when updating package.json for the new branch)

You can set these values either by editing the repository local .git/config file or ~/.gitconfig or use the git config command

 # eg Setting the global value
    git config --global workflow.prod 'branch=^origin/master$'

 # or set a repository's local value
    git config workflow.prod 'tag=^release_\d{4}_\d{2}\d{2}$'

 # or set package.json location to a sub directory
    git config workflow.package 'somedir/package.json'

DEPENDENCIES

INCOMPATIBILITIES

BUGS AND LIMITATIONS

There are no known bugs in this module.

Please report problems to Ivan Wills (ivan.wills@gmail.com).

Patches are welcome.

AUTHOR

Ivan Wills - (ivan.wills@gmail.com)

LICENSE AND COPYRIGHT

Copyright (c) 2014 Ivan Wills (14 Mullion Close, Hornsby Heights, NSW Australia 2077). All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.