@@ -20,7 +20,7 @@ export class Package {
2020 packageName : string ,
2121 packageVersion : string ,
2222 resolvedUrl ?: string ,
23- typesPackage ?: Package [ "typesPackage" ]
23+ typesPackage ?: Package [ "typesPackage" ] ,
2424 ) {
2525 this . #files = files ;
2626 this . packageName = packageName ;
@@ -29,10 +29,10 @@ export class Package {
2929 this . typesPackage = typesPackage ;
3030 }
3131
32- readFile ( path : string ) : string {
32+ tryReadFile ( path : string ) : string | undefined {
3333 const file = this . #files[ path ] ;
3434 if ( file === undefined ) {
35- throw new Error ( `File not found: ${ path } ` ) ;
35+ return undefined ;
3636 }
3737 if ( typeof file === "string" ) {
3838 return file ;
@@ -42,6 +42,14 @@ export class Package {
4242 return content ;
4343 }
4444
45+ readFile ( path : string ) : string {
46+ const content = this . tryReadFile ( path ) ;
47+ if ( content === undefined ) {
48+ throw new Error ( `File not found: ${ path } ` ) ;
49+ }
50+ return content ;
51+ }
52+
4553 fileExists ( path : string ) : boolean {
4654 return path in this . #files;
4755 }
@@ -91,7 +99,7 @@ export interface CreatePackageFromNpmOptions {
9199
92100export async function createPackageFromNpm (
93101 packageSpec : string ,
94- { definitelyTyped = true , before } : CreatePackageFromNpmOptions = { }
102+ { definitelyTyped = true , before } : CreatePackageFromNpmOptions = { } ,
95103) : Promise < Package > {
96104 const parsed = parsePackageSpec ( packageSpec ) ;
97105 if ( parsed . status === "error" ) {
@@ -125,7 +133,7 @@ export async function createPackageFromNpm(
125133 version : definitelyTyped ,
126134 } ,
127135 ] ,
128- before
136+ before ,
129137 ) ;
130138 }
131139
@@ -138,7 +146,7 @@ export async function createPackageFromNpm(
138146export async function resolveTypesPackageForPackage (
139147 packageName : string ,
140148 packageVersion : string ,
141- before ?: Date
149+ before ?: Date ,
142150) : Promise < { packageName : string ; packageVersion : string ; tarballUrl : string } | undefined > {
143151 const typesPackageName = ts . getTypesPackageName ( packageName ) ;
144152 try {
@@ -162,18 +170,18 @@ export async function resolveTypesPackageForPackage(
162170 version : "latest" ,
163171 } ,
164172 ] ,
165- before
173+ before ,
166174 ) ) ,
167175 } ;
168176 } catch { }
169177}
170178
171179async function getNpmTarballUrl (
172180 packageSpecs : readonly ParsedPackageSpec [ ] ,
173- before ?: Date
181+ before ?: Date ,
174182) : Promise < { tarballUrl : string ; packageVersion : string } > {
175183 const fetchPackument = packageSpecs . some (
176- ( spec ) => spec . versionKind === "range" || ( spec . versionKind === "tag" && spec . version !== "latest" )
184+ ( spec ) => spec . versionKind === "range" || ( spec . versionKind === "tag" && spec . version !== "latest" ) ,
177185 ) ;
178186 const packumentUrl = `https://registry.npmjs.org/${ packageSpecs [ 0 ] . name } ` ;
179187 const includeTimes = before !== undefined && packageSpecs . some ( ( spec ) => spec . versionKind !== "exact" ) ;
@@ -193,9 +201,9 @@ async function getNpmTarballUrl(
193201 if ( packageSpec . versionKind === "range" ) {
194202 packageVersion = maxSatisfying (
195203 Object . keys ( doc . versions ) . filter (
196- ( v ) => ! doc . versions [ v ] . deprecated && ( ! before || ! doc . time || new Date ( doc . time [ v ] ) <= before )
204+ ( v ) => ! doc . versions [ v ] . deprecated && ( ! before || ! doc . time || new Date ( doc . time [ v ] ) <= before ) ,
197205 ) ,
198- packageSpec . version
206+ packageSpec . version ,
199207 ) ;
200208 if ( ! packageVersion ) {
201209 continue ;
0 commit comments