Files
2026-05-27 23:47:53 +01:00

34 lines
1.0 KiB
TypeScript

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<string, string>;
devDependencies?: Record<string, string>;
};
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();
});
});