import { readFileSync } from "node:fs"; import { describe, expect, it } from "@suaveplan/testing/runner"; const pkgJson = JSON.parse( readFileSync(new URL("../package.json", import.meta.url), "utf8") ) as { name: string; dependencies?: Record; devDependencies?: Record; }; describe("audio-fx-plugin-base dep-graph isolation", () => { it("declares no @suaveplan/audio-fx-plugin-* deps", { timeout: 5000, }, () => { const deps = { ...(pkgJson.dependencies ?? {}), ...(pkgJson.devDependencies ?? {}), }; const offenders = Object.keys(deps).filter((name) => name.startsWith("@suaveplan/audio-fx-plugin-") ); expect(offenders).toEqual([]); }); it("does not declare a self-dependency", { timeout: 5000 }, () => { const deps = { ...(pkgJson.dependencies ?? {}), ...(pkgJson.devDependencies ?? {}), }; expect(deps[pkgJson.name]).toBeUndefined(); }); });