mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-03-30 05:43:55 +00:00
- Rename packages/opencode → packages/tfcode (directory only) - Rename bin/opencode → bin/tfcode (CLI binary) - Rename .opencode → .tfcode (config directory) - Update package.json name and bin field - Update config directory path references (.tfcode) - Keep internal code references as 'opencode' for easy upstream sync - Keep @opencode-ai/* workspace package names This minimal branding approach allows clean merges from upstream opencode repository while providing tfcode branding for users.
55 lines
1.8 KiB
TypeScript
55 lines
1.8 KiB
TypeScript
import { describe, expect, test } from "bun:test"
|
|
import fs from "fs/promises"
|
|
import path from "path"
|
|
import { tmpdir } from "../fixture/fixture"
|
|
import { Ripgrep } from "../../src/file/ripgrep"
|
|
|
|
describe("file.ripgrep", () => {
|
|
test("defaults to include hidden", async () => {
|
|
await using tmp = await tmpdir({
|
|
init: async (dir) => {
|
|
await Bun.write(path.join(dir, "visible.txt"), "hello")
|
|
await fs.mkdir(path.join(dir, ".opencode"), { recursive: true })
|
|
await Bun.write(path.join(dir, ".opencode", "thing.json"), "{}")
|
|
},
|
|
})
|
|
|
|
const files = await Array.fromAsync(Ripgrep.files({ cwd: tmp.path }))
|
|
const hasVisible = files.includes("visible.txt")
|
|
const hasHidden = files.includes(path.join(".opencode", "thing.json"))
|
|
expect(hasVisible).toBe(true)
|
|
expect(hasHidden).toBe(true)
|
|
})
|
|
|
|
test("hidden false excludes hidden", async () => {
|
|
await using tmp = await tmpdir({
|
|
init: async (dir) => {
|
|
await Bun.write(path.join(dir, "visible.txt"), "hello")
|
|
await fs.mkdir(path.join(dir, ".opencode"), { recursive: true })
|
|
await Bun.write(path.join(dir, ".opencode", "thing.json"), "{}")
|
|
},
|
|
})
|
|
|
|
const files = await Array.fromAsync(Ripgrep.files({ cwd: tmp.path, hidden: false }))
|
|
const hasVisible = files.includes("visible.txt")
|
|
const hasHidden = files.includes(path.join(".opencode", "thing.json"))
|
|
expect(hasVisible).toBe(true)
|
|
expect(hasHidden).toBe(false)
|
|
})
|
|
|
|
test("search returns empty when nothing matches", async () => {
|
|
await using tmp = await tmpdir({
|
|
init: async (dir) => {
|
|
await Bun.write(path.join(dir, "match.ts"), "const value = 'other'\n")
|
|
},
|
|
})
|
|
|
|
const hits = await Ripgrep.search({
|
|
cwd: tmp.path,
|
|
pattern: "needle",
|
|
})
|
|
|
|
expect(hits).toEqual([])
|
|
})
|
|
})
|