Skip to content

Commit

Permalink
Merge branch 'master' into v3.0.0
Browse files Browse the repository at this point in the history
* master: (27 commits)
  Remove TODO from Browserify transition
  Build using Browserify
  Rework hook error tests to actually assert
  Move hook error test to integration in prep for rewrite
  Fix 1766: stackfilter should not ignore node_modules
  Remove __proto__ parsing from browser build scripts
  Replace __proto__ with lodash.create
  Removes heading newline.
  support escaped spaces in cli options
  Fixes indentation.
  Simplifies split regex, the filter already catches empty args.
  Removes unneeded trim, the filter does the same.
  Simplifies filter by truthy values.
  add lint check to test-all target.  YES!
  remove dupe in contributors list
  lock down supports-color dependency
  lint runner.js
  Escape test/suite title for re in html reporter
  Remove npm version from engines field
  CI: Update npm when < 1.3.7
  ...

Conflicts:
	.travis.yml
	lib/runnable.js
  • Loading branch information
boneskull committed Jul 12, 2015
2 parents 5c6d16f + 61d05c2 commit 0b9876b
Show file tree
Hide file tree
Showing 65 changed files with 12,088 additions and 4,794 deletions.
131 changes: 131 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
---
env:
node: true

rules:
brace-style: [2, 1tbs]
camelcase: 2
comma-dangle: [2, never]
comma-spacing: [2, {before: false, after: true}]
comma-style: [2, last]
computed-property-spacing: [2, never]
consistent-return: 0
consistent-this: [1, self]
curly: [2, all]
default-case: 2
dot-location: [2, property]
dot-notation: [2, { allowKeywords: true, allowPattern: "^long$" }]
eol-last: 2
eqeqeq: 2
func-style: [2, declaration]
guard-for-in: 2 # TODO: Change to error
handle-callback-err: [2, ^(err|error)$]
indent: [2, 2]
key-spacing: [2, { beforeColon: false, afterColon: true }]
max-len: [0, 80, 2] # TODO: Change to error
max-params: [1, 4]
new-cap: 0 # TODO: Change to error
new-parens: 2
no-alert: 2
no-array-constructor: 0
no-bitwise: 0
no-caller: 2
no-catch-shadow: 2
no-cond-assign: [1, except-parens] # TODO: Change to error
no-console: 0
no-constant-condition: 0
no-control-regex: 2
no-debugger: 1
no-delete-var: 2
no-dupe-args: 2
no-dupe-keys: 2
no-duplicate-case: 2
no-else-return: 2
no-empty: 2
no-empty-character-class: 2
no-eq-null: 0
no-eval: 2
no-ex-assign: 2
no-extend-native: 2
no-extra-bind: 2
no-extra-boolean-cast: 2
no-extra-semi: 2
no-fallthrough: 2
no-floating-decimal: 0
no-func-assign: 2
no-implied-eval: 2
no-inner-declarations: [2, functions]
no-invalid-regexp: 2
no-irregular-whitespace: 2
no-iterator: 2
no-labels: 2
no-lone-blocks: 2
no-lonely-if: 2
no-loop-func: 2
no-mixed-requires: [0, false]
no-mixed-spaces-and-tabs: [2, false]
no-multi-spaces: 2
no-multi-str: 2
no-multiple-empty-lines: [2, { max: 1 }]
no-native-reassign: 2
no-negated-in-lhs: 2
no-nested-ternary: 2
no-new: 2
no-new-func: 2
no-new-object: 2
no-new-require: 2
no-new-wrappers: 2
no-obj-calls: 2
no-octal: 2
no-octal-escape: 2
no-path-concat: 2
no-process-exit: 2
no-proto: 1 # TODO: Change to error
no-redeclare: 2
no-regex-spaces: 2
no-reserved-keys: 2
no-return-assign: 2
no-script-url: 2
no-self-compare: 2
no-sequences: 2
no-shadow: 0
no-shadow-restricted-names: 2
no-spaced-func: 2
no-sparse-arrays: 2
no-trailing-spaces: 2
no-undef: 2
no-undef-init: 2
no-underscore-dangle: 0 # TODO: Change to error
no-unneeded-ternary: 2
no-unreachable: 2
no-unused-expressions: 0
no-unused-vars: [2, { vars: all, args: after-used }]
no-use-before-define: 0
no-void: 2
no-with: 2
object-curly-spacing: [2, always]
one-var: [2, never]
operator-assignment: [2, always]
operator-linebreak: [2, before]
padded-blocks: [2, never]
quote-props: [2, as-needed]
quotes: [2, single, avoid-escape]
radix: 2
semi: [2, always]
semi-spacing: [2, { before: false, after: true }]
space-after-keywords: [2, always]
space-before-blocks: [2, always]
space-before-function-paren: [2, never]
space-in-parens: [2, never]
space-infix-ops: 2
space-return-throw-case: 2
space-unary-ops: [2, { words: true, nonwords: false }]
spaced-line-comment: 2
strict: [0, global] # TODO: Change to error
use-isnan: 2
valid-jsdoc: [0, { requireReturn: false }] # TODO: Change to warning
valid-typeof: 2
vars-on-top: 0
wrap-iife: 2
wrap-regex: 2
yoda: [2, never]
12 changes: 11 additions & 1 deletion .mailmap
Original file line number Diff line number Diff line change
@@ -1 +1,11 @@
TJ Holowaychuk <[email protected]>
TJ Holowaychuk <[email protected]>
Travis Jeffery <[email protected]> <[email protected]>
Travis Jeffery <[email protected]> Dr. Travis Jeffery <[email protected]>
Christopher Hiller <[email protected]> Christopher Hiller <[email protected]>
David da Silva Contín <[email protected]> David da Silva <[email protected]>
David da Silva Contín <[email protected]> David da Silva <[email protected]>
Ariel Mashraki <[email protected]> Ariel Mashraki <[email protected]>
Ariel Mashraki <[email protected]> Ariel Mashraki <[email protected]>
Forbes Lindesay <[email protected]> Forbes Lindesay <[email protected]>
Ben Bradley <[email protected]> Ben Bradley <[[email protected]|mailto:[email protected]]>
Glen Mailer <[email protected]> Glen Mailer <[email protected]>
3 changes: 3 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
language: node_js
before_install:
- ./scripts/ensure-compatible-npm.sh
script: travis_retry npm test
node_js:
- 'iojs'
- '0.12'
Expand Down
31 changes: 15 additions & 16 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
BROWSERIFY := node_modules/.bin/browserify
ESLINT := node_modules/.bin/eslint

REPORTER ?= spec
TM_BUNDLE = JavaScript\ mocha.tmbundle
Expand All @@ -6,20 +8,14 @@ SUPPORT = $(wildcard support/*.js)

all: mocha.js

lib/browser/diff.js: node_modules/diff/diff.js
cp node_modules/diff/diff.js lib/browser/diff.js

lib/browser/escape-string-regexp.js: node_modules/escape-string-regexp/index.js
cp node_modules/escape-string-regexp/index.js lib/browser/escape-string-regexp.js

mocha.js: $(SRC) $(SUPPORT) lib/browser/diff.js lib/browser/escape-string-regexp.js
@node support/compile $(SRC)
@cat \
support/head.js \
_mocha.js \
support/tail.js \
support/foot.js \
> mocha.js
mocha.js: $(SRC) $(SUPPORT)
@$(BROWSERIFY) ./support/browser-entry \
--ignore 'fs' \
--ignore 'glob' \
--ignore 'jade' \
--ignore 'path' \
--ignore 'supports-color' \
--exclude './lib-cov/mocha' > $@

clean:
rm -f mocha.js
Expand All @@ -34,9 +30,12 @@ lib-cov:
@rm -fr ./$@
@jscoverage lib $@

test: test-unit
lint:
@$(ESLINT) --reset $(SRC)

test: lint test-unit

test-all: 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-all: lint 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-jsapi:
@node test/jsapi
Expand Down
3 changes: 3 additions & 0 deletions bin/.eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
rules:
no-process-exit: 0
7 changes: 5 additions & 2 deletions bin/_mocha
Original file line number Diff line number Diff line change
Expand Up @@ -195,10 +195,13 @@ var reporterOptions = {};
if (program.reporterOptions !== undefined) {
program.reporterOptions.split(",").forEach(function(opt) {
var L = opt.split("=");
if (L.length != 2) {
if (L.length > 2 || L.length === 0) {
throw new Error("invalid reporter option '" + opt + "'");
} else if (L.length === 2) {
reporterOptions[L[0]] = L[1];
} else {
reporterOptions[L[0]] = true;
}
reporterOptions[L[0]] = L[1];
});
}

Expand Down
1 change: 0 additions & 1 deletion bin/mocha
Original file line number Diff line number Diff line change
Expand Up @@ -81,5 +81,4 @@ proc.on('exit', function (code, signal) {
process.on('SIGINT', function () {
proc.kill('SIGINT'); // calls runner.abort()
proc.kill('SIGTERM'); // if that didn't work, we're probably in an infinite loop, so make it die.
process.kill(process.pid, 'SIGINT');
});
11 changes: 6 additions & 5 deletions bin/options.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,12 @@ function getOptions() {

try {
var opts = fs.readFileSync(optsPath, 'utf8')
.trim()
.split(/\s+/)
.filter(function(value) {
return value ? true : false;
});
.replace(/\\\s/g, '%20')
.split(/\s/)
.filter(Boolean)
.map(function(value) {
return value.replace(/%20/g, ' ');
});

process.argv = process.argv
.slice(0, 2)
Expand Down
6 changes: 3 additions & 3 deletions lib/browser/debug.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
module.exports = function(type){
return function(){
}
/* eslint-disable no-unused-vars */
module.exports = function(type) {
return function() {};
};
11 changes: 0 additions & 11 deletions lib/browser/escape-string-regexp.js

This file was deleted.

Loading

0 comments on commit 0b9876b

Please sign in to comment.