adding a repository field to package.json
Merge pull request #2 from liyanchang/repo_field

adding a repository field to package.json
Perform es6 transformations before linting.

Summary:
I copied over the transformation script used in kake and the package
requirements used in webapp.

Test Plan:
`make linc` - didn't fail to run and caught a few lint errors that I had
in my changed code

Reviewers: csilvers, alpert

Reviewed By: alpert

Differential Revision: http://phabricator.khanacademy.org/D6846
Added new error message if jshint is missing

Test Plan:
mv node_modules nooo_modules
edit ~/khan/webapp/javascript/file.js
git commit -am 'hi'
Observe the new fancy error message.
mv nooo_modules node_modules

Reviewers: chris

Reviewed By: chris

Differential Revision: http://phabricator.khanacademy.org/D7061
Allow JSX lines with "require" to exceed 80 chars.
Update runlint.py
Merge pull request #3 from jnetterf/patch-1

Allow JSX lines with "require" to exceed 80 chars.
Add a lint check to prevent committing a file with a merge conflict marker.

Summary:
If you do a merge and there are conflicts, git adds text like:

    <<<<<<< HEAD:file.txt
    Hello world
    =======
    Goodbye
    >>>>>>> 77976da35a11db4580b80ae27e8d65caf5208086:file.txt

You're supposed to resolve these before committing, but it's easy to
miss one, especially if a file has many merge sections.  git really
ought to catch that, but it doesn't, so we do in our lint check.

Test Plan:
I manually added this text to the middle of runlint.py:

    """
    <<<<<<<
    >>>>>>> HEAD
    """

and ran
   ~/khan/devtools/khan-linter/runlint.py ~/khan/devtools/khan-linter/runlint.py
and saw it say:
   ../devtools/khan-linter/runlint.py:321:1: E1 git conflict marker "<<<<<<<" found
   ../devtools/khan-linter/runlint.py:322:1: E1 git conflict marker ">>>>>>>" found

and I checked and indeed those two lines were 321 and 322.

Reviewers: chris, alpert

Reviewed By: alpert

Differential Revision: http://phabricator.khanacademy.org/D7409
Updating PEP8 1.5.6 from 1.0.1

The one obvious blocking change is that PEP8 changed how they process options
in version 1.3 around a StyleGuide object. This changed the internal api which
Khan Linter uses.

See:
https://github.com/jcrocholl/pep8/blob/96290d48b1334fe8542666174d7775cda3f46d9a/CHANGES.txt#L343

Currently, if you accidentally use PEP 1.3+ with Khan Linter, you'll get your
results, but _DEFAULT_PEP8_ARGS will be ignored.

Reading through the rest of the changelog and quick informal tests imply that
this is the only internal api change and upgrading is otherwise safe.
(Famous last words...)

Just for reference:
1.0.1 was released 2012-04-06
1.5.6 was released 2014-04-14