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:
@@ -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 内联元素
|
||||
- ✅ GFM(GitHub Flavored Markdown)
|
||||
|
||||
## 🔧 Git Hooks
|
||||
|
||||
项目使用 **Husky** + **lint-staged** 自动执行代码检查:
|
||||
|
||||
- **pre-commit**: 对暂存的 `.ts/.tsx` 文件运行 ESLint 和 TypeScript 类型检查;对 `.json/.css/.md` 文件运行 Prettier 格式化
|
||||
|
||||
```bash
|
||||
# 初始化 git hooks(npm install 时自动执行)
|
||||
npm run prepare
|
||||
```
|
||||
|
||||
## 📄 许可证
|
||||
|
||||
[MIT License](LICENSE) © 2026 [thzxx](https://gitee.com/thzxx)
|
||||
|
||||
Reference in New Issue
Block a user