node package manager
Stop writing boring code. Discover, share, and reuse within your team. Create a free org ยป



A version of node-jslint that pulls from Crockford's JSLint every time you install it.

The options for node, strict, and es5, are selected by default.

/*jslint node: true, strict: true, es5: true */
/*global provide: true */

There's no reason to not be using "use strict"; in your node code.


Install with npm (always the latest version)

npm uninstall -g jslint-strict
npm install -g jslint-strict



jslint-strict ./examples/my-module.js

JSLint Options in your code


/*global provide: true */
(function () {
  "use strict";
  /*jslint onevar: true, undef: true, newcap: true, nomen: true, regexp: true, plusplus: true, bitwise: true */

  function stringToInt() {
    /*jslint bitwise:false */
    return "hello" >> 0;

  module.exports = stringToInt;


var jslint = require('jslint-strict')
  , fs = require('fs')
  , file = fs.readFileSync('/path/to/file')
  , options = { strict: true, es5: true, node: true };

jslint(file, options)

Note: There are no modifications to Crockford's JSLint when used this way. You must add the options yourself.


  • Don't ever actually use bit-shifting to convert strings to ints.
  • Use arr.forEach, not for (var i = 0; i < arr.length; i += 1)
  • Use Object.keys(obj).forEach, not for (var k in obj)


  • Strip #!/usr/bin/env node before linting
  • Use node's httpClient or abstract-http-request rather than curl
  • Be more generic and provide options for Browser, rhino, node