The script runs as a non-root user; only the ownership change requires
elevated privileges. Using sudo chown instead of running the whole
script as root follows least-privilege principle.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Removed no-op `cp "$ENV_FILE" "$REPO_DIR/.env"` — both paths resolve to
the same file, causing cp to exit with code 1 under `set -euo pipefail`,
which aborted the script before npm ci or npm run build could run.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Integrate MSAL (Azure AD) login gating the entire app
- Add deploy.sh for building and serving via Apache on Ubuntu
- Set Vite base path to /smartcrop26/ for subpath deployment
- Add .env.example with required environment variables
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>