| 123456789101112131415161718192021222324252627 |
- import { mkdir, writeFile } from "node:fs/promises"
- import path from "node:path"
- import { expect, test } from "bun:test"
- import { discoverTuiPlugins } from "../src/plugin/discovery"
- import { tmpdir } from "./fixture/fixture"
- test("discovers project TUI plugin files in stable order", async () => {
- await using tmp = await tmpdir()
- const directory = path.join(tmp.path, ".opencode", "plugins", "tui")
- await mkdir(path.join(directory, "nested"), { recursive: true })
- await Promise.all([
- writeFile(path.join(directory, "second.tsx"), "export default {}"),
- writeFile(path.join(directory, "first.js"), "export default {}"),
- writeFile(path.join(directory, "ignored.json"), "{}"),
- writeFile(path.join(directory, "nested", "ignored.ts"), "export default {}"),
- ])
- expect(await discoverTuiPlugins(tmp.path)).toEqual([
- path.join(directory, "first.js"),
- path.join(directory, "second.tsx"),
- ])
- })
- test("returns no project TUI plugins when the directory is absent", async () => {
- await using tmp = await tmpdir()
- expect(await discoverTuiPlugins(tmp.path)).toEqual([])
- })
|