@@ -18,7 +18,8 @@ import {
1818 RootCommands ,
1919 RootCommandsAliases ,
2020} from '../commands/command-config' ;
21- import { PackageManagerName , createPackageManager } from '../package-managers' ;
21+ import { createPackageManager } from '../package-managers' ;
22+ import { ConfiguredPackageManagerInfo } from '../package-managers/factory' ;
2223import { colors } from '../utilities/color' ;
2324import { AngularWorkspace , getProjectByCwd , getWorkspace } from '../utilities/config' ;
2425import { assertIsError } from '../utilities/error' ;
@@ -64,13 +65,12 @@ export async function runCommand(args: string[], logger: logging.Logger): Promis
6465 }
6566
6667 const root = workspace ?. basePath ?? process . cwd ( ) ;
67-
68- const cacheConfig = getCacheConfig ( workspace ) ;
68+ const cacheConfig = workspace && getCacheConfig ( workspace ) ;
6969 const packageManager = await createPackageManager ( {
7070 cwd : root ,
7171 logger,
72- dryRun,
73- tempDirectory : cacheConfig . enabled ? cacheConfig . path : undefined ,
72+ dryRun : dryRun || help || jsonHelp || getYargsCompletions ,
73+ tempDirectory : cacheConfig ? .enabled ? cacheConfig . path : undefined ,
7474 configuredPackageManager : await getConfiguredPackageManager (
7575 root ,
7676 workspace ,
@@ -187,14 +187,14 @@ async function getCommandsToRegister(
187187 * @param root The root directory of the workspace.
188188 * @param localWorkspace The local workspace.
189189 * @param globalWorkspace The global workspace.
190- * @returns The package manager name.
190+ * @returns The package manager name and version .
191191 */
192192async function getConfiguredPackageManager (
193193 root : string ,
194194 localWorkspace : AngularWorkspace | undefined ,
195195 globalWorkspace : AngularWorkspace ,
196- ) : Promise < PackageManagerName | undefined > {
197- let result : PackageManagerName | undefined ;
196+ ) : Promise < ConfiguredPackageManagerInfo | undefined > {
197+ let result : ConfiguredPackageManagerInfo | undefined ;
198198
199199 try {
200200 const packageJsonPath = join ( root , 'package.json' ) ;
@@ -223,13 +223,15 @@ async function getConfiguredPackageManager(
223223/**
224224 * Get the package manager name from a JSON value.
225225 * @param source The JSON value to get the package manager name from.
226- * @returns The package manager name.
226+ * @returns The package manager name and version .
227227 */
228- function getPackageManager ( source : JsonValue | undefined ) : PackageManagerName | undefined {
228+ function getPackageManager (
229+ source : JsonValue | undefined ,
230+ ) : ConfiguredPackageManagerInfo | undefined {
229231 if ( source && isJsonObject ( source ) ) {
230232 const value = source [ 'packageManager' ] ;
231233 if ( typeof value === 'string' ) {
232- return value . split ( '@' , 1 ) [ 0 ] as unknown as PackageManagerName ;
234+ return value . split ( '@' , 2 ) as unknown as ConfiguredPackageManagerInfo ;
233235 }
234236 }
235237
0 commit comments