Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@jakerluo/utils

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@jakerluo/utils - npm Package Compare versions

Comparing version 0.0.2-next.3 to 0.0.2-next.4

lib/log.js

69

lib/index.js
"use strict";
const axios = require("axios");
const urlJoin = require("url-join");
const semver = require("semver");
const npmInfo = require("./npmInfo");
const log = require("./log");
function getNpmInfo(npmName, registry) {
if (!npmName) {
return null;
}
const registryUrl = registry || getDefaultRegistry();
const npmInfoUrl = urlJoin(registryUrl, npmName);
return axios
.get(npmInfoUrl)
.then((response) => {
if (response.status === 200) {
return response.data;
}
return null;
})
.catch((err) => {
return Promise.reject(err);
});
}
function getDefaultRegistry(isOriginal = false) {
return isOriginal
? "https://registry.npmjs.org"
: "https://registry.npm.taobao.org";
}
async function getNpmVersions(npmName, registry) {
const data = await getNpmInfo(npmName, registry);
if (data) {
return Object.keys(data.versions);
} else {
return [];
}
}
function getSemverVersions(baseVersion, versions) {
return versions
.filter((version) => semver.satisfies(version, `>${baseVersion}`))
.sort((a, b) => (semver.gt(b, a) ? 1 : -1));
}
async function getNpmSemverVersion(baseVersion, npmName, registry) {
const versions = await getNpmVersions(npmName, registry);
const newVersions = getSemverVersions(baseVersion, versions);
if (newVersions && newVersions.length > 0) {
return newVersions[0];
}
return null;
}
async function getNpmLatestVersion(npmName, registry) {
let versions = await getNpmVersions(npmName, registry);
if (versions) {
return versions.sort((a, b) => semver.gt(b, a))[0];
}
return null;
}
module.exports = {
getNpmInfo,
getNpmVersions,
getNpmSemverVersion,
getDefaultRegistry,
getNpmLatestVersion,
...npmInfo,
log,
};
{
"name": "@jakerluo/utils",
"version": "0.0.2-next.3",
"version": "0.0.2-next.4",
"description": "utils",

@@ -31,6 +31,7 @@ "keywords": [

"axios": "^0.21.4",
"npmlog": "^5.0.1",
"semver": "^7.3.5",
"url-join": "^4.0.1"
},
"gitHead": "233169a664bbdba36a709dd24172dad4ea867255"
"gitHead": "16e3b61726afee62e8e11418c55bf953d40539c5"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc