MCPcopy Create free account
hub / github.com/NomicFoundation/hardhat / syncPeerToDevDependencies

Function syncPeerToDevDependencies

scripts/bump-peers.ts:432–478  ·  view source on GitHub ↗
(
  modifications: Map<string, PackageModification>,
)

Source from the content-addressed store, hash-verified

430}
431
432function syncPeerToDevDependencies(
433 modifications: Map<string, PackageModification>,
434): void {
435 logStep("Syncing peerDependencies to devDependencies");
436
437 let syncCount = 0;
438
439 for (const [pkgName, modification] of modifications) {
440 const { packageJson } = modification;
441 const peerDeps = packageJson.peerDependencies ?? {};
442 let devDeps = packageJson.devDependencies;
443
444 // Create devDependencies if it doesn't exist and there are peers to sync
445 if (devDeps === undefined && Object.keys(peerDeps).length > 0) {
446 devDeps = {};
447 packageJson.devDependencies = devDeps;
448 }
449
450 if (devDeps === undefined) {
451 continue;
452 }
453
454 for (const [peerName, peerVersion] of Object.entries(peerDeps)) {
455 const devVersion = devDeps[peerName];
456
457 if (devVersion === undefined) {
458 // Missing from devDependencies, add it
459 devDeps[peerName] = peerVersion;
460 syncCount++;
461 log(
462 ` ${fmt.pkg(pkgName)}: added ${peerName} to devDependencies as ${fmt.version(peerVersion)}`,
463 );
464 } else if (devVersion !== peerVersion) {
465 // Different version, update it
466 devDeps[peerName] = peerVersion;
467 syncCount++;
468 log(
469 ` ${fmt.pkg(pkgName)}: updated ${peerName} in devDependencies to ${fmt.version(peerVersion)}`,
470 );
471 }
472 }
473 }
474
475 if (syncCount === 0) {
476 log(fmt.deemphasize(" No devDependencies needed syncing"));
477 }
478}
479
480function writeModifications(
481 modifications: Map<string, PackageModification>,

Callers 1

applyFunction · 0.85

Calls 3

pkgMethod · 0.80
logStepFunction · 0.70
logFunction · 0.70

Tested by

no test coverage detected