Skip to content

Commit 205205e

Browse files
committed
Also repair type deps for deno_graph API structure
1 parent 85c459d commit 205205e

File tree

2 files changed

+17
-23
lines changed

2 files changed

+17
-23
lines changed

lib/module-map.ts

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -43,35 +43,26 @@ export class ModuleMap {
4343
return;
4444
}
4545

46-
const depEdges = [ ...info.dependencies ];
47-
if (info.typeDependency) {
48-
depEdges.push(info.typeDependency);
46+
const depEdges = info.dependencies.flatMap(x => [
47+
x.code?.specifier ?? '',
48+
x.type?.specifier ?? '',
49+
].filter(x => x));
50+
if (info.typesDependency?.dependency.specifier) {
51+
depEdges.push(info.typesDependency.dependency.specifier);
4952
}
5053

5154
const module = this.grabModFor(url);
5255
module.totalSize += info.size;
5356
module.files.push({
5457
url: url,
55-
deps: depEdges.flatMap(x => [
56-
x.code?.specifier ?? '',
57-
x.type?.specifier ?? '',
58-
].filter(x => x)),
58+
deps: depEdges,
5959
size: info.size,
6060
});
6161
for (const dep of depEdges) {
62-
if (dep.code) {
63-
const depNode = data.modules.find(x => x.specifier === dep.code?.specifier);
64-
const depMod = this.grabModFor(dep.code.specifier, depNode?.error ? '#error' : undefined);
65-
if (module !== depMod) {
66-
module.deps.add(depMod);
67-
}
68-
}
69-
if (dep.type) {
70-
const depNode = data.modules.find(x => x.specifier === dep.type?.specifier);
71-
const depMod = this.grabModFor(dep.type.specifier, depNode?.error ? '#error' : undefined);
72-
if (module !== depMod) {
73-
module.deps.add(depMod);
74-
}
62+
const depNode = data.modules.find(x => x.specifier === dep);
63+
const depMod = this.grabModFor(dep, depNode?.error ? '#error' : undefined);
64+
if (module !== depMod) {
65+
module.deps.add(depMod);
7566
}
7667
}
7768
}

lib/types.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,12 @@ interface DenoModuleError {
3131
error: string;
3232
}
3333
export type DenoModule = {
34-
specifier: string;
35-
dependencies: DenoDependency[];
36-
typeDependency?: DenoDependency;
34+
specifier: string;
35+
dependencies: DenoDependency[];
36+
typesDependency?: {
37+
specifier: string;
38+
dependency: { specifier: string }; // also the span
39+
};
3740
} & (
3841
| DenoModuleInfo
3942
| DenoModuleError

0 commit comments

Comments
 (0)