npm.io
7.0.0 • Published 2 weeks ago

@changesets/assemble-release-plan

Licence
MIT
Version
7.0.0
Deps
5
Size
19 kB
Vulns
0
Weekly
0
Stars
12.3K

Assemble Release Plan

Open on npmx.dev View changelog

Assemble a release plan for changesets from data about a repository.

Usage

import assembleReleasePlan from "@changesets/assemble-release-plan";
import { readChangesets } from "@changesets/read";
import { readConfig } from "@changesets/config";
import { getPackages } from "@manypkg/get-packages";
import { readPreState } from "@changesets/pre";

const packages = await getPackages(cwd);
const preState = await readPreState(cwd);
const { config } = await readConfig(cwd, packages);
const changesets = await readChangesets(cwd, sinceRef);

const releasePlan = assembleReleasePlan(
  changesets,
  packages,
  config!,
  preState,
);

Signature

import type {
  NewChangeset,
  Config,
  Packages,
  ReleasePlan,
} from "@changesets/types";

assembleReleasePlan = (
  changesets: NewChangeset[],
  packages: Packages,
  config: Config,
) => ReleasePlan;

This package exists so assembling a release plan can be done without reading from disc. This is useful primarily for testing within the changesets project, and when you cannot run commands within the repository you want a release plan for (some CI cases).

For most cases, you should use @changesets/get-release-plan which will read local changeset files, config, and workspaces, to assemble the release plan from.