Skip to content

Commit 260de89

Browse files
authored
feat: add dev script to update snapshots (#2397)
### Changes are visible to end-users: no ### Test plan N/A
1 parent cc92e3b commit 260de89

File tree

2 files changed

+136
-13
lines changed

2 files changed

+136
-13
lines changed

e2e/pnpm_lockfiles/update-snapshots.sh

Lines changed: 0 additions & 13 deletions
This file was deleted.

tools/update-snapshots.sh

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
#!/usr/bin/env bash
2+
# Update all snapshots and generated sources across the repository
3+
4+
set -euo pipefail
5+
6+
REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
7+
cd "$REPO_ROOT"
8+
9+
# Color output
10+
GREEN='\033[0;32m'
11+
BLUE='\033[0;34m'
12+
YELLOW='\033[1;33m'
13+
NC='\033[0m' # No Color
14+
15+
print_section() {
16+
echo -e "${BLUE}==> $1${NC}"
17+
}
18+
19+
print_success() {
20+
echo -e "${GREEN}$1${NC}"
21+
}
22+
23+
print_category() {
24+
echo ""
25+
echo -e "${YELLOW}========================================${NC}"
26+
echo -e "${YELLOW}$1${NC}"
27+
echo -e "${YELLOW}========================================${NC}"
28+
}
29+
30+
# Track failures
31+
FAILED_TARGETS=()
32+
33+
run_target() {
34+
local dir="$1"
35+
local target="$2"
36+
local description="$3"
37+
local extra_flags="${4:-}"
38+
39+
echo ""
40+
print_section "$description"
41+
if (cd "$dir" && bazel run $extra_flags "$target"); then
42+
print_success "$description"
43+
else
44+
echo "✗ Failed: $description"
45+
FAILED_TARGETS+=("$dir -> $target")
46+
fi
47+
}
48+
49+
echo "========================================"
50+
echo "Updating all snapshots and sources..."
51+
echo "========================================"
52+
53+
##############################################################################
54+
# E2E TEST SNAPSHOTS
55+
##############################################################################
56+
57+
print_category "E2E TEST SNAPSHOTS"
58+
59+
# pnpm_lockfiles - Multiple versions (bzlmod only, no workspace mode in this repo)
60+
for version in v54 v60 v61 v90 v101; do
61+
run_target "$REPO_ROOT/e2e/pnpm_lockfiles" "//$version:repos" "pnpm_lockfiles/$version" "--enable_bzlmod=true"
62+
done
63+
64+
# npm_translate_lock
65+
run_target "$REPO_ROOT/e2e/npm_translate_lock" "//:write_npm_translate_lock_wksp" "npm_translate_lock" "--enable_bzlmod=false"
66+
67+
# npm_translate_lock_empty
68+
run_target "$REPO_ROOT/e2e/npm_translate_lock_empty" "//:write_npm_translate_lock_wksp" "npm_translate_lock_empty" "--enable_bzlmod=false"
69+
70+
# npm_translate_lock_replace_packages
71+
run_target "$REPO_ROOT/e2e/npm_translate_lock_replace_packages" "//:write_npm_translate_lock_wksp" "npm_translate_lock_replace_packages (wksp)" "--enable_bzlmod=false"
72+
run_target "$REPO_ROOT/e2e/npm_translate_lock_replace_packages" "//:write_npm_translate_lock_bzlmod" "npm_translate_lock_replace_packages (bzlmod)" "--enable_bzlmod=true"
73+
74+
# npm_translate_lock_disable_hooks
75+
run_target "$REPO_ROOT/e2e/npm_translate_lock_disable_hooks" "//:write_npm_translate_lock_wksp" "npm_translate_lock_disable_hooks (wksp)" "--enable_bzlmod=false"
76+
run_target "$REPO_ROOT/e2e/npm_translate_lock_disable_hooks" "//:write_npm_translate_lock_defs" "npm_translate_lock_disable_hooks (defs)" "--enable_bzlmod=true"
77+
78+
# gyp_no_install_script
79+
run_target "$REPO_ROOT/e2e/gyp_no_install_script" "//:write_npm_translate_lock_wksp" "gyp_no_install_script (wksp)" "--enable_bzlmod=false"
80+
run_target "$REPO_ROOT/e2e/gyp_no_install_script" "//:write_npm_translate_lock_bzlmod" "gyp_no_install_script (bzlmod)" "--enable_bzlmod=true"
81+
82+
# pnpm_workspace
83+
run_target "$REPO_ROOT/e2e/pnpm_workspace" "//:repos" "pnpm_workspace" "--enable_bzlmod=true"
84+
85+
# pnpm_workspace_rerooted
86+
run_target "$REPO_ROOT/e2e/pnpm_workspace_rerooted" "//:repos" "pnpm_workspace_rerooted" "--enable_bzlmod=true"
87+
88+
##############################################################################
89+
# ROOT TEST SNAPSHOTS
90+
##############################################################################
91+
92+
print_category "ROOT TEST SNAPSHOTS"
93+
94+
# npm/private/test - npm translation test snapshots
95+
run_target "$REPO_ROOT" "//npm/private/test:write_npm_translate_lock" "npm/private/test" "--enable_bzlmod=true"
96+
97+
# js/private/test - js_binary launcher snapshot
98+
run_target "$REPO_ROOT" "//js/private/test:write_launcher" "js/private/test" "--enable_bzlmod=true"
99+
100+
##############################################################################
101+
# GENERATED SOURCES
102+
##############################################################################
103+
104+
print_category "GENERATED SOURCES"
105+
106+
# Watch protocol
107+
run_target "$REPO_ROOT" "//js/private/watch:watch_checked" "Watch protocol" "--enable_bzlmod=true"
108+
109+
# Devserver bundle
110+
run_target "$REPO_ROOT" "//js/private/devserver:watch_checked" "Devserver bundle" "--enable_bzlmod=true"
111+
112+
# Worker bundle
113+
run_target "$REPO_ROOT" "//js/private/worker:worker_checked" "Worker bundle" "--enable_bzlmod=true"
114+
115+
# Node patches
116+
run_target "$REPO_ROOT" "//js/private/node-patches:checked_in_compile" "Node patches" "--enable_bzlmod=true"
117+
118+
# Coverage bundle
119+
run_target "$REPO_ROOT" "//js/private/coverage:coverage_checked" "Coverage bundle" "--enable_bzlmod=true"
120+
121+
##############################################################################
122+
# SUMMARY
123+
##############################################################################
124+
125+
echo ""
126+
echo "========================================"
127+
if [ ${#FAILED_TARGETS[@]} -eq 0 ]; then
128+
print_success "All updates completed successfully!"
129+
else
130+
echo "✗ Some targets failed:"
131+
for failed in "${FAILED_TARGETS[@]}"; do
132+
echo " - $failed"
133+
done
134+
exit 1
135+
fi
136+
echo "========================================"

0 commit comments

Comments
 (0)