zulip/tools
Steve Howell ba51078418 Simplify CSS linter and clean up CSS.
The CSS linter was pretty hard to reason about.  It was
pretty flexible about certain things, but then it would
prevent seemingly innocuous code from getting checked in.

This commit overhauls the pretty-printer to be more composable,
where every object in the AST knows how to render itself.  It
also cleans up a little bit of the pre_fluff/post_fluff logic
in the parser itself, so comments are more likely to be "attached"
to the AST node that make sense.

The linter is actually a bit more finicky about newlines, but
this is mostly a good thing, as most of the variations before
this commit were pretty arbitrary.
2017-11-13 12:43:43 -08:00
..
documentation_crawler tools: Text-wrap long lines exceeding 110. 2017-11-10 16:24:09 -08:00
droplets droplets: Remove ip_address default value from create_dns_record. 2017-11-11 17:05:14 -08:00
lib Simplify CSS linter and clean up CSS. 2017-11-13 12:43:43 -08:00
linter_lib icons: Create framework for custom icons and add new bot icon. 2017-11-10 11:18:42 -08:00
setup tools: Text-wrap long lines exceeding 110. 2017-11-10 16:24:09 -08:00
tests Simplify CSS linter and clean up CSS. 2017-11-13 12:43:43 -08:00
travis Travis: Use travis.yml built-in way to install moreutils. 2017-10-17 09:59:59 -07:00
zulip-export zulip-export: Convert to using argparse from optparse. 2017-11-10 15:54:02 -08:00
README.md docs: Add README.md files for scripts/ and tools/. 2017-01-17 11:01:27 -08:00
__init__.py
build-deb
build-docs tools: Add wrapper tool 'build-docs' for building documentation. 2017-06-14 20:16:02 -07:00
build-release-tarball build-release-tarball: Fix missing CSS-inlined email templates. 2017-10-20 14:08:25 -07:00
check-capitalization tools: Remove print_function. 2017-09-29 15:44:56 -07:00
check-css Simplify CSS linter and clean up CSS. 2017-11-13 12:43:43 -08:00
check-frontend-i18n tools: Remove print_function. 2017-09-29 15:44:56 -07:00
check-issue-labels refactor: Remove six.moves.configparser import. 2017-11-07 10:51:44 -08:00
check-provision check-provision: Replace optparse with argparse. 2017-09-30 09:32:46 -07:00
check-swagger lint: Ban non-unique operationIds in Swagger. 2017-06-26 22:02:26 -04:00
check-templates refactor: Remove six.moves.filter import. 2017-11-07 10:51:44 -08:00
check-urls tools: Remove print_function. 2017-09-29 15:44:56 -07:00
clean-branches tools: Update clean-branches to clean review branches. 2017-06-01 21:55:33 -07:00
clean-repo clean-repo: Revert optimization to .pyc removal. 2017-07-30 17:24:55 -07:00
commit-message-lint docs: Fix spelling of Travis CI. 2017-07-31 09:36:22 -07:00
commit-msg lint: Check if commit message is not empty before running gitlint. 2017-06-25 11:29:14 -04:00
compile-handlebars-templates tools: Remove print_function. 2017-09-29 15:44:56 -07:00
conf.ini-template Add tool for scanning issues without area labels. 2017-02-03 09:59:35 -08:00
coveragerc refactor: Replace all __unicode__ method with __str__. 2017-11-02 11:01:47 -07:00
create-test-api-docs mypy: Any->Call in create_single_page() in create-test-api-docs. 2017-10-11 12:16:50 -07:00
deploy-branch
deployment-lock-ctl
diagnose mypy: Specify Callable parameter/return type for run decorator in tools/diagnose. 2017-10-31 00:03:35 -07:00
django-template-graph
do-destroy-rebuild-database test_fixtures: Move test_db_status state under UUID_VAR_PATH. 2017-10-17 21:15:58 -07:00
do-destroy-rebuild-test-database Remove extra new lines at the ends of Zulip authoried files. 2016-09-26 21:05:24 -07:00
fetch-pull-request tools: Add script to see PRs as authors intended. 2017-06-01 21:55:08 -07:00
fetch-rebase-pull-request git tools: Make error messages more clear. 2017-05-08 10:51:59 -07:00
find-add-class tools: Remove print_function. 2017-09-29 15:44:56 -07:00
find-unused-css
generate-custom-icon-webfont icons: Create framework for custom icons and add new bot icon. 2017-11-10 11:18:42 -08:00
get-handlebar-vars tools: Remove print_function. 2017-09-29 15:44:56 -07:00
html-grep refactor: Remove six.moves.filter import. 2017-11-07 10:51:44 -08:00
inline-email-css tools/lib: Text-wrap long lines exceeding 110. 2017-11-10 16:24:09 -08:00
js-dep-visualizer.py tools: Remove print_function. 2017-09-29 15:44:56 -07:00
lint lint: Only run find_add_class when JS files change. 2017-08-27 13:51:06 -07:00
lister.py tools: Text-wrap long lines exceeding 110. 2017-11-10 16:24:09 -08:00
minify-js tools: Remove print_function. 2017-09-29 15:44:56 -07:00
munge-postgres-logs tools: Remove `.pl` extension from user script. 2017-10-11 12:52:36 -07:00
optimize-svg tools: Add optimize-svg tool for checking for unoptimized SVG files. 2017-05-30 11:15:56 -07:00
pre-commit linter: Replace --pep8 with new --frontend/--backend options. 2017-08-27 13:50:53 -07:00
pretty-print-html tools: Remove print_function. 2017-09-29 15:44:56 -07:00
provision vagrant: Skip the shell virtualenv warning on provision. 2017-10-27 11:44:47 -07:00
release-tarball-exclude.txt build-release-tarball: Stop using .gitattributes. 2017-10-11 21:51:42 -07:00
renumber-migrations refactor: Remove six.moves.input import. 2017-11-07 10:51:44 -08:00
replace-tarball-shebang tools: Text-wrap long lines exceeding 110. 2017-11-10 16:24:09 -08:00
replacer replacer: Run as script with python 3. 2017-10-05 10:07:54 -07:00
reset-to-pull-request git tools: Make error messages more clear. 2017-05-08 10:51:59 -07:00
review tools: Remove print_function. 2017-09-29 15:44:56 -07:00
run-dev-queue-processors tools: Remove absolute_import in most tools. 2017-09-29 12:28:43 -07:00
run-dev.py refactor: Remove six.moves.urllib.parse import. 2017-11-07 10:51:44 -08:00
run-mypy Tools/mypy: Enforce typed generics in tools/run-mypy. 2017-11-08 12:40:40 -08:00
send-github-payloads json: Replace most use of simplejson with json. 2017-10-11 22:55:35 -07:00
setup-git-repo lint: Add checks for commit messages using gitlint. 2017-04-21 13:45:12 -07:00
show-profile-results mypy: Remove ignores for a few typeshed bugs fixed upstream. 2017-10-27 17:09:00 -07:00
start-dockers
stop-run-dev tools: Consistently use hyphen in user script names. 2017-10-11 12:52:36 -07:00
sync-translations tools: Add new script to sync translations. 2017-10-05 23:07:16 -07:00
test-all tools: Remove `.py` extensions from user scripts. 2017-10-11 12:52:36 -07:00
test-all-docker
test-api test-api: Fix tests to work with subdomains. 2017-10-02 13:31:22 -07:00
test-backend check_subdomain: Remove case for user_subdomain being None. 2017-10-18 22:35:07 -07:00
test-documentation tools: Add wrapper tool 'build-docs' for building documentation. 2017-06-14 20:16:02 -07:00
test-help-documentation tools: Remove `.py` extensions from user scripts. 2017-10-11 12:52:36 -07:00
test-js-with-casper
test-js-with-node test-js-with-node: Port from optparse to argparse. 2017-11-10 15:52:43 -08:00
test-locked-requirements tools: Add a test for checking locked requirements. 2017-10-11 22:55:15 -07:00
test-migrations test-migrations: Fix error code bug. 2017-07-10 16:20:47 -07:00
test-queue-worker-reload mypy: Add type parameter for IO in test-queue-worker-reload. 2017-11-04 19:47:44 -07:00
test-run-dev py3: Remove "from six.moves import range". 2017-10-17 23:28:14 -07:00
test-tools tools: Remove print_function. 2017-09-29 15:44:56 -07:00
update-authors-json landing-page: Replace /about with /team and /history in links. 2017-10-31 12:44:05 -07:00
update-locked-requirements tools: Modify `update-locked-requirements` to take optional arguments. 2017-10-11 22:44:54 -07:00
update-prod-static landing-page: Replace /about with /team and /history in links. 2017-10-31 12:44:05 -07:00
webpack tools: Remove absolute_import in most tools. 2017-09-29 12:28:43 -07:00
webpack.assets.json help: Merge api.js and help.js bundles to fix code blocks. 2017-10-30 22:53:17 -07:00
webpack.config.ts webpack: jQuery and underscore should be compilied normally to make errors readable. 2017-08-05 19:53:56 -07:00
zanitizer
zanitizer_config.pm.sample

README.md

This directory contains scripts that are used in building, managing, testing, and other forms of work in a Zulip development environment. Note that tools that are also useful in production belong in scripts/ or should be Django management commands.

For more details, see http://zulip.readthedocs.io/en/latest/directory-structure.html.