When you run npm test
and it fails, you get the test outputs + a single error message, like so:
npm ERR! Test failed. See above for more details.
<
I've just been trying to figure out the same. Not a perfect answer but it kind of worked to specify linting as a pretest script (docs) like so:
// package.json
{
// ...
"scripts": {
// ... definition for test ...
"pretest": "./node_modules/jsxhint/cli.js src/",
}
}
Then, when you type in npm test
the first time, you will only get a single-line error from NPM. Obviously, that means you won't be able to run your tests if you haven't linted.
The other option is to use some kind of third party task runner like Make, Grunt or Gulp.
I've only used Make, and I think it's the most painless to set up (at least on OSX and Linux, not sure about Windows).
Create a Makefile
in your root that looks like so:
lint:
./node_modules/.bin/jslint ./*.js # or whatever your lint command is
test:
./node_modules/.bin/mocha test/*.js # or whatever your test command is
.PHONY: lint test
Then type make test
and make lint
to run those commands.