Enhance ripgrep error handling and utility functions

🤖 Generated with [OpenCode](https://opencode.ai)

Co-Authored-By: OpenCode <noreply@opencode.ai>
This commit is contained in:
Dax Raad
2025-06-10 11:06:01 -04:00
parent c3ab370344
commit fa7416687b
2 changed files with 15 additions and 16 deletions

View File

@@ -62,21 +62,16 @@ export namespace Ripgrep {
const archivePath = path.join(Global.Path.bin, filename)
await Bun.write(archivePath, buffer)
if (config.extension === "tar.gz") {
const proc = Bun.spawn(
[
"tar",
"-xzf",
archivePath,
"--strip-components=1",
"--wildcards",
"*/rg",
],
{
cwd: Global.Path.bin,
stderr: "pipe",
stdout: "pipe",
},
)
const args = ["tar", "-xzf", archivePath, "--strip-components=1"]
if (process.platform === "darwin") args.push("--include=*/rg")
if (process.platform === "linux") args.push("--wildcards", "*/rg")
const proc = Bun.spawn(args, {
cwd: Global.Path.bin,
stderr: "pipe",
stdout: "pipe",
})
await proc.exited
if (proc.exitCode !== 0)
throw new ExtractionFailedError({
@@ -89,7 +84,7 @@ export namespace Ripgrep {
["unzip", "-j", archivePath, "*/rg.exe", "-d", Global.Path.bin],
{
cwd: Global.Path.bin,
stderr: "ignore",
stderr: "pipe",
stdout: "ignore",
},
)

View File

@@ -1,4 +1,7 @@
import { z, type ZodSchema } from "zod"
import { Log } from "./log"
const log = Log.create()
export abstract class NamedError extends Error {
abstract schema(): ZodSchema
@@ -24,6 +27,7 @@ export abstract class NamedError extends Error {
) {
super(name, options)
this.name = name
log.error(name, this.data)
}
static isInstance(input: any): input is InstanceType<typeof result> {