diff --git a/packages/definitions-parser/src/lib/module-info.ts b/packages/definitions-parser/src/lib/module-info.ts
index 6e9b5f1abf..25f43cf5fa 100644
--- a/packages/definitions-parser/src/lib/module-info.ts
+++ b/packages/definitions-parser/src/lib/module-info.ts
@@ -374,15 +374,17 @@ export function getTestDependencies(
throw new Error(`Test files should not use ''. '${filePath()}' references '${ref}'.`);
}
for (const { fileName: referencedPackage } of typeReferenceDirectives) {
- if (dependencies.has(referencedPackage)) {
- throw new Error(
- `'${filePath()}' unnecessarily references '${referencedPackage}', which is already referenced in the type definition.`
- );
- }
- if (referencedPackage === packageName) {
- referencesSelf = true;
+ if (!referencedPackage.startsWith(".")) {
+ if (dependencies.has(referencedPackage)) {
+ throw new Error(
+ `'${filePath()}' unnecessarily references '${referencedPackage}', which is already referenced in the type definition.`
+ );
+ }
+ if (referencedPackage === packageName) {
+ referencesSelf = true;
+ }
+ testDependencies.add(referencedPackage);
}
- testDependencies.add(referencedPackage);
}
for (const imported of imports(sourceFile)) {
hasImports = true;
diff --git a/packages/definitions-parser/test/module-info.test.ts b/packages/definitions-parser/test/module-info.test.ts
index 62797f9276..20302f3eba 100644
--- a/packages/definitions-parser/test/module-info.test.ts
+++ b/packages/definitions-parser/test/module-info.test.ts
@@ -133,5 +133,19 @@ testo({
const i = getModuleInfo("boring", types);
const d = getTestDependencies("boring", types, tests.keys(), i.dependencies, fs.subDir("types").subDir("boring"));
expect(d).toEqual(new Set(["super-big-fun-hus"]));
+ },
+ getTestDependenciesIgnoresRelativeTypeReferences() {
+ const pkg = new Dir(undefined);
+ pkg.set(
+ "mock-tests.ts",
+ `///
+`
+ );
+ pkg.set("addon.pdf.d.ts", "");
+ const memFS = new InMemoryFS(pkg, "types/mock");
+ const { types, tests } = allReferencedFiles(["mock-tests.ts"], memFS, "mock", "types/mock");
+ const { dependencies } = getModuleInfo("mock", types);
+ const testDependencies = getTestDependencies("mock", types, tests.keys(), dependencies, memFS);
+ expect(Array.from(testDependencies)).toEqual([]);
}
});