Skip to content

Yaco-Sistemas/pyjslint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

https://badge.fury.io/py/pyjslint.png https://pypip.in/d/pyjslint/badge.png

Dependencies

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.

Installation

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.

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

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.

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
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 ;)

Acknowledges

Based on code from FND.

Notes

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