Aman Agrawal
05aa3bcbc1
lint: Make `--fix` a default arg for zulint.
...
Since the check for `--fix` is in `zulint/command.py`,
we should keep it as an arg for zulint.
2019-07-03 14:57:31 -07:00
Thomas Ip
a2de8ab44f
lint: Add --fix option to ./tools/lint.
...
Linters with the fix option are stylelint, eslint and puppet-lint.
2019-06-24 14:13:04 -07:00
Aman Agrawal
8fc7c89874
zulint: Add `--verbose` arg to print good/bad lines in error.
...
This argument probably still needs some iteration, but it's already
useful.
2019-06-23 22:24:46 -07:00
Aman Agrawal
8eee19a160
lint: Add descriptions for all the linters.
2019-06-23 22:23:15 -07:00
Aman Agrawal
e9ff9e34b3
lint: Use --groups to specify specific groups to run.
...
This helps generalize the use of groups inside zulint.
Introduce list_files to return `by_lang` files dict.
Add feature to create custom groups.
Make custom groups for backend and frontend files.
2019-06-23 22:23:15 -07:00
Aman Agrawal
7b7e887386
lint: Pass args to LinterConfig when initializing it.
...
This makes it easy to use args inside LinterConfig.
2019-06-23 21:55:02 -07:00
Aman Agrawal
0b12ec1417
lint: Initialize logger inside zulint.
...
This also helps move verbose_timing logic inside zulint.
2019-06-23 21:55:02 -07:00
Aman Agrawal
b6d4438726
lint: Pass `args` instead of passing individual attributes to do_lint.
...
Pass the args to linter_config.do_lint.
2019-06-23 21:55:02 -07:00
Aman Agrawal
b2b49089fd
tools: Extract get_provisioning_status check logic.
...
Move get_provisioning_status check logic into
assert_provisioning_status_ok and use it instead of duplicating the
check code.
2019-06-23 21:55:02 -07:00
Aman Agrawal
6d040d330c
lint: Add --list arg which lists all the registered linters.
2019-06-18 11:32:04 -07:00
Aman Agrawal
6457c1f7c6
lint: Generalize --skip arg and move logic to zulint/command.
2019-06-18 11:32:04 -07:00
Aman Agrawal
995b357cde
lint: Add --only agr to run only the specified linters.
2019-06-18 11:32:04 -07:00
Aman Agrawal
cf8653945f
lint: Rename commit_messages to gitlint.
...
Use `gitlint` name to register gitlint linter since it is the commonly
used name for it.
2019-06-18 11:32:04 -07:00
Aman Agrawal
6b73926e93
lint: Add --skip arg to replace --no-gitlint/mypy.
...
Use --skip=gitlint,mypy instead of --no-gitlint/mypy.
2019-06-18 11:32:04 -07:00
Aman Agrawal
426a222b7e
lint: Rename --verbose to --verbose-timing.
2019-06-18 11:32:04 -07:00
Aman Agrawal
db25c0c2ca
lint: Combine functions in custom_rules into RuleList class.
...
This makes linting rules in zulint more general. Make necessary
changes in tools/lint and tools/custom_check.py to run with the new
RuleList class.
Modify tests for `RuleList` class. Tests only include minor changes to
test with the new class.
2019-06-18 11:27:50 -07:00
Raymond Akornor
e01d3be1ba
tools: Remove check-urls linter.
...
This commit removes `tools/check-urls`. It was added as
a useful tool in preparation for the Django 1.10 migration.
Since we completed that migration, it is no longer needed.
Fixes #12180 .
2019-05-05 17:47:41 -07:00
Tim Abbott
31f6ace084
lint: Fix typo in eslint command line.
2019-04-13 22:45:07 -07:00
Thomas Ip
02cb85a8a9
typescript: Use ESLint instead of TSLint.
2019-04-13 11:42:47 -07:00
Thomas Ip
a2872c107e
typescript: Move TS files into JS directory.
...
This is just a code reorganization to avoid making it difficult to
find things as we migrate more file to TypeScript.
2019-03-25 12:11:37 -07:00
Anders Kaseorg
ee8ff4df66
tools: Remove unused imports.
...
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2019-02-02 17:10:31 -08:00
Harshit Bansal
2944075f70
lint: Respect `--force` flag while running mypy.
2019-01-17 10:34:43 -08:00
Tim Abbott
6b69cc0b39
lint: Run mypy as part of main linter.
...
To support this, we add a pass_targets option to the main linter
library, because with current mypy, it's generally counterproductive
to pass the list of files in (can produce spurious errors; isn't
faster).
2018-12-16 21:52:53 -08:00
Anders Kaseorg
c3bd293eaf
Add shellcheck as a linter.
...
Fixes #10162 .
Tweaked by tabbott to cover documentation as well.
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2018-10-18 15:32:26 -07:00
Aditya Bansal
a3b8ab46b3
puppet-lint: Include in linter tool chain to run by default.
...
We start to use puppet-lint to lint puppet modules by default by
adding it to tools/lint (which controls our linter tool chain).
We also define a few puppet-lint rules to exclude.
Fixes : #9185 .
2018-08-13 12:30:57 -07:00
Tim Abbott
e67fa36803
lint: Update config to split files more evenly.
2018-08-07 09:42:37 -07:00
Tim Abbott
78a93b8d9e
lint: Refactor pyflakes to use more consistent style.
...
In particular, we no longer pass in the full `by_lang` object and
expect it to pull out the Python piece.
2018-08-07 09:42:37 -07:00
Tim Abbott
55ba434ecb
zulint: Extract LinterConfig class to zulint.
2018-08-04 19:53:53 -07:00
Tim Abbott
f74bb8a9b2
zulint: Extract run_parallel and do_lint.
2018-08-04 19:53:53 -07:00
Tim Abbott
acf8ec492d
zulint: Extract common linter argument parsing logic.
...
The remaining code is Zulip-specific business logic.
2018-08-04 19:53:53 -07:00
Tim Abbott
1fcc2a6ea4
zulint: Move lister.py to tools/zulint.
...
This is preparatory refactoring work for being able to extract the
linter as an external project called "zulint".
2018-08-04 19:53:53 -07:00
Aditya Bansal
0042694e24
stylelint: Start using stylelint to lint our css.
...
Tweaked by tabbott to document it.
Fixes #8894 .
2018-07-25 15:03:35 -07:00
Steve Howell
b9c9dd9b5a
lint: Turn off the CSS checker (officially).
...
Our CSS checker globs for .css files. Since the
SCSS cutover, it has been a no-op, so there's no
sense launching it. See #8894 for details on
future plans.
2018-07-20 10:03:28 -04:00
Joshua Pan
a67ba617d6
minor: Fix typo in tools/lint.
2018-05-16 13:19:28 -04:00
Tommy Ip
7243a91e47
linter: Re-enable gitlint.
2017-12-18 09:36:47 -05:00
Greg Price
137c0e65bb
tools: Revert to Python 2 typing syntax for now.
...
This reverts commit 66261f1cc
. See parent commit for reason; here,
provision worked but `tools/run-dev.py` would give errors.
We need to figure out a test that reproduces these issues, then make a
version of these changes that keeps that test working, before we
re-merge them.
2017-12-13 10:38:15 -08:00
rht
66261f1cc3
tools: Use Python 3 syntax for typing in many files.
2017-12-12 17:42:57 -08:00
cPhost
c6985e2eee
eslint: add --cache flag for faster linting
2017-12-07 15:14:51 -08:00
Tim Abbott
cb4acf2aa4
docs: Lint rst files for trailing whitespace.
2017-11-16 13:20:50 -08:00
Tim Abbott
b1d98c1d0f
lint: Only run find_add_class when JS files change.
2017-08-27 13:51:06 -07:00
Tim Abbott
79ae262463
lint: Only run check-urls after python files change.
2017-08-27 13:51:06 -07:00
Robert Hönig
c5da0ada31
linter: Replace --pep8 with new --frontend/--backend options.
...
Adds the --frontend and --backend options to replace
--pep8.
Significantly modified by tabbott to use a cleaner framework.
2017-08-27 13:50:53 -07:00
Robert Hönig
2186d53cf5
linter: Migrate lint from optparse to argparse.
2017-08-27 13:18:55 -07:00
Greg Price
a099e698e2
py3: Switch almost all shebang lines to use `python3`.
...
This causes `upgrade-zulip-from-git`, as well as a no-option run of
`tools/build-release-tarball`, to produce a Zulip install running
Python 3, rather than Python 2. In particular this means that the
virtualenv we create, in which all application code runs, is Python 3.
One shebang line, on `zulip-ec2-configure-interfaces`, explicitly
keeps Python 2, and at least one external ops script, `wal-e`, also
still runs on Python 2. See discussion on the respective previous
commits that made those explicit. There may also be some other
third-party scripts we use, outside of this source tree and running
outside our virtualenv, that still run on Python 2.
2017-08-16 17:54:43 -07:00
neiljp (Neil Pilgrim)
f96f71e439
mypy: assert Popen.stdout based on API, in tools/lint.
2017-08-03 11:09:50 -07:00
Tommy Ip
61e24cfbea
tools: Remove unused `bright_red_output` context manager.
...
This context manager is no longer in use since the linter visual
updates.
2017-07-05 23:31:09 -07:00
Tommy Ip
766abaa1a3
linter: Update external_linter visual output.
2017-07-05 23:31:08 -07:00
Steve Howell
a606628b16
Extract tools/linter_lib/pep8.py
2017-06-05 09:20:21 -07:00
Steve Howell
9fab41aebb
Extract tools/linter_lib/pyflakes.py
2017-06-05 09:20:21 -07:00
Steve Howell
29affda956
Extract tools/linter_lib/exclude.py
2017-06-05 09:20:21 -07:00