mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-03-31 14:22:27 +00:00
refactor: migrate from Bun.Glob to npm glob package
Replace Bun.Glob usage with a new Glob utility wrapper around the npm 'glob' package. This moves us off Bun-specific APIs toward standard Node.js compatible solutions. Changes: - Add new src/util/glob.ts utility module with scan(), scanSync(), and match() - Default include option is 'file' (only returns files, not directories) - Add symlink option (default: false) to control symlink following - Migrate all 12 files using Bun.Glob to use the new Glob utility - Add comprehensive tests for the glob utility Breaking changes: - Removed support for include: 'dir' option (use include: 'all' and filter manually) - symlink now defaults to false (was true in most Bun.Glob usages) Files migrated: - src/util/log.ts - src/util/filesystem.ts - src/tool/truncation.ts - src/session/instruction.ts - src/storage/json-migration.ts - src/storage/storage.ts - src/project/project.ts - src/cli/cmd/tui/context/theme.tsx - src/config/config.ts - src/tool/registry.ts - src/skill/skill.ts - src/file/ignore.ts
This commit is contained in:
@@ -6,6 +6,7 @@ import { Config } from "../config/config"
|
||||
import { Instance } from "../project/instance"
|
||||
import { Flag } from "@/flag/flag"
|
||||
import { Log } from "../util/log"
|
||||
import { Glob } from "../util/glob"
|
||||
import type { MessageV2 } from "./message-v2"
|
||||
|
||||
const log = Log.create({ service: "instruction" })
|
||||
@@ -98,13 +99,11 @@ export namespace InstructionPrompt {
|
||||
instruction = path.join(os.homedir(), instruction.slice(2))
|
||||
}
|
||||
const matches = path.isAbsolute(instruction)
|
||||
? await Array.fromAsync(
|
||||
new Bun.Glob(path.basename(instruction)).scan({
|
||||
cwd: path.dirname(instruction),
|
||||
absolute: true,
|
||||
onlyFiles: true,
|
||||
}),
|
||||
).catch(() => [])
|
||||
? await Glob.scan(path.basename(instruction), {
|
||||
cwd: path.dirname(instruction),
|
||||
absolute: true,
|
||||
include: "file",
|
||||
}).catch(() => [])
|
||||
: await resolveRelative(instruction)
|
||||
matches.forEach((p) => {
|
||||
paths.add(path.resolve(p))
|
||||
|
||||
Reference in New Issue
Block a user