{
  "version": 3,
  "sources": ["../../../../src/packages/default-reporter/index.ts"],
  "sourcesContent": ["import type { Config } from '../config/index.ts';\nimport type * as logs from '../core-loggers/index.ts';\nimport type { LogLevel, StreamParser } from '../logger/index.ts';\nimport * as Rx from 'rxjs';\nimport { filter, map, mergeAll } from 'rxjs/operators';\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nimport createDiffer from 'ansi-diff';\nimport { EOL } from './constants.ts';\nimport { mergeOutputs } from './mergeOutputs.ts';\nimport { reporterForClient } from './reporterForClient/index.ts';\nimport { formatWarn } from './reporterForClient/utils/formatWarn.ts';\nimport { reporterForServer } from './reporterForServer.ts';\nimport type { FilterPkgsDiff } from './reporterForClient/reportSummary.ts';\nimport type { PeerDependencyRules } from '../types/index.ts';\nimport process from 'node:process';\n\nexport { formatWarn };\n\nexport function initDefaultReporter(opts: {\n  useStderr?: boolean | undefined;\n  streamParser: StreamParser<logs.Log>;\n  reportingOptions?:\n    | {\n        appendOnly?: boolean | undefined;\n        logLevel?: LogLevel | undefined;\n        streamLifecycleOutput?: boolean | undefined;\n        aggregateOutput?: boolean | undefined;\n        throttleProgress?: number | undefined;\n        outputMaxWidth?: number | undefined;\n        hideAddedPkgsProgress?: boolean | undefined;\n        hideProgressPrefix?: boolean | undefined;\n        hideLifecycleOutput?: boolean | undefined;\n        hideLifecyclePrefix?: boolean | undefined;\n        peerDependencyRules?: PeerDependencyRules | undefined;\n      }\n    | undefined;\n  context: {\n    argv: string[];\n    config?: Config | undefined;\n    env?: NodeJS.ProcessEnv | undefined;\n    process?: NodeJS.Process | undefined;\n  };\n  filterPkgsDiff?: FilterPkgsDiff | undefined;\n}): () => void {\n  if (opts.context.argv[0] === 'server') {\n    // eslint-disable-next-line\n    const log$ = Rx.fromEvent<logs.Log>(opts.streamParser as any, 'data');\n\n    const subscription = reporterForServer(log$, opts.context.config);\n\n    return () => {\n      subscription.unsubscribe();\n    };\n  }\n\n  const proc = opts.context.process ?? process;\n\n  const outputMaxWidth =\n    opts.reportingOptions?.outputMaxWidth ??\n    (proc.stdout.columns ? proc.stdout.columns - 2 : 80);\n\n  const output$ = toOutput$({\n    ...opts,\n    reportingOptions: {\n      ...opts.reportingOptions,\n      outputMaxWidth,\n    },\n  });\n\n  if (opts.reportingOptions?.appendOnly === true) {\n    const writeNext =\n      opts.useStderr === true\n        ? console.error.bind(console)\n        : console.info.bind(console);\n\n    const subscription = output$.subscribe({\n      complete() {}, // eslint-disable-line:no-empty\n      error: (err) => {\n        console.error(err.message);\n      },\n      next: writeNext,\n    });\n\n    return () => {\n      subscription.unsubscribe();\n    };\n  }\n\n  const diff = createDiffer({\n    height: proc.stdout.rows,\n    outputMaxWidth,\n  });\n\n  const subscription = output$.subscribe({\n    complete() {}, // eslint-disable-line:no-empty\n    error: (err) => {\n      logUpdate(err.message);\n    },\n    next: logUpdate,\n  });\n\n  const write =\n    opts.useStderr === true\n      ? proc.stderr.write.bind(proc.stderr)\n      : proc.stdout.write.bind(proc.stdout);\n\n  function logUpdate(view: string): void {\n    let newView = view;\n    // A new line should always be appended in case a prompt needs to appear.\n    // Without a new line the prompt will be joined with the previous output.\n    // An example of such prompt may be seen by running: pnpm update --interactive\n    if (!newView.endsWith(EOL)) {\n      newView += EOL;\n    }\n\n    write(diff.update(view));\n  }\n\n  return () => {\n    subscription.unsubscribe();\n  };\n}\n\nexport function toOutput$(opts: {\n  streamParser: StreamParser<logs.Log>;\n  reportingOptions?:\n    | {\n        appendOnly?: boolean | undefined;\n        logLevel?: LogLevel | undefined;\n        outputMaxWidth?: number | undefined;\n        peerDependencyRules?: PeerDependencyRules | undefined;\n        streamLifecycleOutput?: boolean | undefined;\n        aggregateOutput?: boolean | undefined;\n        throttleProgress?: number | undefined;\n        hideAddedPkgsProgress?: boolean | undefined;\n        hideProgressPrefix?: boolean | undefined;\n        hideLifecycleOutput?: boolean | undefined;\n        hideLifecyclePrefix?: boolean | undefined;\n      }\n    | undefined;\n  context: {\n    argv: string[];\n    config?: Config | undefined;\n    env?: NodeJS.ProcessEnv | undefined;\n    process?: NodeJS.Process | undefined;\n  };\n  filterPkgsDiff?: FilterPkgsDiff | undefined;\n}): Rx.Observable<string> {\n  // opts = opts || {};\n\n  const contextPushStream = new Rx.Subject<logs.ContextLog>();\n  const fetchingProgressPushStream = new Rx.Subject<logs.FetchingProgressLog>();\n  const executionTimePushStream = new Rx.Subject<logs.ExecutionTimeLog>();\n  const progressPushStream = new Rx.Subject<logs.ProgressLog>();\n  const stagePushStream = new Rx.Subject<logs.StageLog>();\n  const deprecationPushStream = new Rx.Subject<logs.DeprecationLog>();\n  const summaryPushStream = new Rx.Subject<logs.SummaryLog>();\n  const lifecyclePushStream = new Rx.Subject<logs.LifecycleLog>();\n  const statsPushStream = new Rx.Subject<logs.StatsLog>();\n  const packageImportMethodPushStream =\n    new Rx.Subject<logs.PackageImportMethodLog>();\n  const installCheckPushStream = new Rx.Subject<logs.InstallCheckLog>();\n  const ignoredScriptsPushStream = new Rx.Subject<logs.IgnoredScriptsLog>();\n  const registryPushStream = new Rx.Subject<logs.RegistryLog>();\n  const rootPushStream = new Rx.Subject<logs.RootLog>();\n  const packageManifestPushStream = new Rx.Subject<logs.PackageManifestLog>();\n  const peerDependencyIssuesPushStream =\n    new Rx.Subject<logs.PeerDependencyIssuesLog>();\n  const linkPushStream = new Rx.Subject<logs.LinkLog>();\n  const otherPushStream = new Rx.Subject<logs.Log>();\n  const hookPushStream = new Rx.Subject<logs.HookLog>();\n  const skippedOptionalDependencyPushStream =\n    new Rx.Subject<logs.SkippedOptionalDependencyLog>();\n  const scopePushStream = new Rx.Subject<logs.ScopeLog>();\n  const requestRetryPushStream = new Rx.Subject<logs.RequestRetryLog>();\n  const updateCheckPushStream = new Rx.Subject<logs.UpdateCheckLog>();\n  setTimeout(() => {\n    opts.streamParser.on('data', (log: logs.Log) => {\n      switch (log.name) {\n        case 'pnpm:context':\n          contextPushStream.next(log);\n          break;\n        case 'pnpm:execution-time':\n          executionTimePushStream.next(log);\n          break;\n        case 'pnpm:fetching-progress':\n          fetchingProgressPushStream.next(log);\n          break;\n        case 'pnpm:progress':\n          progressPushStream.next(log);\n          break;\n        case 'pnpm:stage':\n          stagePushStream.next(log);\n          break;\n        case 'pnpm:deprecation':\n          deprecationPushStream.next(log);\n          break;\n        case 'pnpm:summary':\n          summaryPushStream.next(log);\n          break;\n        case 'pnpm:lifecycle':\n          lifecyclePushStream.next(log);\n          break;\n        case 'pnpm:stats':\n          statsPushStream.next(log);\n          break;\n        case 'pnpm:package-import-method':\n          packageImportMethodPushStream.next(log);\n          break;\n        case 'pnpm:peer-dependency-issues':\n          peerDependencyIssuesPushStream.next(log);\n          break;\n        case 'pnpm:install-check':\n          installCheckPushStream.next(log);\n          break;\n        case 'pnpm:ignored-scripts':\n          ignoredScriptsPushStream.next(log);\n          break;\n        case 'pnpm:registry':\n          registryPushStream.next(log);\n          break;\n        case 'pnpm:root':\n          rootPushStream.next(log);\n          break;\n        case 'pnpm:package-manifest':\n          packageManifestPushStream.next(log);\n          break;\n        case 'pnpm:link':\n          linkPushStream.next(log);\n          break;\n        case 'pnpm:hook':\n          hookPushStream.next(log);\n          break;\n        case 'pnpm:skipped-optional-dependency':\n          skippedOptionalDependencyPushStream.next(log);\n          break;\n        case 'pnpm:scope':\n          scopePushStream.next(log);\n          break;\n        case 'pnpm:request-retry':\n          requestRetryPushStream.next(log);\n          break;\n        case 'pnpm:update-check':\n          updateCheckPushStream.next(log);\n          break;\n        case 'pnpm' as any: // eslint-disable-line\n        case 'pnpm:global' as any: // eslint-disable-line\n        case 'pnpm:store' as any: // eslint-disable-line\n        case 'pnpm:lockfile' as any: // eslint-disable-line\n          otherPushStream.next(log);\n          break;\n      }\n    });\n  }, 0);\n  let other = Rx.from(otherPushStream);\n  if (opts.context.config?.hooks?.filterLog != null) {\n    const filterLogs = opts.context.config.hooks.filterLog;\n    const filterFn =\n      filterLogs.length === 1\n        ? filterLogs[0]\n        : (log: logs.Log) => filterLogs.every((filterLog) => filterLog(log));\n\n    if (typeof filterFn === 'function') {\n      other = other.pipe(filter(filterFn));\n    }\n  }\n\n  const log$ = {\n    context: Rx.from(contextPushStream),\n    deprecation: Rx.from(deprecationPushStream),\n    fetchingProgress: Rx.from(fetchingProgressPushStream),\n    executionTime: Rx.from(executionTimePushStream),\n    hook: Rx.from(hookPushStream),\n    installCheck: Rx.from(installCheckPushStream),\n    ignoredScripts: Rx.from(ignoredScriptsPushStream),\n    lifecycle: Rx.from(lifecyclePushStream),\n    link: Rx.from(linkPushStream),\n    other,\n    packageImportMethod: Rx.from(packageImportMethodPushStream),\n    packageManifest: Rx.from(packageManifestPushStream),\n    peerDependencyIssues: Rx.from(peerDependencyIssuesPushStream),\n    progress: Rx.from(progressPushStream),\n    registry: Rx.from(registryPushStream),\n    requestRetry: Rx.from(requestRetryPushStream),\n    root: Rx.from(rootPushStream),\n    scope: Rx.from(scopePushStream),\n    skippedOptionalDependency: Rx.from(skippedOptionalDependencyPushStream),\n    stage: Rx.from(stagePushStream),\n    stats: Rx.from(statsPushStream),\n    summary: Rx.from(summaryPushStream),\n    updateCheck: Rx.from(updateCheckPushStream),\n  };\n\n  const cmd = opts.context.argv[0];\n\n  if (typeof cmd !== 'string') {\n    throw new Error('cmd is required');\n  }\n\n  const outputs: Array<Rx.Observable<Rx.Observable<{ msg: string }>>> =\n    reporterForClient(log$, {\n      appendOnly: opts.reportingOptions?.appendOnly,\n      cmd,\n      config: opts.context.config,\n      env: opts.context.env ?? process.env,\n      filterPkgsDiff: opts.filterPkgsDiff,\n      peerDependencyRules: opts.reportingOptions?.peerDependencyRules,\n      process: opts.context.process ?? process,\n      isRecursive: opts.context.config?.['recursive'] === true,\n      logLevel: opts.reportingOptions?.logLevel,\n      pnpmConfig: opts.context.config,\n      streamLifecycleOutput: opts.reportingOptions?.streamLifecycleOutput,\n      aggregateOutput: opts.reportingOptions?.aggregateOutput,\n      throttleProgress: opts.reportingOptions?.throttleProgress,\n      width: opts.reportingOptions?.outputMaxWidth ?? 80,\n      hideAddedPkgsProgress: opts.reportingOptions?.hideAddedPkgsProgress,\n      hideProgressPrefix:\n        opts.reportingOptions?.hideProgressPrefix ?? cmd === 'dlx',\n      hideLifecycleOutput: opts.reportingOptions?.hideLifecycleOutput,\n      hideLifecyclePrefix: opts.reportingOptions?.hideLifecyclePrefix,\n    });\n\n  if (opts.reportingOptions?.appendOnly === true) {\n    return Rx.merge(...outputs).pipe(\n      map((log: Rx.Observable<{ msg: string }>) =>\n        log.pipe(map((msg) => msg.msg))\n      ),\n      mergeAll()\n    );\n  }\n\n  return mergeOutputs(outputs);\n}\n"],
  "mappings": "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",
  "names": ["subscription"]
}
