Skip to content
Browse files

Copied CLI documentation from node-jshint

Since we're merging all repos together I need to copy some docs so that we don't lose them forever.
  • Loading branch information...
1 parent 2bcaedf commit be8e56f6f6e477fc34c4142cad5001811ad24e55 @valueof valueof committed Oct 11, 2012
Showing with 66 additions and 0 deletions.
  1. +66 −0 README.md
View
66 README.md
@@ -41,6 +41,72 @@ use them, clone this repo and run our build command:
node make.js
+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.
+
+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).
+
Contributing
------------

0 comments on commit be8e56f

Please sign in to comment.
Something went wrong with that request. Please try again.