diff --git a/packages/definitions-parser/src/lib/module-info.ts b/packages/definitions-parser/src/lib/module-info.ts index 6e9b5f1abf..f25fa13e8f 100644 --- a/packages/definitions-parser/src/lib/module-info.ts +++ b/packages/definitions-parser/src/lib/module-info.ts @@ -373,7 +373,8 @@ export function getTestDependencies( for (const { fileName: ref } of referencedFiles) { throw new Error(`Test files should not use ''. '${filePath()}' references '${ref}'.`); } - for (const { fileName: referencedPackage } of typeReferenceDirectives) { + for (const { fileName: ref } of typeReferenceDirectives) { + const referencedPackage = rootName(ref, typeFiles, packageName); if (dependencies.has(referencedPackage)) { throw new Error( `'${filePath()}' unnecessarily references '${referencedPackage}', which is already referenced in the type definition.` diff --git a/packages/definitions-parser/test/module-info.test.ts b/packages/definitions-parser/test/module-info.test.ts index 62797f9276..5de8b3f83e 100644 --- a/packages/definitions-parser/test/module-info.test.ts +++ b/packages/definitions-parser/test/module-info.test.ts @@ -133,5 +133,18 @@ 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"])); + }, + getTestDependenciesRemovesInternalPaths() { + const pkg = new Dir(undefined); + pkg.set( + "mock-tests.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(["test-dependency"]); } });