{"version":3,"file":"validate-all-locales.cjs","sources":["../../../../../src/v4/server/utils/template/validate-all-locales.ts"],"sourcesContent":["import { scanAllTemplates } from './scan.js';\nimport { validateTemplatePluginGrowiDirective } from './validate-growi-plugin-directive.js';\n\nexport const validateAllTemplateLocales = async (\n  projectDirRoot: string,\n): Promise<boolean> => {\n  const data = validateTemplatePluginGrowiDirective(projectDirRoot);\n\n  const results = await scanAllTemplates(projectDirRoot, {\n    data,\n    returnsInvalidTemplates: true,\n  });\n\n  if (Object.keys(results).length === 0) {\n    throw new Error('This plugin does not have any templates');\n  }\n\n  // construct map\n  // key: id\n  // value: isValid properties\n  const idValidMap: { [id: string]: boolean[] } = {};\n  for (const summary of results) {\n    idValidMap[summary.default.id] = Object.values(summary).map(\n      (s) => s?.isValid ?? false,\n    );\n  }\n\n  for (const [id, validMap] of Object.entries(idValidMap)) {\n    // warn\n    if (!validMap.every((bool) => bool)) {\n      // biome-ignore lint/suspicious/noConsole: Allow to use\n      console.warn(\n        `[WARN] Template '${id}' has some locales that status is invalid`,\n      );\n    }\n\n    // This means the template directory does not have any valid template\n    if (!validMap.some((bool) => bool)) {\n      return false;\n    }\n  }\n\n  return true;\n};\n"],"names":["validateAllTemplateLocales","projectDirRoot","data","validateTemplatePluginGrowiDirective","results","scanAllTemplates","idValidMap","summary","s","id","validMap","bool"],"mappings":"iKAGaA,EAA6B,MACxCC,GACqB,CACrB,MAAMC,EAAOC,EAAAA,qCAAqCF,CAAc,EAE1DG,EAAU,MAAMC,EAAAA,iBAAiBJ,EAAgB,CACrD,KAAAC,EACA,wBAAyB,EAAA,CAC1B,EAED,GAAI,OAAO,KAAKE,CAAO,EAAE,SAAW,EAClC,MAAM,IAAI,MAAM,yCAAyC,EAM3D,MAAME,EAA0C,CAAA,EAChD,UAAWC,KAAWH,EACpBE,EAAWC,EAAQ,QAAQ,EAAE,EAAI,OAAO,OAAOA,CAAO,EAAE,IACrDC,IAAMA,GAAA,YAAAA,EAAG,UAAW,EAAA,EAIzB,SAAW,CAACC,EAAIC,CAAQ,IAAK,OAAO,QAAQJ,CAAU,EAUpD,GARKI,EAAS,MAAOC,GAASA,CAAI,GAEhC,QAAQ,KACN,oBAAoBF,CAAE,2CAAA,EAKtB,CAACC,EAAS,KAAMC,GAASA,CAAI,EAC/B,MAAO,GAIX,MAAO,EACT"}