function getRange(json, name) { if (has(json, name)) { const object = json[name] if (has(object, "esm")) { return validRange(object.esm) } } return null }
/** * Gets default version configuration of this rule. * * This finds and reads 'package.json' file, then parses 'engines.node' field. * If it's nothing, this returns null. * * @param {string} filename - The file name of the current linting file. * @returns {string} The default version configuration. */ function getDefaultVersion(filename) { const info = getPackageJson(filename) const nodeVersion = info && info.engines && info.engines.node return semver.validRange(nodeVersion) || DEFAULT_VERSION }
range = semver.validRange(version ? `>=${version}` : defaultVersion) if (!version) { version = defaultVersion
function isStringMatch(conditions) { if (semver.validRange(conditions) && semver.satisfies(semVersion, conditions)) return true; const checks = [ distro, release, version, [platform, arch].join('-'), endian, fips ]; return _.some(checks, (check) => { return check.search(conditions) !== -1; }); }
function makeCaretRange(dependencies, name) { 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; }
/** * Validates if the version `v` is valid for `package.json` * dependencies, devDependencies, etc. * * @param {string} v Version in package.json field. * @returns {boolean} Value indicating if npm accepts the value */ function isValidVersion(v) { // // Remark: this explicitly forbids using npm dist-tags // as valid versions. To support this every call must hit an npm // registry to see what dist-tags are available. This is not feasible. // return v === 'latest' || v.match(versionTypes.uri) != null // eslint-disable-line eqeqeq || v.match(versionTypes.github) != null // eslint-disable-line eqeqeq || semver.validRange(v); }
let isVersionRangeValid = semver.validRange(versionRange)
const maxSatisfying = semver.maxSatisfying( versions, semver.validRange(version),
if (!semver.validRange(prev) || !semver.validRange(ver) || !semver.intersects(prev, ver)) { let forceMsg = force ? '(forced)' : ''; forceMsg = forced && force ? '(cannot be forced)' : forceMsg;
if (version && !semver.validRange(version)) { callback(new Error('Invalid semver version range')); return;
/** * Validates if the version `v` is valid for `package.json` * dependencies, devDependencies, etc. * * @param {string} v Version in package.json field. * @returns {boolean} Value indicating if npm accepts the value */ function isValidVersion(v) { // // Remark: this explicitly forbids using npm dist-tags // as valid versions. To support this every call must hit an npm // registry to see what dist-tags are available. This is not feasible. // return v === 'latest' || v.match(versionTypes.uri) != null // eslint-disable-line eqeqeq || v.match(versionTypes.github) != null // eslint-disable-line eqeqeq || semver.validRange(v); }
if (!semver.validRange(prev) || !semver.validRange(ver) || !semver.intersects(prev, ver)) { let forceMsg = force ? '(forced)' : ''; forceMsg = forced && force ? '(cannot be forced)' : forceMsg;