pkgstat-cli
Advanced tools
Comparing version 0.1.1 to 0.1.2
{ | ||
"name": "pkgstat-cli", | ||
"version": "0.1.1", | ||
"version": "0.1.2", | ||
"description": "CLI tool for searching packages from npm,rubygems & pypi", | ||
@@ -13,3 +13,3 @@ "files": [ | ||
"scripts": { | ||
"test": "ava" | ||
"test": "standard && ava" | ||
}, | ||
@@ -21,7 +21,8 @@ "author": "Pradeep Khileri <pradeepchoudhary009@gmail.com> (https://zuck007.github.io)", | ||
"commander": "^2.9.0", | ||
"pkgstat": "^1.0.0" | ||
"pkgstat": "^1.1.2" | ||
}, | ||
"devDependencies": { | ||
"ava": "^0.18.2" | ||
"ava": "^0.18.2", | ||
"standard": "^10.0.2" | ||
} | ||
} |
#!/usr/bin/env node | ||
'use strict'; | ||
const pkgstat = require('pkgstat'); | ||
const program = require('commander'); | ||
const chalk = require('chalk'); | ||
const pkgversion = require('./package.json').version; | ||
const languages = ['ruby', 'node', 'python']; | ||
function availability(lang,status){ | ||
return ((status == 404 ? chalk.green(" ✔ Available"): chalk.red(" ✖ Taken")) + chalk.bold(" in " + lang)); | ||
'use strict' | ||
const pkgstat = require('pkgstat') | ||
const program = require('commander') | ||
const chalk = require('chalk') | ||
const pkgversion = require('./package.json').version | ||
const languages = ['ruby', 'node', 'python'] | ||
var pkgName = '' | ||
function availability (lang, status) { | ||
return ((status === 404 ? chalk.green(' ✔ Available') : chalk.red(' ✖ Taken')) + chalk.bold(' in ' + lang)) | ||
} | ||
function isTaken(pkg_name,lang){ | ||
pkgstat(pkg_name,lang).then(resp =>{ | ||
console.log(availability(lang,resp.status)); | ||
}) | ||
function isTaken (pkgName, lang) { | ||
pkgstat(pkgName, lang).then(resp => { | ||
console.log(availability(lang, resp.statusCode)) | ||
}) | ||
} | ||
function displayMetaData(pkg_name,lang){ | ||
pkgstat(pkg_name,lang) | ||
function displayMetaData (pkgName, lang) { | ||
pkgstat(pkgName, lang) | ||
.then(resp => { | ||
if(resp.status == 404){ | ||
console.log(pkg_name,"pkg name is",availability(lang,404)); | ||
}else if(resp.status == 200){ | ||
var output = [ | ||
chalk.green("Name ") + chalk.bold(resp.name), | ||
chalk.green("Author ") + chalk.bold(resp.author), | ||
chalk.green("Description ") + chalk.bold(resp.description), | ||
chalk.green("URL ") + chalk.bold(resp.url), | ||
chalk.green("Homepage ") + chalk.bold(resp.source), | ||
chalk.green("License ") + chalk.bold(resp.license), | ||
chalk.green("Version ") + chalk.bold(resp.version) | ||
]; | ||
console.log(output.join("\n")); | ||
} | ||
}); | ||
if (resp.statusCode === 404) { | ||
console.log(pkgName, 'pkg name is', availability(lang, 404)) | ||
} else if (resp.statusCode === 200) { | ||
var output = [ | ||
chalk.green('Name ') + chalk.bold(resp.name), | ||
chalk.green('Author ') + chalk.bold(resp.author), | ||
chalk.green('Description ') + chalk.bold(resp.description), | ||
chalk.green('URL ') + chalk.bold(resp.url), | ||
chalk.green('Homepage ') + chalk.bold(resp.source), | ||
chalk.green('License ') + chalk.bold(resp.license), | ||
chalk.green('Version ') + chalk.bold(resp.version) | ||
] | ||
console.log(output.join('\n')) | ||
} | ||
}) | ||
} | ||
@@ -40,20 +40,22 @@ | ||
.version(pkgversion) | ||
.option('-s , --search <pkg>','search for pkg name availability in npm,pip and gems') | ||
.option('--node <pkg_name>','info on node pkg from npm') | ||
.option('--python <pkg_name>','info on python pkg from pypi') | ||
.option('--ruby <pkg_name>','info on ruby pkg from rubygems') | ||
.parse(process.argv); | ||
if(program.search){ | ||
var pkg_name = program.search; | ||
console.log(chalk.bold(pkg_name),chalk.bold("pkg name is....")); | ||
languages.forEach(lang => isTaken(pkg_name,lang)); | ||
} else if(program.node){ | ||
var pkg_name = program.node; | ||
displayMetaData(pkg_name,"node"); | ||
}else if(program.ruby){ | ||
var pkg_name = program.ruby; | ||
displayMetaData(pkg_name,"ruby"); | ||
}else if(program.python){ | ||
var pkg_name = program.python; | ||
displayMetaData(pkg_name,"python"); | ||
.option('-s , --search <pkg>', 'search for pkg name availability in npm,pip and gems') | ||
.option('--node <pkgName>', 'info on node pkg from npm') | ||
.option('--python <pkgName>', 'info on python pkg from pypi') | ||
.option('--ruby <pkgName>', 'info on ruby pkg from rubygems') | ||
.parse(process.argv) | ||
if (program.search) { | ||
pkgName = program.search | ||
console.log(chalk.bold(pkgName), chalk.bold('pkg name is....')) | ||
languages.forEach(lang => isTaken(pkgName, lang)) | ||
} else if (program.node) { | ||
pkgName = program.node | ||
displayMetaData(pkgName, 'node') | ||
} else if (program.ruby) { | ||
pkgName = program.ruby | ||
displayMetaData(pkgName, 'ruby') | ||
} else if (program.python) { | ||
pkgName = program.python | ||
displayMetaData(pkgName, 'python') | ||
} else { | ||
console.log('see `pkgstat --help` for more info') | ||
} |
@@ -1,4 +0,7 @@ | ||
# pkgstat-cli [![Build Status](https://travis-ci.org/zuck007/pkgstat-cli.svg?branch=master)](https://travis-ci.org/zuck007/pkgstat-cli) [![MITlicensed](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/zuck007/pkgstat-cli/master/LICENSE) | ||
# pkgstat-cli | ||
> search package name availability and pkg info on npm,pypi and rubygems. | ||
[![Build Status](https://travis-ci.org/zuck007/pkgstat-cli.svg?branch=master)](https://travis-ci.org/zuck007/pkgstat-cli) | ||
[![MITlicensed](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/zuck007/pkgstat-cli/master/LICENSE) | ||
## Install | ||
@@ -5,0 +8,0 @@ ``` |
4786
59
27
2
Updatedpkgstat@^1.1.2