Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Jan 12, 2026

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

github-archiver@1.3.0

Minor Changes

  • 3644afb Thanks @mynameistito! - ## Comprehensive Test Coverage Expansion

    This 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 checking
      • authenticateUser() - handles GitHub authentication
      • getRepositories() - reads repositories from file/stdin/interactive
      • logParseErrors() - displays parsing errors with line numbers
      • showRepositoriesPreview() - displays repository preview
      • confirmOperation() - handles user confirmation
      • archiveRepositories() - executes archiving workflow
      • displayResults() - shows archiving results
      • handleArchiveError() / provideErrorGuidance() - error handling
    • auth.ts: Exported 6 helper functions

      • createLoginCommand() - login subcommand
      • createLogoutCommand() - logout subcommand
      • createStatusCommand() - status subcommand
      • createValidateCommand() - validate subcommand
      • promptForToken() - token input prompt
      • confirmAction() - confirmation prompt

    Test Files Added/Enhanced

    • tests/unit/archive-command.test.ts - 48 test cases for archive command logic
    • tests/unit/auth-command.test.ts - 41 test cases for auth command logic
    • Enhanced tests/unit/github.test.ts with 50+ test cases
    • Enhanced tests/unit/input-handler.test.ts with 30+ test cases
    • Enhanced tests/unit/logger.test.ts with console formatting tests
    • Enhanced tests/unit/parser.test.ts with 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.md with detailed coverage breakdown
    • Added TEST_COVERAGE_ANALYSIS.md with 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.

@github-actions github-actions bot force-pushed the changeset-release/main branch from da17cf8 to 060e428 Compare January 12, 2026 10:07
@coderabbitai
Copy link

coderabbitai bot commented Jan 12, 2026

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot force-pushed the changeset-release/main branch 3 times, most recently from e5e855e to d1ca683 Compare January 12, 2026 10:10
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 3 files

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="CHANGELOG.md">

<violation number="1" location="CHANGELOG.md:7">
P3: Remove the inline `##` heading marker from the bullet so the release title renders correctly.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

@github-actions github-actions bot force-pushed the changeset-release/main branch 4 times, most recently from 1529c03 to 35e2301 Compare January 12, 2026 10:16
@github-actions github-actions bot force-pushed the changeset-release/main branch from ea5836e to 6a3b928 Compare January 12, 2026 10:20
@mynameistito mynameistito merged commit 377657c into main Jan 12, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants