Flycheck is a modern on-the-fly syntax checking extension, and a modern alternative to Flymake. It supports many languages with many different syntax checkers out of the box.

Please be aware that the Flycheck maintainers do not support or endorse any of the following content. Use at your own risk.

JSLint with Flycheck

As of April 2016, Flycheck has no built in support for JSLint (but does include support for jshint, eslint, and gjslint). Fortunately support is straight forward to add.

1. Install Node.js and NPM.

2. Install JSLinter:

npm install jslinter -g

3. Add to ~/.emacs (adapt :command according to your system):

(require 'json)
(require 'flycheck)
(defun my-parse-jslinter-warning (warning)
   :line (1+ (cdr (assoc 'line warning)))
   :column (1+ (cdr (assoc 'column warning)))
   :message (cdr (assoc 'message warning))
   :level 'error
   :buffer (current-buffer)
   :checker 'javascript-jslinter))
(defun jslinter-error-parser (output checker buffer)
  (mapcar 'parse-jslinter-warning
          (cdr (assoc 'warnings (aref (json-read-from-string output) 0)))))
(flycheck-define-checker javascript-jslinter
  "A JavaScript syntax and style checker based on JSLinter.

See URL `'."
  :command ("c:/Users/Felix/AppData/Roaming/npm/jslint" "--raw" source)
  :error-parser jslinter-error-parser
  :modes (js-mode js2-mode js3-mode))

4. Restart Emacs to make sure everything loads fine.

5. Test.