feat(functions): rewrite deploy to per-function API with zero-config#383
Merged
yardend-wix merged 9 commits intofeature/functions-commandsfrom Mar 12, 2026
Merged
Conversation
Contributor
🚀 Package Preview Available!Install this PR's preview build with npm: npm i @base44-preview/cli@0.0.44-pr.383.39531cePrefer not to change any import paths? Install using npm alias so your code still imports npm i "base44@npm:@base44-preview/cli@0.0.44-pr.383.39531ce"Or add it to your {
"dependencies": {
"base44": "npm:@base44-preview/cli@0.0.44-pr.383.39531ce"
}
}
Preview published to npm registry — try new features instantly! |
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>
813293a to
5c77e60
Compare
…support Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ef46cce to
83f723c
Compare
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
reviewed
Mar 12, 2026
kfirstri
reviewed
Mar 12, 2026
kfirstri
reviewed
Mar 12, 2026
kfirstri
approved these changes
Mar 12, 2026
Base automatically changed from
feature/functions-list-command
to
feature/functions-commands
March 12, 2026 13:57
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
Description
This PR refactors the
functions deploycommand to deploy each function individually (per-function API endpoint) instead of in a single batch request. It adds support for deploying specific functions by name, a--forceflag that prunes remote functions not found locally, and per-function progress output with timing and status (deployed/unchanged/error).Related Issue
None
Type of Change
Changes Made
deployFunctions(PUT/backend-functions) withdeploySingleFunction(PUT/backend-functions/:name); addedlistDeployedFunctionsreorderingDeployFunctionsResponseSchema→DeploySingleFunctionResponseSchemawith simplified{ status: "deployed" | "unchanged" }response shapepushFunctionswithdeployFunctionsSequentiallythat deploys one-by-one withonStart/onResultcallbacks; addedpruneRemovedFunctionsto delete stale remote functions[names...]positional argument for targeted deploys; added--forceflag to delete remote functions absent locally; replaced spinner with per-function progress logs showing name, status, and timingformatDeployResult.tsfor per-function output formatting;parseNames.tsfor comma-separated name parsing--force+ names conflict validationTesting
npm test)Checklist
docs/(AGENTS.md) if I made architectural changesAdditional Notes
Per-function errors are now soft failures — a single function's deploy error is captured and reported in the summary without aborting the rest of the deploy. The
--forceflag is intentionally incompatible with named deploys to prevent accidental deletions.🤖 Generated by Claude | 2026-03-12 14:24 UTC