Comparing version 1.0.2 to 1.0.3
39
cli.js
@@ -5,3 +5,3 @@ #!/usr/bin/env node | ||
const { request, metrics } = require('./lib') | ||
const { validate, replace, csv, handle_error } = require('./util') | ||
const { replace, csv } = require('./util') | ||
@@ -49,1 +49,38 @@ const flags = mri(process.argv.slice(2), { | ||
} | ||
function validate(opt) { | ||
let error = false | ||
if (!opt.jira) { | ||
error = true | ||
console.error('Please configure your JIRA URL environment variable') | ||
} | ||
if (!opt.user) { | ||
error = true | ||
console.error('Please configure your JIRA user environment variable') | ||
} | ||
if (!opt.pass) { | ||
error = true | ||
console.error('Please configure your JIRA password environment variable') | ||
} | ||
if (opt.auto) { | ||
opt.auto = parseInt(opt.auto, 10) | ||
opt.start = date_ago(opt.auto) | ||
opt.finish = date_ago(0) | ||
} | ||
if (error) process.exit(1) | ||
} | ||
function handle_error(err) { | ||
const envelope = {} | ||
envelope.name = err.name || 'Unknown Error', | ||
envelope.code = err.statusCode || err.code || 1000 | ||
envelope.message = err.statusMessage || 'An error has occurred' | ||
console.error(envelope) | ||
process.exit(1) | ||
} |
13
lib.js
@@ -0,6 +1,10 @@ | ||
const got = require('got') | ||
const { pad, date_ago, days_between, num_reducer, replace } = require('./util') | ||
module.exports = { | ||
lead, | ||
cycle, | ||
request, | ||
metrics | ||
metrics, | ||
date_to_status, | ||
} | ||
@@ -12,7 +16,5 @@ | ||
*/ | ||
function request({jira, user, pass, endpoint}) { | ||
const got = require('got') | ||
function request({jira, user, pass, endpoint}, req = got) { | ||
return async (jql) => | ||
await got(replace(endpoint, {jira, jql}), { | ||
await req(replace(endpoint, {jira, jql}), { | ||
json: true, | ||
@@ -40,2 +42,3 @@ auth: `${user}:${pass}` | ||
} | ||
/** | ||
@@ -42,0 +45,0 @@ * Cycle time |
{ | ||
"name": "kbme", | ||
"version": "1.0.2", | ||
"version": "1.0.3", | ||
"description": "Gather kanban metrics from your JIRA instance", | ||
@@ -25,3 +25,12 @@ "main": "index.js", | ||
"mri": "^1.1.0" | ||
}, | ||
"devDependencies": { | ||
"expect.js": "^0.3.1", | ||
"jest": "^20.0.4", | ||
"mocha": "^3.5.0" | ||
}, | ||
"scripts": { | ||
"test": "jest --coverage", | ||
"test:watch": "npm run test -- --watch" | ||
} | ||
} |
# kbme | ||
[![Build Status](https://travis-ci.org/ricardocasares/kbme.svg?branch=master)](https://travis-ci.org/ricardocasares/kbme) | ||
[![codecov](https://codecov.io/gh/ricardocasares/kbme/branch/master/graph/badge.svg)](https://codecov.io/gh/ricardocasares/kbme) | ||
Gather kanban metrics from your JIRA instance: | ||
@@ -3,0 +6,0 @@ |
48
util.js
@@ -8,4 +8,4 @@ module.exports = { | ||
replace, | ||
validate, | ||
handle_error | ||
// validate, | ||
// handle_error | ||
} | ||
@@ -71,45 +71,1 @@ | ||
} | ||
/** | ||
* Validates program options and exits the process in case of errors | ||
* @param {Object} opt Program options | ||
*/ | ||
function validate(opt) { | ||
let error = false | ||
if (!opt.jira) { | ||
error = true | ||
console.error('Please configure your JIRA URL environment variable') | ||
} | ||
if (!opt.user) { | ||
error = true | ||
console.error('Please configure your JIRA user environment variable') | ||
} | ||
if (!opt.pass) { | ||
error = true | ||
console.error('Please configure your JIRA password environment variable') | ||
} | ||
if (opt.auto) { | ||
opt.auto = parseInt(opt.auto, 10) | ||
opt.start = date_ago(opt.auto) | ||
opt.finish = date_ago(0) | ||
} | ||
if (error) process.exit(1) | ||
} | ||
/** | ||
* Formats error messages | ||
* @param {Error} err | ||
*/ | ||
function handle_error(err) { | ||
const envelope = {} | ||
envelope.name = err.name || 'Unknown Error', | ||
envelope.code = err.statusCode || err.code || 1000 | ||
envelope.message = err.statusMessage || 'An error has occurred' | ||
console.error(envelope) | ||
} |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
107798
16
936
60
3
1