gulp-mocha
Advanced tools
Comparing version 6.0.0 to 7.0.0
60
index.js
@@ -7,8 +7,4 @@ 'use strict'; | ||
const through = require('through2'); | ||
// TODO: Use execa localDir option when available | ||
const npmRunPath = require('npm-run-path'); | ||
const utils = require('./utils'); | ||
const HUNDRED_MEGABYTES = 1000 * 1000 * 100; | ||
// Mocha options that can be specified multiple times | ||
@@ -19,23 +15,22 @@ const MULTIPLE_OPTS = new Set([ | ||
module.exports = opts => { | ||
opts = Object.assign({ | ||
module.exports = options => { | ||
options = { | ||
colors: Boolean(supportsColor.stdout), | ||
suppress: false | ||
}, opts); | ||
suppress: false, | ||
...options | ||
}; | ||
for (const key of Object.keys(opts)) { | ||
const val = opts[key]; | ||
if (Array.isArray(val)) { | ||
for (const [key, value] of Object.entries(options)) { | ||
if (Array.isArray(value)) { | ||
if (!MULTIPLE_OPTS.has(key)) { | ||
// Convert arrays into comma separated lists | ||
opts[key] = val.join(','); | ||
options[key] = value.join(','); | ||
} | ||
} else if (typeof val === 'object') { | ||
} else if (typeof value === 'object') { | ||
// Convert an object into comma separated list | ||
opts[key] = utils.convertObjectToList(val); | ||
options[key] = utils.convertObjectToList(value); | ||
} | ||
} | ||
const args = dargs(opts, { | ||
const args = dargs(options, { | ||
excludes: ['suppress'], | ||
@@ -59,22 +54,21 @@ ignoreFalse: true | ||
function flush(done) { | ||
const env = npmRunPath.env({cwd: __dirname}); | ||
const proc = execa('mocha', files.concat(args), { | ||
env, | ||
maxBuffer: HUNDRED_MEGABYTES | ||
}); | ||
(async () => { | ||
const subprocess = execa('mocha', files.concat(args), { | ||
localDir: __dirname | ||
}); | ||
proc | ||
.then(result => { | ||
if (!options.suppress) { | ||
subprocess.stdout.pipe(subprocess.stdout); | ||
subprocess.stderr.pipe(subprocess.stderr); | ||
} | ||
try { | ||
const result = await subprocess; | ||
this.emit('_result', result); | ||
done(); | ||
}) | ||
.catch(err => { | ||
this.emit('error', new PluginError('gulp-mocha', err.code > 0 ? 'There were test failures' : err)); | ||
done(); | ||
}); | ||
} catch (error) { | ||
this.emit('error', new PluginError('gulp-mocha', error.exitCode > 0 ? 'There were test failures' : error)); | ||
} | ||
if (!opts.suppress) { | ||
proc.stdout.pipe(process.stdout); | ||
proc.stderr.pipe(process.stderr); | ||
} | ||
done(); | ||
})(); | ||
} | ||
@@ -81,0 +75,0 @@ |
{ | ||
"name": "gulp-mocha", | ||
"version": "6.0.0", | ||
"version": "7.0.0", | ||
"description": "Run Mocha tests", | ||
@@ -13,3 +13,3 @@ "license": "MIT", | ||
"engines": { | ||
"node": ">=6" | ||
"node": ">=8" | ||
}, | ||
@@ -38,17 +38,32 @@ "scripts": { | ||
"dependencies": { | ||
"dargs": "^5.1.0", | ||
"execa": "^0.10.0", | ||
"mocha": "^5.2.0", | ||
"npm-run-path": "^2.0.2", | ||
"dargs": "^7.0.0", | ||
"execa": "^2.0.4", | ||
"mocha": "^6.2.0", | ||
"plugin-error": "^1.0.1", | ||
"supports-color": "^5.4.0", | ||
"through2": "^2.0.3" | ||
"supports-color": "^7.0.0", | ||
"through2": "^3.0.1" | ||
}, | ||
"devDependencies": { | ||
"ava": "*", | ||
"gulp": "^3.9.1", | ||
"p-event": "^1.0.0", | ||
"ava": "^2.3.0", | ||
"gulp": "^4.0.2", | ||
"p-event": "^4.1.0", | ||
"vinyl": "^2.1.0", | ||
"xo": "*" | ||
"xo": "^0.24.0" | ||
}, | ||
"peerDependencies": { | ||
"gulp": ">=4" | ||
}, | ||
"xo": { | ||
"ignores": [ | ||
"test/fixtures" | ||
], | ||
"rules": { | ||
"ava/no-ignored-test-files": "off" | ||
} | ||
}, | ||
"ava": { | ||
"files": [ | ||
"test/test.js" | ||
] | ||
} | ||
} |
@@ -9,9 +9,3 @@ # gulp-mocha [![Build Status](https://travis-ci.org/sindresorhus/gulp-mocha.svg?branch=master)](https://travis-ci.org/sindresorhus/gulp-mocha) | ||
--- | ||
<p align="center"><b>🔥 Want to strengthen your core JavaScript skills and master ES6?</b><br>I would personally recommend this awesome <a href="https://ES6.io/friend/AWESOME">ES6 course</a> by Wes Bos. You might also like his <a href="https://ReactForBeginners.com/friend/AWESOME">React course</a>.</p> | ||
--- | ||
## Install | ||
@@ -30,3 +24,3 @@ | ||
gulp.task('default', () => | ||
exports.default = () => ( | ||
gulp.src('test.js', {read: false}) | ||
@@ -41,11 +35,10 @@ // `gulp-mocha` needs filepaths so you can't have any plugins before it | ||
### mocha([options]) | ||
### mocha(options?) | ||
#### options | ||
Type: `Object` | ||
Type: `object` | ||
Options are passed directly to the `mocha` binary, so you can use any its [command-line options](http://mochajs.org/#usage) in a camelCased form. Arrays and key/value objects are correctly converted to the comma separated list format Mocha expects. Listed below are some of the more commonly used options: | ||
##### ui | ||
@@ -71,3 +64,3 @@ | ||
Type: `Object`<br> | ||
Type: `object`<br> | ||
Example: `{reportFilename: 'index.html'}` | ||
@@ -79,3 +72,3 @@ | ||
Type: `Array` | ||
Type: `string[]` | ||
@@ -113,3 +106,3 @@ List of accepted global variable names, example `['YUI']`. Accepts wildcards to match multiple global variables, e.g. `['gulp*']` or even `['*']`. See [Mocha globals option](http://mochajs.org/#globals-option). | ||
Type: `Array` | ||
Type: `string[]` | ||
@@ -133,3 +126,3 @@ Require custom modules before tests are run. | ||
```js | ||
gulp.task('default', () => | ||
exports.default = () => ( | ||
gulp.src('test.js') | ||
@@ -150,3 +143,3 @@ .pipe(mocha()) | ||
```js | ||
gulp.task('test', () => | ||
exports.test = () => ( | ||
gulp.src(['test/**/*.js'], {read: false}) | ||
@@ -157,6 +150,1 @@ .pipe(mocha({reporter: 'list', exit: true})) | ||
``` | ||
## License | ||
MIT © [Sindre Sorhus](https://sindresorhus.com) |
14
utils.js
'use strict'; | ||
// TODO: Use `Object.entries` when targeting Node.js 8 | ||
function objectEntries(object) { | ||
const entries = []; | ||
for (const key of Object.keys(object)) { | ||
const value = object[key]; | ||
entries.push([key, value]); | ||
} | ||
return entries; | ||
} | ||
function convertObjectToList(object) { | ||
return objectEntries(object) | ||
return Object.entries(object) | ||
.reduce((result, current) => result.concat(`${current[0]}=${current[1]}`), []) | ||
@@ -18,0 +6,0 @@ .join(','); |
7067
70
142
+ Added@gulpjs/messages@1.1.0(transitive)
+ Added@gulpjs/to-absolute-glob@4.0.0(transitive)
+ Addedansi-colors@3.2.3(transitive)
+ Addedansi-regex@3.0.14.1.15.0.1(transitive)
+ Addedansi-styles@3.2.14.3.0(transitive)
+ Addedanymatch@3.1.3(transitive)
+ Addedargparse@1.0.10(transitive)
+ Addedarray-buffer-byte-length@1.0.2(transitive)
+ Addedarray-each@1.0.1(transitive)
+ Addedarray-slice@1.1.0(transitive)
+ Addedarray.prototype.reduce@1.0.7(transitive)
+ Addedarraybuffer.prototype.slice@1.0.4(transitive)
+ Addedasync-done@2.0.0(transitive)
+ Addedasync-function@1.0.0(transitive)
+ Addedasync-settle@2.0.0(transitive)
+ Addedavailable-typed-arrays@1.0.7(transitive)
+ Addedb4a@1.6.7(transitive)
+ Addedbach@2.0.1(transitive)
+ Addedbare-events@2.5.4(transitive)
+ Addedbase64-js@1.5.1(transitive)
+ Addedbinary-extensions@2.3.0(transitive)
+ Addedbl@5.1.0(transitive)
+ Addedbraces@3.0.3(transitive)
+ Addedbuffer@6.0.3(transitive)
+ Addedcall-bind@1.0.8(transitive)
+ Addedcall-bind-apply-helpers@1.0.1(transitive)
+ Addedcall-bound@1.0.3(transitive)
+ Addedcamelcase@5.3.1(transitive)
+ Addedchalk@2.4.24.1.2(transitive)
+ Addedchokidar@3.6.0(transitive)
+ Addedcliui@5.0.07.0.4(transitive)
+ Addedclone@2.1.2(transitive)
+ Addedclone-stats@1.0.0(transitive)
+ Addedcolor-convert@1.9.32.0.1(transitive)
+ Addedcolor-name@1.1.31.1.4(transitive)
+ Addedconvert-source-map@2.0.0(transitive)
+ Addedcopy-props@4.0.0(transitive)
+ Addedcross-spawn@7.0.6(transitive)
+ Addeddargs@7.0.0(transitive)
+ Addeddata-view-buffer@1.0.2(transitive)
+ Addeddata-view-byte-length@1.0.2(transitive)
+ Addeddata-view-byte-offset@1.0.1(transitive)
+ Addeddebug@3.2.6(transitive)
+ Addeddecamelize@1.2.0(transitive)
+ Addeddefine-data-property@1.1.4(transitive)
+ Addeddefine-properties@1.2.1(transitive)
+ Addeddetect-file@1.0.0(transitive)
+ Addeddunder-proto@1.0.1(transitive)
+ Addedeach-props@3.0.0(transitive)
+ Addedemoji-regex@7.0.38.0.0(transitive)
+ Addedend-of-stream@1.4.4(transitive)
+ Addedes-abstract@1.23.9(transitive)
+ Addedes-array-method-boxes-properly@1.0.0(transitive)
+ Addedes-define-property@1.0.1(transitive)
+ Addedes-errors@1.3.0(transitive)
+ Addedes-object-atoms@1.1.1(transitive)
+ Addedes-set-tostringtag@2.1.0(transitive)
+ Addedes-to-primitive@1.3.0(transitive)
+ Addedescalade@3.2.0(transitive)
+ Addedesprima@4.0.1(transitive)
+ Addedexeca@2.1.0(transitive)
+ Addedexpand-tilde@2.0.2(transitive)
+ Addedextend@3.0.2(transitive)
+ Addedfast-fifo@1.3.2(transitive)
+ Addedfast-levenshtein@3.0.0(transitive)
+ Addedfastest-levenshtein@1.0.16(transitive)
+ Addedfastq@1.18.0(transitive)
+ Addedfill-range@7.1.1(transitive)
+ Addedfind-up@3.0.0(transitive)
+ Addedfindup-sync@5.0.0(transitive)
+ Addedfined@2.0.0(transitive)
+ Addedflagged-respawn@2.0.0(transitive)
+ Addedflat@4.1.1(transitive)
+ Addedfor-each@0.3.4(transitive)
+ Addedfor-in@1.0.2(transitive)
+ Addedfor-own@1.0.0(transitive)
+ Addedfs-mkdirp-stream@2.0.1(transitive)
+ Addedfsevents@2.3.3(transitive)
+ Addedfunction-bind@1.1.2(transitive)
+ Addedfunction.prototype.name@1.1.8(transitive)
+ Addedfunctions-have-names@1.2.3(transitive)
+ Addedget-caller-file@2.0.5(transitive)
+ Addedget-intrinsic@1.2.7(transitive)
+ Addedget-proto@1.0.1(transitive)
+ Addedget-stream@5.2.0(transitive)
+ Addedget-symbol-description@1.1.0(transitive)
+ Addedglob@7.1.3(transitive)
+ Addedglob-parent@5.1.26.0.2(transitive)
+ Addedglob-stream@8.0.2(transitive)
+ Addedglob-watcher@6.0.0(transitive)
+ Addedglobal-modules@1.0.0(transitive)
+ Addedglobal-prefix@1.0.2(transitive)
+ Addedglobalthis@1.0.4(transitive)
+ Addedglogg@2.2.0(transitive)
+ Addedgopd@1.2.0(transitive)
+ Addedgraceful-fs@4.2.11(transitive)
+ Addedgulp@5.0.0(transitive)
+ Addedgulp-cli@3.0.0(transitive)
+ Addedgulplog@2.2.0(transitive)
+ Addedhas-bigints@1.1.0(transitive)
+ Addedhas-flag@4.0.0(transitive)
+ Addedhas-property-descriptors@1.0.2(transitive)
+ Addedhas-proto@1.2.0(transitive)
+ Addedhas-symbols@1.1.0(transitive)
+ Addedhas-tostringtag@1.0.2(transitive)
+ Addedhasown@2.0.2(transitive)
+ Addedhe@1.2.0(transitive)
+ Addedhomedir-polyfill@1.0.3(transitive)
+ Addediconv-lite@0.6.3(transitive)
+ Addedieee754@1.2.1(transitive)
+ Addedini@1.3.8(transitive)
+ Addedinternal-slot@1.1.0(transitive)
+ Addedinterpret@3.1.1(transitive)
+ Addedis-absolute@1.0.0(transitive)
+ Addedis-array-buffer@3.0.5(transitive)
+ Addedis-async-function@2.1.1(transitive)
+ Addedis-bigint@1.1.0(transitive)
+ Addedis-binary-path@2.1.0(transitive)
+ Addedis-boolean-object@1.2.1(transitive)
+ Addedis-buffer@2.0.5(transitive)
+ Addedis-callable@1.2.7(transitive)
+ Addedis-core-module@2.16.1(transitive)
+ Addedis-data-view@1.0.2(transitive)
+ Addedis-date-object@1.1.0(transitive)
+ Addedis-extglob@2.1.1(transitive)
+ Addedis-finalizationregistry@1.1.1(transitive)
+ Addedis-fullwidth-code-point@2.0.03.0.0(transitive)
+ Addedis-generator-function@1.1.0(transitive)
+ Addedis-glob@4.0.3(transitive)
+ Addedis-map@2.0.3(transitive)
+ Addedis-negated-glob@1.0.0(transitive)
+ Addedis-number@7.0.0(transitive)
+ Addedis-number-object@1.1.1(transitive)
+ Addedis-plain-object@5.0.0(transitive)
+ Addedis-regex@1.2.1(transitive)
+ Addedis-relative@1.0.0(transitive)
+ Addedis-set@2.0.3(transitive)
+ Addedis-shared-array-buffer@1.0.4(transitive)
+ Addedis-stream@2.0.1(transitive)
+ Addedis-string@1.1.1(transitive)
+ Addedis-symbol@1.1.1(transitive)
+ Addedis-typed-array@1.1.15(transitive)
+ Addedis-unc-path@1.0.0(transitive)
+ Addedis-valid-glob@1.0.0(transitive)
+ Addedis-weakmap@2.0.2(transitive)
+ Addedis-weakref@1.1.0(transitive)
+ Addedis-weakset@2.0.4(transitive)
+ Addedis-windows@1.0.2(transitive)
+ Addedisarray@2.0.5(transitive)
+ Addedjs-yaml@3.13.1(transitive)
+ Addedlast-run@2.0.0(transitive)
+ Addedlead@4.0.0(transitive)
+ Addedliftoff@5.0.0(transitive)
+ Addedlocate-path@3.0.0(transitive)
+ Addedlodash@4.17.21(transitive)
+ Addedlog-symbols@2.2.0(transitive)
+ Addedmap-cache@0.2.2(transitive)
+ Addedmath-intrinsics@1.1.0(transitive)
+ Addedmerge-stream@2.0.0(transitive)
+ Addedmicromatch@4.0.8(transitive)
+ Addedmimic-fn@2.1.0(transitive)
+ Addedminimist@1.2.8(transitive)
+ Addedmkdirp@0.5.4(transitive)
+ Addedmocha@6.2.3(transitive)
+ Addedms@2.1.1(transitive)
+ Addedmute-stdout@2.0.0(transitive)
+ Addednode-environment-flags@1.0.5(transitive)
+ Addednormalize-path@3.0.0(transitive)
+ Addednow-and-later@3.0.0(transitive)
+ Addednpm-run-path@3.1.0(transitive)
+ Addedobject-inspect@1.13.3(transitive)
+ Addedobject-keys@1.1.1(transitive)
+ Addedobject.assign@4.1.04.1.7(transitive)
+ Addedobject.defaults@1.1.0(transitive)
+ Addedobject.getownpropertydescriptors@2.1.8(transitive)
+ Addedobject.pick@1.3.0(transitive)
+ Addedonetime@5.1.2(transitive)
+ Addedown-keys@1.0.1(transitive)
+ Addedp-finally@2.0.1(transitive)
+ Addedp-limit@2.3.0(transitive)
+ Addedp-locate@3.0.0(transitive)
+ Addedp-try@2.2.0(transitive)
+ Addedparse-filepath@1.0.2(transitive)
+ Addedparse-passwd@1.0.0(transitive)
+ Addedpath-exists@3.0.0(transitive)
+ Addedpath-key@3.1.1(transitive)
+ Addedpath-parse@1.0.7(transitive)
+ Addedpath-root@0.1.1(transitive)
+ Addedpath-root-regex@0.1.2(transitive)
+ Addedpicomatch@2.3.1(transitive)
+ Addedpossible-typed-array-names@1.0.0(transitive)
+ Addedpump@3.0.2(transitive)
+ Addedreadable-stream@3.6.2(transitive)
+ Addedreaddirp@3.6.0(transitive)
+ Addedrechoir@0.8.0(transitive)
+ Addedreflect.getprototypeof@1.0.10(transitive)
+ Addedregexp.prototype.flags@1.5.4(transitive)
+ Addedremove-trailing-separator@1.1.0(transitive)
+ Addedreplace-ext@2.0.0(transitive)
+ Addedreplace-homedir@2.0.0(transitive)
+ Addedrequire-directory@2.1.1(transitive)
+ Addedrequire-main-filename@2.0.0(transitive)
+ Addedresolve@1.22.10(transitive)
+ Addedresolve-dir@1.0.1(transitive)
+ Addedresolve-options@2.0.0(transitive)
+ Addedreusify@1.0.4(transitive)
+ Addedsafe-array-concat@1.1.3(transitive)
+ Addedsafe-buffer@5.2.1(transitive)
+ Addedsafe-push-apply@1.0.0(transitive)
+ Addedsafe-regex-test@1.1.0(transitive)
+ Addedsafer-buffer@2.1.2(transitive)
+ Addedsemver@6.3.1(transitive)
+ Addedsemver-greatest-satisfied-range@2.0.0(transitive)
+ Addedset-blocking@2.0.0(transitive)
+ Addedset-function-length@1.2.2(transitive)
+ Addedset-function-name@2.0.2(transitive)
+ Addedset-proto@1.0.0(transitive)
+ Addedshebang-command@2.0.0(transitive)
+ Addedshebang-regex@3.0.0(transitive)
+ Addedside-channel@1.1.0(transitive)
+ Addedside-channel-list@1.0.0(transitive)
+ Addedside-channel-map@1.0.1(transitive)
+ Addedside-channel-weakmap@1.0.2(transitive)
+ Addedsparkles@2.1.0(transitive)
+ Addedsprintf-js@1.0.3(transitive)
+ Addedstream-composer@1.0.2(transitive)
+ Addedstream-exhaust@1.0.2(transitive)
+ Addedstreamx@2.22.0(transitive)
+ Addedstring-width@2.1.13.1.04.2.3(transitive)
+ Addedstring.prototype.trim@1.2.10(transitive)
+ Addedstring.prototype.trimend@1.0.9(transitive)
+ Addedstring.prototype.trimstart@1.0.8(transitive)
+ Addedstring_decoder@1.3.0(transitive)
+ Addedstrip-ansi@4.0.05.2.06.0.1(transitive)
+ Addedstrip-final-newline@2.0.0(transitive)
+ Addedstrip-json-comments@2.0.1(transitive)
+ Addedsupports-color@6.0.07.2.0(transitive)
+ Addedsupports-preserve-symlinks-flag@1.0.0(transitive)
+ Addedsver@1.8.4(transitive)
+ Addedteex@1.0.1(transitive)
+ Addedtext-decoder@1.2.3(transitive)
+ Addedthrough2@3.0.2(transitive)
+ Addedto-regex-range@5.0.1(transitive)
+ Addedto-through@3.0.0(transitive)
+ Addedtyped-array-buffer@1.0.3(transitive)
+ Addedtyped-array-byte-length@1.0.3(transitive)
+ Addedtyped-array-byte-offset@1.0.4(transitive)
+ Addedtyped-array-length@1.0.7(transitive)
+ Addedunbox-primitive@1.1.0(transitive)
+ Addedunc-path-regex@0.1.2(transitive)
+ Addedundertaker@2.0.0(transitive)
+ Addedundertaker-registry@2.0.0(transitive)
+ Addedv8flags@4.0.1(transitive)
+ Addedvalue-or-function@4.0.0(transitive)
+ Addedvinyl@3.0.0(transitive)
+ Addedvinyl-contents@2.0.0(transitive)
+ Addedvinyl-fs@4.0.0(transitive)
+ Addedvinyl-sourcemap@2.0.0(transitive)
+ Addedwhich@2.0.2(transitive)
+ Addedwhich-boxed-primitive@1.1.1(transitive)
+ Addedwhich-builtin-type@1.2.1(transitive)
+ Addedwhich-collection@1.0.2(transitive)
+ Addedwhich-module@2.0.1(transitive)
+ Addedwhich-typed-array@1.1.18(transitive)
+ Addedwide-align@1.1.3(transitive)
+ Addedwrap-ansi@5.1.07.0.0(transitive)
+ Addedy18n@4.0.35.0.8(transitive)
+ Addedyargs@13.3.216.2.0(transitive)
+ Addedyargs-parser@13.1.220.2.9(transitive)
+ Addedyargs-unparser@1.6.0(transitive)
- Removednpm-run-path@^2.0.2
- Removedcommander@2.15.1(transitive)
- Removedcore-util-is@1.0.3(transitive)
- Removedcross-spawn@6.0.6(transitive)
- Removeddargs@5.1.0(transitive)
- Removeddebug@3.1.0(transitive)
- Removedexeca@0.10.0(transitive)
- Removedget-stream@3.0.0(transitive)
- Removedglob@7.1.2(transitive)
- Removedhe@1.1.1(transitive)
- Removedis-stream@1.1.0(transitive)
- Removedisarray@1.0.0(transitive)
- Removedminimist@0.0.8(transitive)
- Removedmkdirp@0.5.1(transitive)
- Removedmocha@5.2.0(transitive)
- Removedms@2.0.0(transitive)
- Removednice-try@1.0.5(transitive)
- Removednpm-run-path@2.0.2(transitive)
- Removedp-finally@1.0.0(transitive)
- Removedpath-key@2.0.1(transitive)
- Removedprocess-nextick-args@2.0.1(transitive)
- Removedreadable-stream@2.3.8(transitive)
- Removedsafe-buffer@5.1.2(transitive)
- Removedshebang-command@1.2.0(transitive)
- Removedshebang-regex@1.0.0(transitive)
- Removedstring_decoder@1.1.1(transitive)
- Removedstrip-eof@1.0.0(transitive)
- Removedsupports-color@5.4.0(transitive)
- Removedthrough2@2.0.5(transitive)
- Removedxtend@4.0.2(transitive)
Updateddargs@^7.0.0
Updatedexeca@^2.0.4
Updatedmocha@^6.2.0
Updatedsupports-color@^7.0.0
Updatedthrough2@^3.0.1