Anders Kaseorg
9d768b79c5
semgrep: Use upstream options for silencing extra messages.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-07-30 15:12:22 -07:00
Anders Kaseorg
2e029eb58b
lint: Use Prettier for JSON files.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-07-24 09:42:56 -07:00
Anders Kaseorg
308883302d
lint: Make prettier quieter when fixing.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-07-21 16:31:18 -07:00
Anders Kaseorg
ed183fb95f
lint: Use Prettier for JavaScript files.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-07-17 14:31:25 -07:00
Anders Kaseorg
56e8cca025
lint: Add Prettier as a linter for YAML files.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-07-14 16:25:31 -07:00
Anders Kaseorg
f364414cb9
install-semgrep: Upgrade semgrep to 0.14.0.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-07-14 00:42:07 -07:00
Anders Kaseorg
ab647abad3
lint: Use standard setup.cfg configuration for pycodestyle.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-07-14 00:41:20 -07:00
Anders Kaseorg
8a54dc43ce
lint: Upgrade zulint and remove run-isort wrapper.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-07-01 12:53:21 -07:00
Anders Kaseorg
48e55875fe
lint: Run isort as a linter.
...
With a change to increase the line length to 100 characters by
tabbott.
Fixes #2665 .
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-06-11 16:47:07 -07:00
Anders Kaseorg
365fe0b3d5
python: Sort imports with isort.
...
Fixes #2665 .
Regenerated by tabbott with `lint --fix` after a rebase and change in
parameters.
Note from tabbott: In a few cases, this converts technical debt in the
form of unsorted imports into different technical debt in the form of
our largest files having very long, ugly import sequences at the
start. I expect this change will increase pressure for us to split
those files, which isn't a bad thing.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-06-11 16:45:32 -07:00
Aman Agrawal
0504c61bfd
semgrep: Use pattern-where-python operator to filter patterns.
...
See https://github.com/returntocorp/semgrep/blob/experimental/docs/config/advanced.md#pattern-where-python for usage.
This helps us minimize duplication of similar patterns.
2020-05-20 09:37:26 -07:00
Anders Kaseorg
baab041acd
lint: Upgrade semgrep from 0.5.0-dev.2 to 0.5.0-dev.4.
...
The major PROVISION_VERSION bump would not be needed, but it was
missing in commit 5ab62a3514
(#14834 ),
so I’m doing it here.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-05-02 10:19:40 -07:00
Anders Kaseorg
82f629091a
lint: Check docs/THIRDPARTY for format errors.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-05-02 10:10:22 -07:00
Aman Agrawal
5ab62a3514
sgrep/semgrep: Updgrade and rename sgrep to semgrep.
...
With its new upgrade, sgrep has been renamed to semgrep.
Rename sgrep.yml to semgrep.yml
2020-05-01 11:01:14 -07:00
Anders Kaseorg
5901e7ba7e
python: Convert function type annotations to Python 3 style.
...
Generated by com2ann (slightly patched to avoid also converting
assignment type annotations, which require Python 3.6), followed by
some manual whitespace adjustment, and six fixes for runtime issues:
- def __init__(self, token: Token, parent: Optional[Node]) -> None:
+ def __init__(self, token: Token, parent: "Optional[Node]") -> None:
-def main(options: argparse.Namespace) -> NoReturn:
+def main(options: argparse.Namespace) -> "NoReturn":
-def fetch_request(url: str, callback: Any, **kwargs: Any) -> Generator[Callable[..., Any], Any, None]:
+def fetch_request(url: str, callback: Any, **kwargs: Any) -> "Generator[Callable[..., Any], Any, None]":
-def assert_server_running(server: subprocess.Popen[bytes], log_file: Optional[str]) -> None:
+def assert_server_running(server: "subprocess.Popen[bytes]", log_file: Optional[str]) -> None:
-def server_is_up(server: subprocess.Popen[bytes], log_file: Optional[str]) -> bool:
+def server_is_up(server: "subprocess.Popen[bytes]", log_file: Optional[str]) -> bool:
- method_kwarg_pairs: List[FuncKwargPair],
+ method_kwarg_pairs: "List[FuncKwargPair]",
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-18 20:42:48 -07:00
Anders Kaseorg
c734bbd95d
python: Modernize legacy Python 2 syntax with pyupgrade.
...
Generated by `pyupgrade --py3-plus --keep-percent-format` on all our
Python code except `zthumbor` and `zulip-ec2-configure-interfaces`,
followed by manual indentation fixes.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-09 16:43:22 -07:00
brendon
f65e6d0d94
sgrep: Install syntactic code search tool as an external linter.
...
Add sgrep (sgrep.dev) to tooling and include simple rule as
proof of concept. Included rule detects use of old django render
function.
Also added a rule that looks for if-else statements where both
code paths are identical.
2020-04-01 15:08:34 -07:00
arpit551
0c821424cd
lint: Run whitespace linter against .yml files.
...
Lint now checks for .yml files with whitespace_rules.
2020-03-24 15:31:59 -07:00
Anders Kaseorg
9d598d95a6
puppet: Fix puppet-lint warning.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-02-20 19:51:48 -08:00
Steve Howell
752d6dc6df
tools: Remove find-add-class tool.
...
I added this tool a few years ago, and I did have
a vision for how it would improve our codebase, but
I can't remember exactly where I was going with it.
At this point the tool is just a little too noisy
to be helpful. An example of it creating confusion
was a recent PR where somebody was patching
user_circle_class in the PM list, and we already
had similar code in the buddy list, because they
use the same CSS. I mean, there was possibly a way
that the code could have been structured to remove
some of the duplication, but it probably would have
just moved the complexity around.
I just don't think it's worth maintaining the tool
at this point.
2020-01-14 15:45:49 -08:00
Anders Kaseorg
ab211c7acf
lint: Tell ShellCheck to look for sourced files at relative paths.
...
This uses the new -P option of ShellCheck 0.7.0.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-12-18 03:48:02 -08:00
Anders Kaseorg
0ce4de0421
lint: Run mypy with --no-error-summary.
...
This suppresses the mypy message “Success: no issues found in 1085
source files” or “Found 1 error in 1 file (checked 1085 source files)”
in the output of lint.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-11-13 13:26:02 -08:00
Anders Kaseorg
0584a7938f
tsconfig: Move to top level.
...
This way, webpack.config.ts is type checked.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-11-04 18:12:11 -08:00
Anders Kaseorg
e57ede9421
yarn.lock: Share duplicate packages with yarn-deduplicate.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-09-02 19:30:09 -07:00
Hemanth V. Alluri
c90056bdb2
tools: Move check-swagger to check-openapi and make it executable.
2019-08-05 21:06:19 -07:00
Anders Kaseorg
ecfb7c6a7f
lint: Add TypeScript compiler as a linter.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-07-22 17:55:18 -07:00
Wyatt Hoodes
89df6e9425
check-templates: Add fix option to tools/check_templates.
...
`valid_indent_html` allows for replacing the incorrectly
indented file with the correct pretty-printed version
if `--fix` is passed to `tools/lint`.
Fixes #12641 .
2019-07-19 11:12:11 -07:00
Anders Kaseorg
3c3471b720
templates: Rename *.handlebars ↦ *.hbs and - ↦ _.
...
Tweaked by tabbott to avoid accidentally disabling the linter for
handlebars templates.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-07-12 21:11:03 -07:00
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