Giter Club home page Giter Club logo

rmc-linter's Introduction

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.

rmc-linter's People

Contributors

csilvers avatar benkomalo avatar joelburget avatar sophiebits avatar jlfwong avatar mduan avatar divad12 avatar jgulbronson avatar sbirch avatar

Watchers

 avatar  avatar  avatar Sandy Wu avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.