From 07b65169912974b643a300b44bd4162caecbad9f Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Thu, 25 Aug 2022 10:57:30 +0100 Subject: [PATCH] additional logging around component definitions --- .../server/src/api/controllers/component.js | 48 ++++++++++--------- .../server/src/utilities/fileSystem/index.js | 1 + 2 files changed, 27 insertions(+), 22 deletions(-) diff --git a/packages/server/src/api/controllers/component.js b/packages/server/src/api/controllers/component.js index dec5aebb7c..73c95c4144 100644 --- a/packages/server/src/api/controllers/component.js +++ b/packages/server/src/api/controllers/component.js @@ -3,32 +3,36 @@ const { getComponentLibraryManifest } = require("../../utilities/fileSystem") const { getAppDB } = require("@budibase/backend-core/context") exports.fetchAppComponentDefinitions = async function (ctx) { - const db = getAppDB() - const app = await db.get(DocumentType.APP_METADATA) + try { + const db = getAppDB() + const app = await db.get(DocumentType.APP_METADATA) - let componentManifests = await Promise.all( - app.componentLibraries.map(async library => { - let manifest = await getComponentLibraryManifest(library) + let componentManifests = await Promise.all( + app.componentLibraries.map(async library => { + let manifest = await getComponentLibraryManifest(library) - return { - manifest, - library, - } - }) - ) - const definitions = {} - for (let { manifest, library } of componentManifests) { - for (let key of Object.keys(manifest)) { - if (key === "features") { - definitions[key] = manifest[key] - } else { - const fullComponentName = `${library}/${key}`.toLowerCase() - definitions[fullComponentName] = { - component: fullComponentName, - ...manifest[key], + return { + manifest, + library, + } + }) + ) + const definitions = {} + for (let { manifest, library } of componentManifests) { + for (let key of Object.keys(manifest)) { + if (key === "features") { + definitions[key] = manifest[key] + } else { + const fullComponentName = `${library}/${key}`.toLowerCase() + definitions[fullComponentName] = { + component: fullComponentName, + ...manifest[key], + } } } } + ctx.body = definitions + } catch (err) { + console.error(`component-definitions=failed`, err) } - ctx.body = definitions } diff --git a/packages/server/src/utilities/fileSystem/index.js b/packages/server/src/utilities/fileSystem/index.js index f4aebd11a8..d9d62ece27 100644 --- a/packages/server/src/utilities/fileSystem/index.js +++ b/packages/server/src/utilities/fileSystem/index.js @@ -291,6 +291,7 @@ exports.getComponentLibraryManifest = async library => { const path = join(appId, filename) resp = await retrieve(ObjectStoreBuckets.APPS, path) } catch (error) { + console.error(`component-manifest-objectstore=failed appId=${appId}`, error) // Fallback to loading it from the old location for old apps const path = join(appId, "node_modules", library, "package", filename) resp = await retrieve(ObjectStoreBuckets.APPS, path)