import { DeployTarget, ManifestPlaceInfo } from '@quenty/nevermore-deploy'; export interface TargetPackage { name: string; path: string; /** * Every place this package deploys to under the chosen target. For a * single-place target this has length 1; for a multi-place target (e.g. * `places: [chapter0, chapter1]`) it has one entry per place. */ activeTargets: DeployTarget[]; } /** * One runnable unit: a single place to build / deploy / test. Multi-place * targets fan out into one BatchTarget per place; the place's `name` is * appended to the display name (e.g. `@x/y - chapter0`). */ export interface BatchTarget { /** Display name. Suffixed with ` - ` for fanned-out places. */ name: string; /** Underlying package name (no suffix), used to load files relative to the package. */ packageName: string; /** Package directory. */ path: string; /** The single resolved place this BatchTarget represents. */ target: DeployTarget; /** * Every place of this package's target (including `target` itself), stamped * into the runtime manifest so a deployed place can resolve its siblings' IDs. * Same for every BatchTarget fanned out from one package. Only the deploy * paths populate this; test/script BatchTargets omit it. */ manifestPlaces?: ManifestPlaceInfo[]; } /** * Discover all packages that have a deploy.nevermore.json with the given target. */ export declare function discoverAllTargetPackagesAsync(targetName: string): Promise; /** * Discover packages with the given target that have changed since `baseBranch`. * Uses pnpm's --filter "...[]" to include transitive dependents. */ export declare function discoverChangedTargetPackagesAsync(baseBranch: string, targetName: string): Promise; /** * Discover all packages that have a deploy.nevermore.json with a "test" target * and a scriptTemplate (required for running tests). */ export declare function discoverAllTestableBatchTargetsAsync(): Promise; /** * Discover packages with test targets that have changed since `baseBranch`. * Only includes targets with a scriptTemplate (required for running tests). * Uses pnpm's --filter "...[]" to include transitive dependents. */ export declare function discoverChangedTestableBatchTargetsAsync(baseBranch: string): Promise; /** * Fan a list of TargetPackages out into BatchTargets — one per place. A * single-place package produces one BatchTarget with the package name; a * multi-place package produces one per place, with ` - ` suffix. */ export declare function flattenToBatchTargets(packages: TargetPackage[]): BatchTarget[]; //# sourceMappingURL=changed-packages-utils.d.ts.map