2026-03-25 13:46:26 +08:00
|
|
|
|
const fs = require('fs');
|
|
|
|
|
|
const path = require('path');
|
|
|
|
|
|
|
2026-03-27 16:56:06 +08:00
|
|
|
|
// 读取serviceConfig.ts文件
|
2026-03-25 13:46:26 +08:00
|
|
|
|
const serviceConfigPath = path.join(__dirname, 'server/src/config/serviceConfig.ts');
|
|
|
|
|
|
const serviceConfigContent = fs.readFileSync(serviceConfigPath, 'utf8');
|
2026-03-27 16:56:06 +08:00
|
|
|
|
|
|
|
|
|
|
// 读取DomainBootstrap.ts文件
|
|
|
|
|
|
const domainBootstrapPath = path.join(__dirname, 'server/src/core/runtime/DomainBootstrap.ts');
|
2026-03-25 13:46:26 +08:00
|
|
|
|
const domainBootstrapContent = fs.readFileSync(domainBootstrapPath, 'utf8');
|
|
|
|
|
|
|
2026-03-27 16:56:06 +08:00
|
|
|
|
// 从serviceConfig.ts中提取服务名称
|
|
|
|
|
|
const serviceNameRegex = /name: '([^']+)'/g;
|
|
|
|
|
|
const serviceConfigs = [];
|
2026-03-25 13:46:26 +08:00
|
|
|
|
let match;
|
2026-03-27 16:56:06 +08:00
|
|
|
|
while ((match = serviceNameRegex.exec(serviceConfigContent)) !== null) {
|
|
|
|
|
|
serviceConfigs.push(match[1]);
|
2026-03-25 13:46:26 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2026-03-27 16:56:06 +08:00
|
|
|
|
// 从DomainBootstrap.ts中提取注册的服务名称
|
|
|
|
|
|
const registeredServiceRegex = /name: '([^']+)'/g;
|
2026-03-25 13:46:26 +08:00
|
|
|
|
const registeredServices = [];
|
2026-03-27 16:56:06 +08:00
|
|
|
|
let registeredMatch;
|
|
|
|
|
|
while ((registeredMatch = registeredServiceRegex.exec(domainBootstrapContent)) !== null) {
|
|
|
|
|
|
registeredServices.push(registeredMatch[1]);
|
2026-03-25 13:46:26 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2026-03-27 16:56:06 +08:00
|
|
|
|
// 找出未注册的服务
|
|
|
|
|
|
const unregisteredServices = serviceConfigs.filter(service => !registeredServices.includes(service));
|
|
|
|
|
|
|
|
|
|
|
|
// 找出多余注册的服务(在DomainBootstrap中注册但不在serviceConfig中定义的服务)
|
|
|
|
|
|
const extraRegisteredServices = registeredServices.filter(service => !serviceConfigs.includes(service));
|
|
|
|
|
|
|
|
|
|
|
|
// 输出结果
|
|
|
|
|
|
console.log('=== 服务注册一致性检查 ===');
|
|
|
|
|
|
console.log(`ServiceConfig中定义的服务数量: ${serviceConfigs.length}`);
|
|
|
|
|
|
console.log(`DomainBootstrap中注册的服务数量: ${registeredServices.length}`);
|
|
|
|
|
|
console.log('\n=== 未注册的服务 ===');
|
|
|
|
|
|
if (unregisteredServices.length > 0) {
|
|
|
|
|
|
console.log(unregisteredServices.join('\n'));
|
|
|
|
|
|
} else {
|
|
|
|
|
|
console.log('所有服务都已注册');
|
|
|
|
|
|
}
|
|
|
|
|
|
console.log('\n=== 多余注册的服务 ===');
|
|
|
|
|
|
if (extraRegisteredServices.length > 0) {
|
|
|
|
|
|
console.log(extraRegisteredServices.join('\n'));
|
|
|
|
|
|
} else {
|
|
|
|
|
|
console.log('没有多余注册的服务');
|
|
|
|
|
|
}
|