30 lines
1.0 KiB
TypeScript
30 lines
1.0 KiB
TypeScript
import { coerce, major } from 'semver';
|
|
import type {
|
|
CompatPackageVersionNames,
|
|
LatestPackageVersionNames,
|
|
PackageCompatVersions,
|
|
PackageLatestVersions,
|
|
} from './backward-compatible-versions';
|
|
import { backwardCompatibleVersions } from './backward-compatible-versions';
|
|
import * as versions from './versions';
|
|
import { angularVersion } from './versions';
|
|
|
|
export function getPkgVersionForAngularMajorVersion(
|
|
pkgVersionName: LatestPackageVersionNames | CompatPackageVersionNames,
|
|
angularMajorVersion: number
|
|
): string {
|
|
return angularMajorVersion < major(coerce(angularVersion))
|
|
? backwardCompatibleVersions[`angularV${angularMajorVersion}`]?.[
|
|
pkgVersionName
|
|
] ?? versions[pkgVersionName]
|
|
: versions[pkgVersionName];
|
|
}
|
|
|
|
export function getPkgVersionsForAngularMajorVersion(
|
|
angularMajorVersion: number
|
|
): PackageLatestVersions | PackageCompatVersions {
|
|
return angularMajorVersion < major(coerce(angularVersion))
|
|
? backwardCompatibleVersions[`angularV${angularMajorVersion}`] ?? versions
|
|
: versions;
|
|
}
|