Implements the `npm run watch` section of the assets ADR [1], plus some modifications since I decided to switch from pywatchman to watchdog (see ADR changes for justification). This will replace `paver watch_assets` (edx-platform) and `openedx-assets watch-themes` (Tutor). Specifically, this PR adds three experimental commands: * `npm run watch-sass` : Watch for Sass changes with watchdog. * `npm run watch-webpack` : Invoke Webpack-watch for JS changes. * `npm run watch` : Invoke both `watch-sass` and `watch-webpack` simultaneously. These commands are only intended to work in development mode. They have been tested both on bare-metal edx-platform and through `tutor dev run` on on Linux. Before removing the "experimental" label, we need to: * Test through Devstack on Linux. * Test through Devstack and `tutor dev run` on macOS. * Test on bare-metal macOS. Might not work, which is OK, but we should document that. * Document the commands in edx-platform's README. * Confirm that this not only works through `tutor dev run`, but also as a suitable replacement in the `watchthemes` service that Tutor runs automatically as part of `tutor dev start`. Tweak if necessary. References: 1. https://github.com/openedx/edx-platform/blob/master/docs/decisions/0017-reimplement-asset-processing.rst Part of: https://github.com/openedx/edx-platform/issues/31612
26 lines
1.6 KiB
Plaintext
26 lines
1.6 KiB
Plaintext
# Dependencies that are used in development environments.
|
|
# Please do not use this file for packages that are needed in production or for test runs.
|
|
#
|
|
# These are installed automatically in devstack, and can also be installed manually using:
|
|
#
|
|
# pip install -r requirements/edx/development.txt
|
|
#
|
|
# When adding a new dependency which is imported from edx-platform code as a library,
|
|
# update scripts/dependencies/development.txt accordingly.
|
|
|
|
-c ../constraints.txt
|
|
|
|
-r ../pip-tools.txt # pip-tools and its dependencies, for managing requirements files
|
|
-r testing.txt # Dependencies for running the various test suites
|
|
-r doc.txt # Dependencies for building the documentation locally.
|
|
-r assets.txt # Allow developers to rebuild assets with `npm run build`.
|
|
|
|
click # Used for perf_tests utilities in modulestore
|
|
django-debug-toolbar # A set of panels that display debug information about the current request/response
|
|
django-stubs # Typing stubs for Django, so it works with mypy
|
|
djangorestframework-stubs # Typing stubs for DRF
|
|
mypy # static type checking
|
|
pywatchman # More efficient checking for runserver reload trigger events
|
|
vulture # Detects possible dead/unused code, used in scripts/find-dead-code.sh
|
|
watchdog # Used by `npm run watch` to auto-recompile when assets are changed
|