Skip to content

emgyrz/tagger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tagger

npm

Simple utility to do something (e.g. install) packages from git repository by selecting git tag which is presented by semver rules.

Tagger works with git repositories only through ssh connection.

If you have a package that is not in npm or local repos but it has versionong, tagger may be helpful for you.

Requirements

tagger works with:

  • macOS // TODO
  • Linux (64-bit)
  • Windows (64-bit)

CLI

Usage: tagger (--help | --version)
       tagger [--cfg PATH] (--show-latest | --list-all) PACKAGES...
       tagger [--exec --cfg PATH] PACKAGES...

Options:
    -h, --help              Show this message.
    -v, --version           Show the version of tagger.
    -c PATH, --cfg PATH     Path to config file. If not specified config will be searching in ./.tagger.cfg.json and ~/.tagger.cfg.json"
    -l, --show-latest       Prints latest valid tag.
    -a, --list-all          Prints all valid by semver tags.
    -e, --exec              *optional. Do something with specified or latest package version.

Examples:
    tagger ui
    tagger --show-latest hlp
    tagger --exec -c ../path_to_tagger_config.json hlp@2.1.3

Config file

Config file name by default is .tagger.cfg.json. And if it is not specified, it is searched in directory where you run tagger or in your home directory (e.g. ~/.tagger.cfg.json).

Config includes fields:

repos

Type: Array<{name: string, url: string}>

List of package repositories you want to use. Each item in this list cantains name ( to identify it ) and url know how to connect. Example:

{
  "repos": [
    {
      "name": "tagger",
      "url": "ssh://git@github.com:emgyrz/tagger.git"
    }
  ],
  // ...
}

command

Type: String

Says what to do with package. In command you have several variables that will be replaced on executing

  • {NAME} - name of package presents in repo
  • {URL} - same
  • {VERSION} - version of package you were specify or latest version

Example:

{
  // ...
  "command": "yarn add {URL}#{VERSION}"
  // "command": "echo 'my latest version of package {NAME} is {VERSION}'",
  // "command": "rm -rf / :)"
}
Enjoy using!

License

This package is MIT licensed.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published