@@ -218,7 +218,11 @@ function rewritePnpmWorkspaceYaml(projectPath: string): void {
218218
219219 // overrides
220220 for ( const key of Object . keys ( VITE_PLUS_OVERRIDE_PACKAGES ) ) {
221- doc . setIn ( [ 'overrides' , scalarString ( key ) ] , scalarString ( 'catalog:' ) ) ;
221+ let version = VITE_PLUS_OVERRIDE_PACKAGES [ key ] ;
222+ if ( ! version . startsWith ( 'file:' ) ) {
223+ version = 'catalog:' ;
224+ }
225+ doc . setIn ( [ 'overrides' , scalarString ( key ) ] , scalarString ( version ) ) ;
222226 }
223227 // remove dependency selector from vite, e.g. "vite-plugin-svgr>vite": "npm:rolldown-vite@7.0.12"
224228 const overrides = doc . getIn ( [ 'overrides' ] ) as YAMLMap < Scalar < string > , Scalar < string > > ;
@@ -323,9 +327,16 @@ function rewriteYarnrcYml(projectPath: string): void {
323327 */
324328function rewriteCatalog ( doc : YamlDocument ) : void {
325329 for ( const [ key , value ] of Object . entries ( VITE_PLUS_OVERRIDE_PACKAGES ) ) {
330+ // ERR_PNPM_CATALOG_IN_OVERRIDES Could not resolve a catalog in the overrides: The entry for 'vite' in catalog 'default' declares a dependency using the 'file' protocol
331+ // ignore setting catalog if value starts with 'file:'
332+ if ( value . startsWith ( 'file:' ) ) {
333+ continue ;
334+ }
326335 doc . setIn ( [ 'catalog' , key ] , scalarString ( value ) ) ;
327336 }
328- doc . setIn ( [ 'catalog' , VITE_PLUS_NAME ] , scalarString ( VITE_PLUS_VERSION ) ) ;
337+ if ( ! VITE_PLUS_VERSION . startsWith ( 'file:' ) ) {
338+ doc . setIn ( [ 'catalog' , VITE_PLUS_NAME ] , scalarString ( VITE_PLUS_VERSION ) ) ;
339+ }
329340 for ( const name of REMOVE_PACKAGES ) {
330341 doc . deleteIn ( [ 'catalog' , name ] ) ;
331342 }
@@ -394,7 +405,10 @@ function rewriteRootWorkspacePackageJson(
394405 if ( ! pkg . devDependencies ?. [ VITE_PLUS_NAME ] ) {
395406 pkg . devDependencies = {
396407 ...pkg . devDependencies ,
397- [ VITE_PLUS_NAME ] : packageManager === PackageManager . npm ? VITE_PLUS_VERSION : 'catalog:' ,
408+ [ VITE_PLUS_NAME ] :
409+ packageManager === PackageManager . npm || VITE_PLUS_VERSION . startsWith ( 'file:' )
410+ ? VITE_PLUS_VERSION
411+ : 'catalog:' ,
398412 } ;
399413 }
400414 return pkg ;
@@ -437,7 +451,7 @@ export function rewritePackageJson(
437451 const supportCatalog = isMonorepo && packageManager !== PackageManager . npm ;
438452 let needVitePlus = false ;
439453 for ( const [ key , version ] of Object . entries ( VITE_PLUS_OVERRIDE_PACKAGES ) ) {
440- const value = supportCatalog ? 'catalog:' : version ;
454+ const value = supportCatalog && ! version . startsWith ( 'file:' ) ? 'catalog:' : version ;
441455 if ( pkg . devDependencies ?. [ key ] ) {
442456 pkg . devDependencies [ key ] = value ;
443457 needVitePlus = true ;
@@ -460,7 +474,8 @@ export function rewritePackageJson(
460474 }
461475 if ( needVitePlus ) {
462476 // add vite-plus to devDependencies
463- const version = supportCatalog ? 'catalog:' : VITE_PLUS_VERSION ;
477+ const version =
478+ supportCatalog && ! VITE_PLUS_VERSION . startsWith ( 'file:' ) ? 'catalog:' : VITE_PLUS_VERSION ;
464479 pkg . devDependencies = {
465480 ...pkg . devDependencies ,
466481 [ VITE_PLUS_NAME ] : version ,
0 commit comments