DeLiVeR - Command Line Tool to automate releasing processes on GitHub/GitLab/npm
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.vscode
src
tests
.DS_Store
.dlvr
.eslintrc.json
.gitignore
.travis.yml
LICENSE
README.md
package-lock.json
package.json

README.md

DLVR

Codacy Badge Known Vulnerabilities Dependencies NPMS Score npm version Build Status Chat on Gitter

asciicast

DeLiVeR - Command Line Tool to automate releasing processes on GitHub/GitLab/npm

Install

npm install -g dlvr

Commands

Secrets Setup

dlvr secrets Opens a wizard which guides you through the configuration of a dotenv file which contains your secrets (webhooks and tokens)

Or define this ENV vars globally

DLVR_GITHUB
DLVR_GITLAB
DLVR_GITLAB_API
DLVR_SLACK_WEBHOOK
DLVR_GITTER

Write initial config

dlvr init [github|gitlab] Opens a Wizard which guides you through the release configuration ($PROJECT_ROOT/.dlvr), uses examplepaths for compress and release-assets.

Check, edit and get current Changelog

dlvr status

  • Checks integrity of .dlvr config

  • Checks if necessary secrets exist based on .dlvr configuration

  • Warns you if you have changes in your branch

  • Prints out current filtered Changelog

  • Checks if Update is available

    • optional arguments:
      • -e [--edit] | Edit the current Changelog

Edited changelog generates a .changelog file in your root which gets deleted on successful release, you should add this file to your .gitignore

Release

dlvr release (major|minor|patch|auto|pre)

  • optional arguments:
    • -f [--force] | Omit the "do you want to release" prompt
    • -p [--preid] IDENTIFIER | Make a Prerelease (IDENTIFIER:alpha -> 0.0.1-alpha.0)

Versions and Releases your Project based on your given configuration and release parameter.

If you use auto - SEMVER will be automatically determined by keywords "breaking" (x.0.0) and "feature, module or plugin" (0.x.0) in your changelog.

If you use pre - dlvr will release a new minor version with "prerelease" suffix, you can change the name of the suffix with the --preid flag (alpha, beta, rc).

Config File

.dlvr

PATH: $PROJECT_DIR/.dlvr Possible Configuration

{
  "dotenv": ".env",
  "filterminor": ["feature", "plugin", "module"],
  "filtermajor": ["breaking", "deprecate"],
  "prerun": "rm -rf ./dist",
  "postrun": "",
  "posttag": "npm run build",
  "notify": true,
  "compress": [
    {
      "in": "./dist/myfile.bin",
      "out": "./dist/myfile.zip"
    }
  ],
  "logfilter": ".*#",
  "remote": "origin",
  "slack": {
    "channel": "#github",
    "icon_emoji": ":shipit:",
    "username": "dlvr.bot",
    "reportfail": true
  },
  "gitter" : {
    "channel" : "username/repo",
    "reportfail": true
  },
  "irc": {
    "channel": "#general",
    "server": "irc.myserver.com",
    "username": "dvlrbot",
    "reportfail": true
  },
  "githost": {
    "provider": "github",
    "repo": "username/repo",
    "release": {
      "draft": true,
      "assets": [
        {
          "file": "./dist/myfile.zip",
          "name": "myfile.zip"
        }
      ]
    }
  },
  "test": "npm run test",
  "npmpublish": false
}

You have an Idea, Feature or found a Bug ?

File an Issue on GitHub or discuss it on gitter