1- import { filesize } from "../deps.ts" ;
2- import { CodeModule , DenoInfo , DenoModule } from "./types.ts" ;
1+ import { filesize , ModuleGraphJson , ModuleJson } from "../deps.ts" ;
2+ import { CodeModule } from "./types.ts" ;
33import * as registries from "./module-registries.ts" ;
44
55export class ModuleMap {
@@ -10,7 +10,7 @@ export class ModuleMap {
1010 constructor (
1111 public args : URLSearchParams ,
1212 public redirects : Record < string , string > ,
13- public rootNode : DenoModule ,
13+ public rootNode : ModuleJson ,
1414 ) {
1515 this . registryOpts = {
1616 mainModule : rootNode . specifier ,
@@ -41,7 +41,7 @@ export class ModuleMap {
4141 return moduleInfo ;
4242 }
4343
44- addFile ( url : string , info : DenoModule , data : DenoInfo ) {
44+ addFile ( url : string , info : ModuleJson , data : ModuleGraphJson ) {
4545 if ( info . error != null ) {
4646 const module = this . grabModFor ( url , '#error' ) ;
4747 if ( ! module . errors ) module . errors = [ ] ;
@@ -58,7 +58,7 @@ export class ModuleMap {
5858 }
5959
6060 const module = this . grabModFor ( url ) ;
61- module . totalSize += info . size ;
61+ module . totalSize += info . size ?? 0 ;
6262 module . files . push ( {
6363 url : url ,
6464 deps : depEdges ,
@@ -176,7 +176,7 @@ export class ModuleMap {
176176
177177}
178178
179- export function processDenoInfo ( data : DenoInfo , args ?: URLSearchParams ) {
179+ export function processDenoInfo ( data : ModuleGraphJson , args ?: URLSearchParams ) {
180180 // TODO: when are there multiple roots?
181181 const roots = data . roots . map ( x => data . redirects [ x ] || x ) ;
182182 const rootNode = data . modules . find ( x => roots . includes ( x . specifier ) ) ;
@@ -193,7 +193,7 @@ export function processDenoInfo(data: DenoInfo, args?: URLSearchParams) {
193193 return map ;
194194}
195195
196- export function computeDependencies ( data : DenoInfo , args : URLSearchParams ) {
196+ export function computeDependencies ( data : ModuleGraphJson , args : URLSearchParams ) {
197197 const map = processDenoInfo ( data , args ) ;
198198
199199 // Allow output different levels of processing
@@ -218,7 +218,7 @@ export function computeDependencies(data: DenoInfo, args: URLSearchParams) {
218218if ( import . meta. main ) {
219219 const rawData = new TextDecoder ( ) . decode ( await Deno . readAll ( Deno . stdin ) ) ;
220220 if ( rawData [ 0 ] !== '{' ) throw new Error ( `Expected JSON from "deno info --json"` ) ;
221- const data = JSON . parse ( rawData ) as DenoInfo ;
221+ const data = JSON . parse ( rawData ) as ModuleGraphJson ;
222222
223223 const args = new URLSearchParams ( Deno . args [ 0 ] ) ;
224224
0 commit comments