Releases: mynameistito/github-archiver
Release 1.5.1
Patch Changes
- #12
23948d1Thanks @mynameistito! - Update dependencies
Release 1.5.0
Minor Changes
-
e42add2Thanks @mynameistito! - ## Add GitHub Packages Publishing SupportAdds dual-registry publishing to both npm and GitHub Packages registries with OIDC trusted publishing.
Added
- GitHub Packages npm registry support - package published as
@mynameistito/github-archiver .npmrcconfiguration for GitHub Packages registry routing- GitHub Packages publishing step in release workflow with automatic version checking
- OIDC trusted publishing for enhanced security (no manual tokens required)
Changed
- Updated release workflow permissions to include
packages: writefor GitHub Packages access - Release workflow now publishes to both npm (
github-archiver) and GitHub Packages (@mynameistito/github-archiver) simultaneously
- GitHub Packages npm registry support - package published as
Release 1.4.0
Minor Changes
-
e42add2Thanks @mynameistito! - ## Add GitHub Packages Publishing SupportAdds dual-registry publishing to both npm and GitHub Packages registries with OIDC trusted publishing.
Added
- GitHub Packages npm registry support - package published as
@mynameistito/github-archiver .npmrcconfiguration for GitHub Packages registry routing- GitHub Packages publishing step in release workflow with automatic version checking
- OIDC trusted publishing for enhanced security (no manual tokens required)
Changed
- Updated release workflow permissions to include
packages: writefor GitHub Packages access - Release workflow now publishes to both npm (
github-archiver) and GitHub Packages (@mynameistito/github-archiver) simultaneously
- GitHub Packages npm registry support - package published as
Release 1.3.0
Minor Changes
-
3644afbThanks @mynameistito! - ## Comprehensive Test Coverage ExpansionThis changeset introduces a major test coverage expansion, achieving 100% coverage on all core business logic and adding 200+ new test cases.
Key Changes
Test Coverage Improvements
- Added 200+ new test cases with 549 total assertions
- Achieved 100% coverage on 15 src files (71% of all src files)
- 95%+ coverage on all testable code
- 366 passing tests with zero failures
- Test execution time: ~4.8 seconds
Core Business Logic (100% Complete)
- All 3 constants files: 100% coverage
- All 4 type definition files: 100% coverage
- Both service files (archiver, auth-manager): 100% coverage
- 6 utility files (colors, config, errors, formatting, progress, logger): 98-100% coverage
Code Refactoring for Testability
-
archive.ts: Exported 9 helper functions
validateOptions()- validates CLI options with bounds checkingauthenticateUser()- handles GitHub authenticationgetRepositories()- reads repositories from file/stdin/interactivelogParseErrors()- displays parsing errors with line numbersshowRepositoriesPreview()- displays repository previewconfirmOperation()- handles user confirmationarchiveRepositories()- executes archiving workflowdisplayResults()- shows archiving resultshandleArchiveError()/provideErrorGuidance()- error handling
-
auth.ts: Exported 6 helper functions
createLoginCommand()- login subcommandcreateLogoutCommand()- logout subcommandcreateStatusCommand()- status subcommandcreateValidateCommand()- validate subcommandpromptForToken()- token input promptconfirmAction()- confirmation prompt
Test Files Added/Enhanced
tests/unit/archive-command.test.ts- 48 test cases for archive command logictests/unit/auth-command.test.ts- 41 test cases for auth command logic- Enhanced
tests/unit/github.test.tswith 50+ test cases - Enhanced
tests/unit/input-handler.test.tswith 30+ test cases - Enhanced
tests/unit/logger.test.tswith console formatting tests - Enhanced
tests/unit/parser.test.tswith edge case coverage
Code Quality
- ✅ All tests comply with Ultracite code standards
- ✅ No console.log/debugger statements in code
- ✅ Proper error handling and cleanup
- ✅ Type-safe test implementation
- ✅ Comprehensive test isolation with beforeEach/afterEach
Documentation
- Added
COVERAGE_SUMMARY.mdwith detailed coverage breakdown - Added
TEST_COVERAGE_ANALYSIS.mdwith comprehensive analysis
Coverage Metrics
Category Files 100% Coverage Avg Coverage Constants 3 3/3 (100%) 100% Types 4 4/4 (100%) 100% Services 2 2/2 (100%) 100% Utilities 6 6/6 (100%) 99% Commands 2 0/2 (0%) 32% Integration 1 0/1 (0%) 9% TOTAL 21 15/21 (71%) 87% Breaking Changes
None. All exported functions are implementation details that maintain backward compatibility.
Migration Guide
No migration needed. The exported functions were previously internal and are now available for testing. CLI and public API remain unchanged.
Future Work
For 100% coverage on remaining files:
- CLI integration tests (archive.ts, auth.ts) - requires integration test framework
- GitHub API mocking (github.ts) - requires API mocking library
- Interactive readline tests (input-handler.ts) - requires readline mock library
These require specialized testing frameworks beyond unit testing and are typically handled with dedicated integration/E2E test suites.
Release 1.2.0
Minor Changes
-
6948c29Thanks @mynameistito! - Migrate to Bun runtime and enhance documentation- Migrate all npm scripts to use Bun for faster development and execution
- Replace tsx with native Bun TypeScript support
- Add comprehensive Bun installation and development documentation
- Improve README with Bun-first approach and npm fallback
- Enhance bunfig.toml configuration for better test setup
- Update build target to Node.js 22+
- Fix output formatting for improved readability
Release 1.1.5
Patch Changes
-
587569dThanks @mynameistito! - Fix changelog header detection in GitHub Release body extraction- Distinguish between level 2 headers (## ) and level 3 headers (### ) in changelog
- Prevent '### Patch Changes' from being mistaken as version header boundary
- Ensure full changeset content is extracted and displayed in release body
- Fixes empty release description issue caused by incorrect header matching
Release 1.1.4
chore: version packages (#6) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>