Skip to content

Commit 3677928

Browse files
committed
[Tests] [eslint] add npm run lint
1 parent b7ba83d commit 3677928

13 files changed

+71
-32
lines changed

.eslintignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
node_modules

.eslintrc

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"extends": "@ljharb",
3+
"root": true,
4+
"rules": {
5+
"indent": [2, 4],
6+
"strict": 0,
7+
"complexity": 0,
8+
"consistent-return": 0,
9+
"curly": 0,
10+
"func-name-matching": 0,
11+
"func-style": 0,
12+
"global-require": 0,
13+
"id-length": [2, { "min": 1, "max": 30 }],
14+
"max-nested-callbacks": 0,
15+
"max-params": 0,
16+
"max-statements-per-line": [2, { "max": 2 }],
17+
"max-statements": 0,
18+
"no-magic-numbers": 0,
19+
"no-console": 0,
20+
"no-shadow": 0,
21+
"no-unused-vars": [2, { "vars": "all", "args": "none" }],
22+
"no-use-before-define": 0,
23+
"object-curly-newline": 0,
24+
"operator-linebreak": [2, "before"],
25+
"sort-keys": 0,
26+
}
27+
}

.travis.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ env:
2727
matrix:
2828
fast_finish: true
2929
include:
30+
- node_js: "node"
31+
env: PRETEST=true
3032
- node_js: "7.1"
3133
env: TEST=true ALLOW_FAILURE=true
3234
- node_js: "7.0"

index.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
var core = require('./lib/core');
2-
exports = module.exports = require('./lib/async');
3-
exports.core = core;
4-
exports.isCore = function isCore(x) { return core[x]; };
5-
exports.sync = require('./lib/sync');
2+
var async = require('./lib/async');
3+
async.core = core;
4+
async.isCore = function isCore(x) { return core[x]; };
5+
async.sync = require('./lib/sync');
6+
7+
exports = async;
8+
module.exports = async;

lib/async.js

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ module.exports = function resolve(x, options, callback) {
3232

3333
opts.paths = opts.paths || [];
3434

35-
if (/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[\\\/])/.test(x)) {
35+
if (/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/.test(x)) {
3636
var res = path.resolve(y, x);
3737
if (x === '..') res += '/';
3838
if (/\/$/.test(x) && res === y) {
@@ -63,20 +63,22 @@ module.exports = function resolve(x, options, callback) {
6363
});
6464
}
6565

66-
function loadAsFile(x, pkg, callback) {
66+
function loadAsFile(x, thePackage, callback) {
67+
var loadAsFilePackage = thePackage;
6768
var cb = callback;
68-
if (typeof pkg === 'function') {
69-
cb = pkg;
70-
pkg = undefined;
69+
if (typeof loadAsFilePackage === 'function') {
70+
cb = loadAsFilePackage;
71+
loadAsFilePackage = undefined;
7172
}
7273

7374
var exts = [''].concat(extensions);
74-
load(exts, x, pkg);
75+
load(exts, x, loadAsFilePackage);
7576

76-
function load(exts, x, pkg) {
77-
if (exts.length === 0) return cb(null, undefined, pkg);
77+
function load(exts, x, loadPackage) {
78+
if (exts.length === 0) return cb(null, undefined, loadPackage);
7879
var file = x + exts[0];
7980

81+
var pkg = loadPackage;
8082
if (pkg) onpkg(null, pkg);
8183
else loadpkg(path.dirname(file), onpkg);
8284

@@ -96,19 +98,19 @@ module.exports = function resolve(x, options, callback) {
9698
isFile(file, onex);
9799
}
98100
function onex(err, ex) {
99-
if (err) cb(err);
100-
else if (!ex) load(exts.slice(1), x, pkg);
101-
else cb(null, file, pkg);
101+
if (err) return cb(err);
102+
if (ex) return cb(null, file, pkg);
103+
load(exts.slice(1), x, pkg);
102104
}
103105
}
104106
}
105107

106108
function loadpkg(dir, cb) {
107109
if (dir === '' || dir === '/') return cb(null);
108-
if (process.platform === 'win32' && (/^\w:[\\\/]*$/).test(dir)) {
110+
if (process.platform === 'win32' && (/^\w:[/\\]*$/).test(dir)) {
109111
return cb(null);
110112
}
111-
if (/[\\\/]node_modules[\\\/]*$/.test(dir)) return cb(null);
113+
if (/[/\\]node_modules[/\\]*$/.test(dir)) return cb(null);
112114

113115
var pkgfile = path.join(dir, 'package.json');
114116
isFile(pkgfile, function (err, ex) {
@@ -127,8 +129,9 @@ module.exports = function resolve(x, options, callback) {
127129
});
128130
}
129131

130-
function loadAsDirectory(x, fpkg, callback) {
132+
function loadAsDirectory(x, loadAsDirectoryPackage, callback) {
131133
var cb = callback;
134+
var fpkg = loadAsDirectoryPackage;
132135
if (typeof fpkg === 'function') {
133136
cb = fpkg;
134137
fpkg = opts.package;

lib/core.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
var current = process.versions && process.versions.node && process.versions.node.split('.') || [];
1+
var current = (process.versions && process.versions.node && process.versions.node.split('.')) || [];
22

33
function versionIncluded(version) {
44
if (version === '*') return true;
@@ -12,7 +12,7 @@ function versionIncluded(version) {
1212
var data = require('./core.json');
1313

1414
var core = {};
15-
for (var version in data) {
15+
for (var version in data) { // eslint-disable-line no-restricted-syntax
1616
if (Object.prototype.hasOwnProperty.call(data, version) && versionIncluded(version)) {
1717
for (var i = 0; i < data[version].length; ++i) {
1818
core[data[version][i]] = true;

lib/node-modules-paths.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,17 @@ module.exports = function nodeModulesPaths(start, opts) {
99

1010
// ensure that `start` is an absolute path at this point,
1111
// resolving against the process' current working directory
12-
start = path.resolve(start);
12+
var absoluteStart = path.resolve(start);
1313

1414
var prefix = '/';
15-
if (/^([A-Za-z]:)/.test(start)) {
15+
if (/^([A-Za-z]:)/.test(absoluteStart)) {
1616
prefix = '';
17-
} else if (/^\\\\/.test(start)) {
17+
} else if (/^\\\\/.test(absoluteStart)) {
1818
prefix = '\\\\';
1919
}
2020

21-
var paths = [start];
22-
var parsed = parse(start);
21+
var paths = [absoluteStart];
22+
var parsed = parse(absoluteStart);
2323
while (parsed.dir !== paths[paths.length - 1]) {
2424
paths.push(parsed.dir);
2525
parsed = parse(parsed.dir);

lib/sync.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ module.exports = function (x, options) {
2525

2626
opts.paths = opts.paths || [];
2727

28-
if (/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[\\\/])/.test(x)) {
28+
if (/^(?:\.\.?(?:\/|$)|\/|([A-Za-z]:)?[/\\])/.test(x)) {
2929
var res = path.resolve(y, x);
3030
if (x === '..') res += '/';
3131
var m = loadAsFileSync(res) || loadAsDirectorySync(res);

package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,14 @@
1515
],
1616
"scripts": {
1717
"prepublish": "safe-publish-latest",
18+
"lint": "eslint .",
1819
"tests-only": "tape test/*.js",
20+
"pretest": "npm run lint",
1921
"test": "npm run --silent tests-only"
2022
},
2123
"devDependencies": {
24+
"@ljharb/eslint-config": "^11.0.0",
25+
"eslint": "^3.17.1",
2226
"object-keys": "^1.0.11",
2327
"safe-publish-latest": "^1.1.1",
2428
"tap": "0.4.13",

test/core.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ test('core modules', function (t) {
1717

1818
for (var i = 0; i < resolve.core.length; ++i) {
1919
st.doesNotThrow(
20-
function () { require(resolve.core[i]); },
20+
function () { require(resolve.core[i]); }, // eslint-disable-line no-loop-func
2121
'requiring ' + resolve.core[i] + ' does not throw'
2222
);
2323
}

0 commit comments

Comments
 (0)