Skip to content

feat(deploy): migrate unified deploy to per-function API#384

Merged
yardend-wix merged 11 commits intofeature/functions-commandsfrom
feature/unified-deploy-per-function
Mar 12, 2026
Merged

feat(deploy): migrate unified deploy to per-function API#384
yardend-wix merged 11 commits intofeature/functions-commandsfrom
feature/unified-deploy-per-function

Conversation

@yardend-wix
Copy link
Contributor

@yardend-wix yardend-wix commented Mar 8, 2026

Note

Description

This PR integrates per-function deploy progress reporting into the unified deploy command. Instead of a single "Deploying your app..." spinner, the deploy flow now calls deployFunctionsSequentially with onFunctionStart and onFunctionResult callbacks, surfacing real-time [N/total] progress and per-function results to the user as each function deploys. The deployAll core function is extended with an optional DeployAllOptions parameter to pass these callbacks through.

Related Issue

None

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactoring (no functional changes)
  • Other (please describe):

Changes Made

  • core/project/deploy.ts: Added DeployAllOptions interface with onFunctionStart / onFunctionResult callbacks; replaced functionResource.push with deployFunctionsSequentially and forwarded callbacks
  • cli/commands/project/deploy.ts: Replaced runTask spinner with inline [N/total] Deploying <name>... progress log using the new callbacks; uses formatDeployResult to render each function's outcome inline
  • tests/cli/deploy.spec.ts: Replaced mockFunctionsPush with mockSingleFunctionDeploy to align with the per-function API; removed stale "Deployment completed" assertions and dropped unnecessary function-push mocks from agent/connector-only test cases

Testing

  • I have tested these changes locally
  • I have added/updated tests as needed
  • All tests pass (npm test)

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation (if applicable)
  • My changes generate no new warnings
  • I have updated docs/ (AGENTS.md) if I made architectural changes

Additional Notes

The runTask wrapper (which showed a single spinner for the entire deploy) is removed in favour of granular per-function log steps, giving users visibility into which function is being deployed and its result at each stage.


🤖 Generated by Claude | 2026-03-12 00:00 UTC

@github-actions
Copy link
Contributor

github-actions bot commented Mar 8, 2026

🚀 Package Preview Available!


Install this PR's preview build with npm:

npm i @base44-preview/cli@0.0.44-pr.384.4b98c80

Prefer not to change any import paths? Install using npm alias so your code still imports base44:

npm i "base44@npm:@base44-preview/cli@0.0.44-pr.384.4b98c80"

Or add it to your package.json dependencies:

{
  "dependencies": {
    "base44": "npm:@base44-preview/cli@0.0.44-pr.384.4b98c80"
  }
}

Preview published to npm registry — try new features instantly!

yardend-wix and others added 3 commits March 9, 2026 11:30
Add a new `functions list` CLI command that lists all deployed functions
on the remote, showing automation counts. Restructure the functions
command group to use an index.ts that registers subcommands.

- Add ListFunctionsResponseSchema and FunctionInfo types to schema
- Add listDeployedFunctions API client function
- Create functions/list.ts command with automation count display
- Refactor functions/deploy.ts export to getDeployCommand
- Create functions/index.ts to register deploy + list subcommands
- Update program.ts to use getFunctionsCommand
- Add test mocks and 5 tests for the list command

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…support

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@yardend-wix yardend-wix force-pushed the feature/functions-deploy-command branch from ef46cce to 83f723c Compare March 9, 2026 09:59
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@yardend-wix yardend-wix force-pushed the feature/unified-deploy-per-function branch from 67b9d55 to 3e8e89b Compare March 9, 2026 10:04
kfirstri and others added 4 commits March 9, 2026 14:45
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Deleted Base44APIMock.ts (replaced by TestAPIServer.ts in main) and added
mockFunctionsList / mockFunctionsListError methods to TestAPIServer so the
functions-list tests work with the new test infrastructure.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@kfirstri kfirstri moved this from Backlog to In review in CLI Development Mar 11, 2026
yardend-wix and others added 2 commits March 12, 2026 15:55
Combines per-function deploy additions (SingleFunctionDeployResponse,
mockSingleFunctionDeploy) with delete/list/pull from the feature branch.
Removes duplicate FunctionInfoSchema/ListFunctionsResponseSchema from
auto-merge, keeping the AutomationSchema version.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Base automatically changed from feature/functions-deploy-command to feature/functions-commands March 12, 2026 14:24
Resolve import conflict: use new formatDeployResult location from
cli/commands/functions/. Fix deploy test assertion to match actual
outro message.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@yardend-wix yardend-wix merged commit 730c18a into feature/functions-commands Mar 12, 2026
3 checks passed
@yardend-wix yardend-wix deleted the feature/unified-deploy-per-function branch March 12, 2026 14:31
@github-project-automation github-project-automation bot moved this from In review to Done in CLI Development Mar 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants