zulip/tools
Priyank Patel eb53b5e8de webpack: Use cache-loader for various loaders.
Profiling shows that using cache-loader saves ~6-7 seconds of time take
by webpack-dev-server on subsequent runs. The overhaul this adds when
nothing is cached (when running first time) is around 1-2 seconds. We don't
use cache loader for ts-loader since webpack docs says it will slow it down
and file-loader since it just copies files over and caching it would just
was disk space.

Profiling data:

-------- Master ---------

~/zulip (master) $ tools/webpack --watch | ts -s '%.S' # master
03.995825 ℹ 「wds」: Project is running at http://127.0.0.1:9994/
03.996161 ℹ 「wds」: webpack output is served from /webpack/
03.996289 ℹ 「wds」: Content not from webpack is served from ...
19.284477 ℹ 「wdm」:
19.285371 ℹ 「wdm」: Compiled successfully.

-------- cache-loader ---------

~/zulip (cache-loader)$ tools/webpack --watch | ts -s '%.S'
04.107913 ℹ 「wds」: Project is running at http://127.0.0.1:9994/
04.108646 ℹ 「wds」: webpack output is served from /webpack/
04.109068 ℹ 「wds」: Content not from webpack is served from ...
12.633782 ℹ 「wdm」:
12.634083 ℹ 「wdm」: Compiled successfully.
2019-06-03 20:15:51 -07:00
..
ci ci: Move backend and production tests to Ubuntu 16.04 (xenial). 2019-05-24 17:07:15 -07:00
circleci circleci: Add a base image for Ubuntu Bionic. 2018-05-31 18:51:32 -07:00
documentation_crawler documentation_crawler: They’re called fragments, not permalinks. 2019-05-30 10:39:47 -07:00
droplets create-production-venv: Remove Python 2 support. 2019-01-09 17:32:05 -08:00
i18n push-translations: Run manage.py makemessages first. 2019-03-13 14:11:27 -07:00
lib test-backend: Avoid dropping/rebuiling zulip_test database. 2019-05-28 16:38:45 -07:00
linter_lib info-overlay: Fix "message formating" styling. 2019-05-30 16:18:54 -07:00
setup dev-vagrant-docker: Clear redis-server ExecStart before overriding it. 2019-06-01 16:55:56 -07:00
test-install test-install/install: Print usage when run without arguments. 2019-01-31 16:15:51 -08:00
tests lint: Fix code that evaded our lint checks for string % non-tuple. 2019-04-23 15:21:37 -07:00
zulint lint: Make `custom_rules.py` pass all lint checks. 2019-05-29 16:53:59 -07:00
zulip-export tools: Remove unused imports. 2019-02-02 17:10:31 -08:00
README.md docs: Update links to ReadTheDocs to always use https. 2017-11-16 10:59:24 -08:00
__init__.py
build-docs build-docs: Fix shellcheck warnings. 2018-10-17 17:38:56 -07:00
build-release-tarball build-release-tarball: Fix shellcheck warnings. 2018-10-17 17:38:56 -07:00
check-capitalization check-capitalization: Include banned words in overall output. 2018-03-16 16:59:02 -07:00
check-frontend-i18n tools: Change use of typing.Text to str. 2018-05-13 17:17:32 -07:00
check-issue-labels lint: Fix code that evaded our lint checks for string % non-tuple. 2019-04-23 15:21:37 -07:00
check-provision check-provision: Replace optparse with argparse. 2017-09-30 09:32:46 -07:00
check-swagger
check-templates tools: Remove unused imports. 2019-02-02 17:10:31 -08:00
clean-branches clean-branches: Fix shellcheck warnings. 2018-10-17 17:38:56 -07:00
clean-repo
commit-message-lint Use #!/usr/bin/env for bash shebangs. 2018-12-17 17:21:08 -08:00
commit-msg Use #!/usr/bin/env for bash shebangs. 2018-12-17 17:21:08 -08:00
compile-handlebars-templates Add basic widgets framework (JS side). 2018-05-16 15:13:33 -07:00
conf.ini-template
coveragerc coveragerc: Omit blub. 2019-05-29 15:04:47 -07:00
create-test-api-docs tools: Remove unused imports. 2019-02-02 17:10:31 -08:00
deploy-branch Use #!/usr/bin/env for bash shebangs. 2018-12-17 17:21:08 -08:00
diagnose docs: Add documentation for `if False` mypy pattern in scripts. 2018-12-17 11:12:53 -08:00
django-template-graph django-template-graph: Fix shellcheck warnings. 2018-10-17 17:38:56 -07:00
do-destroy-rebuild-database scripts: Always use ON_ERROR_STOP=1 when running psql. 2019-04-22 14:54:19 -07:00
do-destroy-rebuild-test-database do-destroy-rebuild-test-database: Fix shellcheck warnings. 2018-08-03 09:15:26 -07:00
fetch-pull-request Use #!/usr/bin/env for bash shebangs. 2018-12-17 17:21:08 -08:00
fetch-rebase-pull-request Use #!/usr/bin/env for bash shebangs. 2018-12-17 17:21:08 -08:00
find-add-class tools: Remove unused imports. 2019-02-02 17:10:31 -08:00
find-unused-css Use #!/usr/bin/env for bash shebangs. 2018-12-17 17:21:08 -08:00
get-handlebar-vars Enable pycodestyle W605 (invalid escape sequence). 2018-07-03 16:54:46 +02:00
html-grep zulint: Move lister.py to tools/zulint. 2018-08-04 19:53:53 -07:00
inline-email-css emails: Fix duplicate <html> blocks in missed-message emails. 2019-01-11 14:23:30 -08:00
js-dep-visualizer.py tools: Add TypeScript to the dependency visualizer. 2019-04-12 11:14:42 -07:00
lint tools: Remove check-urls linter. 2019-05-05 17:47:41 -07:00
list-outdated-packages tools: Add tool for listing outdated pip packages. 2018-05-24 15:16:02 -07:00
minify-js tools: Remove pointless uses of shell=True. 2018-07-30 22:39:06 -07:00
pre-commit Use #!/usr/bin/env for bash shebangs. 2018-12-17 17:21:08 -08:00
pretty-print-html lint: Fix code that evaded our lint checks for string % non-tuple. 2019-04-23 15:21:37 -07:00
provision provision: Clean up comments and unused variables. 2019-01-04 15:16:19 -08:00
push-to-pull-request Use #!/usr/bin/env for bash shebangs. 2018-12-17 17:21:08 -08:00
release-tarball-exclude.txt tests: Move zerver/fixtures to zerver/tests/fixtures for clarity. 2018-04-19 21:50:17 -07:00
renumber-migrations tools: Only files starting with same migration number conflict. 2018-07-10 21:09:34 +05:30
replacer zulint: Move lister.py to tools/zulint. 2018-08-04 19:53:53 -07:00
reset-to-pull-request Use #!/usr/bin/env for bash shebangs. 2018-12-17 17:21:08 -08:00
review tools/review: Don’t pretend to emulate shell=True either. 2018-07-30 22:39:08 -07:00
run-dev.py run-dev-queue-processors: Remove 2019-04-05 15:18:38 -07:00
run-mypy docs: Move mypy documentation from contributing to testing. 2018-12-16 21:52:53 -08:00
setup-git-repo Use #!/usr/bin/env for bash shebangs. 2018-12-17 17:21:08 -08:00
show-profile-results mypy: Remove ignores for a few typeshed bugs fixed upstream. 2017-10-27 17:09:00 -07:00
start-dockers Use #!/usr/bin/env for bash shebangs. 2018-12-17 17:21:08 -08:00
stop-run-dev tools: Consistently use hyphen in user script names. 2017-10-11 12:52:36 -07:00
test-all tests: Optimize test-backend performance. 2019-02-19 14:50:41 -08:00
test-all-docker Use #!/usr/bin/env for bash shebangs. 2018-12-17 17:21:08 -08:00
test-api tools: Remove unused imports. 2019-02-02 17:10:31 -08:00
test-backend test_fixtures: Rename and document update_test_databases_if_required. 2019-05-28 16:38:45 -07:00
test-documentation test-documentation: Fail on any nonzero exit code. 2019-05-30 10:39:47 -07:00
test-emoji-name-scripts test-emoji-name-scripts: Avoid hardcoded paths in /var/tmp. 2019-01-15 16:05:50 -08:00
test-help-documentation test-help-documentation: Skips checking external links. 2018-12-29 20:15:30 +05:30
test-js-with-casper
test-js-with-node node: Add test for updating bot_owner_id and enable user_events test suite. 2019-05-30 15:43:18 -07:00
test-locked-requirements tools: Remove unused imports. 2019-02-02 17:10:31 -08:00
test-migrations Use #!/usr/bin/env for bash shebangs. 2018-12-17 17:21:08 -08:00
test-queue-worker-reload test-queue-worker-reload: Use a pipe rather than polling a log file. 2019-01-15 16:00:48 -08:00
test-run-dev test-run-dev: Use a pipe rather than polling a log file. 2019-01-15 16:00:48 -08:00
test-tools tools: Revert to Python 2 typing syntax for now. 2017-12-13 10:38:15 -08:00
update-authors-json docs: Update desktop repo URL. 2019-05-20 11:01:11 -07:00
update-locked-requirements update-locked-requirements: Fix shellcheck warnings. 2018-08-03 09:15:27 -07:00
update-prod-static Completely replace perfect-scrollbar with SimpleBar. 2019-05-17 12:06:51 -07:00
upgrade-python-dependencies tools: Avoid upgrading stripe automatically. 2019-05-17 11:36:35 -07:00
webpack webpack: Close potential race condition leaking webpack-dev-server process. 2019-05-31 17:08:48 -07:00
webpack-helpers.ts webpack: Use cache-loader for various loaders. 2019-06-03 20:15:51 -07:00
webpack.assets.json devtools: Move the integrations devtool JS to the portico folder. 2019-05-22 21:28:11 -07:00
webpack.config.ts webpack: Use cache-loader for various loaders. 2019-06-03 20:15:51 -07:00
zanitizer docs: Avoid hardcoded /tmp paths in miscellaneous documentation. 2019-01-15 16:16:12 -08:00
zanitizer_config.pm.sample zanitizer_config.pm.sample: keep_file → scrub_filename 2018-09-23 20:42:27 -07:00

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 https://zulip.readthedocs.io/en/latest/overview/directory-structure.html.