{
  "version": 3,
  "sources": ["../../../../src/packages/plugin-commands-listing/recursive.ts"],
  "sourcesContent": ["import assert from 'node:assert';\nimport util from 'node:util';\nimport type { Config } from '../config/index.ts';\nimport { logger } from '../logger/index.ts';\nimport type {\n  IncludedDependencies,\n  LockFileDir,\n  Project,\n  ProjectRootDir,\n} from '../types/index.ts';\nimport { render } from './list.ts';\n\nexport async function listRecursive(\n  pkgs: Project[],\n  params: string[],\n  opts: Pick<Config, 'lockfileDir' | 'virtualStoreDirMaxLength'> & {\n    depth?: number | undefined;\n    include: IncludedDependencies;\n    long?: boolean | undefined;\n    parseable?: boolean | undefined;\n    lockfileDir?: LockFileDir | undefined;\n  }\n): Promise<string> {\n  const depth = opts.depth ?? 0;\n\n  if (typeof opts.lockfileDir !== 'undefined' && opts.lockfileDir !== '') {\n    return render(\n      pkgs.map((pkg: Project): ProjectRootDir => {\n        return pkg.rootDir;\n      }),\n      params,\n      {\n        ...opts,\n        alwaysPrintRootPackage: depth === -1,\n        lockfileDir: opts.lockfileDir,\n      }\n    );\n  }\n\n  const outputs = (\n    await Promise.all(\n      pkgs.map(async ({ rootDir }: Project): Promise<string> => {\n        try {\n          return await render([rootDir], params, {\n            ...opts,\n            alwaysPrintRootPackage: depth === -1,\n            lockfileDir: opts.lockfileDir, // ?? rootDir,\n          });\n        } catch (err: unknown) {\n          assert(util.types.isNativeError(err));\n\n          const errWithPrefix = Object.assign(err, {\n            prefix: rootDir,\n          });\n\n          logger.info(errWithPrefix);\n\n          throw errWithPrefix;\n        }\n      })\n    )\n  ).filter(Boolean);\n\n  if (outputs.length === 0) {\n    return '';\n  }\n\n  const joiner = typeof depth === 'number' && depth > -1 ? '\\n\\n' : '\\n';\n\n  return outputs.join(joiner);\n}\n"],
  "mappings": "AAAA,OAAO,YAAY;AACnB,OAAO,UAAU;AAEjB,SAAS,cAAc;AAOvB,SAAS,cAAc;AAEvB,eAAsB,cACpB,MACA,QACA,MAOiB;AACjB,QAAM,QAAQ,KAAK,SAAS;AAE5B,MAAI,OAAO,KAAK,gBAAgB,eAAe,KAAK,gBAAgB,IAAI;AACtE,WAAO;AAAA,MACL,KAAK,IAAI,CAAC,QAAiC;AACzC,eAAO,IAAI;AAAA,MACb,CAAC;AAAA,MACD;AAAA,MACA;AAAA,QACE,GAAG;AAAA,QACH,wBAAwB,UAAU;AAAA,QAClC,aAAa,KAAK;AAAA,MACpB;AAAA,IACF;AAAA,EACF;AAEA,QAAM,WACJ,MAAM,QAAQ;AAAA,IACZ,KAAK,IAAI,OAAO,EAAE,QAAQ,MAAgC;AACxD,UAAI;AACF,eAAO,MAAM,OAAO,CAAC,OAAO,GAAG,QAAQ;AAAA,UACrC,GAAG;AAAA,UACH,wBAAwB,UAAU;AAAA,UAClC,aAAa,KAAK;AAAA;AAAA,QACpB,CAAC;AAAA,MACH,SAAS,KAAc;AACrB,eAAO,KAAK,MAAM,cAAc,GAAG,CAAC;AAEpC,cAAM,gBAAgB,OAAO,OAAO,KAAK;AAAA,UACvC,QAAQ;AAAA,QACV,CAAC;AAED,eAAO,KAAK,aAAa;AAEzB,cAAM;AAAA,MACR;AAAA,IACF,CAAC;AAAA,EACH,GACA,OAAO,OAAO;AAEhB,MAAI,QAAQ,WAAW,GAAG;AACxB,WAAO;AAAA,EACT;AAEA,QAAM,SAAS,OAAO,UAAU,YAAY,QAAQ,KAAK,SAAS;AAElE,SAAO,QAAQ,KAAK,MAAM;AAC5B;",
  "names": []
}
