1
0
Fork 0

Merge pull request #2032 from viviicat/bw-dev-npm-fix

Conflicts:
	bw-dev
	dev-tools/Dockerfile
	bookwyrm/static/css/bookwyrm/_all.scss
	bookwyrm/static/css/themes/bookwyrm-dark.scss
	bookwyrm/static/css/themes/bookwyrm-light.scss
This commit is contained in:
Adeodato Simó 2023-10-18 17:06:47 -03:00
commit 6392a8e01d
No known key found for this signature in database
GPG key ID: CDF447845F1A986F
440 changed files with 57032 additions and 12152 deletions

99
bw-dev Normal file → Executable file
View file

@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
# exit on errors
set -e
@ -23,21 +23,27 @@ trap showerr EXIT
source .env
trap - EXIT
if docker compose &> /dev/null ; then
DOCKER_COMPOSE="docker compose"
else
DOCKER_COMPOSE="docker-compose"
fi
function clean {
docker-compose stop
docker-compose rm -f
$DOCKER_COMPOSE stop
$DOCKER_COMPOSE rm -f
}
function runweb {
docker-compose run --rm web "$@"
$DOCKER_COMPOSE run --rm web "$@"
}
function rundb {
docker-compose run --rm db $@
function execdb {
$DOCKER_COMPOSE exec db $@
}
function execweb {
docker-compose exec web "$@"
$DOCKER_COMPOSE exec web "$@"
}
function initdb {
@ -63,6 +69,8 @@ function awscommand {
amazon/aws-cli $2
}
CMD=$1
if [ -n "$CMD" ]; then
shift
@ -73,23 +81,27 @@ set -x
case "$CMD" in
up)
docker-compose up --build "$@"
$DOCKER_COMPOSE up --build "$@"
;;
down)
$DOCKER_COMPOSE down
;;
service_ports_web)
prod_error
docker-compose run --rm --service-ports web
$DOCKER_COMPOSE run --rm --service-ports web
;;
initdb)
initdb "@"
;;
resetdb)
prod_error
docker-compose rm -svf
$DOCKER_COMPOSE rm -svf
docker volume rm -f bookwyrm_media_volume bookwyrm_pgdata bookwyrm_redis_activity_data bookwyrm_redis_broker_data bookwyrm_static_volume
docker-compose build
$DOCKER_COMPOSE build
migrate
migrate django_celery_beat
initdb
runweb python manage.py compile_themes
runweb python manage.py collectstatic --no-input
admin_code
;;
@ -107,10 +119,10 @@ case "$CMD" in
runweb python manage.py shell
;;
dbshell)
rundb psql -U ${POSTGRES_USER} ${POSTGRES_DB}
execdb psql -U ${POSTGRES_USER} ${POSTGRES_DB}
;;
restart_celery)
docker-compose restart celery_worker
$DOCKER_COMPOSE restart celery_worker
;;
pytest)
prod_error
@ -120,6 +132,9 @@ case "$CMD" in
prod_error
runweb pytest -n 3 --cov-report term-missing "$@"
;;
compile_themes)
runweb python manage.py compile_themes
;;
collectstatic)
runweb python manage.py collectstatic --no-input
;;
@ -135,12 +150,15 @@ case "$CMD" in
git fetch origin l10n_main:l10n_main
git checkout l10n_main locale/ca_ES
git checkout l10n_main locale/de_DE
git checkout l10n_main locale/eo_UY
git checkout l10n_main locale/es_ES
git checkout l10n_main locale/eu_ES
git checkout l10n_main locale/fi_FI
git checkout l10n_main locale/fr_FR
git checkout l10n_main locale/gl_ES
git checkout l10n_main locale/it_IT
git checkout l10n_main locale/lt_LT
git checkout l10n_main locale/nl_NL
git checkout l10n_main locale/no_NO
git checkout l10n_main locale/pl_PL
git checkout l10n_main locale/pt_PT
@ -153,7 +171,7 @@ case "$CMD" in
runweb django-admin compilemessages --ignore venv
;;
build)
docker-compose build
$DOCKER_COMPOSE build
;;
clean)
prod_error
@ -161,7 +179,7 @@ case "$CMD" in
;;
black)
prod_error
docker-compose run --rm dev-tools black celerywyrm bookwyrm
$DOCKER_COMPOSE run --rm dev-tools black celerywyrm bookwyrm
;;
pylint)
prod_error
@ -170,38 +188,50 @@ case "$CMD" in
;;
prettier)
prod_error
docker-compose run --rm dev-tools npm exec --prefix dev-tools -- prettier \
$DOCKER_COMPOSE run --rm dev-tools npm exec --prefix dev-tools -- prettier \
--write bookwyrm/static/js/*.js
;;
eslint)
prod_error
$DOCKER_COMPOSE run --rm dev-tools npm exec --prefix devtools -- eslint \
bookwyrm/static --ext .js
;;
stylelint)
prod_error
docker-compose run --rm dev-tools npm exec --prefix dev-tools -- stylelint \
--fix --config dev-tools/.stylelintrc.js --ignore-path dev-tools/.stylelintignore \
$DOCKER_COMPOSE run --rm dev-tools npm exec --prefix dev-tools -- stylelint --fix \
--config dev-tools/.stylelintrc.js --ignore-path dev-tools/.stylelintignore \
bookwyrm/static/css
;;
formatters)
prod_error
runweb pylint bookwyrm/
docker-compose run --rm dev-tools black celerywyrm bookwyrm
docker-compose run --rm dev-tools npm exec --prefix dev-tools -- prettier \
$DOCKER_COMPOSE run --rm dev-tools black celerywyrm bookwyrm
$DOCKER_COMPOSE run --rm dev-tools npm exec --prefix dev-tools -- prettier \
--write bookwyrm/static/js/*.js
docker-compose run --rm dev-tools npm exec --prefix dev-tools -- stylelint \
--fix --config dev-tools/.stylelintrc.js --ignore-path dev-tools/.stylelintignore \
$DOCKER_COMPOSE run --rm dev-tools npm exec --prefix devtools -- eslint \
bookwyrm/static --ext .js
$DOCKER_COMPOSE run --rm dev-tools npm exec --prefix dev-tools -- stylelint --fix \
--config dev-tools/.stylelintrc.js --ignore-path dev-tools/.stylelintignore \
bookwyrm/static/css
;;
mypy)
prod_error
runweb mypy celerywyrm bookwyrm
;;
collectstatic_watch)
prod_error
npm run --prefix dev-tools watch:static
;;
update)
git pull
docker-compose build
$DOCKER_COMPOSE build
# ./update.sh
runweb python manage.py migrate
runweb python manage.py compile_themes
runweb python manage.py collectstatic --no-input
docker-compose up -d
docker-compose restart web
docker-compose restart celery_worker
$DOCKER_COMPOSE up -d
$DOCKER_COMPOSE restart web
$DOCKER_COMPOSE restart celery_worker
;;
populate_streams)
runweb python manage.py populate_streams "$@"
@ -218,6 +248,9 @@ case "$CMD" in
generate_preview_images)
runweb python manage.py generate_preview_images "$@"
;;
remove_remote_user_preview_images)
runweb python manage.py remove_remote_user_preview_images
;;
copy_media_to_s3)
awscommand "bookwyrm_media_volume:/images"\
"s3 cp /images s3://${AWS_STORAGE_BUCKET_NAME}/images\
@ -251,17 +284,25 @@ case "$CMD" in
migrate
migrate django_celery_beat
initdb
runweb python manage.py compile_themes
runweb python manage.py collectstatic --no-input
admin_code
;;
runweb)
runweb "$@"
;;
remove_2fa)
runweb python manage.py remove_2fa "$@"
;;
confirm_email)
runweb python manage.py confirm_email "$@"
;;
*)
set +x # No need to echo echo
echo "Unrecognised command. Try:"
echo " setup"
echo " up [container]"
echo " down"
echo " service_ports_web"
echo " initdb"
echo " resetdb"
@ -272,6 +313,7 @@ case "$CMD" in
echo " dbshell"
echo " restart_celery"
echo " pytest [path]"
echo " compile_themes"
echo " collectstatic"
echo " makemessages"
echo " compilemessages [locale]"
@ -280,17 +322,22 @@ case "$CMD" in
echo " clean"
echo " black"
echo " prettier"
echo " eslint"
echo " stylelint"
echo " formatters"
echo " mypy"
echo " collectstatic_watch"
echo " populate_streams [--stream=<stream name>]"
echo " populate_lists_streams"
echo " populate_suggestions"
echo " generate_thumbnails"
echo " generate_preview_images [--all]"
echo " remove_remote_user_preview_images"
echo " copy_media_to_s3"
echo " sync_media_to_s3"
echo " set_cors_to_s3 [cors file]"
echo " runweb [command]"
echo " remove_2fa"
echo " confirm_email"
;;
esac