v0.2.0: 全面代码质量优化

- ESLint flat config + Prettier + EditorConfig
- Markdown处理器LRU缓存
- Zustand选择器优化减少重渲染
- CodeMirror Compartment主题热切换
- Preview防抖(150ms) + IndexedDB去抖(500ms)
- 组件拆分: App.tsx 310→104行, Sidebar.tsx 244→90行
- 统一错误处理 errorHandler.ts
- ConfirmDialog替代原生confirm
- LoadingSpinner加载状态
- Toast多条堆叠+类型区分
- 可访问性增强(ARIA属性、键盘导航)
- Vitest测试框架(78个测试用例)
- Git hooks(husky + lint-staged)
- 项目文档(README.md, CONTRIBUTING.md)
This commit is contained in:
thzxx
2026-06-03 22:13:32 +08:00
parent 3cecb0f9eb
commit 7a4e2b0a67
72 changed files with 5103 additions and 894 deletions
+44
View File
@@ -85,8 +85,39 @@ npm run typecheck
# ESLint 代码检查
npm run lint
# 运行单元测试
npm run test
# 监听模式运行测试
npm run test:watch
# 生成测试覆盖率报告
npm run test:coverage
```
## 🧪 测试
项目使用 **Vitest** + **React Testing Library** 作为测试框架。
```bash
# 运行全部测试
npm run test
# 监听模式(开发时持续运行)
npm run test:watch
# 生成覆盖率报告
npm run test:coverage
```
测试覆盖以下核心模块:
- `stores/` — Zustand 状态管理(tabStore, editorStore
- `lib/` — 工具库(fileUtils, markdown, errorHandler
- `hooks/` — 自定义 Hooks
测试文件位于对应模块的 `__tests__/` 目录下,命名格式为 `*.test.ts`
## ⌨️ 快捷键
| 快捷键 | 功能 |
@@ -131,7 +162,9 @@ MarkLite/
├── tsconfig.json # TypeScript 配置
├── tsconfig.node.json # Node 端 TypeScript 配置
├── electron.vite.config.ts # electron-vite 构建配置
├── vitest.config.ts # Vitest 测试框架配置
├── .eslintrc.cjs # ESLint + TypeScript 规则
├── CONTRIBUTING.md # 贡献指南
├── src/
│ ├── main/ # 主进程 (Node.js)
@@ -216,6 +249,17 @@ MarkLite/
- ✅ HTML 内联元素
- ✅ GFMGitHub Flavored Markdown
## 🔧 Git Hooks
项目使用 **Husky** + **lint-staged** 自动执行代码检查:
- **pre-commit**: 对暂存的 `.ts/.tsx` 文件运行 ESLint 和 TypeScript 类型检查;对 `.json/.css/.md` 文件运行 Prettier 格式化
```bash
# 初始化 git hooksnpm install 时自动执行)
npm run prepare
```
## 📄 许可证
[MIT License](LICENSE) © 2026 [thzxx](https://gitee.com/thzxx)