diff options
Diffstat (limited to 'tools/lint/docs/usage.rst')
-rw-r--r-- | tools/lint/docs/usage.rst | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tools/lint/docs/usage.rst b/tools/lint/docs/usage.rst new file mode 100644 index 000000000..0eb5f3d22 --- /dev/null +++ b/tools/lint/docs/usage.rst @@ -0,0 +1,41 @@ +Running Linters Locally +======================= + +You can run all the various linters in the tree using the ``mach lint`` command. Simply pass in the +directory or file you wish to lint (defaults to current working directory): + +.. parsed-literal:: + + ./mach lint path/to/files + +Multiple paths are allowed: + +.. parsed-literal:: + + ./mach lint path/to/foo.js path/to/bar.py path/to/dir + +``Mozlint`` will automatically determine which types of files exist, and which linters need to be run +against them. For example, if the directory contains both JavaScript and Python files then mozlint +will automatically run both ESLint and Flake8 against those files respectively. + +To restrict which linters are invoked manually, pass in ``-l/--linter``: + +.. parsed-literal:: + + ./mach lint -l eslint path/to/files + +Finally, ``mozlint`` can lint the files touched by a set of revisions or the working directory using +the ``-r/--rev`` and ``-w/--workdir`` arguments respectively. These work both with mercurial and +git. In the case of ``--rev`` the value is passed directly to the underlying vcs, so normal revision +specifiers will work. For example, say we want to lint all files touched by the last three commits. +In mercurial, this would be: + +.. parsed-literal:: + + ./mach lint -r ".~2::." + +In git, this would be: + +.. parsed-literal:: + + ./mach lint -r "HEAD~2 HEAD" |