@@ -50,7 +50,7 @@ function parsePackageSpecifier(rawPackageSpecifier: string): IPackageSpecifier {
5050/**
5151 * Resolve a package specifier to a static version
5252 */
53- function resolvePackageVersion ( rushTempFolder : string , { name, version } : IPackageSpecifier ) : string {
53+ function resolvePackageVersion ( rushCommonFolder : string , { name, version } : IPackageSpecifier ) : string {
5454 if ( ! version ) {
5555 version = '*' ; // If no version is specified, use the latest version
5656 }
@@ -62,7 +62,8 @@ function resolvePackageVersion(rushTempFolder: string, { name, version }: IPacka
6262 } else {
6363 // version resolves to
6464 try {
65- copyNpmrcIfItExists ( rushTempFolder , rushTempFolder ) ;
65+ const rushTempFolder : string = ensureAndResolveFolder ( rushCommonFolder , 'temp' ) ;
66+ copyNpmrcIfItExists ( rushCommonFolder , rushTempFolder ) ;
6667 const npmPath : string = getNpmPath ( ) ;
6768
6869 // This returns something that looks like:
@@ -163,14 +164,6 @@ export function findRushJsonFolder(): string {
163164 return _rushJsonFolder ;
164165}
165166
166- /**
167- * Resolve and ensure the <repo>/common/temp folder
168- */
169- export function ensureAndResolveRushTempFolder ( ) : string {
170- const rushJsonFolder : string = findRushJsonFolder ( ) ;
171- return ensureAndResolveFolder ( rushJsonFolder , 'common' , 'temp' ) ;
172- }
173-
174167/**
175168 * Create missing directories under the specified base directory, and return the resolved directory.
176169 *
@@ -253,7 +246,7 @@ function isPackageAlreadyInstalled(packageInstallFolder: string): boolean {
253246 * -
254247 * - node_modules
255248 */
256- function cleanInstallFolder ( rushTempFolder : string , packageInstallFolder : string ) : void {
249+ function cleanInstallFolder ( rushCommonFolder : string , packageInstallFolder : string ) : void {
257250 try {
258251 const flagFile : string = path . resolve ( packageInstallFolder , INSTALLED_FLAG_FILENAME ) ;
259252 if ( fs . existsSync ( flagFile ) ) {
@@ -268,7 +261,8 @@ function cleanInstallFolder(rushTempFolder: string, packageInstallFolder: string
268261 const nodeModulesFolder : string = path . resolve ( packageInstallFolder , NODE_MODULES_FOLDER_NAME ) ;
269262 if ( fs . existsSync ( nodeModulesFolder ) ) {
270263 const rushRecyclerFolder : string = ensureAndResolveFolder (
271- rushTempFolder ,
264+ rushCommonFolder ,
265+ 'temp' ,
272266 'rush-recycler' ,
273267 `install-run-${ Date . now ( ) . toString ( ) } `
274268 ) ;
@@ -351,23 +345,21 @@ export function installAndRun(
351345 packageName : string ,
352346 packageVersion : string ,
353347 packageBinName : string ,
354- packageBinArgs : string [ ] ,
355- rushTempFolder : string | undefined = undefined
348+ packageBinArgs : string [ ]
356349) : number {
357- if ( ! rushTempFolder ) {
358- rushTempFolder = ensureAndResolveRushTempFolder ( ) ;
359- }
360-
350+ const rushJsonFolder : string = findRushJsonFolder ( ) ;
351+ const rushCommonFolder : string = path . join ( rushJsonFolder , 'common' ) ;
361352 const packageInstallFolder : string = ensureAndResolveFolder (
362- rushTempFolder ,
353+ rushCommonFolder ,
354+ 'temp' ,
363355 'install-run' ,
364356 `${ packageName } @${ packageVersion } `
365357 ) ;
366358
367359 if ( ! isPackageAlreadyInstalled ( packageInstallFolder ) ) {
368360 // The package isn't already installed
369- cleanInstallFolder ( rushTempFolder , packageInstallFolder ) ;
370- copyNpmrcIfItExists ( rushTempFolder , packageInstallFolder ) ;
361+ cleanInstallFolder ( rushCommonFolder , packageInstallFolder ) ;
362+ copyNpmrcIfItExists ( rushCommonFolder , packageInstallFolder ) ;
371363 createPackageJson ( packageInstallFolder , packageName , packageVersion ) ;
372364 installPackage ( packageInstallFolder , packageName , packageVersion ) ;
373365 writeFlagFile ( packageInstallFolder ) ;
@@ -425,17 +417,18 @@ function run(): void {
425417 }
426418
427419 runWithErrorAndStatusCode ( ( ) => {
428- const rushTempFolder : string = ensureAndResolveRushTempFolder ( ) ;
420+ const rushJsonFolder : string = findRushJsonFolder ( ) ;
421+ const rushCommonFolder : string = ensureAndResolveFolder ( rushJsonFolder , 'common' ) ;
429422
430423 const packageSpecifier : IPackageSpecifier = parsePackageSpecifier ( rawPackageSpecifier ) ;
431424 const name : string = packageSpecifier . name ;
432- const version : string = resolvePackageVersion ( rushTempFolder , packageSpecifier ) ;
425+ const version : string = resolvePackageVersion ( rushCommonFolder , packageSpecifier ) ;
433426
434427 if ( packageSpecifier . version !== version ) {
435428 console . log ( `Resolved to ${ name } @${ version } ` ) ;
436429 }
437430
438- return installAndRun ( name , version , packageBinName , packageBinArgs , rushTempFolder ) ;
431+ return installAndRun ( name , version , packageBinName , packageBinArgs ) ;
439432 } ) ;
440433}
441434
0 commit comments