mirror of
https://github.com/changesets/action
synced 2026-10-26 16:39:56 +08:00
30 lines
747 B
TypeScript
30 lines
747 B
TypeScript
import { PreState, NewChangeset } from "@changesets/types";
|
|
import { readPreState } from "@changesets/pre";
|
|
import readChangesets from "@changesets/read";
|
|
|
|
export type ChangesetState = {
|
|
preState: PreState | undefined;
|
|
changesets: NewChangeset[];
|
|
};
|
|
|
|
export default async function readChangesetState(
|
|
cwd: string = process.cwd()
|
|
): Promise<ChangesetState> {
|
|
let preState = await readPreState(cwd);
|
|
let changesets = await readChangesets(cwd);
|
|
|
|
if (preState !== undefined && preState.mode === "pre") {
|
|
let changesetsToFilter = new Set(preState.changesets);
|
|
|
|
return {
|
|
preState,
|
|
changesets: changesets.filter((x) => !changesetsToFilter.has(x.id)),
|
|
};
|
|
}
|
|
|
|
return {
|
|
preState: undefined,
|
|
changesets,
|
|
};
|
|
}
|