如何检查本地JavaScript包是否为Semver?

时间:2019-10-01 14:00:14

标签: javascript npm semantic-versioning

在我的项目中,以前的开发人员已经在本地放置了各种JS软件包,例如chart.jsjquery.block-ui.jsmodernizr.jsaxios.jsvue.js,等等。我正在尝试使用NPM管理它们。问题是,它们都是旧版本。

问题1:我怎么知道它们是否为Semver,因此可以安全地将它们升级到最新的次要版本?我对每个软件包进行了研究,但要仔细研究每个软件包都很麻烦,其中一些软件包的信息很少。是否有说明所有Semvered JS软件包的地方?

Q2:对于jquery.block-ui.js,它是最小的,在文件中没有有关版本号的信息,在这种情况下,是否可以安全升级来找到它的版本?

1 个答案:

答案 0 :(得分:1)

(注意:我会为有明智前任并寻求帮助的未来人提供这个答案。如果我认为有什么帮助将以前开发人员手工复制到文件中的内容,我将再次进行编辑)< / p>

  • 首先,使用npm outdated。这将检查所有过时的软件包。治愈健康无济于事。

  • 第二,正如评论中提到的关于包装好的包装袋,您永远不会知道。就是说,我发现了一个半有用的资源here,它是一个正则表达式,可以返回已存储的版本号作为匹配项。

  • 第三,关于JQuery,npm outdated应该返回一个表,说明版本号。另请参阅this问题,以了解其他找到JQuery版本号的可能方法。

这是他们为npm outdated提供的示例输出:

Package      Current   Wanted   Latest  Location
glob          5.0.15   5.0.15    6.0.1  test-outdated-output
nothingness    0.0.3      git      git  test-outdated-output
npm            3.5.1    3.5.2    3.5.1  test-outdated-output
local-dev      0.0.3   linked   linked  test-outdated-output
once           1.3.2    1.3.3    1.3.3  test-outdated-output

我希望这会有所帮助。可能不会。就像评论说的那样,您永远无法确定,所以最可靠的方法是一次遍历它们,看看有什么坏处