Files
wwjcloud/tools/README.md

137 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Tools 工具集
本目录包含项目开发和维护过程中使用的各种开发工具。
## 🛠️ 核心工具
### `service-migration-master.js`
**服务层迁移主工具** - 一站式解决方案
整合所有服务层迁移功能,包括清理、对齐、验证等。
```bash
# 运行服务层迁移
node tools/service-migration-master.js
```
**功能特性:**
- ✅ 分析 PHP 项目结构
- ✅ 清理多余文件
- ✅ 对齐文件结构
- ✅ 完善业务逻辑
- ✅ 更新模块配置
- ✅ 验证迁移完整性
### `auto-mapping-checker.js`
**PHP与NestJS项目自动映射检查器**
检查PHP项目与NestJS项目的模块、控制器、服务等对应关系确保迁移的完整性。
```bash
# 运行映射检查
node tools/auto-mapping-checker.js
```
**功能特性:**
- ✅ 检查控制器映射关系
- ✅ 检查服务映射关系
- ✅ 生成详细的对比报告
- ✅ 识别缺失的NestJS文件
- ✅ 提供匹配度统计
### `structure-validator.js`
**NestJS项目结构验证器**
检查NestJS项目的目录结构、分层规范、命名规范等确保代码质量。
```bash
# 运行结构验证
node tools/structure-validator.js
```
**功能特性:**
- 🏗️ 检查基础目录结构
- 📦 验证模块结构完整性
- 📝 检查文件命名规范
- 🔗 验证分层架构
- 📊 生成详细验证报告
### `scan-guards.js`
**守卫扫描工具**
扫描项目中的守卫使用情况,检查权限控制的完整性。
```bash
# 扫描守卫使用情况
node tools/scan-guards.js
```
### `generate-entities-from-sql.js`
**实体生成工具**
从SQL文件自动生成TypeORM实体类。
```bash
# 从SQL生成实体
node tools/generate-entities-from-sql.js
```
## 📁 目录结构
```
tools/
├── README.md # 本说明文档
├── service-migration-master.js # 服务层迁移主工具
├── auto-mapping-checker.js # PHP-NestJS映射检查器
├── structure-validator.js # 项目结构验证器
├── scan-guards.js # 守卫扫描工具
├── generate-entities-from-sql.js # 实体生成工具
├── contracts/ # 契约文件目录
│ ├── routes.json # 路由契约文件
│ ├── routes.php.json # PHP 路由契约
│ ├── routes.java.json # Java 路由契约
│ └── ... # 其他契约文件
└── deploy/ # 部署相关脚本
├── infra/ # 基础设施脚本
└── kong/ # Kong网关配置
```
## 🚀 使用指南
### 开发阶段
1. **服务迁移**: 使用 `service-migration-master.js` 完成服务层迁移
2. **结构检查**: 定期运行 `structure-validator.js` 确保项目结构规范
3. **映射验证**: 使用 `auto-mapping-checker.js` 检查PHP迁移进度
### 质量保证
- 所有工具都支持 `--help` 参数查看详细用法
- 建议在CI/CD流程中集成这些检查工具
- 定期运行工具确保代码质量
### 最佳实践
1. **持续验证**: 每次提交前运行结构验证
2. **映射同步**: 定期检查PHP-NestJS映射关系
3. **服务迁移**: 使用主工具完成服务层迁移
## 🔧 工具开发
### 添加新工具
1.`tools/` 目录下创建新的 `.js` 文件
2. 添加 `#!/usr/bin/env node` 头部
3. 实现主要功能逻辑
4. 更新本README文档
### 工具规范
- 使用Node.js原生模块避免额外依赖
- 提供清晰的错误信息和帮助文档
- 支持命令行参数和选项
- 输出格式化的结果报告
## 📞 支持
如果在使用过程中遇到问题,请:
1. 检查Node.js版本 (建议 >= 14.0.0)
2. 确保项目路径正确
3. 查看工具的帮助信息
4. 提交Issue或联系开发团队