@yuw-cli-dev/get-npm-info 1.0.37 → 1.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/index.js +18 -9
  2. package/package.json +2 -2
package/lib/index.js CHANGED
@@ -1,8 +1,8 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
- const axios = require("axios");
4
- const semver = require("semver");
5
- const urlJoin = require("url-join");
3
+ const axios = require('axios');
4
+ const semver = require('semver');
5
+ const urlJoin = require('url-join');
6
6
 
7
7
  function getNpmInfo(npmName, registry) {
8
8
  if (!npmName) {
@@ -12,21 +12,21 @@ function getNpmInfo(npmName, registry) {
12
12
  const npmInfoUrl = urlJoin(registryUrl, npmName);
13
13
  return axios
14
14
  .get(npmInfoUrl)
15
- .then((response) => {
15
+ .then(response => {
16
16
  if (response.status === 200) {
17
17
  return response.data;
18
18
  }
19
19
  return null;
20
20
  })
21
- .catch((err) => {
21
+ .catch(err => {
22
22
  return Promise.reject(err);
23
23
  });
24
24
  }
25
25
 
26
26
  function getDefaultRegistry(isOriginal = true) {
27
27
  return isOriginal
28
- ? "https://registry.npmjs.org"
29
- : "https://registry.npm.taobao.org";
28
+ ? 'https://registry.npmjs.org'
29
+ : 'https://registry.npm.taobao.org';
30
30
  }
31
31
 
32
32
  async function getNpmVersions(npmName, registry) {
@@ -39,7 +39,7 @@ async function getNpmVersions(npmName, registry) {
39
39
 
40
40
  function getSemverVersions(baseVersion, versions) {
41
41
  return versions
42
- .filter((version) => semver.satisfies(version, `^${baseVersion}`))
42
+ .filter(version => semver.satisfies(version, `^${baseVersion}`))
43
43
  .sort((a, b) => semver.gt(b, a));
44
44
  }
45
45
 
@@ -52,9 +52,18 @@ async function getNpmSemverVersion(npmName, baseVersion, registry) {
52
52
  return null;
53
53
  }
54
54
 
55
+ async function getLatestNpmVersion(npmName, registry) {
56
+ const versions = await getNpmVersions(npmName, registry);
57
+ if (versions && versions.length !== 0) {
58
+ return versions.sort((a, b) => semver.gt(b, a))[versions.length - 1];
59
+ }
60
+ return null;
61
+ }
62
+
55
63
  module.exports = {
56
64
  getNpmInfo,
57
65
  getNpmVersions,
58
66
  getNpmSemverVersion,
59
67
  getDefaultRegistry,
68
+ getLatestNpmVersion,
60
69
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yuw-cli-dev/get-npm-info",
3
- "version": "1.0.37",
3
+ "version": "1.0.39",
4
4
  "description": "get npm info",
5
5
  "author": "yuwei <yuwei@huya.com>",
6
6
  "homepage": "https://github.com/yousanjin/yuw-cli#readme",
@@ -31,5 +31,5 @@
31
31
  "semver": "^7.7.3",
32
32
  "url-join": "^4.0.1"
33
33
  },
34
- "gitHead": "ab03556d97ed9d4caf7af33d1720f4e45e34749a"
34
+ "gitHead": "7bcace542ccccc47f518b0537cbb0cce93229adf"
35
35
  }