Socket
Socket
Sign inDemoInstall

command-line-args

Package Overview
Dependencies
Maintainers
1
Versions
74
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

command-line-args - npm Package Compare versions

Comparing version 3.0.0 to 3.0.1

8

es5/definition.js

@@ -7,2 +7,4 @@ 'use strict';

var t = require('typical');
var OptionDefinition = function () {

@@ -45,3 +47,7 @@ function OptionDefinition(definition) {

value: function isBoolean() {
return this.type === Boolean;
if (this.type) {
return this.type === Boolean || t.isFunction(this.type) && this.type.name === 'Boolean';
} else {
return false;
}
}

@@ -48,0 +54,0 @@ }]);

'use strict'
const t = require('typical')
/**

@@ -239,3 +241,7 @@ * @module definition

isBoolean () {
return this.type === Boolean
if (this.type) {
return this.type === Boolean || (t.isFunction(this.type) && this.type.name === 'Boolean')
} else {
return false
}
}

@@ -242,0 +248,0 @@ }

17

package.json
{
"name": "command-line-args",
"version": "3.0.0",
"version": "3.0.1",
"description": "A library to parse command-line options.",

@@ -9,5 +9,5 @@ "repository": "https://github.com/75lb/command-line-args.git",

"scripts": {
"test": "tape test/*.js",
"test": "test-runner test/*.js",
"docs": "jsdoc2md -l off -t jsdoc2md/README.hbs lib/*.js > README.md; echo",
"cover": "istanbul cover ./node_modules/.bin/tape test/*.js && cat coverage/lcov.info | ./node_modules/.bin/coveralls && rm -rf coverage; echo",
"cover": "istanbul cover ./node_modules/.bin/test-runner test/*.js && cat coverage/lcov.info | ./node_modules/.bin/coveralls && rm -rf coverage; echo",
"es5": "babel --presets babel-preset-es2015 --no-comments lib --out-dir es5"

@@ -32,5 +32,6 @@ },

"babel-preset-es2015": "^6.9.0",
"coveralls": "^2.11.9",
"core-assert": "~0.2.0",
"coveralls": "^2.11.12",
"jsdoc-to-markdown": "^1.3.6",
"tape": "^4.5.1",
"test-runner": "~0.1.6",
"test-value": "^2.0.0"

@@ -40,6 +41,6 @@ },

"array-back": "^1.0.3",
"core-js": "^2.4.0",
"feature-detect-es6": "^1.3.0",
"core-js": "^2.4.1",
"feature-detect-es6": "^1.3.1",
"find-replace": "^1.0.2",
"typical": "^2.4.2"
"typical": "^2.5.0"
},

@@ -46,0 +47,0 @@ "standard": {

[![view on npm](http://img.shields.io/npm/v/command-line-args.svg)](https://www.npmjs.org/package/command-line-args)
[![npm module downloads](http://img.shields.io/npm/dt/command-line-args.svg)](https://www.npmjs.org/package/command-line-args)
[![Build Status](https://travis-ci.org/75lb/command-line-args.svg?branch=master)](https://travis-ci.org/75lb/command-line-args)
[![Coverage Status](https://coveralls.io/repos/75lb/command-line-args/badge.svg?branch=master&service=github)](https://coveralls.io/github/75lb/command-line-args?branch=master)
[![Coverage Status](https://coveralls.io/repos/github/75lb/command-line-args/badge.svg?branch=master)](https://coveralls.io/github/75lb/command-line-args?branch=master)
[![Dependency Status](https://david-dm.org/75lb/command-line-args.svg)](https://david-dm.org/75lb/command-line-args)

@@ -6,0 +6,0 @@ [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](https://github.com/feross/standard)

@@ -1,3 +0,5 @@

var test = require('tape')
'use strict'
var test = require('test-runner')
var cliArgs = require('../')
var a = require('core-assert')

@@ -11,25 +13,22 @@ var optionDefinitions = [

test('alias: one boolean', function (t) {
test('alias: one boolean', function () {
var argv = [ '-v' ]
t.deepEqual(cliArgs(optionDefinitions, argv), {
a.deepStrictEqual(cliArgs(optionDefinitions, argv), {
verbose: true
})
t.end()
})
test('alias: one --this-type boolean', function (t) {
test('alias: one --this-type boolean', function () {
var argv = [ '-d' ]
t.deepEqual(cliArgs(optionDefinitions, argv), {
a.deepStrictEqual(cliArgs(optionDefinitions, argv), {
'dry-run': true
})
t.end()
})
test('alias: one boolean, one string', function (t) {
test('alias: one boolean, one string', function () {
var argv = [ '-v', '-c' ]
t.deepEqual(cliArgs(optionDefinitions, argv), {
a.deepStrictEqual(cliArgs(optionDefinitions, argv), {
verbose: true,
colour: true
})
t.end()
})

@@ -1,5 +0,7 @@

var test = require('tape')
'use strict'
var test = require('test-runner')
var cliArgs = require('../')
var a = require('core-assert')
test('bad-input: handles missing option value', function (t) {
test('bad-input: handles missing option value', function () {
var optionDefinitions = [

@@ -9,13 +11,12 @@ { name: 'colour', type: String },

]
t.deepEqual(cliArgs(optionDefinitions, [ '--colour' ]), {
a.deepStrictEqual(cliArgs(optionDefinitions, [ '--colour' ]), {
colour: null
})
t.deepEqual(cliArgs(optionDefinitions, [ '--colour', '--files', 'yeah' ]), {
a.deepStrictEqual(cliArgs(optionDefinitions, [ '--colour', '--files', 'yeah' ]), {
colour: null,
files: 'yeah'
})
t.end()
})
test('bad-input: handles arrays with relative paths', function (t) {
test('bad-input: handles arrays with relative paths', function () {
var optionDefinitions = [

@@ -25,6 +26,5 @@ { name: 'colours', type: String, multiple: true }

var argv = [ '--colours', '../what', '../ever' ]
t.deepEqual(cliArgs(optionDefinitions, argv), {
a.deepStrictEqual(cliArgs(optionDefinitions, argv), {
colours: [ '../what', '../ever' ]
})
t.end()
})

@@ -1,3 +0,5 @@

var test = require('tape')
'use strict'
var test = require('test-runner')
var detect = require('feature-detect-es6')
var a = require('core-assert')
var Argv

@@ -15,30 +17,27 @@ var Definitions

test('.expandOptionEqualsNotation()', function (t) {
test('.expandOptionEqualsNotation()', function () {
var argv = new Argv([ '--one=1', '--two', '2', '--three=3', '4' ])
argv.expandOptionEqualsNotation()
t.deepEqual(argv.list, [
a.deepStrictEqual(argv.list, [
'--one', '1', '--two', '2', '--three', '3', '4'
])
t.end()
})
test('.expandGetoptNotation()', function (t) {
test('.expandGetoptNotation()', function () {
var argv = new Argv([ '-abc' ])
argv.expandGetoptNotation()
t.deepEqual(argv.list, [
a.deepStrictEqual(argv.list, [
'-a', '-b', '-c'
])
t.end()
})
test('.expandGetoptNotation() with values', function (t) {
test('.expandGetoptNotation() with values', function () {
var argv = new Argv([ '-abc', '1', '-a', '2', '-bc' ])
argv.expandGetoptNotation()
t.deepEqual(argv.list, [
a.deepStrictEqual(argv.list, [
'-a', '-b', '-c', '1', '-a', '2', '-b', '-c'
])
t.end()
})
test('.validate()', function (t) {
test('.validate()', function () {
var definitions = new Definitions([

@@ -48,3 +47,3 @@ { name: 'one', type: Number }

t.doesNotThrow(function () {
a.doesNotThrow(function () {
var argv = new Argv([ '--one', '1' ])

@@ -54,3 +53,3 @@ argv.validate(definitions)

t.throws(function () {
a.throws(function () {
var argv = new Argv([ '--one', '--two' ])

@@ -60,3 +59,3 @@ argv.validate(definitions)

t.throws(function () {
a.throws(function () {
var argv = new Argv([ '--one', '2', '--two', 'two' ])

@@ -66,8 +65,6 @@ argv.validate(definitions)

t.throws(function () {
a.throws(function () {
var argv = new Argv([ '-a', '2' ])
argv.validate(definitions)
})
t.end()
})

@@ -1,3 +0,5 @@

var test = require('tape')
'use strict'
var test = require('test-runner')
var detect = require('feature-detect-es6')
var a = require('core-assert')
var Definitions

@@ -12,19 +14,16 @@

test('.createOutput()', function (t) {
test('.createOutput()', function () {
var definitions = new Definitions([ { name: 'one', defaultValue: 'eins' } ])
t.deepEqual(definitions.createOutput(), { one: 'eins' })
t.end()
a.deepStrictEqual(definitions.createOutput(), { one: 'eins' })
})
test('.get()', function (t) {
test('.get()', function () {
var definitions = new Definitions([ { name: 'one', defaultValue: 'eins' } ])
t.strictEqual(definitions.get('--one').name, 'one')
t.end()
a.strictEqual(definitions.get('--one').name, 'one')
})
test('.validate()', function (t) {
t.throws(function () {
test('.validate()', function () {
a.throws(function () {
var definitions = new Definitions([ { name: 'one' }, { name: 'one' } ])
})
t.end()
})

@@ -1,5 +0,7 @@

var test = require('tape')
'use strict'
var test = require('test-runner')
var cliArgs = require('../')
var a = require('core-assert')
test('defaultOption: string', function (t) {
test('defaultOption: string', function () {
var optionDefinitions = [

@@ -9,9 +11,8 @@ { name: 'files', defaultOption: true }

var argv = [ 'file1', 'file2' ]
t.deepEqual(cliArgs(optionDefinitions, argv), {
a.deepStrictEqual(cliArgs(optionDefinitions, argv), {
files: 'file2'
})
t.end()
})
test('defaultOption: multiple string', function (t) {
test('defaultOption: multiple string', function () {
var optionDefinitions = [

@@ -21,9 +22,8 @@ { name: 'files', defaultOption: true, multiple: true }

var argv = [ 'file1', 'file2' ]
t.deepEqual(cliArgs(optionDefinitions, argv), {
a.deepStrictEqual(cliArgs(optionDefinitions, argv), {
files: [ 'file1', 'file2' ]
})
t.end()
})
test('defaultOption: after a boolean', function (t) {
test('defaultOption: after a boolean', function () {
var definitions = [

@@ -33,11 +33,9 @@ { name: 'one', type: Boolean },

]
t.deepEqual(
a.deepStrictEqual(
cliArgs(definitions, [ '--one', 'sfsgf' ]),
{ one: true, two: 'sfsgf' }
)
t.end()
})
test('defaultOption: multiple defaultOption values between other arg/value pairs', function (t) {
test('defaultOption: multiple defaultOption values between other arg/value pairs', function () {
var optionDefinitions = [

@@ -49,3 +47,3 @@ { name: 'one' },

var argv = [ '--one', '1', 'file1', 'file2', '--two', '2' ]
t.deepEqual(cliArgs(optionDefinitions, argv), {
a.deepStrictEqual(cliArgs(optionDefinitions, argv), {
one: '1',

@@ -55,6 +53,5 @@ two: '2',

})
t.end()
})
test('defaultOption: multiple defaultOption values between other arg/value pairs 2', function (t) {
test('defaultOption: multiple defaultOption values between other arg/value pairs 2', function () {
var optionDefinitions = [

@@ -66,3 +63,3 @@ { name: 'one', type: Boolean },

var argv = [ 'file0', '--one', 'file1', '--files', 'file2', '--two', '2', 'file3' ]
t.deepEqual(cliArgs(optionDefinitions, argv), {
a.deepStrictEqual(cliArgs(optionDefinitions, argv), {
one: true,

@@ -72,15 +69,12 @@ two: '2',

})
t.end()
})
test('defaultOption: floating args present but no defaultOption', function (t) {
test('defaultOption: floating args present but no defaultOption', function () {
var definitions = [
{ name: 'one', type: Boolean }
]
t.deepEqual(
a.deepStrictEqual(
cliArgs(definitions, [ 'aaa', '--one', 'aaa', 'aaa' ]),
{ one: true }
)
t.end()
})

@@ -1,31 +0,30 @@

var test = require('tape')
'use strict'
var test = require('test-runner')
var cliArgs = require('../')
var a = require('core-assert')
test('default value', function (t) {
t.deepEqual(cliArgs([ { name: 'one' }, { name: 'two', defaultValue: 'two' } ], [ '--one', '1' ]), {
test('default value', function () {
a.deepStrictEqual(cliArgs([ { name: 'one' }, { name: 'two', defaultValue: 'two' } ], [ '--one', '1' ]), {
one: '1',
two: 'two'
})
t.deepEqual(cliArgs([{ name: 'two', defaultValue: 'two' }], []), {
a.deepStrictEqual(cliArgs([{ name: 'two', defaultValue: 'two' }], []), {
two: 'two'
})
t.deepEqual(cliArgs([{ name: 'two', defaultValue: 'two' }], [ '--two', 'zwei' ]), {
a.deepStrictEqual(cliArgs([{ name: 'two', defaultValue: 'two' }], [ '--two', 'zwei' ]), {
two: 'zwei'
})
t.deepEqual(
a.deepStrictEqual(
cliArgs([{ name: 'two', multiple: true, defaultValue: ['two', 'zwei'] }], [ '--two', 'duo' ]),
{ two: [ 'duo' ] }
)
t.end()
})
test('default value', function (t) {
test('default value', function () {
var defs = [{ name: 'two', multiple: true, defaultValue: ['two', 'zwei'] }]
var result = cliArgs(defs, [])
t.deepEqual(result, { two: [ 'two', 'zwei' ] })
t.end()
a.deepStrictEqual(result, { two: [ 'two', 'zwei' ] })
})
test('default value: array as defaultOption', function (t) {
test('default value: array as defaultOption', function () {
var defs = [

@@ -35,7 +34,6 @@ { name: 'two', multiple: true, defaultValue: ['two', 'zwei'], defaultOption: true }

var argv = [ 'duo' ]
t.deepEqual(cliArgs(defs, argv), { two: [ 'duo' ] })
t.end()
a.deepStrictEqual(cliArgs(defs, argv), { two: [ 'duo' ] })
})
test('default value: falsy default values', function (t) {
test('default value: falsy default values', function () {
var defs = [

@@ -47,7 +45,6 @@ { name: 'one', defaultValue: 0 },

var argv = []
t.deepEqual(cliArgs(defs, argv), {
a.deepStrictEqual(cliArgs(defs, argv), {
one: 0,
two: false
})
t.end()
})

@@ -1,19 +0,19 @@

var test = require('tape')
'use strict'
var test = require('test-runner')
var cliArgs = require('../')
var a = require('core-assert')
test('detect process.argv: should automatically remove first two argv items', function (t) {
test('detect process.argv: should automatically remove first two argv items', function () {
process.argv = [ 'node', 'filename', '--one', 'eins' ]
t.deepEqual(cliArgs({ name: 'one' }, process.argv), {
a.deepStrictEqual(cliArgs({ name: 'one' }, process.argv), {
one: 'eins'
})
t.end()
})
test('process.argv is left untouched', function (t) {
test('process.argv is left untouched', function () {
process.argv = [ 'node', 'filename', '--one', 'eins' ]
t.deepEqual(cliArgs({ name: 'one' }), {
a.deepStrictEqual(cliArgs({ name: 'one' }), {
one: 'eins'
})
t.deepEqual(process.argv, [ 'node', 'filename', '--one', 'eins' ])
t.end()
a.deepStrictEqual(process.argv, [ 'node', 'filename', '--one', 'eins' ])
})

@@ -1,5 +0,7 @@

var test = require('tape')
'use strict'
var test = require('test-runner')
var cliArgs = require('../')
var a = require('core-assert')
test('err-invalid-definition: throws when no definition.name specified', function (t) {
test('err-invalid-definition: throws when no definition.name specified', function () {
var optionDefinitions = [

@@ -12,10 +14,9 @@ { something: 'one' },

cliArgs(optionDefinitions, argv)
t.fail()
a.fail()
} catch (err) {
t.strictEqual(err.name, 'NAME_MISSING')
a.strictEqual(err.name, 'NAME_MISSING')
}
t.end()
})
test('err-invalid-definition: throws if dev set a numeric alias', function (t) {
test('err-invalid-definition: throws if dev set a numeric alias', function () {
var optionDefinitions = [

@@ -28,11 +29,9 @@ { name: 'colours', alias: '1' }

cliArgs(optionDefinitions, argv)
t.fail()
a.fail()
} catch (err) {
t.strictEqual(err.name, 'INVALID_ALIAS')
a.strictEqual(err.name, 'INVALID_ALIAS')
}
t.end()
})
test('err-invalid-definition: throws if dev set an alias of "-"', function (t) {
test('err-invalid-definition: throws if dev set an alias of "-"', function () {
var optionDefinitions = [

@@ -45,11 +44,9 @@ { name: 'colours', alias: '-' }

cliArgs(optionDefinitions, argv)
t.fail()
a.fail()
} catch (err) {
t.strictEqual(err.name, 'INVALID_ALIAS')
a.strictEqual(err.name, 'INVALID_ALIAS')
}
t.end()
})
test('err-invalid-definition: multi-character alias', function (t) {
test('err-invalid-definition: multi-character alias', function () {
var optionDefinitions = [

@@ -62,17 +59,15 @@ { name: 'one', alias: 'aa' }

cliArgs(optionDefinitions, argv)
t.fail()
a.fail()
} catch (err) {
t.strictEqual(err.name, 'INVALID_ALIAS')
a.strictEqual(err.name, 'INVALID_ALIAS')
}
t.end()
})
test('err-invalid-definition: invalid type values', function (t) {
test('err-invalid-definition: invalid type values', function () {
var argv = [ '--one', 'something' ]
try {
cliArgs([ { name: 'one', type: 'string' } ], argv)
t.fail()
a.fail()
} catch (err) {
t.strictEqual(err.name, 'INVALID_TYPE')
a.strictEqual(err.name, 'INVALID_TYPE')
}

@@ -82,5 +77,5 @@

cliArgs([ { name: 'one', type: 234 } ], argv)
t.fail()
a.fail()
} catch (err) {
t.strictEqual(err.name, 'INVALID_TYPE')
a.strictEqual(err.name, 'INVALID_TYPE')
}

@@ -90,15 +85,13 @@

cliArgs([ { name: 'one', type: {} } ], argv)
t.fail()
a.fail()
} catch (err) {
t.strictEqual(err.name, 'INVALID_TYPE')
a.strictEqual(err.name, 'INVALID_TYPE')
}
t.doesNotThrow(function () {
a.doesNotThrow(function () {
cliArgs([ { name: 'one', type: function () {} } ], argv)
}, /invalid/i)
t.end()
})
test('err-invalid-definition: value without option definition', function (t) {
test('err-invalid-definition: value without option definition', function () {
var optionDefinitions = [

@@ -108,3 +101,3 @@ { name: 'one', type: Number }

t.deepEqual(
a.deepStrictEqual(
cliArgs(optionDefinitions, [ '--one', '1' ]),

@@ -116,5 +109,5 @@ { one: 1 }

cliArgs(optionDefinitions, [ '--one', '--two' ])
t.fail()
a.fail()
} catch (err) {
t.strictEqual(err.name, 'UNKNOWN_OPTION')
a.strictEqual(err.name, 'UNKNOWN_OPTION')
}

@@ -124,5 +117,5 @@

cliArgs(optionDefinitions, [ '--one', '2', '--two', 'two' ])
t.fail()
a.fail()
} catch (err) {
t.strictEqual(err.name, 'UNKNOWN_OPTION')
a.strictEqual(err.name, 'UNKNOWN_OPTION')
}

@@ -132,5 +125,5 @@

cliArgs(optionDefinitions, [ '-a', '2' ])
t.fail()
a.fail()
} catch (err) {
t.strictEqual(err.name, 'UNKNOWN_OPTION')
a.strictEqual(err.name, 'UNKNOWN_OPTION')
}

@@ -140,11 +133,9 @@

cliArgs(optionDefinitions, [ '-sdf' ])
t.fail()
a.fail()
} catch (err) {
t.strictEqual(err.name, 'UNKNOWN_OPTION', 'getOpts')
a.strictEqual(err.name, 'UNKNOWN_OPTION', 'getOpts')
}
t.end()
})
test('err-invalid-definition: duplicate name', function (t) {
test('err-invalid-definition: duplicate name', function () {
var optionDefinitions = [

@@ -158,11 +149,9 @@ { name: 'colours' },

cliArgs(optionDefinitions, argv)
t.fail()
a.fail()
} catch (err) {
t.strictEqual(err.name, 'DUPLICATE_NAME')
a.strictEqual(err.name, 'DUPLICATE_NAME')
}
t.end()
})
test('err-invalid-definition: duplicate alias', function (t) {
test('err-invalid-definition: duplicate alias', function () {
var optionDefinitions = [

@@ -176,11 +165,9 @@ { name: 'one', alias: 'a' },

cliArgs(optionDefinitions, argv)
t.fail()
a.fail()
} catch (err) {
t.strictEqual(err.name, 'DUPLICATE_ALIAS')
a.strictEqual(err.name, 'DUPLICATE_ALIAS')
}
t.end()
})
test('err-invalid-definition: multiple defaultOption', function (t) {
test('err-invalid-definition: multiple defaultOption', function () {
var optionDefinitions = [

@@ -194,8 +181,6 @@ { name: 'one', defaultOption: true },

cliArgs(optionDefinitions, argv)
t.fail()
a.fail()
} catch (err) {
t.strictEqual(err.name, 'DUPLICATE_DEFAULT_OPTION')
a.strictEqual(err.name, 'DUPLICATE_DEFAULT_OPTION')
}
t.end()
})

@@ -1,3 +0,5 @@

var test = require('tape')
'use strict'
var test = require('test-runner')
var cliArgs = require('../')
var a = require('core-assert')

@@ -10,4 +12,4 @@ var optionDefinitions = [

test('groups', function (t) {
t.deepEqual(cliArgs(optionDefinitions, [ '--one', '1', '--two', '2', '--three', '3' ]), {
test('groups', function () {
a.deepStrictEqual(cliArgs(optionDefinitions, [ '--one', '1', '--two', '2', '--three', '3' ]), {
a: {

@@ -26,7 +28,5 @@ one: '1',

})
t.end()
})
test('groups: multiple and _none', function (t) {
test('groups: multiple and _none', function () {
var optionDefinitions = [

@@ -38,3 +38,3 @@ { name: 'one', group: ['a', 'f'] },

t.deepEqual(cliArgs(optionDefinitions, [ '--one', '1', '--two', '2', '--three', '3' ]), {
a.deepStrictEqual(cliArgs(optionDefinitions, [ '--one', '1', '--two', '2', '--three', '3' ]), {
a: {

@@ -59,4 +59,2 @@ one: '1',

})
t.end()
})

@@ -1,3 +0,5 @@

var test = require('tape')
'use strict'
var test = require('test-runner')
var cliArgs = require('../')
var a = require('core-assert')

@@ -11,10 +13,9 @@ var optionDefinitions = [

test('name-alias-mix: one of each', function (t) {
test('name-alias-mix: one of each', function () {
var argv = [ '--one', '-t', '--three' ]
var result = cliArgs(optionDefinitions, argv)
t.strictEqual(result.one, true)
t.strictEqual(result.two, true)
t.strictEqual(result.three, true)
t.strictEqual(result.four, undefined)
t.end()
a.strictEqual(result.one, true)
a.strictEqual(result.two, true)
a.strictEqual(result.three, true)
a.strictEqual(result.four, undefined)
})

@@ -1,3 +0,5 @@

var test = require('tape')
'use strict'
var test = require('test-runner')
var cliArgs = require('../')
var a = require('core-assert')

@@ -10,9 +12,8 @@ var optionDefinitions = [

test('name-unicode: unicode names and aliases are permitted', function (t) {
test('name-unicode: unicode names and aliases are permitted', function () {
var argv = [ '--один', '1', '--两', '2', '-т', '3' ]
var result = cliArgs(optionDefinitions, argv)
t.strictEqual(result.один, '1')
t.strictEqual(result.两, '2')
t.strictEqual(result.три, '3')
t.end()
a.strictEqual(result.один, '1')
a.strictEqual(result.两, '2')
a.strictEqual(result.три, '3')
})

@@ -1,5 +0,7 @@

var test = require('tape')
'use strict'
var test = require('test-runner')
var cliArgs = require('../')
var a = require('core-assert')
test('getOpt short notation: two flags, one option', function (t) {
test('getOpt short notation: two flags, one option', function () {
var optionDefinitions = [

@@ -12,3 +14,3 @@ { name: 'flagA', alias: 'a' },

var argv = [ '-abc', 'yeah' ]
t.deepEqual(cliArgs(optionDefinitions, argv), {
a.deepStrictEqual(cliArgs(optionDefinitions, argv), {
flagA: true,

@@ -18,6 +20,5 @@ flagB: true,

})
t.end()
})
test('option=value notation: two plus a regular notation', function (t) {
test('option=value notation: two plus a regular notation', function () {
var optionDefinitions = [

@@ -31,6 +32,5 @@ { name: 'one' },

var result = cliArgs(optionDefinitions, argv)
t.strictEqual(result.one, '1')
t.strictEqual(result.two, '2')
t.strictEqual(result.three, '3')
t.end()
a.strictEqual(result.one, '1')
a.strictEqual(result.two, '2')
a.strictEqual(result.three, '3')
})

@@ -1,3 +0,5 @@

var test = require('tape')
'use strict'
var test = require('test-runner')
var cliArgs = require('../')
var a = require('core-assert')

@@ -8,9 +10,8 @@ var optionDefinitions = [

test('type-boolean-multiple: 1', function (t) {
test('type-boolean-multiple: 1', function () {
var argv = [ '--array', '--array', '--array' ]
var result = cliArgs(optionDefinitions, argv)
t.deepEqual(result, {
a.deepStrictEqual(result, {
array: [ true, true, true ]
})
t.end()
})

@@ -1,27 +0,57 @@

var test = require('tape')
'use strict'
var test = require('test-runner')
var cliArgs = require('../')
var a = require('core-assert')
var optionDefinitions = [
{ name: 'one', type: Boolean }
]
test('type-boolean: different values', function () {
var optionDefinitions = [
{ name: 'one', type: Boolean }
]
test('type-boolean: different values', function (t) {
t.deepEqual(
a.deepStrictEqual(
cliArgs(optionDefinitions, [ '--one' ]),
{ one: true }
)
t.deepEqual(
a.deepStrictEqual(
cliArgs(optionDefinitions, [ '--one', 'true' ]),
{ one: true }
)
t.deepEqual(
a.deepStrictEqual(
cliArgs(optionDefinitions, [ '--one', 'false' ]),
{ one: true }
)
t.deepEqual(
a.deepStrictEqual(
cliArgs(optionDefinitions, [ '--one', 'sfsgf' ]),
{ one: true }
)
})
t.end()
var origBoolean = Boolean
/* test in contexts which override the standard global Boolean constructor */
test('type-boolean: global Boolean overridden', function () {
function Boolean () {
return origBoolean.apply(origBoolean, arguments)
}
var optionDefinitions = [
{ name: 'one', type: Boolean }
]
a.deepStrictEqual(
cliArgs(optionDefinitions, [ '--one', 'true' ]),
{ one: true }
)
a.deepStrictEqual(
cliArgs(optionDefinitions, [ '--one', 'false' ]),
{ one: true }
)
a.deepStrictEqual(
cliArgs(optionDefinitions, [ '--one', 'sfsgf' ]),
{ one: true }
)
a.deepStrictEqual(
cliArgs(optionDefinitions, [ '--one' ]),
{ one: true }
)
})

@@ -1,3 +0,5 @@

var test = require('tape')
'use strict'
var test = require('test-runner')
var cliArgs = require('../')
var a = require('core-assert')

@@ -9,47 +11,42 @@ var optionDefinitions = [

test('name: no argv values', function (t) {
test('name: no argv values', function () {
var argv = []
var result = cliArgs(optionDefinitions, argv)
t.deepEqual(result, {})
t.end()
a.deepStrictEqual(result, {})
})
test('name: just names, no values', function (t) {
test('name: just names, no values', function () {
var argv = [ '--one', '--two' ]
var result = cliArgs(optionDefinitions, argv)
t.deepEqual(result, {
a.deepStrictEqual(result, {
one: true,
two: true
})
t.end()
})
test('name: just names, no values, unpassed value', function (t) {
test('name: just names, no values, unpassed value', function () {
var argv = [ '--one', '--two' ]
var result = cliArgs(optionDefinitions, argv)
t.deepEqual(result, {
a.deepStrictEqual(result, {
one: true,
two: true
})
t.end()
})
test('name: just names, one value, one unpassed value', function (t) {
test('name: just names, one value, one unpassed value', function () {
var argv = [ '--one', 'one', '--two' ]
var result = cliArgs(optionDefinitions, argv)
t.deepEqual(result, {
a.deepStrictEqual(result, {
one: 'one',
two: true
})
t.end()
})
test('name: just names, two values', function (t) {
test('name: just names, two values', function () {
var argv = [ '--one', 'one', '--two', 'two' ]
var result = cliArgs(optionDefinitions, argv)
t.deepEqual(result, {
a.deepStrictEqual(result, {
one: 'one',
two: 'two'
})
t.end()
})

@@ -1,3 +0,5 @@

var test = require('tape')
'use strict'
var test = require('test-runner')
var cliArgs = require('../')
var a = require('core-assert')

@@ -8,24 +10,22 @@ var optionDefinitions = [

test('number multiple: 1', function (t) {
test('number multiple: 1', function () {
var argv = [ '--array', '1', '2', '3' ]
var result = cliArgs(optionDefinitions, argv)
t.deepEqual(result, {
a.deepStrictEqual(result, {
array: [ 1, 2, 3 ]
})
t.notDeepEqual(result, {
a.notDeepStrictEqual(result, {
array: [ '1', '2', '3' ]
})
t.end()
})
test('number multiple: 2', function (t) {
test('number multiple: 2', function () {
var argv = [ '--array', '1', '--array', '2', '--array', '3' ]
var result = cliArgs(optionDefinitions, argv)
t.deepEqual(result, {
a.deepStrictEqual(result, {
array: [ 1, 2, 3 ]
})
t.notDeepEqual(result, {
a.notDeepStrictEqual(result, {
array: [ '1', '2', '3' ]
})
t.end()
})

@@ -1,3 +0,5 @@

var test = require('tape')
'use strict'
var test = require('test-runner')
var cliArgs = require('../')
var a = require('core-assert')

@@ -8,12 +10,12 @@ var optionDefinitions = [

test('type-number: different values', function (t) {
t.deepEqual(
test('type-number: different values', function () {
a.deepStrictEqual(
cliArgs(optionDefinitions, [ '--one', '1' ]),
{ one: 1 }
)
t.deepEqual(
a.deepStrictEqual(
cliArgs(optionDefinitions, [ '--one' ]),
{ one: null }
)
t.deepEqual(
a.deepStrictEqual(
cliArgs(optionDefinitions, [ '--one', '-1' ]),

@@ -23,5 +25,3 @@ { one: -1 }

var result = cliArgs(optionDefinitions, [ '--one', 'asdf' ])
t.ok(isNaN(result.one))
t.end()
a.ok(isNaN(result.one))
})

@@ -1,3 +0,5 @@

var test = require('tape')
'use strict'
var test = require('test-runner')
var cliArgs = require('../')
var a = require('core-assert')

@@ -10,17 +12,15 @@ var optionDefinitions = [

test('type-other-multiple: different values', function (t) {
t.deepEqual(
test('type-other-multiple: different values', function () {
a.deepStrictEqual(
cliArgs(optionDefinitions, [ '--file', 'one.js' ]),
{ file: [ 'one.js' ] }
)
t.deepEqual(
a.deepStrictEqual(
cliArgs(optionDefinitions, [ '--file', 'one.js', 'two.js' ]),
{ file: [ 'one.js', 'two.js' ] }
)
t.deepEqual(
a.deepStrictEqual(
cliArgs(optionDefinitions, [ '--file' ]),
{ file: [] }
)
t.end()
})

@@ -1,21 +0,32 @@

var test = require('tape')
'use strict'
var test = require('test-runner')
var cliArgs = require('../')
var a = require('core-assert')
var optionDefinitions = [
{ name: 'file', type: function (file) {
return file
}}
]
test('type-other: different values', function () {
var optionDefinitions = [
{ name: 'file', type: function (file) {
return file
}}
]
test('type-other: different values', function (t) {
t.deepEqual(
a.deepStrictEqual(
cliArgs(optionDefinitions, [ '--file', 'one.js' ]),
{ file: 'one.js' }
)
t.deepEqual(
a.deepStrictEqual(
cliArgs(optionDefinitions, [ '--file' ]),
{ file: null }
)
})
t.end()
test('type-other: broken custom type function', function () {
var optionDefinitions = [
{ name: 'file', type: function (file) {
lasdfjsfakn
}}
]
a.throws(function () {
cliArgs(optionDefinitions, [ '--file', 'one.js' ])
})
})

@@ -1,3 +0,5 @@

var test = require('tape')
'use strict'
var test = require('test-runner')
var cliArgs = require('../')
var a = require('core-assert')

@@ -8,26 +10,23 @@ var optionDefinitions = [

test('type-string: different values', function (t) {
t.deepEqual(
test('type-string: different values', function () {
a.deepStrictEqual(
cliArgs(optionDefinitions, [ '--one', 'yeah' ]),
{ one: 'yeah' }
)
t.deepEqual(
a.deepStrictEqual(
cliArgs(optionDefinitions, [ '--one' ]),
{ one: null }
)
t.deepEqual(
a.deepStrictEqual(
cliArgs(optionDefinitions, [ '--one', '3' ]),
{ one: '3' }
)
t.end()
})
/* currently not supported, it would complain --yeah is an invalid option */
test.skip('type-string: pass a value resembling an option', function (t) {
t.deepEqual(
test.skip('type-string: pass a value resembling an option', function () {
a.deepStrictEqual(
cliArgs(optionDefinitions, [ '--one', '--yeah' ]),
{ one: '--yeah' }
)
t.end()
})

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc