Home / Function/ publishPackage() — vue Function Reference

publishPackage() — vue Function Reference

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

Function javascript VueCore Observer calls 2 called by 1

Entity Profile

Dependency Diagram

graph TD
  2e843f45_87a5_ab9e_f669_1a9ea0768255["publishPackage()"]
  0eec000d_49b6_8620_8562_6755100cc5c1["release.js"]
  2e843f45_87a5_ab9e_f669_1a9ea0768255 -->|defined in| 0eec000d_49b6_8620_8562_6755100cc5c1
  972fb9c2_5d8a_c197_c499_7cac09d96d9f["main()"]
  972fb9c2_5d8a_c197_c499_7cac09d96d9f -->|calls| 2e843f45_87a5_ab9e_f669_1a9ea0768255
  58ea9b37_85d8_576d_e04f_31cc890f571b["getPkgRoot()"]
  2e843f45_87a5_ab9e_f669_1a9ea0768255 -->|calls| 58ea9b37_85d8_576d_e04f_31cc890f571b
  1256efc5_7356_09dd_eb53_082c7d8e1103["step()"]
  2e843f45_87a5_ab9e_f669_1a9ea0768255 -->|calls| 1256efc5_7356_09dd_eb53_082c7d8e1103
  style 2e843f45_87a5_ab9e_f669_1a9ea0768255 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