Unified · Split
| @@ -1,7 +1,8 @@ | ||
| 1 | 1 | import { spawn } from "node:child_process"; |
| 2 | −import { existsSync, readdirSync } from "node:fs"; | |
| 2 | +import { existsSync } from "node:fs"; | |
| 3 | 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 | 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 | 75 | const resolvePGliteDistDir = (): string => { |
| 75 | − const bunDir = join(repoRoot, "node_modules/.bun"); | |
| 76 | − const packageDir = readdirSync(bunDir).find((entry) => | |
| 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", | |
| 76 | + const requireFromControlPlane = createRequire( | |
| 77 | + join(repoRoot, "packages/control-plane/package.json"), | |
| 88 | 78 | ); |
| 79 | + const entryPath = requireFromControlPlane.resolve("@electric-sql/pglite"); | |
| 80 | + const distDir = dirname(entryPath); | |
| 89 | 81 | |
| 90 | 82 | if (!existsSync(distDir)) { |
| 91 | 83 | throw new Error(`Unable to locate PGlite dist directory at ${distDir}`); |