🎁 Tool for publishing releases to github and npm
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
json
lib
.eslintrc
.gitignore
.npmignore
.travis.yml
ChangeLog
LICENSE
README.md
package.json

README.md

Wisdom License NPM version Dependency Status Build Status

Tool for publishing releases to github and npm according to Semantic Versionin.

One command do next things:

  • set env variable $wisdom_version and $WISDOM_VERSION with future version
  • run command from scripts.wisdom of package.json (if exist);
  • run command from scripts.wisdom:type of package.json (if exist);
  • changelog;
  • version in package.json;
  • tag;
  • release on github;
  • push to github;
  • publish to npm;
  • run command from scripts.wisdom:done of package.json (if exist);

Before executing wisdom, wisdom:type and wisdom:done scripts will be expanded via redrun which will speed things up.

Here is list of commands that should be executed to get same result:

changelog {{ version }}
version {{ version }}
git add --all
git commit -m "feature(package) v{{ version }}"
git push origin {{ branch }}
git tag v{{ version }}
git push origin v{{ version }}
grizzly -tn "token from url" \
-r grizzly -o {{ owner }} -t {{ version }} \
-n "{{ repo }} {{ version }}" -b "changelog"
npm publish

Install

npm i wisdom -g

How to use?

$ wisdom
Usage: wisdom [patch|minor|major]
Options:
-h, --help     : display this help and exit
-v, --version  : output version information and exit

Configuration

When you need configure wisdom you could declare them in package.json:

{
    "changelog": true,  /* default */
    "tag": true,        /* default */
    "release": true,    /* default */
    "branch": "master"  /* default */
    "scripts": {
        "wisdom": "echo 'do something before publish'",
        "wisdom:type": "echo 'do something before publish and add --patch, --minor or --major argument'",
        "wisdom:done": "echo 'do something after publish'"
    }
}

License

MIT