# package-analyze **Repository Path**: shuya009/demo-cli ## Basic Information - **Project Name**: package-analyze - **Description**: node_modules分析 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-08-09 - **Last Updated**: 2023-08-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # npm 包依赖分析命令行工具 `package-analyze`将从当前目录下的package.json文件出发,通过递归分package.json中的指定的依赖项,来生成依赖关系数据,并利用 d3-graphviz进行可视化渲染。 ## 开始使用 1. 全局安装 ``` npm install package-analyze -g ``` 2. 使用 安装完成后,在项目根目录的命令行窗口中运行以下命令来分析依赖项。分析结果将自动在d端口为3000的网页中打开。 ``` analyze-cli analyze analyze-cli aly    // 简写 ``` 还可以使用参数来限制递归分析的深度。`--depth[n]` ``` analyze-cli aly --depth [n] analyze-cli aly -d [n]        // 简写 ``` 要将依赖关系保存为 JSON 文件而不打开网页,请使用参数并指定文件路径,若没有指定文件路径,则默认路径为命令行中键入的文件路径。`--json [file-path]` ``` analyze-cli aly --json [file-path] analyze-cli aly -j [file-path] ``` 如果希望在打开网页展示依赖关系的同时将依赖关系保存为JSON文件,可同采用`--json`和`--server`。 ``` analyze-cli aly -server -json [file-path] analyze-cli aly -s -j [file-path] ``` ## 目录结构 ``` ├── bin // 存放可执行文件 │ └─ index.js // 主要的执行入口文件 ├── config // 存放配置文件 │ └─ config.js // 配置文件,用于设置应用程序的参数 ├── data // 存放数据文件 ├── dist // 存放构建后的输出目录 │ ├── assets // 存放静态资源文件 │ │ ├── index-92da51cd.css // CSS 文件 │ │ └── index-bf74e693.js // JavaScript 文件 │ └── index.html // HTML 文件 ├── lib // 存放源代码库 │ ├── core // 核心功能模块 │ │ ├── action.js // 执行相关的功能 │ │ ├── commander.js // 命令解析器 │ │ └── help.js // 帮助信息相关的功能 │ └── utils // 实用工具函数 │ ├── converToGraph.js // 将数据转化为图格式数据 │ ├── getGraphData.js // 得到前端需要的图数据格式 │ ├── getPackageJSON.js // 处理package.json文件 │ └── hasCycle.js // 检查循环依赖 ├── server.js // 服务器启动文件 └── package.json // 项目配置文件 ``` ## 技术栈 功能开发: - 依赖关系图:使用d3-graphviz可视化 工程化: - 使用JavaScript 开发; - 使用 jest 实现单元测试; - 接入 eslint, prettier, lint-staged 代码风格自动化工具;