Skip to content

feat: add Flow dependency and version management commands - #110

Closed
susangao21 wants to merge 2 commits into
mainfrom
sgao/flow-version-management
Closed

susangao21 wants to merge 2 commits into
mainfrom
sgao/flow-version-management

Conversation

@susangao21

@susangao21 susangao21 commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

Add Flow dependency analysis and version-management commands so release engineers can inspect versions and deletion blockers, preview cleanup, and delete explicitly approved targets from the Salesforce CLI.

  • flow dependencies reports direct evidence within the requested scan scope.
  • flow version list consumes the Core list contract and returns console tables or structured JSON.
  • flow version delete supports individual versions and ranges, independent outcomes, fresh identity/eligibility checks, and dry runs. Ambiguous mutation responses stop later deletions.
  • flow version prune defaults to preview and requires explicit approval for execution.
  • Single-version force deletion requires an interactive terminal and typed Flow/version confirmation; --yes cannot approve it.

Version management uses @salesforce/flow-node; the existing Flow test commands continue through apex-node. The changes include JSON schemas, command snapshots, public usage guides, and a documented local library-link workflow.

Local validation: 362 CLI tests passed, including native Salesforce Connection transport and terminal-confirmation cases. Source/test TypeScript, lint, build, command-help checks and package creation passed. The package's 89 files were checked for the compiled commands and schemas. No live org calls were made during this migration.

This PR remains a draft with release prerequisites:

  • The current Flow Node dependency pins an immutable commit in private forcedotcom/flows. Installation requires access to that repository; a public plugin release must first use a published Flow Node npm version. Initial public CI fails while fetching this dependency (Repository not found).
  • Production B/D service bindings remain separate integration work. Prune currently retains the documented Created Date and Obsolete/statusChangeDate interim policy; it still needs the shared B1 contract and Last Modified Date rule. The force-delete backend's production controls and D contract must be verified independently of client tests.

@susangao21 susangao21 closed this Nov 4, 2026
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