Skip to content

feat(api-client): robust APP_PLATFORM_MODULES parsing + bundled framework/vc-blade fixes#236

Merged
maksimzinchuk merged 9 commits into
mainfrom
feat/api-client-platform-modules-parsing
Jun 10, 2026
Merged

feat(api-client): robust APP_PLATFORM_MODULES parsing + bundled framework/vc-blade fixes#236
maksimzinchuk merged 9 commits into
mainfrom
feat/api-client-platform-modules-parsing

Conversation

@maksimzinchuk

Copy link
Copy Markdown
Collaborator

Summary

Bundles all previously-unpushed local commits onto a single branch. The primary work is hardening APP_PLATFORM_MODULES parsing in @vc-shell/api-client-generator; the branch also carries earlier unpushed framework and vc-blade commits.

api-client: robust APP_PLATFORM_MODULES parsing

  • Move parsing/validation into parseAndValidateArgs so it runs before any side effects (directory creation, NSwag), via a pure parsePlatformModules() returning a discriminated result.
  • Fail fast with an actionable quoting hint when an unquoted value was split by the shell (stray positional args) — gated behind a looksPartial check (unbalanced brackets or trailing comma) to avoid false positives on unrelated positionals.
  • Detect unbalanced brackets and empty module lists, each with a clear message.
  • Fix the repeated-flag case (--APP_PLATFORM_MODULES=A --APP_PLATFORM_MODULES=B) — mri yields an array, which previously threw a TypeError; arrays are now joined.
  • Echo Parsed N module(s): … before generation so silent partial generation is visible.
  • README: clarify the quoting requirement and document the new validation.

framework: build-info / version banner (earlier unpushed commits)

  • Add build-info module for the version banner, align naming, harden tests, and declare ambient types for build constants.

vc-blade (earlier unpushed commit)

  • Unify mobile toolbar action button colors in the expanded state.

Test Plan

  • yarn typecheck (api-client tsc --noEmit) passes.
  • Manual CLI verification of the compiled generator:
    • quoted-with-spaces '[A, B]'Parsed 2 module(s)
    • repeated flag → Parsed 2, no TypeError
    • complete value + unrelated positional → Parsed 2 (no false positive)
    • unquoted A, B → fail-fast with quoting hint, no directory created
    • unbalanced [A → fail-fast
  • Pre-commit gates (eslint, prettier, locales, layer checks) pass on every commit.

@github-actions

github-actions Bot commented Jun 10, 2026

Copy link
Copy Markdown

📦 Preview published for commit b5ecb25

Install the preview with dist-tag:

npm install @vc-shell/framework@pr-236

Or pin to the exact commit:

npm install @vc-shell/framework@2.0.7-pr236.b5ecb25

Published packages (dist-tag pr-236, version 2.0.7-pr236.b5ecb25):

  • @vc-shell/framework
  • @vc-shell/api-client-generator
  • @vc-shell/create-vc-app
  • @vc-shell/config-generator
  • @vc-shell/migrate
  • @vc-shell/ts-config
  • @vc-shell/mf-config
  • @vc-shell/mf-host
  • @vc-shell/mf-module
  • @vc-shell/vc-app-skill

@maksimzinchuk maksimzinchuk merged commit 26ce8ec into main Jun 10, 2026
9 checks passed
@maksimzinchuk maksimzinchuk deleted the feat/api-client-platform-modules-parsing branch June 10, 2026 14:16
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.

1 participant