{
  "version": 3,
  "sources": ["../../../../src/packages/plugin-commands-store/storeAdd.ts"],
  "sourcesContent": ["import { PnpmError } from '../error/index.ts';\nimport { logger, globalInfo, streamParser } from '../logger/index.ts';\nimport {\n  parseWantedDependency,\n  type ParseWantedDependencyResult,\n} from '../parse-wanted-dependency/index.ts';\nimport { pickRegistryForPackage } from '../pick-registry-for-package/index.ts';\nimport type {\n  PackageResponse,\n  StoreController,\n} from '../store-controller-types/index.ts';\nimport type {\n  SupportedArchitectures,\n  Registries,\n  LockFileDir,\n} from '../types/index.ts';\nimport type { ReporterFunction } from './types.ts';\n\nexport async function storeAdd(\n  fuzzyDeps: string[],\n  opts: {\n    prefix?: LockFileDir | undefined;\n    registries?: Registries | undefined;\n    reporter?: ReporterFunction | undefined;\n    storeController: StoreController<\n      PackageResponse,\n      PackageResponse,\n      { isBuilt: boolean; importMethod?: string | undefined }\n    >;\n    tag?: string | undefined;\n    supportedArchitectures?: SupportedArchitectures | undefined;\n  }\n): Promise<void> {\n  const reporter = opts.reporter;\n\n  if (typeof reporter !== 'undefined' && typeof reporter === 'function') {\n    streamParser.on('data', reporter);\n  }\n\n  const deps = fuzzyDeps.map((dep: string): ParseWantedDependencyResult => {\n    return parseWantedDependency(dep);\n  });\n\n  let hasFailures = false;\n\n  const prefix: LockFileDir = opts.prefix ?? (process.cwd() as LockFileDir);\n\n  const registries = opts.registries ?? {\n    default: 'https://registry.npmjs.org/',\n  };\n\n  await Promise.all(\n    deps.map(async (dep: ParseWantedDependencyResult): Promise<void> => {\n      try {\n        const pkgResponse = await opts.storeController.requestPackage(dep, {\n          downloadPriority: 1,\n          lockfileDir: prefix,\n          preferredVersions: {},\n          projectDir: prefix,\n          registry:\n            typeof dep.alias === 'string'\n              ? pickRegistryForPackage(registries, dep.alias)\n              : registries.default,\n          supportedArchitectures: opts.supportedArchitectures,\n        });\n\n        await pkgResponse.fetching?.();\n\n        globalInfo(`+ ${pkgResponse.body?.id}`);\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n      } catch (e: any) {\n        hasFailures = true;\n\n        logger('store').error(e);\n      }\n    })\n  );\n\n  if (reporter != null && typeof reporter === 'function') {\n    streamParser.removeListener('data', reporter);\n  }\n\n  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n  if (hasFailures) {\n    throw new PnpmError(\n      'STORE_ADD_FAILURE',\n      'Some packages have not been added correctly'\n    );\n  }\n}\n"],
  "mappings": "AAAA,SAAS,iBAAiB;AAC1B,SAAS,QAAQ,YAAY,oBAAoB;AACjD;AAAA,EACE;AAAA,OAEK;AACP,SAAS,8BAA8B;AAYvC,eAAsB,SACpB,WACA,MAYe;AACf,QAAM,WAAW,KAAK;AAEtB,MAAI,OAAO,aAAa,eAAe,OAAO,aAAa,YAAY;AACrE,iBAAa,GAAG,QAAQ,QAAQ;AAAA,EAClC;AAEA,QAAM,OAAO,UAAU,IAAI,CAAC,QAA6C;AACvE,WAAO,sBAAsB,GAAG;AAAA,EAClC,CAAC;AAED,MAAI,cAAc;AAElB,QAAM,SAAsB,KAAK,UAAW,QAAQ,IAAI;AAExD,QAAM,aAAa,KAAK,cAAc;AAAA,IACpC,SAAS;AAAA,EACX;AAEA,QAAM,QAAQ;AAAA,IACZ,KAAK,IAAI,OAAO,QAAoD;AAClE,UAAI;AACF,cAAM,cAAc,MAAM,KAAK,gBAAgB,eAAe,KAAK;AAAA,UACjE,kBAAkB;AAAA,UAClB,aAAa;AAAA,UACb,mBAAmB,CAAC;AAAA,UACpB,YAAY;AAAA,UACZ,UACE,OAAO,IAAI,UAAU,WACjB,uBAAuB,YAAY,IAAI,KAAK,IAC5C,WAAW;AAAA,UACjB,wBAAwB,KAAK;AAAA,QAC/B,CAAC;AAED,cAAM,YAAY,WAAW;AAE7B,mBAAW,KAAK,YAAY,MAAM,EAAE,EAAE;AAAA,MAExC,SAAS,GAAQ;AACf,sBAAc;AAEd,eAAO,OAAO,EAAE,MAAM,CAAC;AAAA,MACzB;AAAA,IACF,CAAC;AAAA,EACH;AAEA,MAAI,YAAY,QAAQ,OAAO,aAAa,YAAY;AACtD,iBAAa,eAAe,QAAQ,QAAQ;AAAA,EAC9C;AAGA,MAAI,aAAa;AACf,UAAM,IAAI;AAAA,MACR;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;",
  "names": []
}
