MCPcopy Create free account
hub / github.com/dmno-dev/bumpy / cascadeFromRules

Function cascadeFromRules

packages/bumpy/src/core/release-plan.ts:474–485  ·  view source on GitHub ↗

* Consumer-side cascade rules for a package: explicit `cascadeFrom` entries, plus the * `releaseTriggeringDevDeps` sugar. * * `releaseTriggeringDevDeps` lists `devDependencies` that are release-relevant — typically * because they're bundled into this package's published output (inlined by a buil

(pkg: WorkspacePackage)

Source from the content-addressed store, hash-verified

472 * proportional bumps (`bumpAs: 'match'`) when you re-export the dep.
473 */
474function cascadeFromRules(pkg: WorkspacePackage): Record<string, Required<CascadeRule>> {
475 const releaseTriggeringDevDeps = pkg.bumpy?.releaseTriggeringDevDeps;
476 const cascadeFrom = pkg.bumpy?.cascadeFrom;
477 if (!releaseTriggeringDevDeps?.length && !cascadeFrom) return {};
478
479 const rules: Record<string, Required<CascadeRule>> = {};
480 for (const name of releaseTriggeringDevDeps ?? []) {
481 rules[name] = { trigger: 'patch', bumpAs: 'patch' };
482 }
483 // Explicit cascadeFrom overrides the releaseTriggeringDevDeps default on conflict.
484 return { ...rules, ...(cascadeFrom ? normalizeCascadeConfig(cascadeFrom) : {}) };
485}
486
487/**
488 * Resolve the dependency bump rule for a specific dependent + dep type.

Callers 1

applyCascadeFromFunction · 0.85

Calls 1

normalizeCascadeConfigFunction · 0.90

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…