()
| 1104 | } |
| 1105 | |
| 1106 | function resolveDockerfilePath(): string { |
| 1107 | // Built CLI: dist/docker/Dockerfile.render |
| 1108 | const builtPath = resolve(__dirname, "docker", "Dockerfile.render"); |
| 1109 | // Dev mode: src/docker/Dockerfile.render |
| 1110 | const devPath = resolve(__dirname, "..", "src", "docker", "Dockerfile.render"); |
| 1111 | for (const p of [builtPath, devPath]) { |
| 1112 | try { |
| 1113 | statSync(p); |
| 1114 | return p; |
| 1115 | } catch { |
| 1116 | continue; |
| 1117 | } |
| 1118 | } |
| 1119 | throw new Error("Dockerfile.render not found — CLI package may be corrupted"); |
| 1120 | } |
| 1121 | |
| 1122 | function dockerImageExists(tag: string): boolean { |
| 1123 | try { |
no test coverage detected