@@ -11,6 +11,7 @@ import { recordSpanException } from "@trigger.dev/core/v3/otel";
11
11
import { flattenAttributes } from "@trigger.dev/core/v3" ;
12
12
13
13
export type ResolveOptions = { allowDev : boolean } ;
14
+ export type DependencyMeta = { version : string ; external : boolean } ;
14
15
15
16
export class JavascriptProject {
16
17
private _packageJson ?: PackageJson ;
@@ -94,31 +95,32 @@ export class JavascriptProject {
94
95
}
95
96
}
96
97
97
- async resolveDirectDependencies ( ) : Promise <
98
- Record < string , { version : string ; external : boolean } >
99
- > {
100
- return tracer . startActiveSpan ( "JavascriptProject.resolveInternal" , async ( span ) => {
101
- const command = await this . #getCommand( ) ;
102
-
103
- span . setAttributes ( {
104
- packageManager : command . name ,
105
- } ) ;
98
+ async extractDirectDependenciesMeta ( ) : Promise < Record < string , DependencyMeta > > {
99
+ return tracer . startActiveSpan (
100
+ "JavascriptProject.extractDirectDependenciesMeta" ,
101
+ async ( span ) => {
102
+ const command = await this . #getCommand( ) ;
106
103
107
- try {
108
- return await command . resolveDirectDependencies ( {
109
- cwd : this . projectPath ,
104
+ span . setAttributes ( {
105
+ packageManager : command . name ,
110
106
} ) ;
111
- } catch ( error ) {
112
- recordSpanException ( span , error ) ;
113
- span . end ( ) ;
114
107
115
- logger . debug ( `Failed to resolve internal dependencies using ${ command . name } ` , {
116
- error,
117
- } ) ;
108
+ try {
109
+ return await command . extractDirectDependenciesMeta ( {
110
+ cwd : this . projectPath ,
111
+ } ) ;
112
+ } catch ( error ) {
113
+ recordSpanException ( span , error ) ;
114
+ span . end ( ) ;
118
115
119
- throw error ;
116
+ logger . debug ( `Failed to resolve internal dependencies using ${ command . name } ` , {
117
+ error,
118
+ } ) ;
119
+
120
+ throw error ;
121
+ }
120
122
}
121
- } ) ;
123
+ ) ;
122
124
}
123
125
124
126
async resolveAll (
@@ -298,9 +300,9 @@ interface PackageManagerCommands {
298
300
299
301
installDependencies ( options : PackageManagerOptions ) : Promise < void > ;
300
302
301
- resolveDirectDependencies (
303
+ extractDirectDependenciesMeta (
302
304
options : PackageManagerOptions
303
- ) : Promise < Record < string , { version : string ; external : boolean } > > ;
305
+ ) : Promise < Record < string , DependencyMeta > > ;
304
306
305
307
resolveDependencyVersion (
306
308
packageName : string ,
@@ -368,12 +370,12 @@ class PNPMCommands implements PackageManagerCommands {
368
370
return results ;
369
371
}
370
372
371
- async resolveDirectDependencies ( options : PackageManagerOptions ) {
373
+ async extractDirectDependenciesMeta ( options : PackageManagerOptions ) {
372
374
const result = await this . #listDirectDependencies( options ) ;
373
375
374
- logger . debug ( `Resolving direct dependencies using ${ this . name } ` ) ;
376
+ logger . debug ( `Extracting direct dependencies metadata using ${ this . name } ` ) ;
375
377
376
- const results : Record < string , { version : string ; external : boolean } > = { } ;
378
+ const results : Record < string , DependencyMeta > = { } ;
377
379
378
380
for ( const projectPkg of result ) {
379
381
results [ projectPkg . name ] = { version : projectPkg . version , external : false } ;
@@ -481,12 +483,12 @@ class NPMCommands implements PackageManagerCommands {
481
483
return results ;
482
484
}
483
485
484
- async resolveDirectDependencies ( options : PackageManagerOptions ) {
486
+ async extractDirectDependenciesMeta ( options : PackageManagerOptions ) {
485
487
const result = await this . #listDirectDependencies( options ) ;
486
488
487
- logger . debug ( `Resolving direct dependencies using ${ this . name } ` ) ;
489
+ logger . debug ( `Extracting direct dependencies metadata using ${ this . name } ` ) ;
488
490
489
- return this . #flattenDirectDependencies ( result . dependencies ) ;
491
+ return this . #flattenDependenciesMeta ( result . dependencies ) ;
490
492
}
491
493
492
494
async #listDirectDependencies( options : PackageManagerOptions ) {
@@ -538,17 +540,17 @@ class NPMCommands implements PackageManagerCommands {
538
540
}
539
541
}
540
542
541
- #flattenDirectDependencies (
543
+ #flattenDependenciesMeta (
542
544
dependencies : Record < string , NpmDependency >
543
- ) : Record < string , { version : string ; external : boolean } > {
544
- let results : Record < string , { version : string ; external : boolean } > = { } ;
545
+ ) : Record < string , DependencyMeta > {
546
+ let results : Record < string , DependencyMeta > = { } ;
545
547
546
548
for ( const [ name , dep ] of Object . entries ( dependencies ) ) {
547
549
const { version, resolved, dependencies } = dep ;
548
550
results [ name ] = { version, external : ! resolved . startsWith ( "file:" ) } ;
549
551
550
552
if ( dependencies ) {
551
- results = { ...results , ...this . #flattenDirectDependencies ( dependencies ) } ;
553
+ results = { ...results , ...this . #flattenDependenciesMeta ( dependencies ) } ;
552
554
}
553
555
}
554
556
@@ -612,13 +614,13 @@ class YarnCommands implements PackageManagerCommands {
612
614
return results ;
613
615
}
614
616
615
- async resolveDirectDependencies ( options : PackageManagerOptions ) {
617
+ async extractDirectDependenciesMeta ( options : PackageManagerOptions ) {
616
618
const result = await this . #listDirectDependencies( options ) ;
617
619
console . log ( "LIST DIRECT DEPS" , JSON . stringify ( result , undefined , 2 ) ) ;
618
620
619
- logger . debug ( `Resolving direct dependencies using ${ this . name } ` ) ;
621
+ logger . debug ( `Extracting direct dependencies metadata using ${ this . name } ` ) ;
620
622
621
- const results : Record < string , { version : string ; external : boolean } > = { } ;
623
+ const results : Record < string , DependencyMeta > = { } ;
622
624
623
625
// TODO yarn
624
626
0 commit comments