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

如何检查本地JavaScript包是否为Semver?,javascript,npm,semantic-versioning,Javascript,Npm,Semantic Versioning,在我的项目中,以前的开发人员已经在本地放置了各种JS包,例如chart.JS,jquery.block ui.JS,modernizer.JS,axios.JS,vue.JS,等等。我正在尝试使用NPM管理它们。问题是,它们都是旧版本 问题1:我如何知道它们是否是Semver,以便安全地升级到最新的次要版本?我对每一个包都做了研究,但调查每一个包都很麻烦,其中一些包的信息很少。是否有地方说明所有的SemveredJS包 问题2:对于jquery.block ui.js,它被缩小了,在文件中,没有

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

问题1:我如何知道它们是否是
Semver
,以便安全地升级到最新的次要版本?我对每一个包都做了研究,但调查每一个包都很麻烦,其中一些包的信息很少。是否有地方说明所有的
Semvered
JS包

问题2:对于
jquery.block ui.js
,它被缩小了,在文件中,没有关于版本号的信息,在这种情况下,如果可以安全升级,是否可以找到它的版本?

(注意:我将保留此答案,以供未来有明智前辈并寻求帮助的人使用。如果我想到一些可以帮助手动复制以前开发人员的文件的内容,我将重新编辑)

  • 首先,使用
    npm-outleted
    。这将检查任何过期的包装。治疗健康的人没有任何好处

  • 第二,正如评论中提到的关于semvered包的内容,你永远也不知道。也就是说,我发现了一个半有用的资源,它是一个正则表达式,它将semvered版本号作为匹配项返回

  • 第三,关于JQuery,
    npm-outleted
    应该返回一个表,说明版本号。另请参阅关于查找JQuery版本号的其他可能方法的问题
以下是他们为
npm过时
给出的输出示例:

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

我希望这有帮助。可能没有。正如评论所说,你永远无法确定,所以最可靠的方法是一次检查一个,看看有什么中断,你永远不知道。这就是为什么你必须编写测试。此外,即使包是semver。我经历过很多包,在补丁版本cha中引入了中断更改但戈茨更直截了当地说:它永远不会“安全”升级一个软件包。永远。这是经常需要的,但从来都不安全。你只需一次升级一个,看看会有什么中断。首先在节点单元模块中用npm的最新版本替换一个本地文件。运行测试,检查视觉效果。重复。很糟糕,但吃技术债的唯一方法是开始咀嚼并继续。@JaredSmith是对的,以前的开发人员将文件放在项目中,因此在我调查之前从未使用过package manager。我很抱歉误解了以前的开发人员留下的真正的恐惧…我正在尽我最大的努力想出一个解决方案