pxnpm 6.0.8 → 6.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/pxnpm.cjs +31 -8
- package/dist/node_modules/minimist/.eslintrc +29 -0
- package/dist/node_modules/minimist/.github/FUNDING.yml +12 -0
- package/dist/node_modules/minimist/.nycrc +14 -0
- package/dist/node_modules/minimist/CHANGELOG.md +298 -0
- package/dist/node_modules/minimist/LICENSE +18 -0
- package/dist/node_modules/minimist/README.md +121 -0
- package/dist/node_modules/minimist/example/parse.js +4 -0
- package/dist/node_modules/minimist/index.js +263 -0
- package/dist/node_modules/minimist/package.json +75 -0
- package/dist/node_modules/minimist/test/all_bool.js +34 -0
- package/dist/node_modules/minimist/test/bool.js +177 -0
- package/dist/node_modules/minimist/test/dash.js +43 -0
- package/dist/node_modules/minimist/test/default_bool.js +37 -0
- package/dist/node_modules/minimist/test/dotted.js +24 -0
- package/dist/node_modules/minimist/test/kv_short.js +32 -0
- package/dist/node_modules/minimist/test/long.js +33 -0
- package/dist/node_modules/minimist/test/num.js +38 -0
- package/dist/node_modules/minimist/test/parse.js +209 -0
- package/dist/node_modules/minimist/test/parse_modified.js +11 -0
- package/dist/node_modules/minimist/test/proto.js +64 -0
- package/dist/node_modules/minimist/test/short.js +69 -0
- package/dist/node_modules/minimist/test/stop_early.js +17 -0
- package/dist/node_modules/minimist/test/unknown.js +104 -0
- package/dist/node_modules/minimist/test/whitespace.js +10 -0
- package/package.json +2 -1
- /package/dist/{pnpm.cjs → pxnpm.cjs} +0 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var test = require('tape');
|
|
4
|
+
var parse = require('../');
|
|
5
|
+
|
|
6
|
+
test('long opts', function (t) {
|
|
7
|
+
t.deepEqual(
|
|
8
|
+
parse(['--bool']),
|
|
9
|
+
{ bool: true, _: [] },
|
|
10
|
+
'long boolean'
|
|
11
|
+
);
|
|
12
|
+
t.deepEqual(
|
|
13
|
+
parse(['--pow', 'xixxle']),
|
|
14
|
+
{ pow: 'xixxle', _: [] },
|
|
15
|
+
'long capture sp'
|
|
16
|
+
);
|
|
17
|
+
t.deepEqual(
|
|
18
|
+
parse(['--pow=xixxle']),
|
|
19
|
+
{ pow: 'xixxle', _: [] },
|
|
20
|
+
'long capture eq'
|
|
21
|
+
);
|
|
22
|
+
t.deepEqual(
|
|
23
|
+
parse(['--host', 'localhost', '--port', '555']),
|
|
24
|
+
{ host: 'localhost', port: 555, _: [] },
|
|
25
|
+
'long captures sp'
|
|
26
|
+
);
|
|
27
|
+
t.deepEqual(
|
|
28
|
+
parse(['--host=localhost', '--port=555']),
|
|
29
|
+
{ host: 'localhost', port: 555, _: [] },
|
|
30
|
+
'long captures eq'
|
|
31
|
+
);
|
|
32
|
+
t.end();
|
|
33
|
+
});
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var parse = require('../');
|
|
4
|
+
var test = require('tape');
|
|
5
|
+
|
|
6
|
+
test('nums', function (t) {
|
|
7
|
+
var argv = parse([
|
|
8
|
+
'-x', '1234',
|
|
9
|
+
'-y', '5.67',
|
|
10
|
+
'-z', '1e7',
|
|
11
|
+
'-w', '10f',
|
|
12
|
+
'--hex', '0xdeadbeef',
|
|
13
|
+
'789',
|
|
14
|
+
]);
|
|
15
|
+
t.deepEqual(argv, {
|
|
16
|
+
x: 1234,
|
|
17
|
+
y: 5.67,
|
|
18
|
+
z: 1e7,
|
|
19
|
+
w: '10f',
|
|
20
|
+
hex: 0xdeadbeef,
|
|
21
|
+
_: [789],
|
|
22
|
+
});
|
|
23
|
+
t.deepEqual(typeof argv.x, 'number');
|
|
24
|
+
t.deepEqual(typeof argv.y, 'number');
|
|
25
|
+
t.deepEqual(typeof argv.z, 'number');
|
|
26
|
+
t.deepEqual(typeof argv.w, 'string');
|
|
27
|
+
t.deepEqual(typeof argv.hex, 'number');
|
|
28
|
+
t.deepEqual(typeof argv._[0], 'number');
|
|
29
|
+
t.end();
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
test('already a number', function (t) {
|
|
33
|
+
var argv = parse(['-x', 1234, 789]);
|
|
34
|
+
t.deepEqual(argv, { x: 1234, _: [789] });
|
|
35
|
+
t.deepEqual(typeof argv.x, 'number');
|
|
36
|
+
t.deepEqual(typeof argv._[0], 'number');
|
|
37
|
+
t.end();
|
|
38
|
+
});
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var parse = require('../');
|
|
4
|
+
var test = require('tape');
|
|
5
|
+
|
|
6
|
+
test('parse args', function (t) {
|
|
7
|
+
t.deepEqual(
|
|
8
|
+
parse(['--no-moo']),
|
|
9
|
+
{ moo: false, _: [] },
|
|
10
|
+
'no'
|
|
11
|
+
);
|
|
12
|
+
t.deepEqual(
|
|
13
|
+
parse(['-v', 'a', '-v', 'b', '-v', 'c']),
|
|
14
|
+
{ v: ['a', 'b', 'c'], _: [] },
|
|
15
|
+
'multi'
|
|
16
|
+
);
|
|
17
|
+
t.end();
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
test('comprehensive', function (t) {
|
|
21
|
+
t.deepEqual(
|
|
22
|
+
parse([
|
|
23
|
+
'--name=meowmers', 'bare', '-cats', 'woo',
|
|
24
|
+
'-h', 'awesome', '--multi=quux',
|
|
25
|
+
'--key', 'value',
|
|
26
|
+
'-b', '--bool', '--no-meep', '--multi=baz',
|
|
27
|
+
'--', '--not-a-flag', 'eek',
|
|
28
|
+
]),
|
|
29
|
+
{
|
|
30
|
+
c: true,
|
|
31
|
+
a: true,
|
|
32
|
+
t: true,
|
|
33
|
+
s: 'woo',
|
|
34
|
+
h: 'awesome',
|
|
35
|
+
b: true,
|
|
36
|
+
bool: true,
|
|
37
|
+
key: 'value',
|
|
38
|
+
multi: ['quux', 'baz'],
|
|
39
|
+
meep: false,
|
|
40
|
+
name: 'meowmers',
|
|
41
|
+
_: ['bare', '--not-a-flag', 'eek'],
|
|
42
|
+
}
|
|
43
|
+
);
|
|
44
|
+
t.end();
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
test('flag boolean', function (t) {
|
|
48
|
+
var argv = parse(['-t', 'moo'], { boolean: 't' });
|
|
49
|
+
t.deepEqual(argv, { t: true, _: ['moo'] });
|
|
50
|
+
t.deepEqual(typeof argv.t, 'boolean');
|
|
51
|
+
t.end();
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
test('flag boolean value', function (t) {
|
|
55
|
+
var argv = parse(['--verbose', 'false', 'moo', '-t', 'true'], {
|
|
56
|
+
boolean: ['t', 'verbose'],
|
|
57
|
+
default: { verbose: true },
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
t.deepEqual(argv, {
|
|
61
|
+
verbose: false,
|
|
62
|
+
t: true,
|
|
63
|
+
_: ['moo'],
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
t.deepEqual(typeof argv.verbose, 'boolean');
|
|
67
|
+
t.deepEqual(typeof argv.t, 'boolean');
|
|
68
|
+
t.end();
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
test('newlines in params', function (t) {
|
|
72
|
+
var args = parse(['-s', 'X\nX']);
|
|
73
|
+
t.deepEqual(args, { _: [], s: 'X\nX' });
|
|
74
|
+
|
|
75
|
+
// reproduce in bash:
|
|
76
|
+
// VALUE="new
|
|
77
|
+
// line"
|
|
78
|
+
// node program.js --s="$VALUE"
|
|
79
|
+
args = parse(['--s=X\nX']);
|
|
80
|
+
t.deepEqual(args, { _: [], s: 'X\nX' });
|
|
81
|
+
t.end();
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
test('strings', function (t) {
|
|
85
|
+
var s = parse(['-s', '0001234'], { string: 's' }).s;
|
|
86
|
+
t.equal(s, '0001234');
|
|
87
|
+
t.equal(typeof s, 'string');
|
|
88
|
+
|
|
89
|
+
var x = parse(['-x', '56'], { string: 'x' }).x;
|
|
90
|
+
t.equal(x, '56');
|
|
91
|
+
t.equal(typeof x, 'string');
|
|
92
|
+
t.end();
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
test('stringArgs', function (t) {
|
|
96
|
+
var s = parse([' ', ' '], { string: '_' })._;
|
|
97
|
+
t.same(s.length, 2);
|
|
98
|
+
t.same(typeof s[0], 'string');
|
|
99
|
+
t.same(s[0], ' ');
|
|
100
|
+
t.same(typeof s[1], 'string');
|
|
101
|
+
t.same(s[1], ' ');
|
|
102
|
+
t.end();
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
test('empty strings', function (t) {
|
|
106
|
+
var s = parse(['-s'], { string: 's' }).s;
|
|
107
|
+
t.equal(s, '');
|
|
108
|
+
t.equal(typeof s, 'string');
|
|
109
|
+
|
|
110
|
+
var str = parse(['--str'], { string: 'str' }).str;
|
|
111
|
+
t.equal(str, '');
|
|
112
|
+
t.equal(typeof str, 'string');
|
|
113
|
+
|
|
114
|
+
var letters = parse(['-art'], {
|
|
115
|
+
string: ['a', 't'],
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
t.equal(letters.a, '');
|
|
119
|
+
t.equal(letters.r, true);
|
|
120
|
+
t.equal(letters.t, '');
|
|
121
|
+
|
|
122
|
+
t.end();
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
test('string and alias', function (t) {
|
|
126
|
+
var x = parse(['--str', '000123'], {
|
|
127
|
+
string: 's',
|
|
128
|
+
alias: { s: 'str' },
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
t.equal(x.str, '000123');
|
|
132
|
+
t.equal(typeof x.str, 'string');
|
|
133
|
+
t.equal(x.s, '000123');
|
|
134
|
+
t.equal(typeof x.s, 'string');
|
|
135
|
+
|
|
136
|
+
var y = parse(['-s', '000123'], {
|
|
137
|
+
string: 'str',
|
|
138
|
+
alias: { str: 's' },
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
t.equal(y.str, '000123');
|
|
142
|
+
t.equal(typeof y.str, 'string');
|
|
143
|
+
t.equal(y.s, '000123');
|
|
144
|
+
t.equal(typeof y.s, 'string');
|
|
145
|
+
|
|
146
|
+
var z = parse(['-s123'], {
|
|
147
|
+
alias: { str: ['s', 'S'] },
|
|
148
|
+
string: ['str'],
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
t.deepEqual(
|
|
152
|
+
z,
|
|
153
|
+
{ _: [], s: '123', S: '123', str: '123' },
|
|
154
|
+
'opt.string works with multiple aliases'
|
|
155
|
+
);
|
|
156
|
+
t.end();
|
|
157
|
+
});
|
|
158
|
+
|
|
159
|
+
test('slashBreak', function (t) {
|
|
160
|
+
t.same(
|
|
161
|
+
parse(['-I/foo/bar/baz']),
|
|
162
|
+
{ I: '/foo/bar/baz', _: [] }
|
|
163
|
+
);
|
|
164
|
+
t.same(
|
|
165
|
+
parse(['-xyz/foo/bar/baz']),
|
|
166
|
+
{ x: true, y: true, z: '/foo/bar/baz', _: [] }
|
|
167
|
+
);
|
|
168
|
+
t.end();
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
test('alias', function (t) {
|
|
172
|
+
var argv = parse(['-f', '11', '--zoom', '55'], {
|
|
173
|
+
alias: { z: 'zoom' },
|
|
174
|
+
});
|
|
175
|
+
t.equal(argv.zoom, 55);
|
|
176
|
+
t.equal(argv.z, argv.zoom);
|
|
177
|
+
t.equal(argv.f, 11);
|
|
178
|
+
t.end();
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
test('multiAlias', function (t) {
|
|
182
|
+
var argv = parse(['-f', '11', '--zoom', '55'], {
|
|
183
|
+
alias: { z: ['zm', 'zoom'] },
|
|
184
|
+
});
|
|
185
|
+
t.equal(argv.zoom, 55);
|
|
186
|
+
t.equal(argv.z, argv.zoom);
|
|
187
|
+
t.equal(argv.z, argv.zm);
|
|
188
|
+
t.equal(argv.f, 11);
|
|
189
|
+
t.end();
|
|
190
|
+
});
|
|
191
|
+
|
|
192
|
+
test('nested dotted objects', function (t) {
|
|
193
|
+
var argv = parse([
|
|
194
|
+
'--foo.bar', '3', '--foo.baz', '4',
|
|
195
|
+
'--foo.quux.quibble', '5', '--foo.quux.o_O',
|
|
196
|
+
'--beep.boop',
|
|
197
|
+
]);
|
|
198
|
+
|
|
199
|
+
t.same(argv.foo, {
|
|
200
|
+
bar: 3,
|
|
201
|
+
baz: 4,
|
|
202
|
+
quux: {
|
|
203
|
+
quibble: 5,
|
|
204
|
+
o_O: true,
|
|
205
|
+
},
|
|
206
|
+
});
|
|
207
|
+
t.same(argv.beep, { boop: true });
|
|
208
|
+
t.end();
|
|
209
|
+
});
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/* eslint no-proto: 0 */
|
|
4
|
+
|
|
5
|
+
var parse = require('../');
|
|
6
|
+
var test = require('tape');
|
|
7
|
+
|
|
8
|
+
test('proto pollution', function (t) {
|
|
9
|
+
var argv = parse(['--__proto__.x', '123']);
|
|
10
|
+
t.equal({}.x, undefined);
|
|
11
|
+
t.equal(argv.__proto__.x, undefined);
|
|
12
|
+
t.equal(argv.x, undefined);
|
|
13
|
+
t.end();
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
test('proto pollution (array)', function (t) {
|
|
17
|
+
var argv = parse(['--x', '4', '--x', '5', '--x.__proto__.z', '789']);
|
|
18
|
+
t.equal({}.z, undefined);
|
|
19
|
+
t.deepEqual(argv.x, [4, 5]);
|
|
20
|
+
t.equal(argv.x.z, undefined);
|
|
21
|
+
t.equal(argv.x.__proto__.z, undefined);
|
|
22
|
+
t.end();
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
test('proto pollution (number)', function (t) {
|
|
26
|
+
var argv = parse(['--x', '5', '--x.__proto__.z', '100']);
|
|
27
|
+
t.equal({}.z, undefined);
|
|
28
|
+
t.equal((4).z, undefined);
|
|
29
|
+
t.equal(argv.x, 5);
|
|
30
|
+
t.equal(argv.x.z, undefined);
|
|
31
|
+
t.end();
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
test('proto pollution (string)', function (t) {
|
|
35
|
+
var argv = parse(['--x', 'abc', '--x.__proto__.z', 'def']);
|
|
36
|
+
t.equal({}.z, undefined);
|
|
37
|
+
t.equal('...'.z, undefined);
|
|
38
|
+
t.equal(argv.x, 'abc');
|
|
39
|
+
t.equal(argv.x.z, undefined);
|
|
40
|
+
t.end();
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
test('proto pollution (constructor)', function (t) {
|
|
44
|
+
var argv = parse(['--constructor.prototype.y', '123']);
|
|
45
|
+
t.equal({}.y, undefined);
|
|
46
|
+
t.equal(argv.y, undefined);
|
|
47
|
+
t.end();
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
test('proto pollution (constructor function)', function (t) {
|
|
51
|
+
var argv = parse(['--_.concat.constructor.prototype.y', '123']);
|
|
52
|
+
function fnToBeTested() {}
|
|
53
|
+
t.equal(fnToBeTested.y, undefined);
|
|
54
|
+
t.equal(argv.y, undefined);
|
|
55
|
+
t.end();
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
// powered by snyk - https://github.com/backstage/backstage/issues/10343
|
|
59
|
+
test('proto pollution (constructor function) snyk', function (t) {
|
|
60
|
+
var argv = parse('--_.constructor.constructor.prototype.foo bar'.split(' '));
|
|
61
|
+
t.equal(function () {}.foo, undefined);
|
|
62
|
+
t.equal(argv.y, undefined);
|
|
63
|
+
t.end();
|
|
64
|
+
});
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var parse = require('../');
|
|
4
|
+
var test = require('tape');
|
|
5
|
+
|
|
6
|
+
test('numeric short args', function (t) {
|
|
7
|
+
t.plan(2);
|
|
8
|
+
t.deepEqual(parse(['-n123']), { n: 123, _: [] });
|
|
9
|
+
t.deepEqual(
|
|
10
|
+
parse(['-123', '456']),
|
|
11
|
+
{ 1: true, 2: true, 3: 456, _: [] }
|
|
12
|
+
);
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
test('short', function (t) {
|
|
16
|
+
t.deepEqual(
|
|
17
|
+
parse(['-b']),
|
|
18
|
+
{ b: true, _: [] },
|
|
19
|
+
'short boolean'
|
|
20
|
+
);
|
|
21
|
+
t.deepEqual(
|
|
22
|
+
parse(['foo', 'bar', 'baz']),
|
|
23
|
+
{ _: ['foo', 'bar', 'baz'] },
|
|
24
|
+
'bare'
|
|
25
|
+
);
|
|
26
|
+
t.deepEqual(
|
|
27
|
+
parse(['-cats']),
|
|
28
|
+
{ c: true, a: true, t: true, s: true, _: [] },
|
|
29
|
+
'group'
|
|
30
|
+
);
|
|
31
|
+
t.deepEqual(
|
|
32
|
+
parse(['-cats', 'meow']),
|
|
33
|
+
{ c: true, a: true, t: true, s: 'meow', _: [] },
|
|
34
|
+
'short group next'
|
|
35
|
+
);
|
|
36
|
+
t.deepEqual(
|
|
37
|
+
parse(['-h', 'localhost']),
|
|
38
|
+
{ h: 'localhost', _: [] },
|
|
39
|
+
'short capture'
|
|
40
|
+
);
|
|
41
|
+
t.deepEqual(
|
|
42
|
+
parse(['-h', 'localhost', '-p', '555']),
|
|
43
|
+
{ h: 'localhost', p: 555, _: [] },
|
|
44
|
+
'short captures'
|
|
45
|
+
);
|
|
46
|
+
t.end();
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
test('mixed short bool and capture', function (t) {
|
|
50
|
+
t.same(
|
|
51
|
+
parse(['-h', 'localhost', '-fp', '555', 'script.js']),
|
|
52
|
+
{
|
|
53
|
+
f: true, p: 555, h: 'localhost',
|
|
54
|
+
_: ['script.js'],
|
|
55
|
+
}
|
|
56
|
+
);
|
|
57
|
+
t.end();
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
test('short and long', function (t) {
|
|
61
|
+
t.deepEqual(
|
|
62
|
+
parse(['-h', 'localhost', '-fp', '555', 'script.js']),
|
|
63
|
+
{
|
|
64
|
+
f: true, p: 555, h: 'localhost',
|
|
65
|
+
_: ['script.js'],
|
|
66
|
+
}
|
|
67
|
+
);
|
|
68
|
+
t.end();
|
|
69
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var parse = require('../');
|
|
4
|
+
var test = require('tape');
|
|
5
|
+
|
|
6
|
+
test('stops parsing on the first non-option when stopEarly is set', function (t) {
|
|
7
|
+
var argv = parse(['--aaa', 'bbb', 'ccc', '--ddd'], {
|
|
8
|
+
stopEarly: true,
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
t.deepEqual(argv, {
|
|
12
|
+
aaa: 'bbb',
|
|
13
|
+
_: ['ccc', '--ddd'],
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
t.end();
|
|
17
|
+
});
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var parse = require('../');
|
|
4
|
+
var test = require('tape');
|
|
5
|
+
|
|
6
|
+
test('boolean and alias is not unknown', function (t) {
|
|
7
|
+
var unknown = [];
|
|
8
|
+
function unknownFn(arg) {
|
|
9
|
+
unknown.push(arg);
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
var aliased = ['-h', 'true', '--derp', 'true'];
|
|
13
|
+
var regular = ['--herp', 'true', '-d', 'true'];
|
|
14
|
+
var opts = {
|
|
15
|
+
alias: { h: 'herp' },
|
|
16
|
+
boolean: 'h',
|
|
17
|
+
unknown: unknownFn,
|
|
18
|
+
};
|
|
19
|
+
parse(aliased, opts);
|
|
20
|
+
parse(regular, opts);
|
|
21
|
+
|
|
22
|
+
t.same(unknown, ['--derp', '-d']);
|
|
23
|
+
t.end();
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
test('flag boolean true any double hyphen argument is not unknown', function (t) {
|
|
27
|
+
var unknown = [];
|
|
28
|
+
function unknownFn(arg) {
|
|
29
|
+
unknown.push(arg);
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
var argv = parse(['--honk', '--tacos=good', 'cow', '-p', '55'], {
|
|
33
|
+
boolean: true,
|
|
34
|
+
unknown: unknownFn,
|
|
35
|
+
});
|
|
36
|
+
t.same(unknown, ['--tacos=good', 'cow', '-p']);
|
|
37
|
+
t.same(argv, {
|
|
38
|
+
honk: true,
|
|
39
|
+
_: [],
|
|
40
|
+
});
|
|
41
|
+
t.end();
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
test('string and alias is not unknown', function (t) {
|
|
45
|
+
var unknown = [];
|
|
46
|
+
function unknownFn(arg) {
|
|
47
|
+
unknown.push(arg);
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
var aliased = ['-h', 'hello', '--derp', 'goodbye'];
|
|
51
|
+
var regular = ['--herp', 'hello', '-d', 'moon'];
|
|
52
|
+
var opts = {
|
|
53
|
+
alias: { h: 'herp' },
|
|
54
|
+
string: 'h',
|
|
55
|
+
unknown: unknownFn,
|
|
56
|
+
};
|
|
57
|
+
parse(aliased, opts);
|
|
58
|
+
parse(regular, opts);
|
|
59
|
+
|
|
60
|
+
t.same(unknown, ['--derp', '-d']);
|
|
61
|
+
t.end();
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
test('default and alias is not unknown', function (t) {
|
|
65
|
+
var unknown = [];
|
|
66
|
+
function unknownFn(arg) {
|
|
67
|
+
unknown.push(arg);
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
var aliased = ['-h', 'hello'];
|
|
71
|
+
var regular = ['--herp', 'hello'];
|
|
72
|
+
var opts = {
|
|
73
|
+
default: { h: 'bar' },
|
|
74
|
+
alias: { h: 'herp' },
|
|
75
|
+
unknown: unknownFn,
|
|
76
|
+
};
|
|
77
|
+
parse(aliased, opts);
|
|
78
|
+
parse(regular, opts);
|
|
79
|
+
|
|
80
|
+
t.same(unknown, []);
|
|
81
|
+
t.end();
|
|
82
|
+
unknownFn(); // exercise fn for 100% coverage
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
test('value following -- is not unknown', function (t) {
|
|
86
|
+
var unknown = [];
|
|
87
|
+
function unknownFn(arg) {
|
|
88
|
+
unknown.push(arg);
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
var aliased = ['--bad', '--', 'good', 'arg'];
|
|
92
|
+
var opts = {
|
|
93
|
+
'--': true,
|
|
94
|
+
unknown: unknownFn,
|
|
95
|
+
};
|
|
96
|
+
var argv = parse(aliased, opts);
|
|
97
|
+
|
|
98
|
+
t.same(unknown, ['--bad']);
|
|
99
|
+
t.same(argv, {
|
|
100
|
+
'--': ['good', 'arg'],
|
|
101
|
+
_: [],
|
|
102
|
+
});
|
|
103
|
+
t.end();
|
|
104
|
+
});
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pxnpm",
|
|
3
3
|
"description": "Fast, disk space efficient package manager",
|
|
4
|
-
"version": "6.0.
|
|
4
|
+
"version": "6.0.10",
|
|
5
5
|
"bin": {
|
|
6
6
|
"pxnpm": "bin/pxnpm.cjs",
|
|
7
7
|
"pxnpx": "bin/pxnpx.cjs"
|
|
@@ -92,6 +92,7 @@
|
|
|
92
92
|
"deep-require-cwd": "catalog:",
|
|
93
93
|
"delay": "catalog:",
|
|
94
94
|
"dotenv": "catalog:",
|
|
95
|
+
"minimist": "catalog:",
|
|
95
96
|
"dir-is-case-sensitive": "catalog:",
|
|
96
97
|
"esbuild": "catalog:",
|
|
97
98
|
"execa": "catalog:",
|
|
File without changes
|