chore: initialize qiming workspace repository

This commit is contained in:
Codex
2026-05-29 14:22:48 +08:00
commit bfd67a0f2c
10750 changed files with 1885711 additions and 0 deletions

View File

@@ -0,0 +1,147 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [1.2.3] - 2026-03-06
### Changed
- **发布与包管理**
- 移除 `packageManager``preinstall` 的 pnpm 强约束,支持使用 npm 安装与发布
- `prepublishOnly` 改为 `npm run build`,便于 npm 发布流程
## [1.2.2] - 2026-03-06
### Added
- **性能耗时日志**
- 所有关键 API 接口(项目初始化、更新、目录/文件列表)添加 INFO 级别耗时日志,包含 `elapsedMs` 数值字段
- 中间步骤(备份、解压、文件写入、清理等)添加 DEBUG 级别耗时日志
- 错误路径统一添加 `elapsedMs` 字段,便于排查超时和异常耗时问题
### Changed
- **日志级别优化**
- 中间步骤日志(备份、解压、文件写入等"开始"类日志)从 INFO 降级为 DEBUG减少生产环境日志噪音
- 通过 `LOG_LEVEL` 环境变量控制日志输出级别error > warn > info > debug
- **日志格式统一**
- 所有耗时字段统一使用 `elapsedMs`(数值类型,单位毫秒),便于日志聚合和监控系统解析
- 移除冗余的重复日志输出
### Fixed
- **downloadAllFiles 耗时统计修正**
- 将耗时记录从压缩准备阶段移至 `archive.on("end")` 事件,准确反映实际压缩完成时间
## [1.2.0] - 2026-02-06
### Added
- **CLI 参数解析增强**
- 支持在命令行中传递 `--KEY=VALUE` 格式的参数
- 自动将这些参数写入 `process.env` 环境变量
- 可以在启动服务时通过命令行覆盖环境变量配置
### Changed
- **命令灵活性提升**
- `start``restart` 命令现在允许接受未知选项
- 允许传递额外的自定义参数给服务
## [1.1.1] - 2026-02-04
### Added
- **CLI 版本查询增强**
- 新增 `-v` 参数作为查看版本的快捷方式(支持 `-v, --version`
## [1.1.0] - 2026-02-03
### Changed
- **ES Module 迁移**
- 全面迁移到 ES Module (ESM) 语法
- 所有 `require` 替换为 `import`
- 所有 `module.exports` 替换为 `export`
- 更新 Node.js 版本要求至 >= 22.0.0
- `package.json` 添加 `"type": "module"`
- **构建流程更新**
- 新增 `scripts/build.js` 使用 esbuild 打包
- 输出格式设置为 ESM
- 支持代码压缩和发布优化
### Added
- **LOG_BASE_DIR 容错增强**
- 当配置路径无法创建时自动回退到系统临时目录
- 避免因路径问题导致服务启动失败
## [1.0.0] - 2025-02-03
### Added
- **CLI 工具支持**
- 新增 `qiming-file-server` CLI 命令行工具
- 支持 `start``stop``restart``status` 命令
- 支持 `--port``--env``--config` 等命令行参数
- 支持通过命令行参数覆盖环境变量配置
- **跨平台支持**
- 支持 Windows、Linux、macOS 三大平台
- 使用 `cross-spawn` 确保跨平台命令执行
- 使用 `tree-kill` 实现跨平台进程终止
- PID 文件管理支持多平台临时目录
- **健康检查端点**
- 新增 `/health` HTTP 端点
- 返回服务状态、版本、运行时间、内存使用等信息
- **环境变量配置**
- 完整的配置文件加载机制
- 支持 `env.development``env.production``env.test`
- 详细的路径配置项说明
- CLI 专用配置项
- **项目文档**
- 新增 `docs/ENV.md` 完整的环境变量配置指南
- 更新 `README.md` 包含 CLI 使用说明
- 新增 `AGENTS.md``CLAUDE.md` 软链接
- **测试**
- 新增 `tests/unit/cli.test.js` 单元测试
- 覆盖服务管理器、环境变量工具、跨平台兼容性等
### Changed
- **包配置**
- `package.json` 新增 `bin` 字段支持 CLI 全局安装
- 新增 `commander``cross-spawn``fs-extra``tree-kill` 依赖
### Fixed
- **启动脚本**
- 修复 `scripts/start-cli.js` 实际加载 server.js 的问题
- 修复 `router.js` 中 package.json 路径解析问题
### Security
- 使用 `path.resolve``fs.readFileSync` 替代 `require` 确保安全性
## [0.1.0] - 2024-XX-XX
Initial release of qiming-file-server project.
### Added
- 项目基础结构
- Express 服务器配置
- 构建路由、项目路由、代码路由
- pnpm 磁盘空间优化功能
- 日志缓存管理