Fix dockerignore and improve pre-push hook

Remove some entries in dockerignore that prevented the image from
running properly.
Improve pre-push hook to prompt user to confirm that they want to push
if there are linter warnings.
Add `extract-translation` script to pre-push hook to prevent pushing if the translation files were not updated properly in the client.
Fix eslint warnings.

Change-Id: Id4491c90c182a62c1ec66a300f29f5716ea70491
diff --git a/.hooks/pre-push b/.hooks/pre-push
index fc83971..5b46213 100755
--- a/.hooks/pre-push
+++ b/.hooks/pre-push
@@ -1,3 +1,22 @@
 #!/usr/bin/env sh
 
-npm run lint
+confirm () {
+  if ! eval "$@" ; then
+    printf "Found some problems. Do you still want to push? [y/N] "
+    read -r REPLY
+
+    if [ "$REPLY" = "${REPLY#[Yy]}" ]
+    then
+      echo "Cancelling push..."
+      exit 1
+    fi
+  else
+    echo "OK!"
+  fi
+}
+
+echo "Checking for i18next warnings..."
+confirm "npm run extract-translations -w client -- --fail-on-warnings --fail-on-update"
+
+echo "Checking for eslint warnings..."
+confirm "npm run lint --workspaces -- --max-warnings 0"