JavaScript::JSLint - Check JavaScript code for problems


JavaScript-JSLint documentation  | view source Contained in the JavaScript-JSLint distribution.

Index


NAME

Top

JavaScript::JSLint - Check JavaScript code for problems

SYNOPSIS

Top

  use JavaScript::JSLint;

  my @errors = jslint( $javascript, white => 1 );
  foreach my $err (@errors) {
    print "$err->{reason} at line $err->{line}\n";
  }

DESCRIPTION

Top

JavaScript::JSLint is a tool for checking for common problems in JavaScript code. It's based on Douglas Crockford's jslint. Full documentation on the conditions that it detects is at http://jslint.com/lint.html.

You may be more interested in the command line interface, jslint.

EXPORT

jslint()

This takes one mandatory parameter: a string containing JavaScript code. It returns a list of errors. If there are no problems, an empty list will be returned. Each error is a hash reference containing these keys:

id

The category of error.

line

The line number of the error.

character

The character on the line where the error occurs.

reason

Descriptive text of the error.

evidence

A copy of the line of code that produced the error.

In addition to pure JavaScript, you can also pass in a piece of HTML code. This will be parsed and any JavaScript found within will be checked in the usual manner. The HTML code must be a full web page, i.e. start with <html>.

You can optionally pass in a second parameter to influence how JSLint works. The following keys are used. All take a boolean value, and each one is false by default.

bitwise

true if bitwise operators should not be allowed

browser

true if the standard browser globals should be predefined

cap

true if upper case HTML should be allowed

debug

true if debugger statements should be allowed

eqeqeq

true if === should be required

evil

true if eval should be allowed

laxbreak

true if line breaks should not be checked

nomen

true if names should be checked

passfail

true if the scan should stop on first error

plusplus

true if increment/decrement should not be allowed

rhino

true if the Rhino environment globals should be predefined

undef

true if undefined variables are errors

white

true if strict whitespace rules apply

widget

true if the Yahoo Widgets globals should be predefined

jslint_options ( )

Returns a hash of options and their descriptions. Each key is a valid option to pass in to jslint().

SEE ALSO

Top

http://jslint.com/ for the original version that this is based upon.

JavaScript for more details on the Perl / JavaScript bridge.

jslint for the command line interface.

http://www.javascriptlint.com/ is an alternative implementation of a JavaScript lint tool.

AUTHOR

Top

Dominic Mitchell, <cpan (at) happygiraffe.net>

COPYRIGHT AND LICENSE

Top


JavaScript-JSLint documentation  | view source Contained in the JavaScript-JSLint distribution.