From ac2ba48095750688412dbb84b644cb8116c50b3d Mon Sep 17 00:00:00 2001 From: Jack Bates Date: Thu, 30 Apr 2020 08:13:53 -0700 Subject: [PATCH 1/2] Handle relative type references --- packages/definitions-parser/src/lib/module-info.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/definitions-parser/src/lib/module-info.ts b/packages/definitions-parser/src/lib/module-info.ts index c4b6d08926..458f3ed1ab 100644 --- a/packages/definitions-parser/src/lib/module-info.ts +++ b/packages/definitions-parser/src/lib/module-info.ts @@ -225,8 +225,7 @@ function findReferencedFiles(src: ts.SourceFile, packageName: string, subDirecto addReference({ text: ref.fileName, exact: true }); } for (const ref of src.typeReferenceDirectives) { - // only references are local (or "packagename/x", though in 3.7 that doesn't work in DT). - if (ref.fileName.startsWith("../" + packageName + "/")) { + if (ref.fileName.startsWith(".")) { addReference({ text: ref.fileName, exact: false }); } else if (ref.fileName.startsWith(packageName + "/")) { addReference({ text: convertToRelativeReference(ref.fileName), exact: false }); From e4b9009780ce3d6281ee595cc0d5a3639aaa8cae Mon Sep 17 00:00:00 2001 From: Jack Bates Date: Tue, 1 Sep 2020 16:08:02 -0700 Subject: [PATCH 2/2] Add tests --- .../definitions-parser/test/module-info.test.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/packages/definitions-parser/test/module-info.test.ts b/packages/definitions-parser/test/module-info.test.ts index 0acc8c7386..608883fbb5 100644 --- a/packages/definitions-parser/test/module-info.test.ts +++ b/packages/definitions-parser/test/module-info.test.ts @@ -75,6 +75,19 @@ testo({ expect(Array.from(types.keys())).toEqual(["index.d.ts", "types.d.ts"]); expect(Array.from(tests.keys())).toEqual([]); }, + allReferencedFilesIncludesRelativeTypeReferences() { + 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"); + expect(Array.from(types.keys())).toEqual(["addon.pdf.d.ts"]); + expect(Array.from(tests.keys())).toEqual(["mock-tests.ts"]); + }, getModuleInfoWorksWithOtherFiles() { const { types } = getBoringReferences(); // written as if it were from OTHER_FILES.txt