{
  "version": 3,
  "sources": ["../../../../src/packages/plugin-commands-patching/writePackage.ts"],
  "sourcesContent": ["import type { Config } from '../config/index.ts';\nimport {\n  createOrConnectStoreController,\n  type CreateStoreControllerOptions,\n} from '../store-connection-manager/index.ts';\nimport { pickRegistryForPackage } from '../pick-registry-for-package/index.ts';\nimport type { ParseWantedDependencyResult } from '../parse-wanted-dependency/index.ts';\nimport type { LockFileDir } from '../types/index.ts';\n\nexport type WritePackageOptions = CreateStoreControllerOptions &\n  Pick<Config, 'registries'>;\n\nexport async function writePackage(\n  dep: ParseWantedDependencyResult,\n  dest: string,\n  opts: WritePackageOptions\n): Promise<void> {\n  const store = await createOrConnectStoreController({\n    ...opts,\n    packageImportMethod: 'clone-or-copy',\n  });\n\n  const pkgResponse = await store.ctrl.requestPackage(dep, {\n    downloadPriority: 1,\n    lockfileDir: opts.dir as LockFileDir,\n    preferredVersions: {},\n    projectDir: opts.dir,\n    registry:\n      (typeof dep.alias === 'string' &&\n        pickRegistryForPackage(opts.registries, dep.alias)) ||\n      opts.registries.default,\n  });\n\n  const response = await pkgResponse.fetching?.();\n\n  if (typeof response !== 'undefined') {\n    const { files } = response;\n\n    await store.ctrl.importPackage(dest, {\n      filesResponse: files,\n      force: true,\n    });\n  }\n}\n"],
  "mappings": "AACA;AAAA,EACE;AAAA,OAEK;AACP,SAAS,8BAA8B;AAOvC,eAAsB,aACpB,KACA,MACA,MACe;AACf,QAAM,QAAQ,MAAM,+BAA+B;AAAA,IACjD,GAAG;AAAA,IACH,qBAAqB;AAAA,EACvB,CAAC;AAED,QAAM,cAAc,MAAM,MAAM,KAAK,eAAe,KAAK;AAAA,IACvD,kBAAkB;AAAA,IAClB,aAAa,KAAK;AAAA,IAClB,mBAAmB,CAAC;AAAA,IACpB,YAAY,KAAK;AAAA,IACjB,UACG,OAAO,IAAI,UAAU,YACpB,uBAAuB,KAAK,YAAY,IAAI,KAAK,KACnD,KAAK,WAAW;AAAA,EACpB,CAAC;AAED,QAAM,WAAW,MAAM,YAAY,WAAW;AAE9C,MAAI,OAAO,aAAa,aAAa;AACnC,UAAM,EAAE,MAAM,IAAI;AAElB,UAAM,MAAM,KAAK,cAAc,MAAM;AAAA,MACnC,eAAe;AAAA,MACf,OAAO;AAAA,IACT,CAAC;AAAA,EACH;AACF;",
  "names": []
}
