Add sdk build (#17335)

## Summary

Adds `app:build` command as a one-shot version of `app:dev` - builds
manifest, functions, and front components once then exits (no watching).

**Changes:**
- Added `watch` option to `FunctionsWatcher` and
`FrontComponentsWatcher` to support both watch and one-shot modes
- Created `AppBuildCommand` reusing the same build logic as `app:dev`
with `watch: false`
- Added integration tests for `app:build` on both `rich-app` and
`root-app`
- Updated manifest types: `handlerPath` → `sourceHandlerPath` +
`builtHandlerPath`, `componentPath` → `sourceComponentPath` +
`builtComponentPath`
- Updated test app `package.json` scripts to match `create-twenty-app`
template
This commit is contained in:
Charles Bochet
2026-01-22 14:36:40 +01:00
committed by GitHub
parent d6f088f720
commit d537d941a7
25 changed files with 1050 additions and 86 deletions
@@ -2,6 +2,7 @@ export type FrontComponentManifest = {
universalIdentifier: string;
name?: string;
description?: string;
componentPath: string;
sourceComponentPath: string;
builtComponentPath: string;
componentName: string;
};
@@ -24,8 +24,8 @@ export type ServerlessFunctionManifest = SyncableEntityOptions & {
description?: string;
timeoutSeconds?: number;
triggers: ServerlessFunctionTriggerManifest[];
handlerPath: string;
builtHandlerPath?: string; // Should be required when build mode implemented
sourceHandlerPath: string;
builtHandlerPath: string;
handlerName: string;
toolInputSchema?: InputJsonSchema;
isTool?: boolean;