Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
gulp-mocha
Advanced tools
Run Mocha tests
Keep in mind that this is just a thin wrapper around Mocha and your issue is most likely with Mocha.
npm install --save-dev gulp-mocha
import gulp from 'gulp';
import mocha from 'gulp-mocha';
export default () => (
gulp.src('test.js', {read: false})
// `gulp-mocha` needs file paths so you cannot have any plugins before it.
.pipe(mocha({reporter: 'nyan'}))
);
Type: object
Options are passed directly to the mocha
binary, so you can use any its command-line options 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:
Type: string
Default: 'bdd'
Values: 'bdd' | 'tdd' | 'qunit' | 'exports'
The interface to use.
Type: string
Default: spec
Values: Reporters
The reporter that will be used.
This option can also be used to utilize third-party reporters. For example, if you npm install mocha-lcov-reporter
you can then do use mocha-lcov-reporter
as value.
Type: object
Example: {reportFilename: 'index.html'}
Reporter specific options.
Type: string[]
List of accepted global variable names, example ['YUI']
. Accepts wildcards to match multiple global variables, e.g. ['gulp*']
or even ['*']
. See Mocha globals option.
Type: number
Default: 2000
Test-case timeout in milliseconds.
Type: boolean
Default: false
Bail on the first test failure.
Type: boolean
Default: false
Check for global variable leaks.
Type: string
Only run tests matching the given pattern which is internally compiled to a RegExp.
Type: string[]
Require custom modules before tests are run.
Type: string
Example: js:babel-core/register
Specify a compiler.
If your test suite is not exiting it might be because you still have a lingering callback, most often caused by an open database connection. You should close this connection or do the following:
export default () => (
gulp.src('test.js')
.pipe(mocha())
.once('error', err => {
console.error(err);
process.exit(1);
})
.once('end', () => {
process.exit();
})
);
Or you might just need to pass the exit
option:
export const test = () => (
gulp.src(['test/**/*.js'], {read: false})
.pipe(mocha({reporter: 'list', exit: true}))
.on('error', console.error)
);
FAQs
Run Mocha tests
We found that gulp-mocha demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.