{
  "version": 3,
  "sources": ["../../../../src/packages/plugin-commands-publishing/publish.ts"],
  "sourcesContent": ["import { promises as fs, existsSync } from 'node:fs';\nimport path from 'node:path';\nimport { docsUrl, readProjectManifest } from '../cli-utils/index.ts';\nimport { FILTERING } from '../common-cli-options-help/index.ts';\nimport { type Config, types as allTypes } from '../config/index.ts';\nimport { PnpmError } from '../error/index.ts';\nimport {\n  runLifecycleHook,\n  type RunLifecycleHookOptions,\n} from '../lifecycle/index.ts';\nimport { runNpm } from '../run-npm/index.ts';\nimport type {\n  GlobalPkgDir,\n  LockFileDir,\n  ProjectManifest,\n  ProjectRootDir,\n  ProjectRootDirRealPath,\n  WorkspaceDir,\n} from '../types/index.ts';\nimport {\n  getCurrentBranch,\n  isGitRepo,\n  isRemoteHistoryClean,\n  isWorkingTreeClean,\n} from '../git-utils/index.ts';\nimport { loadToken } from '../network.auth-header/index.ts';\nimport { prepareExecutionEnv } from '../plugin-commands-env/index.ts';\nimport { prompt } from 'enquirer';\nimport rimraf from '@zkochan/rimraf';\nimport pick from 'ramda/src/pick';\nimport realpathMissing from 'realpath-missing';\nimport renderHelp from 'render-help';\nimport * as pack from './pack.ts';\nimport {\n  recursivePublish,\n  type PublishRecursiveOpts,\n} from './recursivePublish.ts';\nimport { temporaryDirectory } from 'tempy';\n\nexport function rcOptionsTypes(): Record<string, unknown> {\n  return pick.default(\n    [\n      'access',\n      'git-checks',\n      'ignore-scripts',\n      'provenance',\n      'npm-path',\n      'otp',\n      'publish-branch',\n      'registry',\n      'tag',\n      'unsafe-perm',\n      'embed-readme',\n    ],\n    allTypes\n  );\n}\n\nexport function cliOptionsTypes(): {\n  'dry-run': BooleanConstructor;\n  force: BooleanConstructor;\n  json: BooleanConstructor;\n  recursive: BooleanConstructor;\n  'report-summary': BooleanConstructor;\n} {\n  return {\n    ...rcOptionsTypes(),\n    'dry-run': Boolean,\n    force: Boolean,\n    json: Boolean,\n    recursive: Boolean,\n    'report-summary': Boolean,\n  };\n}\n\nexport const commandNames = ['publish'];\n\nexport function help(): string {\n  return renderHelp({\n    description: 'Publishes a package to the npm registry.',\n    descriptionLists: [\n      {\n        title: 'Options',\n\n        list: [\n          {\n            description:\n              \"Don't check if current branch is your publish branch, clean, and up to date\",\n            name: '--no-git-checks',\n          },\n          {\n            description: 'Sets branch name to publish. Default is master',\n            name: '--publish-branch',\n          },\n          {\n            description:\n              'Does everything a publish would do except actually publishing to the registry',\n            name: '--dry-run',\n          },\n          {\n            description: 'Show information in JSON format',\n            name: '--json',\n          },\n          {\n            description:\n              'Registers the published package with the given tag. By default, the \"latest\" tag is used.',\n            name: '--tag <tag>',\n          },\n          {\n            description:\n              'Tells the registry whether this package should be published as public or restricted',\n            name: '--access <public|restricted>',\n          },\n          {\n            description:\n              'Ignores any publish related lifecycle scripts (prepublishOnly, postpublish, and the like)',\n            name: '--ignore-scripts',\n          },\n          {\n            description:\n              'Packages are proceeded to be published even if their current version is already in the registry. This is useful when a \"prepublishOnly\" script bumps the version of the package before it is published',\n            name: '--force',\n          },\n          {\n            description:\n              'Save the list of the newly published packages to \"pnpm-publish-summary.json\". Useful when some other tooling is used to report the list of published packages.',\n            name: '--report-summary',\n          },\n          {\n            description:\n              'When publishing packages that require two-factor authentication, this option can specify a one-time password',\n            name: '--otp',\n          },\n          {\n            description: 'Publish all packages from the workspace',\n            name: '--recursive',\n            shortAlias: '-r',\n          },\n        ],\n      },\n      FILTERING,\n    ],\n    url: docsUrl('publish'),\n    usages: [\n      'pnpm publish [<tarball>|<dir>] [--tag <tag>] [--access <public|restricted>] [options]',\n    ],\n  });\n}\n\nconst GIT_CHECKS_HINT =\n  'If you want to disable Git checks on publish, set the \"git-checks\" setting to \"false\", or run again with \"--no-git-checks\".';\n\nexport async function handler(\n  opts: Omit<PublishRecursiveOpts, 'workspaceDir'> & {\n    argv: {\n      original: string[];\n    };\n    engineStrict?: boolean | undefined;\n    recursive?: boolean | undefined;\n    workspaceDir: WorkspaceDir;\n  } & Pick<\n      Config,\n      | 'allProjects'\n      | 'bin'\n      | 'storeDir'\n      | 'gitChecks'\n      | 'ignoreScripts'\n      | 'pnpmHomeDir'\n      | 'publishBranch'\n      | 'embedReadme'\n    >,\n  params: string[]\n): Promise<{ exitCode?: number | undefined } | undefined> {\n  const result = await publish(opts, params);\n\n  if (result.manifest) {\n    return;\n  }\n\n  return result;\n}\n\nexport type PublishResult = {\n  exitCode?: number | undefined;\n  manifest?: ProjectManifest | undefined;\n};\n\nexport async function publish(\n  opts: Omit<PublishRecursiveOpts, 'workspaceDir'> & {\n    argv: {\n      original: string[];\n    };\n    engineStrict?: boolean | undefined;\n    recursive?: boolean | undefined;\n    workspaceDir: WorkspaceDir;\n  } & Pick<\n      Config,\n      | 'allProjects'\n      | 'bin'\n      | 'storeDir'\n      | 'gitChecks'\n      | 'ignoreScripts'\n      | 'pnpmHomeDir'\n      | 'publishBranch'\n      | 'embedReadme'\n      | 'packGzipLevel'\n    >,\n  params: string[]\n): Promise<PublishResult> {\n  if (opts.gitChecks !== false && (await isGitRepo())) {\n    if (!(await isWorkingTreeClean())) {\n      throw new PnpmError(\n        'GIT_UNCLEAN',\n        'Unclean working tree. Commit or stash changes first.',\n        {\n          hint: GIT_CHECKS_HINT,\n        }\n      );\n    }\n\n    const branches =\n      typeof opts.publishBranch === 'string' && opts.publishBranch !== ''\n        ? [opts.publishBranch]\n        : ['master', 'main'];\n\n    const currentBranch = await getCurrentBranch();\n\n    if (currentBranch === null) {\n      throw new PnpmError(\n        'GIT_UNKNOWN_BRANCH',\n        `The Git HEAD may not attached to any branch, but your \"publish-branch\" is set to \"${branches.join('|')}\".`,\n        {\n          hint: GIT_CHECKS_HINT,\n        }\n      );\n    }\n\n    if (!branches.includes(currentBranch)) {\n      const { confirm } = (await prompt({\n        message: `You're on branch \"${currentBranch}\" but your \"publish-branch\" is set to \"${branches.join('|')}\". \\\nDo you want to continue?`,\n        name: 'confirm',\n        type: 'confirm',\n      } as any)) as any; // eslint-disable-line @typescript-eslint/no-explicit-any\n\n      if (confirm !== true) {\n        throw new PnpmError(\n          'GIT_NOT_CORRECT_BRANCH',\n          `Branch is not on '${branches.join('|')}'.`,\n          {\n            hint: GIT_CHECKS_HINT,\n          }\n        );\n      }\n    }\n    if (!(await isRemoteHistoryClean())) {\n      throw new PnpmError(\n        'GIT_NOT_LATEST',\n        'Remote history differs. Please pull changes.',\n        {\n          hint: GIT_CHECKS_HINT,\n        }\n      );\n    }\n  }\n  if (\n    opts.recursive === true &&\n    typeof opts.selectedProjectsGraph !== 'undefined'\n  ) {\n    const { exitCode } = await recursivePublish({\n      ...opts,\n      selectedProjectsGraph: opts.selectedProjectsGraph,\n      // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n      workspaceDir: opts.workspaceDir ?? (process.cwd() as WorkspaceDir),\n    });\n\n    return { exitCode };\n  }\n\n  let args = opts.argv.original.slice(1);\n\n  const dirInParams =\n    params.length > 0 ? (params[0] as ProjectRootDir) : undefined;\n\n  if (typeof dirInParams === 'string') {\n    args = args.filter((arg) => arg !== params[0]);\n  }\n\n  const index = args.indexOf('--publish-branch');\n\n  if (index !== -1) {\n    // If --publish-branch follows with another cli option, only remove this argument\n    // otherwise remove the following argument as well\n    if (args[index + 1]?.startsWith('-') === true) {\n      args.splice(index, 1);\n    } else {\n      args.splice(index, 2);\n    }\n  }\n\n  if (dirInParams?.endsWith('.tgz') === true) {\n    const { status } = runNpm(opts.npmPath, ['publish', dirInParams, ...args]);\n\n    return { exitCode: status ?? 0 };\n  }\n\n  const dir:\n    | ProjectRootDir\n    | ProjectRootDirRealPath\n    | GlobalPkgDir\n    | WorkspaceDir\n    | LockFileDir = dirInParams ?? opts.dir;\n\n  const _runScriptsIfPresent = runScriptsIfPresent.bind(null, {\n    depPath: dir,\n    extraBinPaths: opts.extraBinPaths,\n    extraEnv: opts.extraEnv,\n    pkgRoot: dir,\n    rawConfig: opts.rawConfig,\n    rootModulesDir: await realpathMissing(path.join(dir, 'node_modules')),\n    stdio: 'inherit',\n    unsafePerm: true, // when running scripts explicitly, assume that they're trusted.\n    prepareExecutionEnv: prepareExecutionEnv.bind(null, opts),\n  });\n\n  const { manifest } = await readProjectManifest(dir, opts);\n  // Unfortunately, we cannot support postpack at the moment\n  if (opts.ignoreScripts !== true) {\n    await _runScriptsIfPresent(['prepublishOnly', 'prepublish'], manifest);\n  }\n\n  // We have to publish the tarball from another location.\n  // Otherwise, npm would publish the package with the package.json file\n  // from the current working directory, ignoring the package.json file\n  // that was generated and packed to the tarball.\n  const packDestination = temporaryDirectory();\n\n  const { tarballPath } = await pack.api({\n    ...opts,\n    dir,\n    packDestination,\n  });\n\n  await copyNpmrc({ dir, workspaceDir: opts.workspaceDir, packDestination });\n\n  const { status } = runNpm(\n    opts.npmPath,\n    ['publish', '--ignore-scripts', path.basename(tarballPath), ...args],\n    {\n      cwd: packDestination,\n      env: getEnvWithTokens(opts),\n    }\n  );\n\n  await rimraf(packDestination);\n\n  if (status != null && status !== 0) {\n    return { exitCode: status };\n  }\n\n  if (opts.ignoreScripts !== true) {\n    await _runScriptsIfPresent(['publish', 'postpublish'], manifest);\n  }\n\n  return { manifest };\n}\n\n/**\n * The npm CLI doesn't support token helpers, so we transform the token helper settings\n * to regular auth token settings that the npm CLI can understand.\n */\nfunction getEnvWithTokens(\n  opts: Pick<PublishRecursiveOpts, 'rawConfig' | 'argv'>\n): Record<string, string> {\n  const tokenHelpers = Object.entries(opts.rawConfig).filter(([key]) =>\n    key.endsWith(':tokenHelper')\n  );\n  const tokenHelpersFromArgs = opts.argv.original\n    .filter((arg) => arg.includes(':tokenHelper='))\n    .map((arg) => arg.split('=', 2) as [string, string]);\n\n  const env: Record<string, string> = {};\n  for (const [key, helperPath] of tokenHelpers.concat(tokenHelpersFromArgs)) {\n    const authHeader = loadToken(helperPath, key);\n    const authType = authHeader.startsWith('Bearer') ? '_authToken' : '_auth';\n\n    const registry = key.replace(/:tokenHelper$/, '');\n    env[`NPM_CONFIG_${registry}:${authType}`] =\n      authType === '_authToken'\n        ? authHeader.slice('Bearer '.length)\n        : authHeader.replace(/basic /i, '');\n  }\n  return env;\n}\n\nasync function copyNpmrc({\n  dir,\n  workspaceDir,\n  packDestination,\n}: {\n  dir: string;\n  workspaceDir?: string | undefined;\n  packDestination: string;\n}): Promise<void> {\n  const localNpmrc = path.join(dir, '.npmrc');\n\n  if (existsSync(localNpmrc)) {\n    await fs.copyFile(localNpmrc, path.join(packDestination, '.npmrc'));\n\n    return;\n  }\n\n  if (typeof workspaceDir === 'undefined' || workspaceDir === '') {\n    return;\n  }\n\n  const workspaceNpmrc = path.join(workspaceDir, '.npmrc');\n\n  if (existsSync(workspaceNpmrc)) {\n    await fs.copyFile(workspaceNpmrc, path.join(packDestination, '.npmrc'));\n  }\n}\n\nexport async function runScriptsIfPresent(\n  opts: RunLifecycleHookOptions,\n  scriptNames: string[],\n  manifest: ProjectManifest\n): Promise<void> {\n  for (const scriptName of scriptNames) {\n    if (typeof manifest.scripts?.[scriptName] === 'undefined') {\n      continue;\n    }\n\n    await runLifecycleHook(scriptName, manifest, opts);\n  }\n}\n"],
  "mappings": "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",
  "names": ["status"]
}
