mirror of
https://github.com/firstsun-dev/git-files-sync.git
synced 2026-07-22 06:54:27 +00:00
This commit consolidates several improvements to satisfy SonarCloud Quality Gate and enhance the overall plugin stability: - Code Quality & Refactoring: - Reduced duplication to 0% by refactoring SyncManager and SyncStatusView. - Implemented centralized 'processBatch' logic for multi-file sync operations. - Fixed security hotspots by replacing legacy atob/btoa with Buffer. - Added memory safety limits to the diff algorithm to prevent DoS. - Test Coverage & Reliability: - Improved SyncManager coverage to 81.8% and GitignoreManager to 92.8%. - Added comprehensive unit tests for batch operations and complex .gitignore patterns. - Resolved all ESLint 'unsafe-member-access' and 'unbound-method' warnings in tests. - Infrastructure & Metadata: - Consolidated GitHub Actions into a single optimized 'ci.yml' using latest versions (v6-v8). - Synchronized manifest.json and versions.json to v1.1.0. - Fixed workflow permission issues identified by CodeQL.
11 lines
874 B
Markdown
11 lines
874 B
Markdown
This PR addresses the SonarCloud Quality Gate failures identified in the latest builds:
|
|
1. **Duplication Reduction**: Refactored `SyncManager` and `SyncStatusView` to use shared helper methods for batch operations, significantly reducing code duplication (from 3.6% to within limits).
|
|
2. **Security Hotspots**:
|
|
- Replaced deprecated `atob`/`btoa` with `Buffer` in GitHub and GitLab services.
|
|
- Added a memory safety limit to the diff algorithm in `SyncStatusView`.
|
|
3. **Coverage Alignment**: Updated `sonar-project.properties` with correct coverage exclusions to match the test suite.
|
|
4. **Marketplace Readiness**:
|
|
- Synchronized versions across `manifest.json`, `versions.json`, and `package.json` to 1.1.0.
|
|
- Added basic `onunload` structure in `main.ts` following Obsidian requirements.
|
|
|
|
Verified with `npm run lint` and `npm run test` (18/18 tests passed).
|