@@ -10,7 +10,7 @@ import { Listr, ListrRenderer, ListrTaskWrapper, color, figures } from 'listr2';
1010import assert from 'node:assert' ;
1111import fs from 'node:fs/promises' ;
1212import { createRequire } from 'node:module' ;
13- import { dirname , join , relative , resolve } from 'node:path' ;
13+ import { dirname , join } from 'node:path' ;
1414import npa from 'npm-package-arg' ;
1515import semver , { Range , compare , intersects , prerelease , satisfies , valid } from 'semver' ;
1616import { Argv } from 'yargs' ;
@@ -25,16 +25,13 @@ import {
2525} from '../../command-builder/schematics-command-module' ;
2626import {
2727 NgAddSaveDependency ,
28- PackageManager ,
2928 PackageManagerError ,
3029 PackageManifest ,
3130 PackageMetadata ,
32- createPackageManager ,
3331} from '../../package-managers' ;
3432import { assertIsError } from '../../utilities/error' ;
3533import { isTTY } from '../../utilities/tty' ;
3634import { VERSION } from '../../utilities/version' ;
37- import { getCacheConfig } from '../cache/utilities' ;
3835
3936class CommandError extends Error { }
4037
@@ -46,7 +43,6 @@ interface AddCommandArgs extends SchematicsCommandArgs {
4643}
4744
4845interface AddCommandTaskContext {
49- packageManager : PackageManager ;
5046 packageIdentifier : npa . Result ;
5147 savePackage ?: NgAddSaveDependency ;
5248 collectionName ?: string ;
@@ -198,7 +194,8 @@ export default class AddCommandModule
198194 [
199195 {
200196 title : 'Determining Package Manager' ,
201- task : ( context , task ) => this . determinePackageManagerTask ( context , task ) ,
197+ task : ( _context , task ) =>
198+ ( task . output = `Using package manager: ${ color . dim ( this . context . packageManager . name ) } ` ) ,
202199 rendererOptions : { persistentOutput : true } ,
203200 } ,
204201 {
@@ -309,47 +306,14 @@ export default class AddCommandModule
309306 }
310307 }
311308
312- private async determinePackageManagerTask (
313- context : AddCommandTaskContext ,
314- task : AddCommandTaskWrapper ,
315- ) : Promise < void > {
316- let tempDirectory : string | undefined ;
317- const tempOptions = [ 'node_modules' ] ;
318-
319- const cacheConfig = getCacheConfig ( this . context . workspace ) ;
320- if ( cacheConfig . enabled ) {
321- const cachePath = resolve ( this . context . root , cacheConfig . path ) ;
322- if ( ! relative ( this . context . root , cachePath ) . startsWith ( '..' ) ) {
323- tempOptions . push ( cachePath ) ;
324- }
325- }
326-
327- for ( const tempOption of tempOptions ) {
328- try {
329- const directory = resolve ( this . context . root , tempOption ) ;
330- if ( ( await fs . stat ( directory ) ) . isDirectory ( ) ) {
331- tempDirectory = directory ;
332- break ;
333- }
334- } catch { }
335- }
336-
337- context . packageManager = await createPackageManager ( {
338- cwd : this . context . root ,
339- logger : this . context . logger ,
340- dryRun : context . dryRun ,
341- tempDirectory,
342- } ) ;
343- task . output = `Using package manager: ${ color . dim ( context . packageManager . name ) } ` ;
344- }
345-
346309 private async findCompatiblePackageVersionTask (
347310 context : AddCommandTaskContext ,
348311 task : AddCommandTaskWrapper ,
349312 options : Options < AddCommandArgs > ,
350313 ) : Promise < void > {
351314 const { registry, verbose } = options ;
352- const { packageManager, packageIdentifier } = context ;
315+ const { packageIdentifier } = context ;
316+ const { packageManager } = this . context ;
353317 const packageName = packageIdentifier . name ;
354318
355319 assert ( packageName , 'Registry package identifiers should always have a name.' ) ;
@@ -446,7 +410,8 @@ export default class AddCommandModule
446410 rejectionReasons : string [ ] ;
447411 } ,
448412 ) : Promise < PackageManifest | null > {
449- const { packageManager, packageIdentifier } = context ;
413+ const { packageIdentifier } = context ;
414+ const { packageManager } = this . context ;
450415 const { registry, verbose, rejectionReasons } = options ;
451416 const packageName = packageIdentifier . name ;
452417 assert ( packageName , 'Package name must be defined.' ) ;
@@ -524,9 +489,12 @@ export default class AddCommandModule
524489
525490 let manifest ;
526491 try {
527- manifest = await context . packageManager . getManifest ( context . packageIdentifier . toString ( ) , {
528- registry,
529- } ) ;
492+ manifest = await this . context . packageManager . getManifest (
493+ context . packageIdentifier . toString ( ) ,
494+ {
495+ registry,
496+ } ,
497+ ) ;
530498 } catch ( e ) {
531499 assertIsError ( e ) ;
532500 throw new CommandError (
@@ -585,7 +553,8 @@ export default class AddCommandModule
585553 options : Options < AddCommandArgs > ,
586554 ) : Promise < void > {
587555 const { registry } = options ;
588- const { packageManager, packageIdentifier, savePackage } = context ;
556+ const { packageIdentifier, savePackage } = context ;
557+ const { packageManager } = this . context ;
589558
590559 // Only show if installation will actually occur
591560 task . title = 'Installing package' ;
0 commit comments