Files
wwjcloud/tools

Tools 工具集

本目录包含项目开发和维护过程中使用的各种开发工具。

🛠️ 核心工具

service-migration-master.js

服务层迁移主工具 - 一站式解决方案

整合所有服务层迁移功能,包括清理、对齐、验证等。

# 运行服务层迁移
node tools/service-migration-master.js

功能特性:

  • 分析 PHP 项目结构
  • 清理多余文件
  • 对齐文件结构
  • 完善业务逻辑
  • 更新模块配置
  • 验证迁移完整性

auto-mapping-checker.js

PHP与NestJS项目自动映射检查器

检查PHP项目与NestJS项目的模块、控制器、服务等对应关系确保迁移的完整性。

# 运行映射检查
node tools/auto-mapping-checker.js

功能特性:

  • 检查控制器映射关系
  • 检查服务映射关系
  • 生成详细的对比报告
  • 识别缺失的NestJS文件
  • 提供匹配度统计

structure-validator.js

NestJS项目结构验证器

检查NestJS项目的目录结构、分层规范、命名规范等确保代码质量。

# 运行结构验证
node tools/structure-validator.js

功能特性:

  • 🏗️ 检查基础目录结构
  • 📦 验证模块结构完整性
  • 📝 检查文件命名规范
  • 🔗 验证分层架构
  • 📊 生成详细验证报告

scan-guards.js

守卫扫描工具

扫描项目中的守卫使用情况,检查权限控制的完整性。

# 扫描守卫使用情况
node tools/scan-guards.js

generate-entities-from-sql.js

实体生成工具

从SQL文件自动生成TypeORM实体类。

# 从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或联系开发团队