{"version":3,"file":"extractManifest.cjs","sources":["../../../../src/_internal/cli/threads/extractManifest.ts"],"sourcesContent":["import {isMainThread, parentPort, workerData as _workerData} from 'node:worker_threads'\n\nimport {extractCreateWorkspaceManifest} from '../../manifest/extractWorkspaceManifest'\nimport {getStudioWorkspaces} from '../util/getStudioWorkspaces'\nimport {mockBrowserEnvironment} from '../util/mockBrowserEnvironment'\n\n/** @internal */\nexport interface ExtractManifestWorkerData {\n  workDir: string\n}\n\nasync function main() {\n  if (isMainThread || !parentPort) {\n    throw new Error('This module must be run as a worker thread')\n  }\n\n  const opts = _workerData as ExtractManifestWorkerData\n\n  const cleanup = mockBrowserEnvironment(opts.workDir)\n\n  try {\n    const workspaces = await getStudioWorkspaces({basePath: opts.workDir})\n\n    for (const workspace of workspaces) {\n      parentPort?.postMessage(extractCreateWorkspaceManifest(workspace))\n    }\n  } finally {\n    parentPort?.close()\n    cleanup()\n  }\n}\n\nvoid main().then(() => process.exit())\n"],"names":["main","isMainThread","parentPort","Error","opts","_workerData","cleanup","mockBrowserEnvironment","workDir","workspaces","getStudioWorkspaces","basePath","workspace","postMessage","extractCreateWorkspaceManifest","close","then","process","exit"],"mappings":";;AAWA,eAAeA,OAAO;AACpB,MAAIC,oBAAAA,gBAAgB,CAACC,oBAAAA;AACnB,UAAM,IAAIC,MAAM,4CAA4C;AAG9D,QAAMC,OAAOC,oBAAAA,YAEPC,UAAUC,uBAAAA,uBAAuBH,KAAKI,OAAO;AAEnD,MAAI;AACF,UAAMC,aAAa,MAAMC,wCAAoB;AAAA,MAACC,UAAUP,KAAKI;AAAAA,IAAAA,CAAQ;AAErE,eAAWI,aAAaH;AACtBP,0BAAAA,YAAYW,YAAYC,wDAA+BF,SAAS,CAAC;AAAA,EAErE,UAAA;AACEV,oCAAYa,MAAAA,GACZT,QAAAA;AAAAA,EACF;AACF;AAEKN,KAAAA,EAAOgB,KAAK,MAAMC,QAAQC,MAAM;"}