Can I use nodemon to lint my javascript? I am not using any build tool e.g. gulp or grunt and want to maximize the use of node and npm.
The output from nodemon can be piped. I want to use this for linting the changed file using eslint.
Here is my package.json
{
"name": "app",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "nodemon server.js",
"lint": "eslint"
},
"dependencies": {
"MD5": "*",
"clean-css": "*",
"express": "~4.9.0",
"express-handlebars": "~2.0.1",
"express-redis-cache": "*",
"foundation-sites": "~5.5.3",
"fs-extra": "~0.8.1",
"node-rest-client": "~1.5.1",
"node-sass": "*",
"path": "*"
},
"devDependencies": {
"babel-eslint": "^4.1.6",
"eslint": "^1.10.3",
"eslint-config-airbnb": "^2.1.1",
"eslint-config-airbnb-es5": "^1.0.8",
"eslint-plugin-react": "^3.13.1",
"nodemon": "~1.8.1",
"parallelshell": "~2.0.0",
"watch": "~0.17.1"
}
}
I tried this. But it doesn't work.It gives error.
"scripts": {
"start": "nodemon({ script: 'server.js' }).on('restart', function () {console.log('nodemon started');}).on('crash', function () {console.log('script crashed for some reason');});",
"lint": "eslint"
},
I use Standard.js for linting and I can get it to work with
nodemon
using the belowpackage.json
script.When I run
npm run dev
, any changes I make will be monitored and linted. I tested this inWindows
usingPowerShell
.Linting is purely a development process.
Nodemon
is a tool used for running server and not connected with build tools, but with running your application. Therefore answer is "NO". You should use proper tool for development automation like grunt, gulp etc. or just pure NPM scripts (in your package.json file).I'd recommend using automation tools if your project is complicated, has many stages and a lot of bundling etc. However, for only linting, you could just prepare one-liner in your npm
package.json
, e.g. like this:And then run it with command: 'npm run lint'.
Remember that by using properly configured
.eslintrc
file, you could lint your code both by console commands, but by editors/IDEs as well (almost every broadly popular IDE has plugin for eslint).More info about configuring eslint and creating proper
eslintrc
file could be found here: http://eslint.org/docs/user-guide/configuringYou can use the
exec
option ofnodemon
to run your tests as you save code. Here's an example:This will cause nodemon to run
npm run test && node server.js
, and it won't start the server until all the tests have run successfully.