Add checksum to manifest (#17368)

## Refactor app-dev state management and build utilities

- Store only `manifest` in `AppDevState` instead of full
`ManifestBuildResult`; add `sourcePath` to `FileStatus`
- Pass `sourcePaths` directly to watchers instead of
`ManifestBuildResult`
- Only reset `fileUploadStatus` for functions/components when their
source paths change
- Add pure `updateManifestChecksum` utility that returns a new manifest
without side effects
- Extract `processEsbuildResult` to deduplicate build result processing
between watchers
- Rename `serverlessFunctions` → `functions` in SDK code (API unchanged)
- Extract `writeManifestToOutput` to shared `manifest-writer.ts`
This commit is contained in:
Charles Bochet
2026-01-22 18:16:55 +01:00
committed by GitHub
parent 843fda7564
commit 210c66b5dd
25 changed files with 459 additions and 155 deletions
@@ -105,7 +105,7 @@ export class ApplicationSyncService {
});
}
if (manifest.serverlessFunctions.length > 0) {
if (manifest.functions.length > 0) {
if (!isDefined(application.serverlessFunctionLayerId)) {
throw new ApplicationException(
`Failed to sync serverless function, could not find a serverless function layer.`,
@@ -114,7 +114,7 @@ export class ApplicationSyncService {
}
await this.syncServerlessFunctions({
serverlessFunctionsToSync: manifest.serverlessFunctions,
serverlessFunctionsToSync: manifest.functions,
code: manifest.sources,
workspaceId,
applicationId: application.id,
@@ -158,7 +158,7 @@ export class ApplicationSyncService {
let serverlessFunctionLayerId = application.serverlessFunctionLayerId;
if (manifest.serverlessFunctions.length > 0) {
if (manifest.functions.length > 0) {
if (!isDefined(serverlessFunctionLayerId)) {
serverlessFunctionLayerId = (
await this.serverlessFunctionLayerService.create(