【技术实现步骤摘要】
前端工程开源协议检测方法及装置
[0001]本专利技术涉及软件协议检测
,尤其涉及前端工程开源协议检测方法及装置
。
技术介绍
[0002]本部分旨在为权利要求书中陈述的本专利技术实施例提供背景或上下文
。
此处的描述不因为包括在本部分中就承认是现有技术
。
[0003]开源协议是指一种用于计算机软件开源使用的开源协议,规定了项目或工程开发者在使用开源软件时的权利和责任,也就是规定了项目开发者可以做什么,不可以做什么
。
[0004]不同的开源协议之间可能存在冲突
。
例如,如果项目组使用了两个不兼容的开源项目,那么可能无法将它们组合在一起并对外发布
。
[0005]此外,如果项目组选择使用了要求较高的开源协议软件
(
或依赖
)
,那么项目组可能会面临开源协议侵权
。
例如,如果项目组使用了某个开源项目,但是没有遵守该项目的开源协议,那么可能会面临开源协议侵权
。
[0006]因此,在选择开源协议时,需要仔细考虑项目的需求和目标,并确保遵守所选协议的所有限制和要求
。
[0007]出现上面问题的关键原因是,目前前端工程开源协议并不能通过自动检测获得,前端工程开源协议获取难度大,效率低,且检测结果不够准确,也不会直观展示
。
技术实现思路
[0008]本专利技术实施例提供一种前端工程开源协议检测方法,用以自动检测前端工程使 ...
【技术保护点】
【技术特征摘要】
1.
一种前端工程开源协议检测方法,其特征在于,包括:获取前端工程依赖文件;根据所述前端工程依赖文件,获得前端工程依赖,并存储至依赖数组中;安装依赖数组中的每个依赖,获得每个依赖的安装目录;根据每个依赖的安装目录,获得每个依赖的开源协议文件;解析所述开源协议文件,获得每个依赖的开源协议信息,并存储至开源协议数组中;展示开源协议数组中的开源协议信息
。2.
如权利要求1所述的方法,其特征在于,所述前端工程依赖文件为
package.json
文件;获取前端工程依赖文件,包括:读取前端工程根目录下的
package.json
文件;根据所述前端工程依赖文件,获得前端工程依赖,并存储至依赖数组中,包括:解析
package.json
文件,获得
JavaScript
对象;通过访问
JavaScript
对象的生产依赖字段和开发依赖字段,获得前端工程的生产依赖和开发依赖,并存储至依赖数组中
。3.
如权利要求1所述的方法,其特征在于,安装依赖数组中的每个依赖,获得安装目录,包括:使用
npm
命令或
yarn
命令安装安装依赖数组中的每个依赖,获得安装目录
。4.
如权利要求1所述的方法,其特征在于,根据每个依赖的安装目录,获得每个依赖的开源协议文件,包括:对每个依赖,根据该依赖的安装目录,查找是否存在许可证;若是,确定所述许可证为开源协议文件;若否,查找该依赖的安装目录的
package.json
文件是否存在开源协议信息;若是,确定所述
package.json
文件为开源协议文件;若否,查找该依赖的安装目录的
README
文件是否存在开源协议信息;若是,确定所述
README
文件为开源协议文件
。5.
如权利要求4所述的方法,其特征在于,根据该依赖的安装目录,查找是否存在许可证,包括:查找该依赖的安装目录下是否存在许可证;若否,查找该依赖的安装目录下的
docs
文件夹中是否存在许可证
。6.
如权利要求4所述的方法,其特征在于,解析所述开源协议文件,获得每个依赖的开源协议信息,并存储至开源协议数组中,包括:获得开源协议类型数组,所述开源协议类型数组中包括多个预定义的开源协议类型;在开源协议文件为许可证时,对每个许可证,查找该许可证中是否存在开源协议类型数组中的开源协议类型的开源协议;若是,将查找到的开源协议记录到开源协议数组中
。7.
如权利要求4所述的方法,其特征在于,解析所述开源协议文件,获得每个依赖的开源协议信息,并存储至开源协议数组中,包括:在所述开源协议文件为
package.json
文件时,将
package.js...
【专利技术属性】
技术研发人员:孟繁贵,
申请(专利权)人:建信金融科技有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。