Python wrapper for running jslint
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


JSLint Wrapper

JSLint wrapper for Python. Can be invoked from the command line and any Python code.

It is built on top of the power of NodeJS.


It only depends on nodejs. You must have node on your system for running this wrapper.

It runs just fine with the 0.4.12 version, but it may work too with other versions.

There is no need to download JSLint, it will be fetched for your convinience. But, if you want to use your own JSLint file you can specify it with an option, just make it sure it is prepared to be executed on nodejs.


It is uploaded to PyPI so this will do the trick:

easy_install pyjslint

Or you can install it from the source code running:

python install

In both cases you must have installed in your system setuptools or distribute.

Use it from the command line

If you call the wrapper without arguments this will be the output:

$ pyjslint
One JavaScript file must be specified
Usage: pyjslint [options] jsfile

So at least one JavaScript file must be specified.

Let's look at the possible options:

$ pyjslint --help
Usage: pyjslint [options] jsfile

    -h, --help              show this help message and exit
    -u, --upgrade           Upgrade JSLint
    -j JSLINT, --jslint=JSLINT
                            JSLint location
    -o JSOPTIONS, --options=JSOPTIONS
                            JSLint options
    -n NODE, --node=NODE  Node location

With this options you can specify the JSLint file to use, where to find the node executable or just make it sure it downloads the newest JSLint available.

Use it from Python

If you want to use in your Python code, maybe in a control version system hook or something, just make it sure it is in the Python path and do something like this:

import pyjslint

# The method requires the text content of the file to check

It will return a list with the errors found by JSLint.

There is no way to specify options yet if you invoke it this way. Maybe someday, contributions are welcome ;)


Based on code from FND.


If no JSLint file is specified (the default behaviour), it will download the newest one from Douglas GitHub into ~/.jslint/jslint.js