Skip to content
This repository was archived by the owner on Dec 4, 2023. It is now read-only.

Commit 791f6c6

Browse files
committed
lint the hell out of the javascript; closes mochajs#2525
- mostly whitespace changes - add `'use strict';` everywhere - fix problems with unused variables, bad variable names, multiple declarations, unreachable code, yoda expressions, error handling, instantiation, etc. - add a few eslint directives to avoid rules when needed - switch to YAML eslint configs - remove `test/` from `.eslintignore` - add `mocha.js` to `.eslintignore` - add userland `assert` as dev dependency (as is recommended) - rename `test/fixture-expect.js` to `test/setup.js`; add global `assert` here - add `assert` and `run` globals to `test/`'s eslint config - update `test/mocha.opts` as appropriate - update `lint` target in `Makefile` - update eslint environments as appropriate
1 parent 0557598 commit 791f6c6

File tree

182 files changed

+2397
-2025
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

182 files changed

+2397
-2025
lines changed

.eslintignore

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
1-
lib/to-iso-string/
2-
test/**/*
3-
!test/runner.js
1+
lib/to-iso-string/**/*.js
2+
mocha.js

.eslintrc.js

-3
This file was deleted.

.eslintrc.yaml

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
env:
2+
node: true
3+
browser: true
4+
parserOptions:
5+
ecmaVersion: 5
6+
sourceType: script
7+
extends: semistandard
8+
rules:
9+
strict:
10+
- error
11+
- safe

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ clean:
2525

2626
lint:
2727
@printf "==> [Test :: Lint]\n"
28-
$(ESLINT) browser-entry.js index.js karma.conf.js bin/mocha bin/_mocha "lib/**/*.js" "scripts/**/*.js" test
28+
$(ESLINT) .
2929

3030
test-node: test-bdd test-tdd test-qunit test-exports test-unit test-integration test-jsapi test-compilers test-glob test-requires test-reporters test-only test-global-only
3131

bin/_mocha

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/usr/bin/env node
2+
'use strict';
23

34
/* eslint no-unused-vars: off */
45

bin/mocha

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#!/usr/bin/env node
22

3+
'use strict';
4+
35
/**
46
* This tiny wrapper file checks for known node flags and appends them
57
* when found, before invoking the "real" _mocha(1) executable.

bin/options.js

+7-5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Dependencies.
35
*/
@@ -14,17 +16,17 @@ module.exports = getOptions;
1416
* Get options.
1517
*/
1618

17-
function getOptions() {
18-
var optsPath = process.argv.indexOf('--opts') !== -1
19-
? process.argv[process.argv.indexOf('--opts') + 1]
20-
: 'test/mocha.opts';
19+
function getOptions () {
20+
var optsPath = process.argv.indexOf('--opts') === -1
21+
? 'test/mocha.opts'
22+
: process.argv[process.argv.indexOf('--opts') + 1];
2123

2224
try {
2325
var opts = fs.readFileSync(optsPath, 'utf8')
2426
.replace(/\\\s/g, '%20')
2527
.split(/\s/)
2628
.filter(Boolean)
27-
.map(function(value) {
29+
.map(function (value) {
2830
return value.replace(/%20/g, ' ');
2931
});
3032

browser-entry.js

+3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1+
'use strict';
2+
13
/* eslint no-unused-vars: off */
4+
/* eslint-env commonjs */
25

36
/**
47
* Shim process.stdout.

lib/browser/.eslintrc.yaml

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
env:
2+
node: false
3+
browser: false
4+
commonjs: true

lib/browser/debug.js

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
/* eslint-disable no-unused-vars */
2-
module.exports = function (type) {
3-
return function () {};
1+
'use strict';
2+
3+
function noop () {}
4+
5+
module.exports = function () {
6+
return noop;
47
};

lib/browser/events.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module exports.
35
*/

lib/browser/progress.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Expose `Progress`.
35
*/

lib/browser/tty.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
exports.isatty = function isatty () {
24
return true;
35
};

lib/context.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module dependencies.
35
*/

lib/hook.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module dependencies.
35
*/

lib/interfaces/bdd.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module dependencies.
35
*/

lib/interfaces/exports.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module dependencies.
35
*/

lib/interfaces/index.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
exports.bdd = require('./bdd');
24
exports.tdd = require('./tdd');
35
exports.qunit = require('./qunit');

lib/interfaces/qunit.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module dependencies.
35
*/

lib/interfaces/tdd.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module dependencies.
35
*/

lib/mocha.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/*!
24
* mocha
35
* Copyright(c) 2011 TJ Holowaychuk <[email protected]>

lib/ms.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Helpers.
35
*/

lib/pending.js

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
'use strict';
12

23
/**
34
* Expose `Pending`.

lib/reporters/base.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module dependencies.
35
*/

lib/reporters/doc.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module dependencies.
35
*/

lib/reporters/dot.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module dependencies.
35
*/

lib/reporters/html.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/* eslint-env browser */
24

35
/**

lib/reporters/index.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
// Alias exports to a their normalized format Mocha#reporter to prevent a need
24
// for dynamic (try/catch) requires, which Browserify doesn't handle.
35
exports.Base = exports.base = require('./base');

lib/reporters/json-stream.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module dependencies.
35
*/

lib/reporters/json.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module dependencies.
35
*/

lib/reporters/landing.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module dependencies.
35
*/

lib/reporters/list.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module dependencies.
35
*/

lib/reporters/markdown.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module dependencies.
35
*/

lib/reporters/min.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module dependencies.
35
*/

lib/reporters/nyan.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module dependencies.
35
*/

lib/reporters/progress.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module dependencies.
35
*/

lib/reporters/spec.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module dependencies.
35
*/

lib/reporters/tap.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module dependencies.
35
*/

lib/reporters/xunit.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module dependencies.
35
*/

lib/runnable.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module dependencies.
35
*/

lib/runner.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module dependencies.
35
*/

lib/suite.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module dependencies.
35
*/

lib/test.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/**
24
* Module dependencies.
35
*/

lib/utils.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use strict';
2+
13
/* eslint-env browser */
24

35
/**

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,7 @@
314314
"supports-color": "3.1.2"
315315
},
316316
"devDependencies": {
317+
"assert": "^1.4.1",
317318
"browserify": "^13.0.0",
318319
"coffee-script": "^1.10.0",
319320
"eslint": "^2.13.1",

test/.eslintrc.js

-8
This file was deleted.

test/.eslintrc.yaml

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
env:
2+
mocha: true
3+
globals:
4+
expect: false
5+
assert: false
6+
# https://github.com/sindresorhus/globals/pull/102
7+
run: false

0 commit comments

Comments
 (0)