Skip to content

Commit 0aec676

Browse files
committed
chore: respect ALLOWED_INCONSISTENT_DEPENDENCIES for workspace packages; simplify logic
1 parent f1c6dc4 commit 0aec676

File tree

1 file changed

+22
-16
lines changed

1 file changed

+22
-16
lines changed

yarn.config.cjs

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,15 @@ const { basename, resolve } = require('path');
1212
const semver = require('semver');
1313
const { inspect } = require('util');
1414

15+
/**
16+
* These packages and ranges are allowed to mismatch expected consistency checks
17+
* Only intended as temporary measures to faciliate upgrades and releases.
18+
* This should trend towards empty.
19+
*/
20+
const ALLOWED_INCONSISTENT_DEPENDENCIES = {
21+
'@metamask/rpc-errors': ['^7.0.0'],
22+
};
23+
1524
/**
1625
* Aliases for the Yarn type definitions, to make the code more readable.
1726
*
@@ -594,6 +603,11 @@ function expectUpToDateWorkspaceDependenciesAndDevDependencies(
594603
dependencyWorkspace !== null &&
595604
dependency.type !== 'peerDependencies'
596605
) {
606+
const ignoredRanges = ALLOWED_INCONSISTENT_DEPENDENCIES[dependency.ident];
607+
if (ignoredRanges?.includes(dependency.range)) {
608+
continue;
609+
}
610+
597611
dependency.update(`^${dependencyWorkspace.manifest.version}`);
598612
}
599613
}
@@ -714,10 +728,6 @@ function expectControllerDependenciesListedAsPeerDependencies(
714728
}
715729
}
716730

717-
const ALLOWED_INCONSISTENT_DEPENDENCIES = Object.entries({
718-
'@metamask/rpc-errors': ['^7.0.0'],
719-
});
720-
721731
/**
722732
* Filter out dependency ranges which are not to be considered in `expectConsistentDependenciesAndDevDependencies`.
723733
*
@@ -729,19 +739,15 @@ function getInconsistentDependenciesAndDevDependencies(
729739
dependencyIdent,
730740
dependenciesByRange,
731741
) {
732-
for (const [
733-
allowedPackage,
734-
ignoredRange,
735-
] of ALLOWED_INCONSISTENT_DEPENDENCIES) {
736-
if (allowedPackage === dependencyIdent) {
737-
return new Map(
738-
Object.entries(dependenciesByRange).filter(
739-
([range]) => !ignoredRange.includes(range),
740-
),
741-
);
742-
}
742+
const ignoredRanges = ALLOWED_INCONSISTENT_DEPENDENCIES[dependencyIdent];
743+
if (!ignoredRanges) {
744+
return dependenciesByRange;
743745
}
744-
return dependenciesByRange;
746+
return new Map(
747+
Object.entries(dependenciesByRange).filter(
748+
([range]) => !ignoredRanges.includes(range),
749+
),
750+
);
745751
}
746752

747753
/**

0 commit comments

Comments
 (0)