@@ -12,11 +12,14 @@ KEEP="${KEEP:-0}"
1212
1313PACK_LOG=" $ROOT /bun-pack.log"
1414SESSION_PACK_LOG=" $ROOT /bun-pack-session-sync.log"
15+ OPENAPI_PACK_LOG=" $ROOT /bun-pack-openapi.log"
1516HELP_LOG_BUN=" $ROOT /docker-git-help-bun.log"
1617TAR_LIST=" $ROOT /tar-list.txt"
1718SESSION_TAR_LIST=" $ROOT /session-tar-list.txt"
19+ OPENAPI_TAR_LIST=" $ROOT /openapi-tar-list.txt"
1820PACKED_TARBALL=" "
1921SESSION_PACKED_TARBALL=" "
22+ OPENAPI_PACKED_TARBALL=" "
2023PACKAGE_JSON=" $REPO_ROOT /packages/app/package.json"
2124PACKAGE_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+
83104cp " $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
86107cd " $REPO_ROOT /packages/app"
87108PACKED_TARBALL=" $( bun pm pack --quiet --ignore-scripts --destination " $ROOT " | tee " $PACK_LOG " | tail -n 1 | tr -d ' \r' ) "
0 commit comments