本文整理汇总了TypeScript中semver.validRange函数的典型用法代码示例。如果您正苦于以下问题:TypeScript validRange函数的具体用法?TypeScript validRange怎么用?TypeScript validRange使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了validRange函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: angularMajorCompatGuarantee
export function angularMajorCompatGuarantee(range: string) {
let newRange = semver.validRange(range);
if (!newRange) {
return range;
}
let major = 1;
while (!semver.gtr(major + '.0.0', newRange)) {
major++;
if (major >= 99) {
// Use original range if it supports a major this high
// Range is most likely unbounded (e.g., >=5.0.0)
return newRange;
}
}
// Add the major version as compatible with the angular compatible, with all minors. This is
// already one major above the greatest supported, because we increment `major` before checking.
// We add minors like this because a minor beta is still compatible with a minor non-beta.
newRange = range;
for (let minor = 0; minor < 20; minor++) {
newRange += ` || ^${major}.${minor}.0-alpha.0 `;
}
return semver.validRange(newRange) || range;
}
示例2: while
'@angular/core': (range: string) => {
range = semver.validRange(range);
let major = 1;
while (!semver.gtr(major + '.0.0', range)) {
major++;
if (major >= 99) {
throw new SchematicsException(`Invalid range: ${JSON.stringify(range)}`);
}
}
// Add the major version as compatible with the angular compatible. This is already one
// major above the greatest supported, because we increment `major` before checking.
return semver.validRange(`^${major}.0.0-rc.0 || ${range}`) || range;
},
示例3: _getVersionFromNpmPackage
function _getVersionFromNpmPackage(json: JsonObject, version: string, loose: boolean): string {
const distTags = json['dist-tags'] as JsonObject;
if (distTags && distTags[version]) {
return (loose ? '~' : '') + distTags[version] as string;
} else {
if (!semver.validRange(version)) {
throw new SchematicsException(`Invalid range or version: "${version}".`);
}
if (semver.valid(version) && loose) {
version = '~' + version;
}
const packageVersions = Object.keys(json['versions'] as JsonObject);
const maybeMatch = semver.maxSatisfying(packageVersions, version);
if (!maybeMatch) {
throw new SchematicsException(
`Version "${version}" has no satisfying version for package ${json['name']}`,
);
}
const maybeOperator = version.match(/^[~^]/);
if (version == '*') {
return maybeMatch;
} else if (maybeOperator) {
return maybeOperator[0] + maybeMatch;
} else {
return (loose ? '~' : '') + maybeMatch;
}
}
}
示例4: match
export function match(range: string, versions: string[], tags: Dictionary<string> = {}): string {
if (Semver.validRange(range)) {
versions = versions.sort(Semver.rcompare);
let latest = tags['latest'] || versions[0];
for (let version of versions) {
if (Semver.gte(latest, version) && Semver.satisfies(version, range)) {
return version;
}
}
for (let version of versions) {
if (Semver.satisfies(version, range)) {
return version;
}
}
if (range === '*') {
return latest;
}
return undefined;
} else {
// Otherwise, treat it as a tag (according to NPM source code).
return hasOwnProperty.call(tags, range) ? tags[range] : undefined;
}
}
示例5: getVersion
async function getVersion(pkg: string, specifier: string) {
let key = JSON.stringify([pkg, specifier]);
if (versionCache.has(key)) {
return versionCache.get(key);
}
if (semver.validRange(specifier) === null) {
// We have a tag, with possibly a range specifier, such as ^latest
let match = specifier.match(tags);
if (match === null) {
throw Error(`Invalid version specifier: ${specifier}`);
}
// Look up the actual version corresponding to the tag
let { version } = await packageJson(pkg, { version: match[2] });
specifier = match[1] + version;
}
versionCache.set(key, specifier);
return specifier;
}
示例6: makeCaretRange
function makeCaretRange(dependencies: { [key: string]: string }, name: string) {
const version = dependencies[name]
if (typeof version === 'undefined') {
console.error(chalk.red(`Missing ${name} dependency in package.json`))
process.exit(1)
}
let patchedVersion = `^${version}`
if (!semver.validRange(patchedVersion)) {
console.error(
`Unable to patch ${name} dependency version because version ${chalk.red(
version
)} will ` + `become invalid ${chalk.red(patchedVersion)}`
)
patchedVersion = version
}
dependencies[name] = patchedVersion
}
示例7: getWarningForPluginCore
private getWarningForPluginCore(localPlugin: string, localPluginVersion: string, devicePluginVersion: string, deviceId: string): string {
this.$logger.trace(`Comparing plugin ${localPlugin} with localPluginVersion ${localPluginVersion} and devicePluginVersion ${devicePluginVersion}`);
if (!devicePluginVersion) {
return util.format(PluginComparisonMessages.PLUGIN_NOT_INCLUDED_IN_PREVIEW_APP, localPlugin, deviceId);
}
const shouldSkipCheck = !semver.valid(localPluginVersion) && !semver.validRange(localPluginVersion);
if (shouldSkipCheck) {
return null;
}
const localPluginVersionData = semver.coerce(localPluginVersion);
const devicePluginVersionData = semver.coerce(devicePluginVersion);
if (localPluginVersionData.major !== devicePluginVersionData.major) {
return util.format(PluginComparisonMessages.LOCAL_PLUGIN_WITH_DIFFERENCE_IN_MAJOR_VERSION, localPlugin, localPluginVersion, devicePluginVersion);
} else if (localPluginVersionData.minor > devicePluginVersionData.minor) {
return util.format(PluginComparisonMessages.LOCAL_PLUGIN_WITH_GREATHER_MINOR_VERSION, localPlugin, localPluginVersion, devicePluginVersion);
}
return null;
}
示例8:
bool = semver.gte(v1, v2, loose);
bool = semver.lt(v1, v2, loose);
bool = semver.lte(v1, v2, loose);
bool = semver.eq(v1, v2, loose);
bool = semver.neq(v1, v2, loose);
bool = semver.cmp(v1, op, v2, loose);
comparatorResult = semver.compare(v1, v2, loose);
comparatorResult = semver.rcompare(v1, v2, loose);
comparatorResult = semver.compareIdentifiers(str, str);
comparatorResult = semver.rcompareIdentifiers(str, str);
versionsArr = semver.sort(['', new semver.SemVer('')]);
versionsArr = semver.rsort(['', new semver.SemVer('')]);
diff = semver.diff(v1, v2, loose);
// Ranges
str = semver.validRange(str, loose);
bool = semver.satisfies(version, str, loose);
str = semver.maxSatisfying(versions, str, loose);
str = semver.minSatisfying(versions, str, loose);
bool = semver.gtr(version, str, loose);
bool = semver.ltr(version, str, loose);
bool = semver.outside(version, str, '<', loose);
bool = semver.intersects(str, str, loose);
let ver = new semver.SemVer(str, bool);
str = ver.raw;
bool = ver.loose;
str = ver.format();
str = ver.inspect();
str = ver.toString();
示例9: isValidVersion
protected isValidVersion(version: string): string {
return semver.valid(version) || semver.validRange(version);
}