34 lines
1.0 KiB
TypeScript
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();
|
|
});
|
|
});
|