Unified · Split
| @@ -1,7 +1,8 @@ | |||
| 1 | import { spawn } from "node:child_process"; | 1 | import { spawn } from "node:child_process"; |
| 2 | import { existsSync, readdirSync } from "node:fs"; | 2 | import { existsSync } from "node:fs"; |
| 3 | import { chmod, cp, mkdir, rm, writeFile } from "node:fs/promises"; | 3 | import { chmod, cp, mkdir, rm, writeFile } from "node:fs/promises"; |
| 4 | import { join, resolve } from "node:path"; | 4 | import { createRequire } from "node:module"; |
| 5 | import { dirname, join, resolve } from "node:path"; | ||
| 5 | 6 | ||
| 6 | import { readDistributionPackageMetadata, repoRoot } from "./metadata"; | 7 | import { readDistributionPackageMetadata, repoRoot } from "./metadata"; |
| 7 | 8 | ||
| @@ -72,20 +73,11 @@ const runCommand = async (input: CommandInput): Promise<void> => { · 64 unmodified lines | |||
| 72 | }; | 73 | }; |
| 73 | 74 | ||
| 74 | const resolvePGliteDistDir = (): string => { | 75 | const resolvePGliteDistDir = (): string => { |
| 75 | const bunDir = join(repoRoot, "node_modules/.bun"); | 76 | const requireFromControlPlane = createRequire( |
| 76 | const packageDir = readdirSync(bunDir).find((entry) => | 77 | join(repoRoot, "packages/control-plane/package.json"), |
| 77 | entry.startsWith("@electric-sql+pglite@"), | ||
| 78 | ); | ||
| 79 | |||
| 80 | if (!packageDir) { | ||
| 81 | throw new Error(`Unable to locate PGlite package under ${bunDir}`); | ||
| 82 | } | ||
| 83 | |||
| 84 | const distDir = join( | ||
| 85 | bunDir, | ||
| 86 | packageDir, | ||
| 87 | "node_modules/@electric-sql/pglite/dist", | ||
| 88 | ); | 78 | ); |
| 79 | const entryPath = requireFromControlPlane.resolve("@electric-sql/pglite"); | ||
| 80 | const distDir = dirname(entryPath); | ||
| 89 | 81 | ||
| 90 | if (!existsSync(distDir)) { | 82 | if (!existsSync(distDir)) { |
| 91 | throw new Error(`Unable to locate PGlite dist directory at ${distDir}`); | 83 | throw new Error(`Unable to locate PGlite dist directory at ${distDir}`); |