forked from Khan/khan-linter
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathREADME
43 lines (31 loc) · 1.45 KB
/
README
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
This repository contains linting tools for Khan Academy's codebase.
Most of the JavaScript linting code is based on Google's freely
available and open-source Closure Linter:
http://code.google.com/closure/utilities/
It has been modified to suit Khan Academy's slightly different style
guides.
The python linting is based on pep8, with some slight modifications
(captured in runlint.py).
This repository also contains a wrapper script that can be used as a
pre-commit hook for Mercurial.
Usage
=====
First, install dependent packages via the requirements.txt file
$ pip install -r requirements.txt
Then you can automatically invoke lints on modified or added files in
Mercurial. Add to .hgrc to use:
[hooks]
pretxncommit.lint = /path/to/khan-linter/hghook.py
You can update the blacklist file in this repository to control what
files should not be linted at all. Alternately, you can create a
blacklist of your own, and use the --blacklist_file flag to runlint.py
(you'll have to modify hghook.py to pass in the name of the blacklist
file as well).
To suppress the lint check, set the environment variable FORCE_COMMIT
to 1 prior to calling 'hg commit' (there doesn't seem to be a way to
pass args to a pretxncommit script otherwise).
If you would like to lint manually, invoke runlint.py. By default,
this will lint all files under the current directory. Alternately,
you can specify files on the commandline to lint. See
runlint.py --help
for more options.