Gulp command reference
Definitions
Baby Buddy's Gulp commands are defined in gulpfile.js.
Baby Buddy's management commands are defined in babybuddy/management/commands.
Commands
gulp
Executes the build and watch commands and runs Django's development server.
This command also accepts the special parameter --ip for setting the
server IP address. See gulp runserver for details.
build
Creates all script, style and "extra" assets and places them in the
babybuddy/static folder.
docs:build
Builds the documentation site in a local directory (site by default).
docs:deploy
Deploys the documentation site to GitHub Pages.
docs:watch
Runs a local server for the documentation site reloading whenever documentation
sites files (in the docs directory) as modified.
clean
Deletes all build folders and the root static folder. Generally this should
be run before a gulp build to remove previous build files and the generated
static assets.
collectstatic
Executes Django's collectstatic management task. This task relies on files in
the babybuddy/static folder, so generally gulp build should be run before
this command for production deployments. Gulp also passes along
non-overlapping arguments for this command, e.g. --no-input.
Note: a SECRET_KEY value must be set for this command to work.
compilemessages
Executes Django's compilemessages management task. See django-admin compilemessages
for more details about other options and functionality of this command.
coverage
Create a test coverage report. See .coveragerc
for default settings information.
extras
Copies "extra" files (fonts, images and server root contents) to the build folder.
fake
Adds some fake data to the database. By default, fake creates one child and
31 days of random data. Use the --children and --days flags to change the
default values, e.g. gulp fake --children 5 --days 7 to generate five fake
children and seven days of data for each.
format
Formats Baby Buddy's code base using black. Run this before commits to ensure linting will pass!
generateschema
Updates the openapi-schema.yml
file in the project root based on current API functionality.
lint
Executes Python and SASS linting for all relevant source files.
makemessages
Executes Django's makemessages management task. See django-admin makemessages
for more details about other options and functionality of this command. When
working on a single translation, the -l flag is useful to make message for
only that language, e.g. gulp makemessages -l fr to make only a French
language translation file.
makemigrations
Executes Django's makemigrations management task. Gulp also passes along
non-overlapping arguments for this command.
migrate
Executes Django's migrate management task. In addition to migrating the
database, this command creates the default admin user. Gulp also passes along
non-overlapping arguments for this command.
reset
Resets the database to a default state with one fake child and 31 days of fake data.
runserver
Executes Django's runserver management task. Gulp passes non-overlapping
arguments for this command.
A special parameter, --ip, is also available to set the IP for the server.
E.g., execute gulp runserver --ip 0.0.0.0:8000 to make the server available to
other devices on your local network.
scripts
Builds and combines relevant application scripts. Generally this command does
not need to be executed independently - see the build command.
styles
Builds and combines SASS styles in to CSS files. Generally this command does
not need to be executed independently - see the build command.
test
Executes Baby Buddy's suite of tests.
Gulp also passes along non-overlapping arguments for this command, however
individual tests cannot be run with this command. python manage.py test can be
used for individual test execution.
updateglyphs
Downloads generated glyph font files data from Fonttello
based on config.json file. This
only needs to be run after making changes to the config file.
updatestatic
Rebuilds Baby Buddy's /static folder by running the following commands in
order:
Execute and commit changes made by this command whenever changing Baby Buddy's frontend code (SASS, JS, etc.).