本库通过解析源码来获取路径、项目基本信息。
本库包含parseSource、parseProject两个核心方法。
入参
参数 | 类型 | 含义 | 默认 | 必须 |
---|---|---|---|---|
cwd | string | 根路径 | process.cwd() | 是 |
source | string | 源码目录名,基于根路径 | 否 | |
exclude | string[] | 解析排除的路径 | 否 |
返回
参数 | 类型 | 含义 |
---|---|---|
base | string | 项目基础路径 |
aliases | object | 路径别名 |
deps | object | 依赖包 |
pathList | array | 路径解析结果列表 |
pathList[i].origin | string | 原始路径 |
pathList[i].file | string | 所在文件 |
pathList[i].type | string | 路径类型,dep/alias/relative/absolute/error |
pathList[i].path | string | 解析后路径,基于源码目录 |
pathList[i].alias | [string, string] | 路径别名,当type为alias时有效 |
pathList[i].dep | string | 依赖包名,当type为dep时有效 |
pathList[i].depVersion | string | 依赖包版本号,当type为dep时有效 |
errorPathList | array | 路径解析出错结果列表,元素内容同pathList |
项目信息解析当前只支持react/vue/angular三大框架。
入参
参数 | 类型 | 含义 | 默认 | 必须 |
---|---|---|---|---|
cwd | string | 根路径 | process.cwd() | 是 |
source | string | 源码目录名,基于根路径 | 否 | |
exclude | string[] | 解析排除的路径 | 否 |
返回
参数 | 类型 | 含义 |
---|---|---|
frame | object | 当前项目使用框架 |
frame.key | string | 框架名,react/vue/angular |
frame.exist | boolean | 框架包是否存在 |
frame.name | string | 框架包名 |
frame.version | string | 框架包版本 |
frame.mainVersion | number | 框架包主版本号 |
cli | object | 当前项目使用脚手架 |
cli.key | string | 脚手架名,webpack/vite |
cli.exist | boolean | 脚手架包是否存在 |
cli.name | string | 脚手架包名 |
cli.version | string | 脚手架包版本 |
cli.mainVersion | number | 脚手架包主版本号 |
frameCli | object | 当前项目框架使用脚手架 |
frameCli.key | string | 框架脚手架名,cra/vue-cli/angular-cli |
frameCli.exist | boolean | 框架脚手架包是否存在 |
frameCli.name | string | 框架脚手架包名 |
frameCli.version | string | 框架脚手架包版本 |
frameCli.mainVersion | number | 框架脚手架包主版本号 |
frameRouter | object | 当前项目框架使用路由 |
frameRouter.key | string | 框架路由名,react-router/vue-router/angular-router |
frameRouter.exist | boolean | 框架路由包是否存在 |
frameRouter.name | string | 框架路由包名 |
frameRouter.version | string | 框架路由包版本 |
frameRouter.mainVersion | number | 框架路由包主版本号 |
lang | string | 项目使用语言,ts/js |