跳到主要内容

ohpm dependency-check

从ohpm 6.1.1.830版本开始,ohpm命令支持查询三方库的版本更新信息。

命令格式

ohpm dependency-check [options] [<@group>/<pkg>]

  • @group:三方库的命名空间,可选。
  • pkg:三方库名称,可选。

功能描述

用于检查当前引入的三方库版本的更新信息。

Options

registry

  • 默认值:""
  • 类型:URL

可以在 dependency-check 命令后面配置 --registry <registry> 参数,指定仓库地址。如果不配置该参数,从配置中获取仓库地址。

fetch_timeout

  • 默认值:60000
  • 类型: Number
  • 别名:ft

可以在 dependency-check 命令后面配置 --ft <number> 或者 --fetch_timeout <number> 参数,用以设置查询操作的超时时间,单位为ms。如果不配置该参数,超时时间为60000ms。

strict_ssl

  • 默认值:true
  • 类型: Boolean

可以在 dependency-check 命令后面配置--strict_ssl true参数,校验 https 证书。配置为--strict_ssl false,不校验https证书。

retry_times

  • 默认值:1
  • 类型: Number
  • 别名:rt

可以在 dependency-check 命令后面配置 --rt <number> 或者 --retry_times <number> 参数,设置失败时的重试次数。如果不配置该参数,默认重试1次。

retry_interval

  • 默认值:1000
  • 类型: Number
  • 别名:ri

可以在 dependency-check 命令后面配置 --ri <number> 或者 --retry_interval <number> 参数,设置重试的间隔时间,单位为ms。如果不配置该参数,默认等待时间为1000ms。

all-modules

  • 默认值:true
  • 类型: Boolean
  • 别名:all

可以在 dependency-check 命令后面配置 --all 或者 --all-modules 参数,获取所有模块(包括工程根目录)下的三方库版本的更新信息。

modules

  • 默认值:""
  • 类型: String
  • 别名:m

可以在 dependency-check 命令后面配置 -m <string> 或者 --modules<string> 参数,string可以是一个或多个模块名称,多个模块时使用英文逗号隔开,用来获取模块下三方库版本的更新信息。

project

  • 默认值:true
  • 类型: Boolean
  • 别名:p

可以在 dependency-check 命令后面配置 -p 或者 --project 参数,获取工程级目录下三方库版本的更新信息。

dev

  • 默认值:true
  • 类型: Boolean
  • 别名:d

可以在 dependency-check 命令后面配置 -d 或者 --dev 参数,获取 oh-package.json5 文件的 devDependencies 中的三方库更新版本的信息。默认获取 oh-package.json5 文件的 dependencies 中的三方库版本的更新信息。

json

  • 默认值:true
  • 类型: Boolean
  • 别名:j

可以在 dependency-check 命令后面配置 -j 或者 --json 参数,获取的三方库版本更新信息以json格式输出在控制台,且会输出到工程级目录下的 dependency-check-output.json 文件中。不配置此参数时,以表格形式输出在控制台或者dependency-check-output.txt文件中。

long

  • 默认值:true
  • 类型: Boolean
  • 别名:l

可以在 dependency-check 命令后面配置 -l 或者 --long 参数,获取三方库版本的详细更新信息。不配置此参数时,获取三方库版本的简要更新信息。详细更新信息和简要更新信息展示的内容可参考示例

console

  • 默认值:true
  • 类型: Boolean
  • 别名:c

可以在 dependency-check 命令后面配置 -c 或者 --console 参数,默认会将获取到的三方库更新信息输出到工程级目录下的 dependency-check-output.txt 文件中,配置此参数可以将获取到的三方库更新信息同时输出到控制台。

查询三方库的版本更新信息规则如下:

  • 指定全部模块查询时,如果指定了三方库名称pkg,则查询全部模块(包括工程根目录)下该三方库更新信息。如果没有指定三方库名称,则查询全部模块(包括工程根目录)下所有三方库更新信息。
  • 指定模块查询时,如果指定了三方库名称pkg,则查询指定模块下该三方库更新信息。如果没有指定三方库名称,则查询指定模块下所有三方库更新信息。
  • 指定工程查询时,如果指定了三方库的名称pkg,则查询指定工程下该三方库更新信息。如果没有指定三方库名称,则查询指定工程下所有三方库更新信息。
  • 当同时配置all-modules、modules、project命令时,按照all-modules > modules > project的优先级查询三方库更新信息。当均不配置时,以project范围查询三方库版本更新信息。

示例

示例1

查询三方库的版本详细更新信息,执行一下命令。

ohpm dc --all -c -l

结果示例如下:

package installed wanted latest type description dependedBy dependencyType homepage
----------------------------------------------------------------------------------------------------------------------
checkupdate_pkgc3 1.2.0 1.2.0 1.2.0 match update to date library prod http://a.c
checkupdate_pkgc5 0.1.1 0.1.1 0.1.2 match update to date library prod http://a.c
checkupdate_pkgc2 2.0.0 2.0.0 2.0.0 match update to date library prod http://a.c
checkupdate_pkgea4 1.0.0 1.0.0 1.0.0 match update to date project prod
@js-joda/core 5.5.2 5.5.2 5.6.0 match update to date project prod https://c.d
test-check-update 3.8.9-beta 3.8.9-beta 4.0.0 match update to date project prod https://a.y
Here are the recommended replacement packages for the following dependent packages :
checkupdate_pkgea4->checkupdate_test@2.0.0-beta, 三方测试库
checkupdate_pkgea4->@fdddd/test@1.1.5, 三方测试库
@js-joda/core->checkupdate_test@2.0.0-beta, 三方测试库
@js-joda/core->@fdddd/test@1.1.5, 三方测试库
test-check-update->checkupdate_test@2.0.0, 三方测试库
Here is the security update information: 2 package container 2 vulnerabilities,2 malwares
checkupdate_pkgea4@1.0.0, CVE-xxxx-xxxx test 跨站脚本漏洞,
checkupdate_pkgea4@1.0.0, asfasdf
test-check-update@3.8.9-beta, CVE-xxxx-xxxxx test 跨站脚本漏洞
test-check-update@3.8.9-beta, virusxxx

示例2

查询三方库的版本简要更新信息,执行一下命令。

ohpm dc --all -c

结果示例如下:

package installed wanted latest type dependedBy
----------------------------------------------------------------------------
checkupdate_pkgc3 1.2.0 1.2.0 1.2.0 match library
checkupdate_pkgc5 0.1.1 0.1.1 0.1.2 match library
checkupdate_pkgc2 2.0.0 2.0.0 2.0.0 match library
checkupdate_pkgea4 1.0.0 1.0.0 1.0.0 match project
@js-joda/core 5.5.2 5.5.2 5.6.0 match project
test-check-update 3.8.9-beta 3.8.9-beta 4.0.0 match project
Here are the recommended replacement packages for the following dependent packages :
checkupdate_pkgea4->checkupdate_test@2.0.0-beta, 三方测试库
checkupdate_pkgea4->@fdddd/test@1.1.5, 三方测试库
@js-joda/core->checkupdate_test@2.0.0-beta, 三方测试库
@js-joda/core->@fdddd/test@1.1.5, 三方测试库
test-check-update->checkupdate_test@2.0.0, 三方测试库
Here is the security update information: 2 package container 2 vulnerabilities,2 malwares
checkupdate_pkgea4@1.0.0, CVE-xxxx-xxxx test 跨站脚本漏洞,
checkupdate_pkgea4@1.0.0, asfasdf
test-check-update@3.8.9-beta, CVE-xxxx-xxxxx test 跨站脚本漏洞
test-check-update@3.8.9-beta, virusxxx