Refactor plugin/config loading, add theme-only plugin package support (#20556)

This commit is contained in:
Sebastian 2026-04-02 01:50:22 +02:00 committed by GitHub
commit f6fd43e574
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
24 changed files with 1239 additions and 532 deletions

View file

@ -6,14 +6,14 @@ type PluginSpec = string | [string, Record<string, unknown>]
export function mockTuiRuntime(dir: string, plugin: PluginSpec[]) {
process.env.OPENCODE_PLUGIN_META_FILE = path.join(dir, "plugin-meta.json")
const plugin_records = plugin.map((item) => ({
item,
const plugin_origins = plugin.map((spec) => ({
spec,
scope: "local" as const,
source: path.join(dir, "tui.json"),
}))
const get = spyOn(TuiConfig, "get").mockResolvedValue({
plugin,
plugin_records,
plugin_origins,
})
const wait = spyOn(TuiConfig, "waitForDependencies").mockResolvedValue()
const cwd = spyOn(process, "cwd").mockImplementation(() => dir)