| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- branch="$(git rev-parse --abbrev-ref HEAD)"
- if [ "$branch" = "main" ]; then
- echo "You can't push directly to main - please check out a branch."
- exit 1
- fi
- # Detect if running on Windows and use pnpm.cmd, otherwise use pnpm.
- if [ "$OS" = "Windows_NT" ]; then
- pnpm_cmd="pnpm.cmd"
- else
- if command -v pnpm >/dev/null 2>&1; then
- pnpm_cmd="pnpm"
- else
- pnpm_cmd="npx pnpm"
- fi
- fi
- $pnpm_cmd run check-types
- # Use dotenvx to securely load .env.local and run commands that depend on it
- if [ -f ".env.local" ]; then
- # Check if RUN_TESTS_ON_PUSH is set to true and run tests with dotenvx
- if npx dotenvx get RUN_TESTS_ON_PUSH -f .env.local 2>/dev/null | grep -q "^true$"; then
- npx dotenvx run -f .env.local -- $pnpm_cmd run test
- fi
- else
- # Fallback: run tests if RUN_TESTS_ON_PUSH is set in regular environment
- if [ "$RUN_TESTS_ON_PUSH" = "true" ]; then
- $pnpm_cmd run test
- fi
- fi
- # Check for new changesets.
- NEW_CHANGESETS=$(find .changeset -name "*.md" ! -name "README.md" | wc -l | tr -d ' ')
- echo "Changeset files: $NEW_CHANGESETS"
- if [ "$NEW_CHANGESETS" = "0" ]; then
- echo "-------------------------------------------------------------------------------------"
- echo "Changes detected. Please run 'pnpm changeset' to create a changeset if applicable."
- echo "-------------------------------------------------------------------------------------"
- fi
|