multi_repo_publisher.ts

view source

Declarations
#

6 declarations

execute_publishing_plan
#

multi_repo_publisher.ts view source

(all_repos: LocalRepo[], plan: PublishingPlan, options: PublishingOptions): Promise<PublishingResult> import {execute_publishing_plan} from '@fuzdev/fuz_repos/multi_repo_publisher.js';

Executes a frozen publishing plan in a single linear pass — the "dumb executor" half of the zap model. The plan is the single source of truth; this re-derives nothing.

Fails loud when the plan couldn't be fully computed (plan.errors): a wetrun aborts before any side effect, a dry run still reports the partial cascade but returns ok: false. This is the single error gate — --no-plan can't bypass it.

all_repos

type LocalRepo[]

plan

options

returns

Promise<PublishingResult>

group_dependency_updates
#

multi_repo_publisher.ts view source

(updates: DependencyUpdate[], published: Map<string, PublishedVersion>, predicate: (update: DependencyUpdate) => boolean): Map<...> import {group_dependency_updates} from '@fuzdev/fuz_repos/multi_repo_publisher.js';

Groups dependency updates by dependent package — `dependent → (dependency → new version), the shape update_package_json consumes. Restricted by predicate` (e.g. prod/peer for a given package, or all dev deps) and to dependencies that actually published this run, so a failed/aborted publish never propagates to its dependents.

updates

published

type Map<string, PublishedVersion>

predicate

type (update: DependencyUpdate) => boolean

returns

Map<string, Map<string, string>>

publish_repos
#

PublishedVersion
#

multi_repo_publisher.ts view source

PublishedVersion import type {PublishedVersion} from '@fuzdev/fuz_repos/multi_repo_publisher.js';

name

type string

old_version

type string

new_version

type string

bump_type

type "major" | "minor" | "patch"

breaking

type boolean

commit

type string

tag

type string

PublishingOptions
#

multi_repo_publisher.ts view source

PublishingOptions import type {PublishingOptions} from '@fuzdev/fuz_repos/multi_repo_publisher.js';

wetrun

type boolean

version_strategy?

type VersionStrategy

deploy?

type boolean

max_wait?

type number

log?

type Logger

ops?

type GitopsOperations

registry?

A repos.toml for the per-repo readiness re-check, when repos wouldn't find it from the cwd.

type string

events?

Structured event sink; defaults to capture-only (events surface on the result).

type PublishingEventHandler

child_stdout?

Where gro publish and gro deploy show their stdout: ours, or our stderr when our stdout carries a machine-readable stream (--emit_json, or a JSON or markdown report written to stdout).

type "stdout" | "stderr"

default 'stdout'

PublishingResult
#

multi_repo_publisher.ts view source

PublishingResult import type {PublishingResult} from '@fuzdev/fuz_repos/multi_repo_publisher.js';

ok

type boolean

published

type PublishedVersion[]

failed

type { name: string; error: Error; }[]

duration

type number

events

The structured event stream for this run, in emission order.

type PublishingEvent[]

summary

Tallied outcome, derived from events.

type PublishingRunSummary

plan_errors

Plan errors that blocked (wetrun) or would block (dry run) publishing; empty when clean.

type string[]

plan_warnings

Non-blocking plan warnings (e.g. the fixed-point iteration limit).

type string[]

Depends on
#

Imported by
#