f4be13df9de145ea6cd762411eff32741990f5e8.svn-base
3.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# node-jshint
A command line interface and npm package for jshint.
## Install
To use jshint from any location (for npm v1.x) you need to install using the global (-g) flag.
npm install -g jshint
## Usage
jshint -h
You can also require JSHint itself as a module.
var jshint = require('jshint');
Note: If you are using npm v1.x be sure to install jshint locally (without the -g flag) or link it globally.
## Text Editor Plugins
* [gedit-node-jshint](https://github.com/niftylettuce/gedit-node-jshint) - Simply use CTRL+J in gedit to run JSHint using `node-jshint`.
* [vim syntastic](https://github.com/scrooloose/syntastic) - Run node-jshint at each file save.
* [sublime-jshint](https://github.com/uipoet/sublime-jshint) - `F7` or `command-B` on any .js file. `F4` next error line,column. `shift-F4` previous error line,column.
## Custom Reporters
Specify a custom reporter module (see example/reporter.js).
--reporter path/to/reporter.js
Use a jslint compatible xml reporter.
--jslint-reporter
Show additional non-error data generated by jshint (unused globals etc).
--show-non-errors
## Configuration Options
**Note:** This behavior described below is very different from versions prior to `0.6`.
The CLI uses the default options that come with JSHint.
Only one extra option is unique to node-jshint: `globals`
allows you to define an object of globals that get ignored for every file.
To see an example you can look at how whitelisted globals are defined
in the [jshint code](https://github.com/jshint/jshint/blob/c047ea1b01097fcc220fcd1a55c41f67ae2e6e81/jshint.js#L556)
To have your own configuration apply, there are several methods you can use:
### Specify Manually
Setting the `--config=/path/to/your/config` command line option to specify your own configuration file outside of the directory tree for your project.
### Within your Project's Directory Tree
When the CLI is called, and a configuration file isn't specified already, `node-jshint` will attempt to locate one for you starting in `pwd`. (or "present working directory") If this does not yield a `.jshintrc` file, it will move one level up (`..`) the directory tree all the way up to the filesystem root. If a file is found, it stops immediately and uses that set of configuration.
This setup allows you to set up **one** configuration file for your entire project. (place it in the root folder) As long as you run `jshint` from anywhere within your project directory tree, the same configuration file will be used.
### Home Directory
If all the methods above do not yield a `.jshintrc` to use, the last place that will be checked is your user's `$HOME` directory.
## File Extensions
Default extension for files is ".js". If you want to use JSHint with other file extensions (.json), you need to pass this extra extension as an option :
--extra-ext .json
## Ignoring Files and Directories
If there is a .jshintignore file in your project's directory tree, (also provided you run `jshint` from within your project's directory) then any directories or files specified will be skipped over. (behaves just like a `.gitignore` file)
**Note:** Pattern matching uses minimatch, with the nocase [option](https://github.com/isaacs/minimatch). When there is no match, it performs a left side match (when no forward slashes present and path is a directory).
## Installing dependencies for development
./configure
## Build Commands
jake -T
## Project Guidelines
* All tests are passing.
* No (new) JSHint errors are introduced.