Skip to content

Commit 7b96e06

Browse files
committed
fix(e2e): pack OpenAPI workspace dependency
1 parent f25cc5e commit 7b96e06

1 file changed

Lines changed: 22 additions & 1 deletion

File tree

scripts/e2e/local-package-cli.sh

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,14 @@ KEEP="${KEEP:-0}"
1212

1313
PACK_LOG="$ROOT/bun-pack.log"
1414
SESSION_PACK_LOG="$ROOT/bun-pack-session-sync.log"
15+
OPENAPI_PACK_LOG="$ROOT/bun-pack-openapi.log"
1516
HELP_LOG_BUN="$ROOT/docker-git-help-bun.log"
1617
TAR_LIST="$ROOT/tar-list.txt"
1718
SESSION_TAR_LIST="$ROOT/session-tar-list.txt"
19+
OPENAPI_TAR_LIST="$ROOT/openapi-tar-list.txt"
1820
PACKED_TARBALL=""
1921
SESSION_PACKED_TARBALL=""
22+
OPENAPI_PACKED_TARBALL=""
2023
PACKAGE_JSON="$REPO_ROOT/packages/app/package.json"
2124
PACKAGE_JSON_BACKUP="$ROOT/package.json.backup"
2225

@@ -36,6 +39,10 @@ on_error() {
3639
echo "--- bun pack session sync log ---" >&2
3740
cat "$SESSION_PACK_LOG" >&2 || true
3841
fi
42+
if [[ -f "$OPENAPI_PACK_LOG" ]]; then
43+
echo "--- bun pack openapi log ---" >&2
44+
cat "$OPENAPI_PACK_LOG" >&2 || true
45+
fi
3946
if [[ -f "$HELP_LOG_BUN" ]]; then
4047
echo "--- bun run docker-git --help log ---" >&2
4148
cat "$HELP_LOG_BUN" >&2 || true
@@ -56,6 +63,9 @@ cleanup() {
5663
if [[ -n "$SESSION_PACKED_TARBALL" ]] && [[ -f "$SESSION_PACKED_TARBALL" ]]; then
5764
rm -f "$SESSION_PACKED_TARBALL" >/dev/null 2>&1 || true
5865
fi
66+
if [[ -n "$OPENAPI_PACKED_TARBALL" ]] && [[ -f "$OPENAPI_PACKED_TARBALL" ]]; then
67+
rm -f "$OPENAPI_PACKED_TARBALL" >/dev/null 2>&1 || true
68+
fi
5969
rm -rf "$ROOT" >/dev/null 2>&1 || true
6070
}
6171

@@ -80,8 +90,19 @@ session_first_line="$(head -n 1 "$session_entry_tmp" | tr -d '\r')"
8090
[[ "$session_first_line" == "#!/usr/bin/env bun" ]] \
8191
|| fail "packed session sync entrypoint missing shebang: expected '#!/usr/bin/env bun', got '$session_first_line'"
8292

93+
cd "$REPO_ROOT/packages/openapi"
94+
OPENAPI_PACKED_TARBALL="$(bun pm pack --quiet --ignore-scripts --destination "$ROOT" | tee "$OPENAPI_PACK_LOG" | tail -n 1 | tr -d '\r')"
95+
[[ -n "$OPENAPI_PACKED_TARBALL" ]] || fail "bun pm pack did not return openapi tarball path"
96+
[[ -f "$OPENAPI_PACKED_TARBALL" ]] || fail "packed openapi tarball not found: $OPENAPI_PACKED_TARBALL"
97+
98+
tar -tf "$OPENAPI_PACKED_TARBALL" >"$OPENAPI_TAR_LIST"
99+
grep -Fq -- "package/src/index.ts" "$OPENAPI_TAR_LIST" \
100+
|| fail "packed openapi tarball does not include src/index.ts"
101+
grep -Fq -- "package/openapi.json" "$OPENAPI_TAR_LIST" \
102+
|| fail "packed openapi tarball does not include openapi.json"
103+
83104
cp "$PACKAGE_JSON" "$PACKAGE_JSON_BACKUP"
84-
SESSION_PACKED_TARBALL="$SESSION_PACKED_TARBALL" bun -e 'import { readFileSync, writeFileSync } from "node:fs"; const path = process.argv[1]; const pkg = JSON.parse(readFileSync(path, "utf8")); delete pkg.devDependencies; pkg.dependencies = pkg.dependencies ?? {}; pkg.dependencies["@prover-coder-ai/docker-git-session-sync"] = `file:${process.env.SESSION_PACKED_TARBALL}`; writeFileSync(path, JSON.stringify(pkg, null, 2) + "\n");' "$PACKAGE_JSON"
105+
SESSION_PACKED_TARBALL="$SESSION_PACKED_TARBALL" OPENAPI_PACKED_TARBALL="$OPENAPI_PACKED_TARBALL" bun -e 'import { readFileSync, writeFileSync } from "node:fs"; const path = process.argv[1]; const pkg = JSON.parse(readFileSync(path, "utf8")); delete pkg.devDependencies; pkg.dependencies = pkg.dependencies ?? {}; pkg.dependencies["@prover-coder-ai/docker-git-session-sync"] = `file:${process.env.SESSION_PACKED_TARBALL}`; pkg.dependencies["@prover-coder-ai/docker-git-openapi"] = `file:${process.env.OPENAPI_PACKED_TARBALL}`; writeFileSync(path, JSON.stringify(pkg, null, 2) + "\n");' "$PACKAGE_JSON"
85106

86107
cd "$REPO_ROOT/packages/app"
87108
PACKED_TARBALL="$(bun pm pack --quiet --ignore-scripts --destination "$ROOT" | tee "$PACK_LOG" | tail -n 1 | tr -d '\r')"

0 commit comments

Comments
 (0)