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.
Remove individual files (main.js, manifest.json, styles.css) from
release assets and build artifacts. Only keep the zip package.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Create zip file with format: git-files-push-{version}-{branch}.zip
for feature branch builds.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Update Node.js version from 20 to 22 to meet semantic-release
dependency requirements (requires Node.js 22.14.0+ or 24.10.0+).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Update Node.js version from 18 to 20 in all GitHub Actions workflows
to meet dependency requirements. This fixes CI failures caused by
packages requiring Node.js 20+.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>