#!/usr/bin/env sh . "$(dirname -- "$0")/_/husky.sh" # Only run yarn if package.json files have changed CHANGED_PACKAGE_JSON_FILES=$(git diff --cached --name-only -- ':(glob)**/package.json') if [ -n "$CHANGED_PACKAGE_JSON_FILES" ]; then yarn install --immutable fi # Only run build-api for packages with staged changes CHANGED_PACKAGES=$(git diff --cached --name-only -- packages | cut -d/ -f2 | sort -u) FILTER_ARGS="" for pkg in $CHANGED_PACKAGES; do if [ -f "packages/$pkg/package.json" ] && grep -q '"build-api"' "packages/$pkg/package.json"; then FILTER_ARGS="$FILTER_ARGS --filter=packages/$pkg" fi done if [ -n "$FILTER_ARGS" ]; then ONLY_REFRESH_ASSETS_IF_NECESSARY=1 npx lazy run build-api $FILTER_ARGS git add packages/*/api-report.api.md fi # Only run build-i18n when dotcom client files change CHANGED_DOTCOM_CLIENT=$(git diff --cached --name-only -- apps/dotcom/client) if [ -n "$CHANGED_DOTCOM_CLIENT" ]; then npx lazy run build-i18n --filter=apps/dotcom/client git add apps/dotcom/client/public/tla/locales git add apps/dotcom/client/public/tla/locales-compiled fi yarn lint-staged