Skip to content

Commit 36ac5d0

Browse files
committedOct 16, 2022
[eslint] more cleanup
1 parent e5f5067 commit 36ac5d0

15 files changed

+183
-156
lines changed
 

‎.eslintrc

+12-23
Original file line numberDiff line numberDiff line change
@@ -5,36 +5,25 @@
55

66
"rules": {
77
"array-element-newline": 0,
8-
"camelcase": 1,
9-
"comma-dangle": 1,
108
"complexity": 0,
11-
"curly": 1,
12-
"dot-notation": 1,
13-
"func-style": 1,
9+
"func-style": [2, "declaration"],
1410
"max-lines-per-function": 0,
1511
"max-nested-callbacks": 1,
12+
"max-statements-per-line": 1,
1613
"max-statements": 0,
1714
"multiline-comment-style": 0,
18-
"no-array-constructor": 1,
1915
"no-continue": 1,
20-
"no-div-regex": 1,
21-
"no-extra-parens": 1,
22-
"no-mixed-operators": 1,
2316
"no-param-reassign": 1,
24-
"no-plusplus": 1,
25-
"no-proto": 1,
26-
"no-redeclare": 1,
2717
"no-restricted-syntax": 1,
28-
"no-shadow": 1,
29-
"no-unused-vars": 1,
30-
"no-use-before-define": 1,
31-
"object-curly-newline": 1,
32-
"operator-linebreak": 1,
33-
"quote-props": 1,
34-
"quotes": 1,
35-
"semi-style": 1,
36-
"semi": 1,
37-
"strict": 1,
38-
"wrap-regex": 1,
18+
"object-curly-newline": 0,
3919
},
20+
21+
"overrides": [
22+
{
23+
"files": "test/**",
24+
"rules": {
25+
"camelcase": 0,
26+
},
27+
},
28+
]
4029
}

‎example/parse.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
1+
'use strict';
2+
13
var argv = require('../')(process.argv.slice(2));
24
console.dir(argv);

‎index.js

+102-90
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,67 @@
1+
'use strict';
2+
3+
function isNumber(x) {
4+
if (typeof x === 'number') { return true; }
5+
if ((/^0x[0-9a-f]+$/i).test(x)) { return true; }
6+
return (/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/).test(x);
7+
}
8+
9+
function hasKey(obj, keys) {
10+
var o = obj;
11+
keys.slice(0, -1).forEach(function (key) {
12+
o = o[key] || {};
13+
});
14+
15+
var key = keys[keys.length - 1];
16+
return key in o;
17+
}
18+
19+
function setKey(obj, keys, value) {
20+
var o = obj;
21+
var key;
22+
for (var i = 0; i < keys.length - 1; i++) {
23+
key = keys[i];
24+
if (key === '__proto__') { return; }
25+
if (o[key] === undefined) { o[key] = {}; }
26+
if (
27+
o[key] === Object.prototype
28+
|| o[key] === Number.prototype
29+
|| o[key] === String.prototype
30+
) {
31+
o[key] = {};
32+
}
33+
if (o[key] === Array.prototype) { o[key] = []; }
34+
o = o[key];
35+
}
36+
37+
key = keys[keys.length - 1];
38+
if (key === '__proto__') { return; }
39+
if (
40+
o === Object.prototype
41+
|| o === Number.prototype
42+
|| o === String.prototype
43+
) {
44+
o = {};
45+
}
46+
if (o === Array.prototype) { o = []; }
47+
if (o[key] === undefined || typeof o[key] === 'boolean') {
48+
o[key] = value;
49+
} else if (Array.isArray(o[key])) {
50+
o[key].push(value);
51+
} else {
52+
o[key] = [o[key], value];
53+
}
54+
}
55+
156
module.exports = function (args, opts) {
2-
if (!opts) opts = {};
57+
if (!opts) { opts = {}; }
358

459
var flags = { bools: {}, strings: {} };
560

6-
if (typeof opts['boolean'] === 'boolean' && opts['boolean']) {
61+
if (typeof opts.boolean === 'boolean' && opts.boolean) {
762
flags.allBools = true;
863
} else {
9-
[].concat(opts['boolean']).filter(Boolean).forEach(function (key) {
64+
[].concat(opts.boolean).filter(Boolean).forEach(function (key) {
1065
flags.bools[key] = true;
1166
});
1267
}
@@ -28,9 +83,21 @@ module.exports = function (args, opts) {
2883
}
2984
});
3085

31-
var defaults = opts['default'] || {};
86+
var defaults = opts.default || {};
3287

3388
var argv = { _: [] };
89+
90+
function setArg(key, val) {
91+
var value = !flags.strings[key] && isNumber(val)
92+
? Number(val)
93+
: val;
94+
setKey(argv, key.split('.'), value);
95+
96+
(aliases[key] || []).forEach(function (x) {
97+
setKey(argv, x.split('.'), value);
98+
});
99+
}
100+
34101
Object.keys(flags.bools).forEach(function (key) {
35102
setArg(key, defaults[key] === undefined ? false : defaults[key]);
36103
});
@@ -42,58 +109,49 @@ module.exports = function (args, opts) {
42109
args = args.slice(0, args.indexOf('--'));
43110
}
44111

45-
function setArg(key, val) {
46-
var value = !flags.strings[key] && isNumber(val)
47-
? Number(val) : val
48-
;
49-
setKey(argv, key.split('.'), value);
50-
51-
(aliases[key] || []).forEach(function (x) {
52-
setKey(argv, x.split('.'), value);
53-
});
54-
}
55-
56112
for (var i = 0; i < args.length; i++) {
57113
var arg = args[i];
114+
var key;
115+
var next;
58116

59-
if (/^--.+=/.test(arg)) {
117+
if ((/^--.+=/).test(arg)) {
60118
// Using [\s\S] instead of . because js doesn't support the
61119
// 'dotall' regex modifier. See:
62120
// http://stackoverflow.com/a/1068308/13216
63121
var m = arg.match(/^--([^=]+)=([\s\S]*)$/);
64122
setArg(m[1], m[2]);
65-
} else if (/^--no-.+/.test(arg)) {
66-
var key = arg.match(/^--no-(.+)/)[1];
123+
} else if ((/^--no-.+/).test(arg)) {
124+
key = arg.match(/^--no-(.+)/)[1];
67125
setArg(key, false);
68-
} else if (/^--.+/.test(arg)) {
69-
var key = arg.match(/^--(.+)/)[1];
70-
var next = args[i + 1];
71-
if (next !== undefined && !/^-/.test(next)
126+
} else if ((/^--.+/).test(arg)) {
127+
key = arg.match(/^--(.+)/)[1];
128+
next = args[i + 1];
129+
if (next !== undefined && !(/^-/).test(next)
72130
&& !flags.bools[key]
73131
&& !flags.allBools
74132
&& (aliases[key] ? !flags.bools[aliases[key]] : true)) {
75133
setArg(key, next);
76-
i++;
77-
} else if (/^(true|false)$/.test(next)) {
134+
i += 1;
135+
} else if ((/^(true|false)$/).test(next)) {
78136
setArg(key, next === 'true');
79-
i++;
137+
i += 1;
80138
} else {
81139
setArg(key, flags.strings[key] ? '' : true);
82140
}
83-
} else if (/^-[^-]+/.test(arg)) {
141+
} else if ((/^-[^-]+/).test(arg)) {
84142
var letters = arg.slice(1, -1).split('');
85143

86144
var broken = false;
87145
for (var j = 0; j < letters.length; j++) {
88-
var next = arg.slice(j + 2);
146+
next = arg.slice(j + 2);
89147

90148
if (next === '-') {
91-
setArg(letters[j], next)
149+
setArg(letters[j], next);
92150
continue;
93151
}
94152

95-
if (/[A-Za-z]/.test(letters[j])
96-
&& /-?\d+(\.\d*)?(e-?\d+)?$/.test(next)) {
153+
if ((/[A-Za-z]/).test(letters[j])
154+
&& (/-?\d+(\.\d*)?(e-?\d+)?$/).test(next)) {
97155
setArg(letters[j], next);
98156
broken = true;
99157
break;
@@ -108,88 +166,42 @@ module.exports = function (args, opts) {
108166
}
109167
}
110168

111-
var key = arg.slice(-1)[0];
169+
key = arg.slice(-1)[0];
112170
if (!broken && key !== '-') {
113-
if (args[i + 1] && !/^(-|--)[^-]/.test(args[i + 1])
171+
if (args[i + 1] && !(/^(-|--)[^-]/).test(args[i + 1])
114172
&& !flags.bools[key]
115173
&& (aliases[key] ? !flags.bools[aliases[key]] : true)) {
116174
setArg(key, args[i + 1]);
117-
i++;
118-
} else if (args[i + 1] && /true|false/.test(args[i + 1])) {
175+
i += 1;
176+
} else if (args[i + 1] && (/true|false/).test(args[i + 1])) {
119177
setArg(key, args[i + 1] === 'true');
120-
i++;
178+
i += 1;
121179
} else {
122180
setArg(key, flags.strings[key] ? '' : true);
123181
}
124182
}
125183
} else {
126-
argv._.push(flags.strings['_'] || !isNumber(arg) ? arg : Number(arg));
184+
argv._.push(flags.strings._ || !isNumber(arg) ? arg : Number(arg));
127185
}
128186
}
129187

130-
Object.keys(defaults).forEach(function (key) {
131-
if (!hasKey(argv, key.split('.'))) {
132-
setKey(argv, key.split('.'), defaults[key]);
188+
Object.keys(defaults).forEach(function (k) {
189+
if (!hasKey(argv, k.split('.'))) {
190+
setKey(argv, k.split('.'), defaults[k]);
133191

134-
(aliases[key] || []).forEach(function (x) {
135-
setKey(argv, x.split('.'), defaults[key]);
192+
(aliases[k] || []).forEach(function (x) {
193+
setKey(argv, x.split('.'), defaults[k]);
136194
});
137195
}
138196
});
139197

140198
if (opts['--']) {
141-
argv['--'] = new Array();
142-
notFlags.forEach(function (key) {
143-
argv['--'].push(key);
144-
});
199+
argv['--'] = notFlags.slice();
145200
} else {
146-
notFlags.forEach(function (key) {
147-
argv._.push(key);
201+
notFlags.forEach(function (k) {
202+
argv._.push(k);
148203
});
149204
}
150205

151206
return argv;
152207
};
153-
154-
function hasKey(obj, keys) {
155-
var o = obj;
156-
keys.slice(0, -1).forEach(function (key) {
157-
o = (o[key] || {});
158-
});
159-
160-
var key = keys[keys.length - 1];
161-
return key in o;
162-
}
163-
164-
function setKey(obj, keys, value) {
165-
var o = obj;
166-
for (var i = 0; i < keys.length - 1; i++) {
167-
var key = keys[i];
168-
if (key === '__proto__') return;
169-
if (o[key] === undefined) o[key] = {};
170-
if (o[key] === Object.prototype || o[key] === Number.prototype
171-
|| o[key] === String.prototype) o[key] = {};
172-
if (o[key] === Array.prototype) o[key] = [];
173-
o = o[key];
174-
}
175-
176-
var key = keys[keys.length - 1];
177-
if (key === '__proto__') return;
178-
if (o === Object.prototype || o === Number.prototype
179-
|| o === String.prototype) o = {};
180-
if (o === Array.prototype) o = [];
181-
if (o[key] === undefined || typeof o[key] === 'boolean') {
182-
o[key] = value;
183-
} else if (Array.isArray(o[key])) {
184-
o[key].push(value);
185-
} else {
186-
o[key] = [o[key], value];
187-
}
188-
}
189-
190-
function isNumber(x) {
191-
if (typeof x === 'number') return true;
192-
if (/^0x[0-9a-f]+$/i.test(x)) return true;
193-
return /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(x);
194-
}
195-

‎test/all_bool.js

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1+
'use strict';
2+
13
var parse = require('../');
24
var test = require('tape');
35

46
test('flag boolean true (default all --args to boolean)', function (t) {
57
var argv = parse(['moo', '--honk', 'cow'], {
6-
boolean: true
8+
boolean: true,
79
});
810

911
t.deepEqual(argv, {
1012
honk: true,
11-
_: ['moo', 'cow']
13+
_: ['moo', 'cow'],
1214
});
1315

1416
t.deepEqual(typeof argv.honk, 'boolean');
@@ -17,14 +19,14 @@ test('flag boolean true (default all --args to boolean)', function (t) {
1719

1820
test('flag boolean true only affects double hyphen arguments without equals signs', function (t) {
1921
var argv = parse(['moo', '--honk', 'cow', '-p', '55', '--tacos=good'], {
20-
boolean: true
22+
boolean: true,
2123
});
2224

2325
t.deepEqual(argv, {
2426
_: ['moo', 'cow'],
2527
honk: true,
2628
p: 55,
27-
tacos: 'good'
29+
tacos: 'good',
2830
});
2931

3032
t.deepEqual(typeof argv.honk, 'boolean');

‎test/bool.js

+17-17
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
1+
'use strict';
2+
13
var parse = require('../');
24
var test = require('tape');
35

46
test('flag boolean default false', function (t) {
57
var argv = parse(['moo'], {
68
boolean: ['t', 'verbose'],
7-
default: { verbose: false, t: false }
9+
default: { verbose: false, t: false },
810
});
911

1012
t.deepEqual(argv, {
1113
verbose: false,
1214
t: false,
13-
_: ['moo']
15+
_: ['moo'],
1416
});
1517

1618
t.deepEqual(typeof argv.verbose, 'boolean');
@@ -21,14 +23,14 @@ test('flag boolean default false', function (t) {
2123

2224
test('boolean groups', function (t) {
2325
var argv = parse(['-x', '-z', 'one', 'two', 'three'], {
24-
boolean: ['x', 'y', 'z']
26+
boolean: ['x', 'y', 'z'],
2527
});
2628

2729
t.deepEqual(argv, {
2830
x: true,
2931
y: false,
3032
z: true,
31-
_: ['one', 'two', 'three']
33+
_: ['one', 'two', 'three'],
3234
});
3335

3436
t.deepEqual(typeof argv.x, 'boolean');
@@ -39,21 +41,19 @@ test('boolean groups', function (t) {
3941
test('boolean and alias with chainable api', function (t) {
4042
var aliased = ['-h', 'derp'];
4143
var regular = ['--herp', 'derp'];
42-
var opts = {
43-
herp: { alias: 'h', boolean: true }
44-
};
44+
4545
var aliasedArgv = parse(aliased, {
4646
boolean: 'herp',
47-
alias: { h: 'herp' }
47+
alias: { h: 'herp' },
4848
});
4949
var propertyArgv = parse(regular, {
5050
boolean: 'herp',
51-
alias: { h: 'herp' }
51+
alias: { h: 'herp' },
5252
});
5353
var expected = {
5454
herp: true,
5555
h: true,
56-
'_': ['derp']
56+
_: ['derp'],
5757
};
5858

5959
t.same(aliasedArgv, expected);
@@ -65,15 +65,15 @@ test('boolean and alias with options hash', function (t) {
6565
var aliased = ['-h', 'derp'];
6666
var regular = ['--herp', 'derp'];
6767
var opts = {
68-
alias: { 'h': 'herp' },
69-
boolean: 'herp'
68+
alias: { h: 'herp' },
69+
boolean: 'herp',
7070
};
7171
var aliasedArgv = parse(aliased, opts);
7272
var propertyArgv = parse(regular, opts);
7373
var expected = {
7474
herp: true,
7575
h: true,
76-
'_': ['derp']
76+
_: ['derp'],
7777
};
7878
t.same(aliasedArgv, expected);
7979
t.same(propertyArgv, expected);
@@ -85,14 +85,14 @@ test('boolean and alias using explicit true', function (t) {
8585
var regular = ['--herp', 'true'];
8686
var opts = {
8787
alias: { h: 'herp' },
88-
boolean: 'h'
88+
boolean: 'h',
8989
};
9090
var aliasedArgv = parse(aliased, opts);
9191
var propertyArgv = parse(regular, opts);
9292
var expected = {
9393
herp: true,
9494
h: true,
95-
'_': []
95+
_: [],
9696
};
9797

9898
t.same(aliasedArgv, expected);
@@ -103,14 +103,14 @@ test('boolean and alias using explicit true', function (t) {
103103
// regression, see https://github.com/substack/node-optimist/issues/71
104104
test('boolean and --x=true', function (t) {
105105
var parsed = parse(['--boool', '--other=true'], {
106-
boolean: 'boool'
106+
boolean: 'boool',
107107
});
108108

109109
t.same(parsed.boool, true);
110110
t.same(parsed.other, 'true');
111111

112112
parsed = parse(['--boool', '--other=false'], {
113-
boolean: 'boool'
113+
boolean: 'boool',
114114
});
115115

116116
t.same(parsed.boool, true);

‎test/dash.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
var parse = require('../');
24
var test = require('tape');
35

‎test/default_bool.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1+
'use strict';
2+
13
var test = require('tape');
24
var parse = require('../');
35

46
test('boolean default true', function (t) {
57
var argv = parse([], {
68
boolean: 'sometrue',
7-
default: { sometrue: true }
9+
default: { sometrue: true },
810
});
911
t.equal(argv.sometrue, true);
1012
t.end();
@@ -13,7 +15,7 @@ test('boolean default true', function (t) {
1315
test('boolean default false', function (t) {
1416
var argv = parse([], {
1517
boolean: 'somefalse',
16-
default: { somefalse: false }
18+
default: { somefalse: false },
1719
});
1820
t.equal(argv.somefalse, false);
1921
t.end();

‎test/dotted.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
var parse = require('../');
24
var test = require('tape');
35

‎test/long.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
var test = require('tape');
24
var parse = require('../');
35

‎test/num.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
var parse = require('../');
24
var test = require('tape');
35

@@ -8,15 +10,15 @@ test('nums', function (t) {
810
'-z', '1e7',
911
'-w', '10f',
1012
'--hex', '0xdeadbeef',
11-
'789'
13+
'789',
1214
]);
1315
t.deepEqual(argv, {
1416
x: 1234,
1517
y: 5.67,
1618
z: 1e7,
1719
w: '10f',
1820
hex: 0xdeadbeef,
19-
_: [789]
21+
_: [789],
2022
});
2123
t.deepEqual(typeof argv.x, 'number');
2224
t.deepEqual(typeof argv.y, 'number');

‎test/parse.js

+18-16
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
var parse = require('../');
24
var test = require('tape');
35

@@ -22,7 +24,7 @@ test('comprehensive', function (t) {
2224
'-h', 'awesome', '--multi=quux',
2325
'--key', 'value',
2426
'-b', '--bool', '--no-meep', '--multi=baz',
25-
'--', '--not-a-flag', 'eek'
27+
'--', '--not-a-flag', 'eek',
2628
]),
2729
{
2830
c: true,
@@ -36,7 +38,7 @@ test('comprehensive', function (t) {
3638
multi: ['quux', 'baz'],
3739
meep: false,
3840
name: 'meowmers',
39-
_: ['bare', '--not-a-flag', 'eek']
41+
_: ['bare', '--not-a-flag', 'eek'],
4042
}
4143
);
4244
t.end();
@@ -52,13 +54,13 @@ test('flag boolean', function (t) {
5254
test('flag boolean value', function (t) {
5355
var argv = parse(['--verbose', 'false', 'moo', '-t', 'true'], {
5456
boolean: ['t', 'verbose'],
55-
default: { verbose: true }
57+
default: { verbose: true },
5658
});
5759

5860
t.deepEqual(argv, {
5961
verbose: false,
6062
t: true,
61-
_: ['moo']
63+
_: ['moo'],
6264
});
6365

6466
t.deepEqual(typeof argv.verbose, 'boolean');
@@ -67,15 +69,15 @@ test('flag boolean value', function (t) {
6769
});
6870

6971
test('newlines in params', function (t) {
70-
var args = parse(['-s', "X\nX"])
71-
t.deepEqual(args, { _: [], s: "X\nX" });
72+
var args = parse(['-s', 'X\nX']);
73+
t.deepEqual(args, { _: [], s: 'X\nX' });
7274

7375
// reproduce in bash:
7476
// VALUE="new
7577
// line"
7678
// node program.js --s="$VALUE"
77-
args = parse(["--s=X\nX"])
78-
t.deepEqual(args, { _: [], s: "X\nX" });
79+
args = parse(['--s=X\nX']);
80+
t.deepEqual(args, { _: [], s: 'X\nX' });
7981
t.end();
8082
});
8183

@@ -110,7 +112,7 @@ test('empty strings', function (t) {
110112
t.equal(typeof str, 'string');
111113

112114
var letters = parse(['-art'], {
113-
string: ['a', 't']
115+
string: ['a', 't'],
114116
});
115117

116118
t.equal(letters.a, '');
@@ -123,7 +125,7 @@ test('empty strings', function (t) {
123125
test('string and alias', function (t) {
124126
var x = parse(['--str', '000123'], {
125127
string: 's',
126-
alias: { s: 'str' }
128+
alias: { s: 'str' },
127129
});
128130

129131
t.equal(x.str, '000123');
@@ -133,7 +135,7 @@ test('string and alias', function (t) {
133135

134136
var y = parse(['-s', '000123'], {
135137
string: 'str',
136-
alias: { str: 's' }
138+
alias: { str: 's' },
137139
});
138140

139141
t.equal(y.str, '000123');
@@ -157,7 +159,7 @@ test('slashBreak', function (t) {
157159

158160
test('alias', function (t) {
159161
var argv = parse(['-f', '11', '--zoom', '55'], {
160-
alias: { z: 'zoom' }
162+
alias: { z: 'zoom' },
161163
});
162164
t.equal(argv.zoom, 55);
163165
t.equal(argv.z, argv.zoom);
@@ -167,7 +169,7 @@ test('alias', function (t) {
167169

168170
test('multiAlias', function (t) {
169171
var argv = parse(['-f', '11', '--zoom', '55'], {
170-
alias: { z: ['zm', 'zoom'] }
172+
alias: { z: ['zm', 'zoom'] },
171173
});
172174
t.equal(argv.zoom, 55);
173175
t.equal(argv.z, argv.zoom);
@@ -180,16 +182,16 @@ test('nested dotted objects', function (t) {
180182
var argv = parse([
181183
'--foo.bar', '3', '--foo.baz', '4',
182184
'--foo.quux.quibble', '5', '--foo.quux.o_O',
183-
'--beep.boop'
185+
'--beep.boop',
184186
]);
185187

186188
t.same(argv.foo, {
187189
bar: 3,
188190
baz: 4,
189191
quux: {
190192
quibble: 5,
191-
o_O: true
192-
}
193+
o_O: true,
194+
},
193195
});
194196
t.same(argv.beep, { boop: true });
195197
t.end();

‎test/parse_modified.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
var parse = require('../');
24
var test = require('tape');
35

‎test/proto.js

+4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1+
'use strict';
2+
13
var parse = require('../');
24
var test = require('tape');
35

6+
/* eslint no-proto: 0 */
7+
48
test('proto pollution', function (t) {
59
var argv = parse(['--__proto__.x', '123']);
610
t.equal({}.x, undefined);

‎test/short.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
var parse = require('../');
24
var test = require('tape');
35

@@ -49,7 +51,7 @@ test('mixed short bool and capture', function (t) {
4951
parse(['-h', 'localhost', '-fp', '555', 'script.js']),
5052
{
5153
f: true, p: 555, h: 'localhost',
52-
_: ['script.js']
54+
_: ['script.js'],
5355
}
5456
);
5557
t.end();
@@ -60,7 +62,7 @@ test('short and long', function (t) {
6062
parse(['-h', 'localhost', '-fp', '555', 'script.js']),
6163
{
6264
f: true, p: 555, h: 'localhost',
63-
_: ['script.js']
65+
_: ['script.js'],
6466
}
6567
);
6668
t.end();

‎test/whitespace.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
var parse = require('../');
24
var test = require('tape');
35

0 commit comments

Comments
 (0)
Please sign in to comment.