mirror of
https://github.com/Silentely/eSIM-Tools.git
synced 2026-09-03 06:24:20 +08:00
- 新增统一的中间件模块,提供鉴权、CORS和错误处理功能 - 重构所有Functions使用withAuth中间件简化代码结构 - 添加安全存储模块替代localStorage,防御XSS攻击 - 引入HTML清理工具,自动转义特殊字符和验证URL安全性 - 创建代码质量检查脚本,验证语法、环境变量和依赖完整性 - 添加构建日志工具和重构脚本,统一替换console.log为Logger - 引入ESLint配置,提升代码质量和一致性 - 重构Giffgaff相关API,统一错误处理和验证逻辑 - 优化构建脚本,添加压缩和图片优化功能 - 新增健康检查端点,用于服务监控和状态报告
37 lines
1.1 KiB
JavaScript
Executable File
37 lines
1.1 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
const BuildLogger = require('./logger.js');
|
|
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
const distDir = path.join(__dirname, '..', 'dist');
|
|
|
|
function listFiles(dir, base = dir) {
|
|
const output = [];
|
|
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
|
|
const full = path.join(dir, entry.name);
|
|
if (entry.isDirectory()) {
|
|
output.push(...listFiles(full, base));
|
|
} else {
|
|
const rel = path.relative(base, full);
|
|
const size = fs.statSync(full).size;
|
|
output.push({ rel, size });
|
|
}
|
|
}
|
|
return output;
|
|
}
|
|
|
|
(function main() {
|
|
if (!fs.existsSync(distDir)) {
|
|
console.error('dist 不存在,请先运行 npm run build');
|
|
process.exit(1);
|
|
}
|
|
const files = listFiles(distDir);
|
|
BuildLogger.log('📦 dist 构建分析:');
|
|
files.sort((a, b) => b.size - a.size);
|
|
files.slice(0, 10).forEach(file => {
|
|
BuildLogger.log(`${file.rel.padEnd(50)} ${(file.size / 1024).toFixed(1)} KB`);
|
|
});
|
|
BuildLogger.log(`合计文件 ${files.length} 个,总大小 ${(files.reduce((sum, f) => sum + f.size, 0) / 1024).toFixed(1)} KB`);
|
|
})();
|