Comparing version 3.10.0 to 3.11.0
## Change Log | ||
### v3.11.0 (2015/06/15 05:15 +00:00) | ||
- [#173](https://github.com/bcoe/yargs/pull/173) update standard, window-size, chai (@bcoe) | ||
- [#171](https://github.com/bcoe/yargs/pull/171) a description can now be set | ||
when providing a config option. (@5c077yP) | ||
### v3.10.0 (2015/05/29 04:25 +00:00) | ||
@@ -4,0 +10,0 @@ |
27
index.js
@@ -1,7 +0,7 @@ | ||
var assert = require('assert'), | ||
path = require('path'), | ||
Completion = require('./lib/completion'), | ||
Parser = require('./lib/parser'), | ||
Usage = require('./lib/usage'), | ||
Validation = require('./lib/validation') | ||
var assert = require('assert') | ||
var Completion = require('./lib/completion') | ||
var Parser = require('./lib/parser') | ||
var path = require('path') | ||
var Usage = require('./lib/usage') | ||
var Validation = require('./lib/validation') | ||
@@ -103,4 +103,5 @@ Argv(process.argv.slice(2)) | ||
self.config = function (configs) { | ||
options.config.push.apply(options.config, [].concat(configs)) | ||
self.config = function (key, msg) { | ||
self.describe(key, msg || 'Path to JSON config file') | ||
options.config.push.apply(options.config, [].concat(key)) | ||
return self | ||
@@ -347,4 +348,4 @@ } | ||
var completionOpt = null, | ||
completionCommand = null | ||
var completionOpt = null | ||
var completionCommand = null | ||
self.completion = function (cmd, desc, fn) { | ||
@@ -404,5 +405,5 @@ // a function to execute when generating | ||
function parseArgs (args) { | ||
var parsed = Parser(args, options), | ||
argv = parsed.argv, | ||
aliases = parsed.aliases | ||
var parsed = Parser(args, options) | ||
var argv = parsed.argv | ||
var aliases = parsed.aliases | ||
@@ -409,0 +410,0 @@ argv.$0 = self.$0 |
@@ -1,3 +0,3 @@ | ||
var fs = require('fs'), | ||
path = require('path') | ||
var fs = require('fs') | ||
var path = require('path') | ||
@@ -13,6 +13,6 @@ // add bash completions to your | ||
self.getCompletion = function (done) { | ||
var completions = [], | ||
current = process.argv[process.argv.length - 1], | ||
previous = process.argv.slice(process.argv.indexOf('--' + self.completionKey) + 1), | ||
argv = yargs.parse(previous) | ||
var completions = [] | ||
var current = process.argv[process.argv.length - 1] | ||
var previous = process.argv.slice(process.argv.indexOf('--' + self.completionKey) + 1) | ||
var argv = yargs.parse(previous) | ||
@@ -53,4 +53,4 @@ // a custom completion function can be provided | ||
'utf-8' | ||
), | ||
name = path.basename($0) | ||
) | ||
var name = path.basename($0) | ||
@@ -57,0 +57,0 @@ // add ./to applications not yet installed as bin. |
// fancy-pants parsing of argv, originally forked | ||
// from minimist: https://www.npmjs.com/package/minimist | ||
var camelCase = require('camelcase'), | ||
path = require('path') | ||
var camelCase = require('camelcase') | ||
var path = require('path') | ||
@@ -38,4 +38,4 @@ function increment (orig) { | ||
var aliases = {}, | ||
newAliases = {} | ||
var aliases = {} | ||
var newAliases = {} | ||
@@ -111,5 +111,5 @@ extendAliases(opts.key) | ||
if (next !== undefined && !next.match(/^-/) | ||
&& !checkAllAliases(key, flags.bools) | ||
&& !checkAllAliases(key, flags.counts)) { | ||
if (next !== undefined && !next.match(/^-/) && | ||
!checkAllAliases(key, flags.bools) && | ||
!checkAllAliases(key, flags.counts)) { | ||
setArg(key, next) | ||
@@ -135,5 +135,5 @@ i++ | ||
if (next !== undefined && !next.match(/^-/) | ||
&& !checkAllAliases(key, flags.bools) | ||
&& !checkAllAliases(key, flags.counts)) { | ||
if (next !== undefined && !next.match(/^-/) && | ||
!checkAllAliases(key, flags.bools) && | ||
!checkAllAliases(key, flags.counts)) { | ||
setArg(key, next) | ||
@@ -176,4 +176,4 @@ i++ | ||
if (/[A-Za-z]/.test(letters[j]) | ||
&& /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) { | ||
if (/[A-Za-z]/.test(letters[j]) && | ||
/-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) { | ||
setArg(letters[j], next) | ||
@@ -203,5 +203,5 @@ broken = true | ||
} else { | ||
if (args[i + 1] && !/^(-|--)[^-]/.test(args[i + 1]) | ||
&& !checkAllAliases(key, flags.bools) | ||
&& !checkAllAliases(key, flags.counts)) { | ||
if (args[i + 1] && !/^(-|--)[^-]/.test(args[i + 1]) && | ||
!checkAllAliases(key, flags.bools) && | ||
!checkAllAliases(key, flags.counts)) { | ||
setArg(key, args[i + 1]) | ||
@@ -410,4 +410,4 @@ i++ | ||
function checkAllAliases (key, flag) { | ||
var isSet = false, | ||
toCheck = [].concat(aliases[key] || [], key) | ||
var isSet = false | ||
var toCheck = [].concat(aliases[key] || [], key) | ||
@@ -414,0 +414,0 @@ toCheck.forEach(function (key) { |
// this file handles outputting usage instructions, | ||
// failures, etc. keeps logging in one place. | ||
var cliui = require('cliui'), | ||
decamelize = require('decamelize'), | ||
wsize = require('window-size') | ||
var cliui = require('cliui') | ||
var decamelize = require('decamelize') | ||
var wsize = require('window-size') | ||
@@ -96,17 +96,17 @@ module.exports = function (yargs) { | ||
var demanded = yargs.getDemanded(), | ||
options = yargs.getOptions(), | ||
keys = Object.keys( | ||
Object.keys(descriptions) | ||
.concat(Object.keys(demanded)) | ||
.concat(Object.keys(options.default)) | ||
.reduce(function (acc, key) { | ||
if (key !== '_') acc[key] = true | ||
return acc | ||
}, {}) | ||
), | ||
ui = cliui({ | ||
width: wrap, | ||
wrap: !!wrap | ||
}) | ||
var demanded = yargs.getDemanded() | ||
var options = yargs.getOptions() | ||
var keys = Object.keys( | ||
Object.keys(descriptions) | ||
.concat(Object.keys(demanded)) | ||
.concat(Object.keys(options.default)) | ||
.reduce(function (acc, key) { | ||
if (key !== '_') acc[key] = true | ||
return acc | ||
}, {}) | ||
) | ||
var ui = cliui({ | ||
width: wrap, | ||
wrap: !!wrap | ||
}) | ||
@@ -240,4 +240,4 @@ // the usage string. | ||
function normalizeAliases () { | ||
var options = yargs.getOptions(), | ||
demanded = yargs.getDemanded() | ||
var demanded = yargs.getDemanded() | ||
var options = yargs.getOptions() | ||
@@ -244,0 +244,0 @@ ;(Object.keys(options.alias) || []).forEach(function (key) { |
@@ -15,4 +15,4 @@ // validation-type-stuff, missing params, | ||
} else { | ||
usage.fail('Not enough non-option arguments: got ' | ||
+ argv._.length + ', need at least ' + demanded._.count | ||
usage.fail('Not enough non-option arguments: got ' + | ||
argv._.length + ', need at least ' + demanded._.count | ||
) | ||
@@ -26,4 +26,4 @@ } | ||
self.missingArgumentValue = function (argv) { | ||
var options = yargs.getOptions(), | ||
defaultValues = [true, false, ''] | ||
var defaultValues = [true, false, ''] | ||
var options = yargs.getOptions() | ||
@@ -39,4 +39,4 @@ if (options.requiresArg.length > 0) { | ||
// look like foo=bar was entered. | ||
if (~defaultValues.indexOf(value) | ||
|| (Array.isArray(value) && !value.length)) { | ||
if (~defaultValues.indexOf(value) || | ||
(Array.isArray(value) && !value.length)) { | ||
missingRequiredArgs.push(key) | ||
@@ -57,4 +57,4 @@ } | ||
self.requiredArguments = function (argv) { | ||
var demanded = yargs.getDemanded(), | ||
missing = null | ||
var demanded = yargs.getDemanded() | ||
var missing = null | ||
@@ -84,6 +84,6 @@ Object.keys(demanded).forEach(function (key) { | ||
self.unknownArguments = function (argv, aliases) { | ||
var descriptions = usage.getDescriptions(), | ||
demanded = yargs.getDemanded(), | ||
unknown = [], | ||
aliasLookup = {} | ||
var aliasLookup = {} | ||
var descriptions = usage.getDescriptions() | ||
var demanded = yargs.getDemanded() | ||
var unknown = [] | ||
@@ -152,5 +152,5 @@ Object.keys(aliases).forEach(function (key) { | ||
Object.keys(implied).forEach(function (key) { | ||
var num, | ||
origKey = key, | ||
value = implied[key] | ||
var num | ||
var origKey = key | ||
var value = implied[key] | ||
@@ -157,0 +157,0 @@ // convert string '1' to number 1 |
{ | ||
"name": "yargs", | ||
"version": "3.10.0", | ||
"version": "3.11.0", | ||
"description": "Light-weight option parsing with an argv hash. No optstrings attached.", | ||
@@ -16,6 +16,6 @@ "main": "./index.js", | ||
"decamelize": "^1.0.0", | ||
"window-size": "0.1.0" | ||
"window-size": "^0.1.1" | ||
}, | ||
"devDependencies": { | ||
"chai": "^2.2.0", | ||
"chai": "^3.0.0", | ||
"coveralls": "^2.11.2", | ||
@@ -25,3 +25,3 @@ "hashish": "0.0.4", | ||
"nyc": "^2.2.1", | ||
"standard": "^3.11.1" | ||
"standard": "^4.2.1" | ||
}, | ||
@@ -28,0 +28,0 @@ "scripts": { |
@@ -618,3 +618,3 @@ yargs | ||
.config(key) | ||
.config(key, [description]) | ||
------------ | ||
@@ -624,3 +624,5 @@ | ||
should be interpreted as a path to a JSON config file. The file is loaded | ||
and parsed, and its properties are set as arguments. | ||
and parsed, and its properties are set as arguments. If present, the | ||
`description` parameter customizes the description of the config (`key`) option | ||
in the usage string. | ||
@@ -627,0 +629,0 @@ .wrap(columns) |
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
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
103041
1290
929
+ Addedwindow-size@0.1.4(transitive)
- Removedwindow-size@0.1.0(transitive)
Updatedwindow-size@^0.1.1