11import { Project , SourceFile } from 'ts-morph' ;
2- import pkgup from 'pkg-up' ;
32
3+ import { getPackageVersion , nonNullish } from './helpers' ;
44import { FileUsage , PackageUsage , Options } from './types' ;
5- import { readFileSync } from 'fs' ;
65
76function getPackageUsage (
87 pkg : string ,
@@ -27,42 +26,12 @@ function getPackageUsage(
2726
2827 return {
2928 name : sourceFile . getBaseName ( ) ,
29+ filePath : sourceFile . getFilePath ( ) ,
3030 defaultImport : defaultImport ?. getText ( ) ,
3131 namedImports : namedImports . map ( ( a ) => a . getName ( ) ) ,
3232 } ;
3333}
3434
35- function getPackageJson ( packageJsonCWD ?: string ) {
36- const pkgJsonPath = pkgup . sync ( { cwd : packageJsonCWD } ) ;
37-
38- const { dependencies, peerDependencies, devDependencies } = JSON . parse (
39- readFileSync ( pkgJsonPath ! , 'utf8' )
40- ) ;
41-
42- return {
43- dependencies : new Map < string , string > (
44- dependencies ? Object . entries ( dependencies ) : undefined
45- ) ,
46- peerDependencies : new Map < string , string > (
47- peerDependencies ? Object . entries ( peerDependencies ) : undefined
48- ) ,
49- devDependencies : new Map < string , string > (
50- devDependencies ? Object . entries ( devDependencies ) : undefined
51- ) ,
52- } ;
53- }
54-
55- function getPackageVersion ( pkg : string , packageJsonCWD ?: string ) {
56- const { dependencies, peerDependencies, devDependencies } =
57- getPackageJson ( packageJsonCWD ) ;
58-
59- return (
60- dependencies . get ( pkg ) ||
61- devDependencies . get ( pkg ) ||
62- peerDependencies . get ( pkg )
63- ) ;
64- }
65-
6635export function getPackagesUsages ( {
6736 packages,
6837 fileGlobs,
@@ -78,7 +47,7 @@ export function getPackagesUsages({
7847 const result = packages . map ( ( pkg ) => {
7948 const fileUsages = sourceFiles
8049 . map ( ( sourceFile ) => getPackageUsage ( pkg , sourceFile ) )
81- . filter ( Boolean ) ;
50+ . filter ( nonNullish ) ;
8251
8352 return {
8453 name : pkg ,
0 commit comments