{
  "version": 3,
  "sources": ["../../../../../src/packages/plugin-commands-store/storeStatus/extendStoreStatusOptions.ts"],
  "sourcesContent": ["import path from 'node:path';\nimport {\n  normalizeRegistries,\n  DEFAULT_REGISTRIES,\n} from '../../normalize-registries/index.ts';\nimport type { LockFileDir, Registries } from '../../types/index.ts';\nimport type { ReporterFunction } from '../types.ts';\n\nexport type StrictStoreStatusOptions = {\n  autoInstallPeers: boolean;\n  excludeLinksFromLockfile: boolean;\n  lockfileDir: LockFileDir;\n  dir: string;\n  storeDir: string;\n  force: boolean;\n  nodeLinker: 'isolated' | 'hoisted' | 'pnp';\n  useLockfile: boolean;\n  registries: Registries;\n  shamefullyHoist: boolean;\n\n  reporter?: ReporterFunction | undefined;\n  production: boolean;\n  development: boolean;\n  optional: boolean;\n  binsDir: string;\n  virtualStoreDirMaxLength: number;\n  peersSuffixMaxLength: number;\n};\n\nexport type StoreStatusOptions = Partial<StrictStoreStatusOptions> &\n  Pick<StrictStoreStatusOptions, 'storeDir' | 'virtualStoreDirMaxLength'>;\n\nconst defaults = async (\n  opts: StoreStatusOptions\n): Promise<StrictStoreStatusOptions> => {\n  const dir = opts.dir ?? process.cwd();\n\n  const lockfileDir = opts.lockfileDir ?? dir;\n\n  return {\n    binsDir: path.join(dir, 'node_modules', '.bin'),\n    dir,\n    force: false,\n    lockfileDir,\n    nodeLinker: 'isolated',\n    registries: DEFAULT_REGISTRIES,\n    shamefullyHoist: false,\n    storeDir: opts.storeDir,\n    useLockfile: true,\n  } as StrictStoreStatusOptions;\n};\n\nexport async function extendStoreStatusOptions(\n  opts: StoreStatusOptions\n): Promise<StrictStoreStatusOptions> {\n  for (const key in opts) {\n    if (opts[key as keyof StoreStatusOptions] === undefined) {\n      delete opts[key as keyof StoreStatusOptions];\n    }\n  }\n\n  const defaultOpts = await defaults(opts);\n\n  const extendedOpts = {\n    ...defaultOpts,\n    ...opts,\n    storeDir: defaultOpts.storeDir,\n  };\n\n  extendedOpts.registries = normalizeRegistries(extendedOpts.registries);\n\n  return extendedOpts;\n}\n"],
  "mappings": "AAAA,OAAO,UAAU;AACjB;AAAA,EACE;AAAA,EACA;AAAA,OACK;AA4BP,MAAM,WAAW,OACf,SACsC;AACtC,QAAM,MAAM,KAAK,OAAO,QAAQ,IAAI;AAEpC,QAAM,cAAc,KAAK,eAAe;AAExC,SAAO;AAAA,IACL,SAAS,KAAK,KAAK,KAAK,gBAAgB,MAAM;AAAA,IAC9C;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,iBAAiB;AAAA,IACjB,UAAU,KAAK;AAAA,IACf,aAAa;AAAA,EACf;AACF;AAEA,eAAsB,yBACpB,MACmC;AACnC,aAAW,OAAO,MAAM;AACtB,QAAI,KAAK,GAA+B,MAAM,QAAW;AACvD,aAAO,KAAK,GAA+B;AAAA,IAC7C;AAAA,EACF;AAEA,QAAM,cAAc,MAAM,SAAS,IAAI;AAEvC,QAAM,eAAe;AAAA,IACnB,GAAG;AAAA,IACH,GAAG;AAAA,IACH,UAAU,YAAY;AAAA,EACxB;AAEA,eAAa,aAAa,oBAAoB,aAAa,UAAU;AAErE,SAAO;AACT;",
  "names": []
}
