/
index.ts
52 lines (42 loc) 路 1.22 KB
/
index.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import {
NewChangesetWithCommit,
VersionType,
ChangelogFunctions,
ModCompWithPackage,
} from "@changesets/types";
const getReleaseLine = async (
changeset: NewChangesetWithCommit,
_type: VersionType
) => {
const [firstLine, ...futureLines] = changeset.summary
.split("\n")
.map((l) => l.trimRight());
let returnVal = `- ${
changeset.commit ? `${changeset.commit}: ` : ""
}${firstLine}`;
if (futureLines.length > 0) {
returnVal += `\n${futureLines.map((l) => ` ${l}`).join("\n")}`;
}
return returnVal;
};
const getDependencyReleaseLine = async (
changesets: NewChangesetWithCommit[],
dependenciesUpdated: ModCompWithPackage[]
) => {
if (dependenciesUpdated.length === 0) return "";
const changesetLinks = changesets.map(
(changeset) =>
`- Updated dependencies${
changeset.commit ? ` [${changeset.commit}]` : ""
}`
);
const updatedDependenciesList = dependenciesUpdated.map(
(dependency) => ` - ${dependency.name}@${dependency.newVersion}`
);
return [...changesetLinks, ...updatedDependenciesList].join("\n");
};
const defaultChangelogFunctions: ChangelogFunctions = {
getReleaseLine,
getDependencyReleaseLine,
};
export default defaultChangelogFunctions;