Skip to content

Commit 65bc31e

Browse files
committed
chore: respect ALLOWED_INCONSISTENT_DEPENDENCIES for workspace packages; simplify logic
1 parent eaa8a6b commit 65bc31e

File tree

1 file changed

+23
-16
lines changed

1 file changed

+23
-16
lines changed

yarn.config.cjs

Lines changed: 23 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,12 @@ function expectUpToDateWorkspaceDependenciesAndDevDependencies(
594603
dependencyWorkspace !== null &&
595604
dependency.type !== 'peerDependencies'
596605
) {
606+
607+
const ignoredRanges = ALLOWED_INCONSISTENT_DEPENDENCIES[dependency.ident];
608+
if (ignoredRanges?.includes(dependency.range)) {
609+
continue;
610+
}
611+
597612
dependency.update(`^${dependencyWorkspace.manifest.version}`);
598613
}
599614
}
@@ -714,10 +729,6 @@ function expectControllerDependenciesListedAsPeerDependencies(
714729
}
715730
}
716731

717-
const ALLOWED_INCONSISTENT_DEPENDENCIES = Object.entries({
718-
'@metamask/rpc-errors': ['^7.0.0'],
719-
});
720-
721732
/**
722733
* Filter out dependency ranges which are not to be considered in `expectConsistentDependenciesAndDevDependencies`.
723734
*
@@ -729,19 +740,15 @@ function getInconsistentDependenciesAndDevDependencies(
729740
dependencyIdent,
730741
dependenciesByRange,
731742
) {
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-
}
743+
const ignoredRanges = ALLOWED_INCONSISTENT_DEPENDENCIES[dependencyIdent];
744+
if (!ignoredRanges) {
745+
return dependenciesByRange;
743746
}
744-
return dependenciesByRange;
747+
return new Map(
748+
Object.entries(dependenciesByRange).filter(
749+
([range]) => !ignoredRanges.includes(range),
750+
),
751+
);
745752
}
746753

747754
/**

0 commit comments

Comments
 (0)