Skip to content

refactor: rename and modularize resources-get command#34

Merged
SERDUN merged 14 commits intomainfrom
refactor/resources-get-orchestrator
Feb 16, 2026
Merged

refactor: rename and modularize resources-get command#34
SERDUN merged 14 commits intomainfrom
refactor/resources-get-orchestrator

Conversation

@SERDUN
Copy link
Copy Markdown
Member

@SERDUN SERDUN commented Feb 16, 2026

Description

This PR performs a major architectural refactor of the resource acquisition logic. The monolithic ConfiguratorGetResourcesCommand has been transformed into a clean Orchestrator, delegating specific responsibilities to specialized processors, services, and runners.

Key Changes:

  • Renaming & Organization: Renamed ConfiguratorGetResourcesCommand to ResourcesGetCommand for better semantics. Moved the command and its dependencies into a dedicated modular directory: lib/src/commands/resources/.

  • Logic Extraction (SOLID):

  • ApplicationDataFetcher: Handles API interactions and initial data validation.

  • ThemeConfigProcessor: Manages JSON configuration mapping and asset migration.

  • AssetProcessor: Handles binary downloads (icons, splash screens).

  • TranslationProcessor: Manages Localization logic.

  • CertificateProcessor: Handles local filesystem operations for SSL certs.

  • LocalConfigProcessor: Manages local build cache and environment file generation.

  • ExternalGeneratorRunner: Orchestrates system make process execution.

  • Performance & Stability:

  • Replaced blocking synchronous I/O calls with non-blocking asynchronous alternatives.

  • Improved process handling by properly awaiting stdout/stderr streams.

  • Type Safety: Eliminated dynamic types in favor of explicit DTOs (SplashAssetDto, LaunchAssetsEnvelopeDto, etc.).

  • Clean Code:

  • Introduced ResourcesContext to encapsulate command state.

  • Implemented CommandHelpFormatter for consistent CLI help output.

  • Standardized import ordering and removed redundant comments.

Type of Change

  • ✨ New feature (non-breaking change which adds functionality)
  • 🛠️ Bug fix (non-breaking change which fixes an issue)
  • ❌ Breaking change (fix or feature that would cause existing functionality to change)
  • 🧹 Code refactor
  • ✅ Build configuration change
  • 📝 Documentation
  • 🗑️ Chore

@SERDUN SERDUN changed the title Refactor/resources get orchestrator refactor: rename and modularize resources-get command Feb 16, 2026
@SERDUN SERDUN requested a review from Copilot February 16, 2026 11:45

This comment was marked as resolved.

@SERDUN SERDUN force-pushed the refactor/resources-get-orchestrator branch from 0dc5d72 to 13f945a Compare February 16, 2026 12:30
@SERDUN SERDUN merged commit 19aa813 into main Feb 16, 2026
1 of 4 checks passed
@SERDUN SERDUN deleted the refactor/resources-get-orchestrator branch February 16, 2026 12:49
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