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

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…