📄 dependencyConstraints¶
📊 Analysis Summary¶
| Metric | Count |
|---|---|
| 🔧 Functions | 2 |
| 📦 Imports | 2 |
| 📊 Variables & Constants | 1 |
📚 Table of Contents¶
🛠️ File Location:¶
📂 packages/rule-tester/src/utils/dependencyConstraints.ts
📦 Imports¶
| Name | Source |
|---|---|
DependencyConstraint |
../types/DependencyConstraint |
SemverVersionConstraint |
../types/DependencyConstraint |
Variables & Constants¶
| Name | Type | Kind | Value | Exported |
|---|---|---|---|---|
BASE_SATISFIES_OPTIONS |
semver.RangeOptions |
const | { includePrerelease: true, } |
✗ |
Functions¶
satisfiesAllDependencyConstraints(dependencyConstraints: DependencyConstraint | undefined): boolean¶
Parameters:
dependencyConstraintsDependencyConstraint | undefined
Returns: boolean
Calls:
Object.entriessatisfiesDependencyConstraint
Code
export function satisfiesAllDependencyConstraints(
dependencyConstraints: DependencyConstraint | undefined,
): boolean {
if (dependencyConstraints == null) {
return true;
}
for (const [packageName, constraint] of Object.entries(
dependencyConstraints,
)) {
if (!satisfiesDependencyConstraint(packageName, constraint)) {
return false;
}
}
return true;
}
satisfiesDependencyConstraint(packageName: string, constraintIn: DependencyConstraint[string]): boolean¶
Parameters:
packageNamestringconstraintInDependencyConstraint[string]
Returns: boolean
Calls:
semver.satisfiesrequire
Internal Comments:
Code
function satisfiesDependencyConstraint(
packageName: string,
constraintIn: DependencyConstraint[string],
): boolean {
const constraint: SemverVersionConstraint =
typeof constraintIn === 'string'
? {
range: `>=${constraintIn}`,
}
: constraintIn;
return semver.satisfies(
// eslint-disable-next-line @typescript-eslint/no-require-imports
(require(`${packageName}/package.json`) as { version: string }).version,
constraint.range,
typeof constraint.options === 'object'
? { ...BASE_SATISFIES_OPTIONS, ...constraint.options }
: constraint.options,
);
}
Generated by Syntax Scribe