diff --git a/packages/definitions-parser/src/lib/module-info.ts b/packages/definitions-parser/src/lib/module-info.ts index 05ab366d18..8f022bd4c0 100644 --- a/packages/definitions-parser/src/lib/module-info.ts +++ b/packages/definitions-parser/src/lib/module-info.ts @@ -4,6 +4,7 @@ import * as ts from "typescript"; import { sort, joinPaths, FS, normalizeSlashes, hasWindowsSlashes } from "@definitelytyped/utils"; import { readFileAndThrowOnBOM } from "./definition-parser"; +import { getMangledNameForScopedPackage } from "../packages"; export function getModuleInfo(packageName: string, all: Map): ModuleInfo { const dependencies = new Set(); @@ -235,8 +236,7 @@ function findReferencedFiles(src: ts.SourceFile, packageName: string, subDirecto for (const ref of imports(src)) { if (ref.startsWith(".")) { addReference({ text: ref, exact: false }); - } - if (ref.startsWith(packageName + "/")) { + } else if (getMangledNameForScopedPackage(ref).startsWith(packageName + "/")) { addReference({ text: convertToRelativeReference(ref), exact: false }); hasNonRelativeImports = true; } diff --git a/packages/definitions-parser/test/module-info.test.ts b/packages/definitions-parser/test/module-info.test.ts index 0d99dc513f..a81d3e2371 100644 --- a/packages/definitions-parser/test/module-info.test.ts +++ b/packages/definitions-parser/test/module-info.test.ts @@ -128,6 +128,24 @@ testo({ const i = getModuleInfo("fail", types); expect(i.dependencies).toEqual(new Set([])); }, + selfInScopedPackage() { + const scoped = new Dir(undefined); + scoped.set( + "index.d.ts", + `import "@rdfjs/to-ntriples/component"; +` + ); + scoped.set("component.d.ts", ""); + const memFS = new InMemoryFS(scoped, "types/rdfjs__to-ntriples"); + const { types, tests } = allReferencedFiles( + ["index.d.ts"], + memFS, + "rdfjs__to-ntriples", + "types/rdfjs__to-ntriples" + ); + expect(Array.from(types.keys())).toEqual(["index.d.ts", "component.d.ts"]); + expect(Array.from(tests.keys())).toEqual([]); + }, selfInTypesVersionsParent() { const pkg = new Dir(undefined); const ts20 = pkg.subdir("ts2.0");