fix(opencode): resolve ripgrep worker path in builds (#22436)
This commit is contained in:
@@ -187,6 +187,7 @@ for (const item of targets) {
|
|||||||
const rootPath = path.resolve(dir, "../../node_modules/@opentui/core/parser.worker.js")
|
const rootPath = path.resolve(dir, "../../node_modules/@opentui/core/parser.worker.js")
|
||||||
const parserWorker = fs.realpathSync(fs.existsSync(localPath) ? localPath : rootPath)
|
const parserWorker = fs.realpathSync(fs.existsSync(localPath) ? localPath : rootPath)
|
||||||
const workerPath = "./src/cli/cmd/tui/worker.ts"
|
const workerPath = "./src/cli/cmd/tui/worker.ts"
|
||||||
|
const rgPath = "./src/file/ripgrep.worker.ts"
|
||||||
|
|
||||||
// Use platform-specific bunfs root path based on target OS
|
// Use platform-specific bunfs root path based on target OS
|
||||||
const bunfsRoot = item.os === "win32" ? "B:/~BUN/root/" : "/$bunfs/root/"
|
const bunfsRoot = item.os === "win32" ? "B:/~BUN/root/" : "/$bunfs/root/"
|
||||||
@@ -213,12 +214,19 @@ for (const item of targets) {
|
|||||||
files: {
|
files: {
|
||||||
...(embeddedFileMap ? { "opencode-web-ui.gen.ts": embeddedFileMap } : {}),
|
...(embeddedFileMap ? { "opencode-web-ui.gen.ts": embeddedFileMap } : {}),
|
||||||
},
|
},
|
||||||
entrypoints: ["./src/index.ts", parserWorker, workerPath, ...(embeddedFileMap ? ["opencode-web-ui.gen.ts"] : [])],
|
entrypoints: [
|
||||||
|
"./src/index.ts",
|
||||||
|
parserWorker,
|
||||||
|
workerPath,
|
||||||
|
rgPath,
|
||||||
|
...(embeddedFileMap ? ["opencode-web-ui.gen.ts"] : []),
|
||||||
|
],
|
||||||
define: {
|
define: {
|
||||||
OPENCODE_VERSION: `'${Script.version}'`,
|
OPENCODE_VERSION: `'${Script.version}'`,
|
||||||
OPENCODE_MIGRATIONS: JSON.stringify(migrations),
|
OPENCODE_MIGRATIONS: JSON.stringify(migrations),
|
||||||
OTUI_TREE_SITTER_WORKER_PATH: bunfsRoot + workerRelativePath,
|
OTUI_TREE_SITTER_WORKER_PATH: bunfsRoot + workerRelativePath,
|
||||||
OPENCODE_WORKER_PATH: workerPath,
|
OPENCODE_WORKER_PATH: workerPath,
|
||||||
|
OPENCODE_RIPGREP_WORKER_PATH: rgPath,
|
||||||
OPENCODE_CHANNEL: `'${Script.channel}'`,
|
OPENCODE_CHANNEL: `'${Script.channel}'`,
|
||||||
OPENCODE_LIBC: item.os === "linux" ? `'${item.abi ?? "glibc"}'` : "",
|
OPENCODE_LIBC: item.os === "linux" ? `'${item.abi ?? "glibc"}'` : "",
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -268,7 +268,12 @@ export namespace Ripgrep {
|
|||||||
.flatMap((item) => (item.type === "match" ? [row(item.data)] : []))
|
.flatMap((item) => (item.type === "match" ? [row(item.data)] : []))
|
||||||
}
|
}
|
||||||
|
|
||||||
function target() {
|
declare const OPENCODE_RIPGREP_WORKER_PATH: string
|
||||||
|
|
||||||
|
function target(): Effect.Effect<string | URL, Error> {
|
||||||
|
if (typeof OPENCODE_RIPGREP_WORKER_PATH !== "undefined") {
|
||||||
|
return Effect.succeed(OPENCODE_RIPGREP_WORKER_PATH)
|
||||||
|
}
|
||||||
const js = new URL("./ripgrep.worker.js", import.meta.url)
|
const js = new URL("./ripgrep.worker.js", import.meta.url)
|
||||||
return Effect.tryPromise({
|
return Effect.tryPromise({
|
||||||
try: () => Filesystem.exists(fileURLToPath(js)),
|
try: () => Filesystem.exists(fileURLToPath(js)),
|
||||||
|
|||||||
Reference in New Issue
Block a user