MCPcopy Create free account
hub / github.com/dmno-dev/bumpy / getPublishedPrereleaseState

Function getPublishedPrereleaseState

packages/bumpy/src/core/prerelease.ts:84–106  ·  view source on GitHub ↗
(
  pkg: WorkspacePackage,
  target: string,
  preid: string,
  rootDir: string,
)

Source from the content-addressed store, hash-verified

82
83/** Query published prerelease state for one package at a target version */
84export async function getPublishedPrereleaseState(
85 pkg: WorkspacePackage,
86 target: string,
87 preid: string,
88 rootDir: string,
89): Promise<PublishedPrereleaseState> {
90 if (usesNpmRegistry(pkg)) {
91 const versions = await fetchPublishedVersions(pkg.name, pkg.bumpy?.registry);
92 return {
93 counters: extractPrereleaseCounters(versions, target, preid),
94 stablePublished: versions.includes(target),
95 };
96 }
97 // Non-npm packages (custom publish command / skipNpmPublish) — derive from git tags,
98 // matching how the stable flow tracks their published-ness.
99 const tagVersions = listTags(`${pkg.name}@${target}-${preid}.*`, { cwd: rootDir }).map((t) =>
100 t.slice(pkg.name.length + 1),
101 );
102 return {
103 counters: extractPrereleaseCounters(tagVersions, target, preid),
104 stablePublished: listTags(`${pkg.name}@${target}`, { cwd: rootDir }).length > 0,
105 };
106}
107
108export interface ChannelReleasePlanResult {
109 /** The plan with prerelease versions applied (packages already published from HEAD removed) */

Callers 1

buildChannelReleasePlanFunction · 0.85

Calls 4

listTagsFunction · 0.90
usesNpmRegistryFunction · 0.85
fetchPublishedVersionsFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…