Files
Phil HaackandGitHub 4bc5810d64 chore: Add bin scripts for setup, build, and test (#2824)
* Add bin scripts for setup, build, and test

Add standardized bin scripts following the PostHog template pattern:

- bin/setup: installs dependencies via pnpm install
- bin/build: runs setup if needed, then builds all packages
- bin/test: runs tests for specific packages or all packages
  - Interactive menu when no package specified
  - Package aliases (js, rn, lite, etc.)
  - Test type flags (--unit, --functional, --e2e)
  - Pre-flight checks for dependencies and build status
- bin/helpers/_utils.sh: shared utility functions

* Remove run_command and simplify bin scripts

The run_command function had a quoting bug when handling commands with
arguments. Replace it with direct echo statements and command execution.

Applies changes from PostHog/template#6.

* Always run bin/setup in bin/build

Checking for node_modules existence doesn't guarantee dependencies are
up to date with the lockfile. Always running setup is safer and pnpm
is fast when deps are already satisfied.
2026-01-07 17:20:16 +00:00

23 lines
395 B
Bash
Executable File

#!/usr/bin/env bash
#/ Usage: bin/setup
#/ Description: Installs all project dependencies
#/
#/ This script is idempotent and can be run multiple times.
source bin/helpers/_utils.sh
set_source_and_root_dir
if [[ "$1" == "-h" || "$1" == "--help" ]]; then
show_help
exit 0
fi
require_commands node pnpm
set -e
echo "→ Installing dependencies"
pnpm install
success "Setup complete"