Home / Function/ publishPackage() — vue Function Reference

publishPackage() — vue Function Reference

Architecture documentation for the publishPackage() function in release.js from the vue codebase.

Entity Profile

Dependency Diagram

graph TD
  00b288cb_d78e_9b91_4900_48b883b50901["publishPackage()"]
  62056798_8de6_14bf_7c16_4b4ac238cc56["release.js"]
  00b288cb_d78e_9b91_4900_48b883b50901 -->|defined in| 62056798_8de6_14bf_7c16_4b4ac238cc56
  c60badf3_b09f_932b_32cb_5499fe7d97cf["main()"]
  c60badf3_b09f_932b_32cb_5499fe7d97cf -->|calls| 00b288cb_d78e_9b91_4900_48b883b50901
  d2d00d5e_e9bf_9a34_ebbe_a2d2bcb27eb3["getPkgRoot()"]
  00b288cb_d78e_9b91_4900_48b883b50901 -->|calls| d2d00d5e_e9bf_9a34_ebbe_a2d2bcb27eb3
  08e6faac_cd86_1b15_a24f_fed426d58e20["step()"]
  00b288cb_d78e_9b91_4900_48b883b50901 -->|calls| 08e6faac_cd86_1b15_a24f_fed426d58e20
  style 00b288cb_d78e_9b91_4900_48b883b50901 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

scripts/release.js lines 146–200

async function publishPackage(pkgName, version, runIfNotDry) {
  const pkgRoot = getPkgRoot(pkgName)
  const pkgPath = path.resolve(pkgRoot, 'package.json')
  const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'))
  const publishedName = pkg.name
  if (pkg.private) {
    return
  }

  let releaseTag = null
  if (args.tag) {
    releaseTag = args.tag
  } else if (version.includes('alpha')) {
    releaseTag = 'alpha'
  } else if (version.includes('beta')) {
    releaseTag = 'beta'
  } else if (version.includes('rc')) {
    releaseTag = 'rc'
  }

  // avoid overwriting tags for v3
  if (pkgName === 'vue' || pkgName === 'compiler-sfc') {
    if (releaseTag) {
      releaseTag = `v2-${releaseTag}`
    } else {
      releaseTag = 'v2-latest'
    }
  }

  step(`Publishing ${publishedName}...`)
  try {
    await runIfNotDry(
      'pnpm',
      [
        'publish',
        ...(releaseTag ? ['--tag', releaseTag] : []),
        '--access',
        'public'
      ],
      {
        cwd: pkgRoot,
        stdio: 'pipe'
      }
    )
    console.log(
      chalk.green(`Successfully published ${publishedName}@${version}`)
    )
  } catch (e) {
    if (e.stderr.match(/previously published/)) {
      console.log(chalk.red(`Skipping already published: ${publishedName}`))
    } else {
      throw e
    }
  }
}

Domain

Subdomains

Defined In

Called By

Frequently Asked Questions

What does publishPackage() do?
publishPackage() is a function in the vue codebase, defined in scripts/release.js.
Where is publishPackage() defined?
publishPackage() is defined in scripts/release.js at line 146.
What does publishPackage() call?
publishPackage() calls 2 function(s): getPkgRoot, step.
What calls publishPackage()?
publishPackage() is called by 1 function(s): main.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free