Skip to content
This repository has been archived by the owner on Feb 12, 2024. It is now read-only.
/ rmc-linter Public archive
forked from jlfwong/rmc-linter

Lint and code-munging tools for Flow's codebase (adapted from Khan Academy's)

License

Notifications You must be signed in to change notification settings

UWFlow/rmc-linter

 
 

Repository files navigation

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.

About

Lint and code-munging tools for Flow's codebase (adapted from Khan Academy's)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 94.9%
  • Shell 3.9%
  • JavaScript 1.2%