@@ -79,6 +79,7 @@ const testedPackageManagers: Array<[string, string]> = [
7979 [ `pnpm` , `6.6.2` ] ,
8080 [ `pnpm` , `6.6.2+sha1.7b4d6b176c1b93b5670ed94c24babb7d80c13854` ] ,
8181 [ `pnpm` , `6.6.2+sha224.eb5c0acad3b0f40ecdaa2db9aa5a73134ad256e17e22d1419a2ab073` ] ,
82+ [ `cnpm` , `9.3.1` ] ,
8283 [ `npm` , `6.14.2` ] ,
8384 [ `npm` , `6.14.2+sha1.f057d35cd4792c4c511bb1fa332edb43143d07b0` ] ,
8485 [ `npm` , `6.14.2+sha224.50512c1eb404900ee78586faa6d756b8d867ff46a328e6fb4cdf3a87` ] ,
@@ -94,7 +95,7 @@ for (const [name, version] of testedPackageManagers) {
9495 await expect ( runCli ( cwd , [ name , `--version` ] ) ) . resolves . toMatchObject ( {
9596 exitCode : 0 ,
9697 stderr : `` ,
97- stdout : ` ${ version . split ( `+` , 1 ) [ 0 ] } \n` ,
98+ stdout : expect . stringMatching ( new RegExp ( version . split ( `+` , 1 ) [ 0 ] ) ) ,
9899 } ) ;
99100 } ) ;
100101 } ) ;
@@ -221,6 +222,12 @@ it(`should use the pinned version when local projects don't list any spec`, asyn
221222 exitCode : 0 ,
222223 } ) ;
223224
225+ await expect ( runCli ( cwd , [ `cnpm` , `--version` ] ) ) . resolves . toMatchObject ( {
226+ stdout : expect . stringMatching ( new RegExp ( config . definitions . cnpm . default . split ( `+` , 1 ) [ 0 ] ) ) ,
227+ stderr : `` ,
228+ exitCode : 0 ,
229+ } ) ;
230+
224231 await expect ( runCli ( cwd , [ `npm` , `--version` ] ) ) . resolves . toMatchObject ( {
225232 stdout : `${ config . definitions . npm . default . split ( `+` , 1 ) [ 0 ] } \n` ,
226233 stderr : `` ,
@@ -306,6 +313,11 @@ it(`should refuse to run a different package manager within a configured project
306313 exitCode : 1 ,
307314 } ) ;
308315
316+ await expect ( runCli ( cwd , [ `cnpm` , `--version` ] ) ) . resolves . toMatchObject ( {
317+ stdout : `Usage Error: This project is configured to use yarn\n\n$ cnpm ...\n` ,
318+ exitCode : 1 ,
319+ } ) ;
320+
309321 // Disable strict checking to workaround the UsageError.
310322 process . env . COREPACK_ENABLE_STRICT = `0` ;
311323
@@ -320,6 +332,11 @@ it(`should refuse to run a different package manager within a configured project
320332 stderr : `` ,
321333 exitCode : 0 ,
322334 } ) ;
335+ await expect ( runCli ( cwd , [ `cnpm` , `--version` ] ) ) . resolves . toMatchObject ( {
336+ stdout : expect . stringMatching ( new RegExp ( config . definitions . cnpm . default . split ( `+` , 1 ) [ 0 ] ) ) ,
337+ stderr : `` ,
338+ exitCode : 0 ,
339+ } ) ;
323340 } finally {
324341 delete process . env . COREPACK_ENABLE_STRICT ;
325342 delete process . env . FORCE_COLOR ;
@@ -346,6 +363,11 @@ it(`should always use fallback version when project spec env is disabled`, async
346363 stderr : `` ,
347364 exitCode : 0 ,
348365 } ) ;
366+ await expect ( runCli ( cwd , [ `cnpm` , `--version` ] ) ) . resolves . toMatchObject ( {
367+ stdout : expect . stringMatching ( new RegExp ( config . definitions . cnpm . default . split ( `+` , 1 ) [ 0 ] ) ) ,
368+ stderr : `` ,
369+ exitCode : 0 ,
370+ } ) ;
349371 } finally {
350372 delete process . env . COREPACK_ENABLE_PROJECT_SPEC ;
351373 }
@@ -378,6 +400,12 @@ it(`should allow to call "corepack install -g --all" to prepare all package mana
378400 exitCode : 0 ,
379401 } ) ;
380402
403+ await expect ( runCli ( cwd , [ `cnpm` , `--version` ] ) ) . resolves . toMatchObject ( {
404+ stdout : expect . stringMatching ( new RegExp ( config . definitions . cnpm . default . split ( `+` , 1 ) [ 0 ] ) ) ,
405+ stderr : `` ,
406+ exitCode : 0 ,
407+ } ) ;
408+
381409 await expect ( runCli ( cwd , [ `npm` , `--version` ] ) ) . resolves . toMatchObject ( {
382410 stdout : `${ config . definitions . npm . default . split ( `+` , 1 ) [ 0 ] } \n` ,
383411 stderr : `` ,
@@ -482,7 +510,7 @@ it(`should support hydrating package managers if cache folder was removed`, asyn
482510
483511it ( `should support hydrating multiple package managers from cached archives` , async ( ) => {
484512 await xfs . mktempPromise ( async cwd => {
485- await expect ( runCli ( cwd , [ `pack` , `[email protected] ` , `[email protected] ` ] ) ) . resolves . toMatchObject ( { 513+ await expect ( runCli ( cwd , [ `pack` , `[email protected] ` , `[email protected] ` , `[email protected] ` ] ) ) . resolves . toMatchObject ( { 486514 exitCode : 0 ,
487515 stderr : `` ,
488516 } ) ;
@@ -518,6 +546,16 @@ it(`should support hydrating multiple package managers from cached archives`, as
518546 stderr : `` ,
519547 exitCode : 0 ,
520548 } ) ;
549+
550+ await xfs . writeJsonPromise ( ppath . join ( cwd , `package.json` as Filename ) , {
551+ packageManager :
`[email protected] ` , 552+ } ) ;
553+
554+ await expect ( runCli ( cwd , [ `cnpm` , `--version` ] ) ) . resolves . toMatchObject ( {
555+ stdout : expect . stringMatching ( / c n p m @ 9 \. 3 \. 1 / ) ,
556+ stderr : `` ,
557+ exitCode : 0 ,
558+ } ) ;
521559 } finally {
522560 delete process . env . COREPACK_ENABLE_NETWORK ;
523561 }
0 commit comments