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 setup.py install
In both cases you must have installed in your system setuptools or distribute.
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 Options: -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.
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 pyjslint.check_JSLint(file.read())
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