{"record":{"id":"f13668e00c131045","repo":"Budibase/budibase","slug":"unable-to-process-schema-json-package-json-in-plug","errorCode":null,"errorMessage":"Unable to process schema.json/package.json in plugin. ${err.message}","messagePattern":"Unable to process schema\\.json/package\\.json in plugin\\. (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/server/src/utilities/fileSystem/plugin.ts","lineNumber":30,"sourceCode":"  path: string,\n  cleanupDirectory = path\n): Promise<PluginUpload> => {\n  let pkg: Package\n  let schema: PluginSchema\n  try {\n    pkg = JSON.parse(fs.readFileSync(join(path, \"package.json\"), \"utf8\"))\n    schema = JSON.parse(fs.readFileSync(join(path, \"schema.json\"), \"utf8\"))\n    if (!pkg.name) {\n      throw new Error(\"package.json is missing 'name'.\")\n    }\n    if (!pkg.version) {\n      throw new Error(\"package.json is missing 'version'.\")\n    }\n    if (!pkg.description) {\n      throw new Error(\"package.json is missing 'description'.\")\n    }\n  } catch (err: any) {\n    throw new Error(\n      `Unable to process schema.json/package.json in plugin. ${err.message}`,\n      { cause: err }\n    )\n  }\n\n  return {\n    metadata: { package: pkg, schema },\n    directory: path,\n    cleanupDirectory,\n  }\n}\n\nasync function getPluginImpl(path: string, plugin: Plugin) {\n  const hash = plugin.schema?.hash\n  if (!fs.existsSync(path)) {\n    fs.mkdirSync(path)\n  }\n  const filename = join(path, plugin.name)","sourceCodeStart":12,"sourceCodeEnd":48,"githubUrl":"https://github.com/Budibase/budibase/blob/a81a902e9a8fe55b467d106765f6638f12e35c49/packages/server/src/utilities/fileSystem/plugin.ts#L12-L48","documentation":"Error \"Unable to process schema.json/package.json in plugin. ${err.message}\" thrown in Budibase/budibase.","triggerScenarios":"Thrown at packages/server/src/utilities/fileSystem/plugin.ts:30 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a81a902e9a8fe55b467d106765f6638f12e35c49","analyzedAt":"2026-08-29T01:03:10.972Z","schemaVersion":2},"datasetVersion":"2026-08-29T02:17:18.158Z"}