release-please 12.4.0 → 13.0.0-candidate.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +4 -0
  3. package/build/src/bin/release-please.d.ts +56 -11
  4. package/build/src/bin/release-please.js +413 -150
  5. package/build/src/bootstrapper.d.ts +12 -0
  6. package/build/src/bootstrapper.js +60 -0
  7. package/build/src/commit.d.ts +26 -0
  8. package/build/src/{util/to-conventional-changelog-format.js → commit.js} +97 -2
  9. package/build/src/errors/index.d.ts +0 -5
  10. package/build/src/errors/index.js +1 -10
  11. package/build/src/factory.d.ts +25 -37
  12. package/build/src/factory.js +159 -150
  13. package/build/src/github.d.ts +154 -884
  14. package/build/src/github.js +608 -1036
  15. package/build/src/manifest.d.ts +182 -48
  16. package/build/src/manifest.js +590 -487
  17. package/build/src/plugin.d.ts +20 -0
  18. package/build/src/{plugins/plugin.js → plugin.js} +10 -9
  19. package/build/src/plugins/cargo-workspace.d.ts +48 -18
  20. package/build/src/plugins/cargo-workspace.js +247 -328
  21. package/build/src/plugins/merge.d.ts +11 -0
  22. package/build/src/plugins/merge.js +83 -0
  23. package/build/src/plugins/node-workspace.d.ts +35 -17
  24. package/build/src/plugins/node-workspace.js +234 -271
  25. package/build/src/plugins/workspace.d.ts +102 -0
  26. package/build/src/plugins/workspace.js +170 -0
  27. package/build/src/pull-request.d.ts +10 -0
  28. package/build/src/{updaters/java/readme.js → pull-request.js} +2 -7
  29. package/build/src/release-notes.d.ts +29 -0
  30. package/build/src/release-notes.js +71 -0
  31. package/build/src/release-pull-request.d.ts +13 -0
  32. package/build/src/{updaters/java/pom-xml.js → release-pull-request.js} +2 -7
  33. package/build/src/release.d.ts +6 -0
  34. package/build/src/release.js +16 -0
  35. package/build/src/repository.d.ts +5 -0
  36. package/build/src/repository.js +16 -0
  37. package/build/src/strategies/dart.d.ts +8 -0
  38. package/build/src/strategies/dart.js +63 -0
  39. package/build/src/strategies/elixir.d.ts +5 -0
  40. package/build/src/{releasers → strategies}/elixir.js +18 -14
  41. package/build/src/strategies/go-yoshi.d.ts +13 -0
  42. package/build/src/strategies/go-yoshi.js +106 -0
  43. package/build/src/strategies/go.d.ts +5 -0
  44. package/build/src/{releasers → strategies}/go.js +11 -12
  45. package/build/src/strategies/helm.d.ts +8 -0
  46. package/build/src/strategies/helm.js +63 -0
  47. package/build/src/strategies/java-yoshi.d.ts +24 -0
  48. package/build/src/strategies/java-yoshi.js +203 -0
  49. package/build/src/strategies/krm-blueprint.d.ts +7 -0
  50. package/build/src/{releasers → strategies}/krm-blueprint.js +26 -22
  51. package/build/src/strategies/node.d.ts +9 -0
  52. package/build/src/strategies/node.js +82 -0
  53. package/build/src/strategies/ocaml.d.ts +5 -0
  54. package/build/src/{releasers → strategies}/ocaml.js +34 -28
  55. package/build/src/strategies/php-yoshi.d.ts +9 -0
  56. package/build/src/strategies/php-yoshi.js +214 -0
  57. package/build/src/strategies/php.d.ts +6 -0
  58. package/build/src/{releasers → strategies}/php.js +24 -23
  59. package/build/src/strategies/python.d.ts +8 -0
  60. package/build/src/strategies/python.js +117 -0
  61. package/build/src/strategies/ruby-yoshi.d.ts +17 -0
  62. package/build/src/strategies/ruby-yoshi.js +116 -0
  63. package/build/src/strategies/ruby.d.ts +13 -0
  64. package/build/src/{releasers → strategies}/ruby.js +26 -27
  65. package/build/src/strategies/rust.d.ts +20 -0
  66. package/build/src/strategies/rust.js +120 -0
  67. package/build/src/strategies/simple.d.ts +5 -0
  68. package/build/src/{releasers → strategies}/simple.js +18 -14
  69. package/build/src/strategies/terraform-module.d.ts +7 -0
  70. package/build/src/{releasers → strategies}/terraform-module.js +29 -23
  71. package/build/src/strategy.d.ts +99 -0
  72. package/build/src/strategy.js +237 -0
  73. package/build/src/update.d.ts +23 -0
  74. package/build/src/{updaters/update.js → update.js} +1 -1
  75. package/build/src/updaters/changelog.d.ts +7 -10
  76. package/build/src/updaters/changelog.js +3 -9
  77. package/build/src/updaters/changelog.js.map +1 -1
  78. package/build/src/updaters/composite.d.ts +19 -0
  79. package/build/src/updaters/composite.js +42 -0
  80. package/build/src/updaters/dart/pubspec-yaml.d.ts +12 -0
  81. package/build/src/updaters/{pubspec-yaml.js → dart/pubspec-yaml.js} +13 -12
  82. package/build/src/updaters/default.d.ts +21 -0
  83. package/build/src/updaters/{version-txt.js → default.js} +16 -10
  84. package/build/src/updaters/dotnet/csproj.d.ts +12 -0
  85. package/build/src/updaters/{java/google-utils.js → dotnet/csproj.js} +16 -13
  86. package/build/src/updaters/elixir/elixir-mix-exs.d.ts +12 -0
  87. package/build/src/updaters/{elixir-mix-exs.js → elixir/elixir-mix-exs.js} +12 -10
  88. package/build/src/updaters/helm/chart-yaml.d.ts +10 -11
  89. package/build/src/updaters/helm/chart-yaml.js +12 -10
  90. package/build/src/updaters/java/java-update.d.ts +14 -0
  91. package/build/src/updaters/java/{java_update.js → java-update.js} +22 -22
  92. package/build/src/updaters/java/versions-manifest.d.ts +12 -2
  93. package/build/src/updaters/java/versions-manifest.js +20 -4
  94. package/build/src/updaters/krm/krm-blueprint-version.d.ts +10 -11
  95. package/build/src/updaters/krm/krm-blueprint-version.js +13 -12
  96. package/build/src/updaters/node/package-json.d.ts +12 -0
  97. package/build/src/updaters/{package-json.js → node/package-json.js} +14 -16
  98. package/build/src/updaters/node/package-lock-json.d.ts +8 -0
  99. package/build/src/updaters/node/package-lock-json.js +36 -0
  100. package/build/src/updaters/node/samples-package-json.d.ts +23 -0
  101. package/build/src/updaters/{samples-package-json.js → node/samples-package-json.js} +19 -8
  102. package/build/src/updaters/ocaml/dune-project.d.ts +10 -11
  103. package/build/src/updaters/ocaml/dune-project.js +11 -9
  104. package/build/src/updaters/ocaml/esy-json.d.ts +10 -11
  105. package/build/src/updaters/ocaml/esy-json.js +12 -10
  106. package/build/src/updaters/ocaml/opam.d.ts +10 -11
  107. package/build/src/updaters/ocaml/opam.js +11 -9
  108. package/build/src/updaters/php/php-client-version.d.ts +12 -0
  109. package/build/src/updaters/{php-client-version.js → php/php-client-version.js} +10 -9
  110. package/build/src/updaters/php/php-manifest.d.ts +13 -0
  111. package/build/src/updaters/{php-manifest.js → php/php-manifest.js} +17 -15
  112. package/build/src/updaters/php/root-composer-update-packages.d.ts +12 -0
  113. package/build/src/updaters/{root-composer-update-packages.js → php/root-composer-update-packages.js} +17 -16
  114. package/build/src/updaters/python/pyproject-toml.d.ts +10 -11
  115. package/build/src/updaters/python/pyproject-toml.js +13 -11
  116. package/build/src/updaters/python/python-file-with-version.d.ts +7 -11
  117. package/build/src/updaters/python/python-file-with-version.js +7 -8
  118. package/build/src/updaters/python/setup-cfg.d.ts +10 -11
  119. package/build/src/updaters/python/setup-cfg.js +10 -8
  120. package/build/src/updaters/python/setup-py.d.ts +10 -11
  121. package/build/src/updaters/python/setup-py.js +10 -8
  122. package/build/src/updaters/raw-content.d.ts +19 -0
  123. package/build/src/{plugins/index.js → updaters/raw-content.js} +23 -12
  124. package/build/src/updaters/release-please-config.d.ts +8 -0
  125. package/build/src/updaters/release-please-config.js +41 -0
  126. package/build/src/updaters/release-please-manifest.d.ts +2 -11
  127. package/build/src/updaters/release-please-manifest.js +11 -14
  128. package/build/src/updaters/ruby/version-rb.d.ts +12 -0
  129. package/build/src/updaters/{version-rb.js → ruby/version-rb.js} +10 -8
  130. package/build/src/updaters/rust/cargo-lock.d.ts +7 -11
  131. package/build/src/updaters/rust/cargo-lock.js +14 -16
  132. package/build/src/updaters/rust/cargo-toml.d.ts +7 -11
  133. package/build/src/updaters/rust/cargo-toml.js +19 -21
  134. package/build/src/updaters/terraform/module-version.d.ts +10 -11
  135. package/build/src/updaters/terraform/module-version.js +11 -9
  136. package/build/src/updaters/terraform/readme.d.ts +10 -11
  137. package/build/src/updaters/terraform/readme.js +11 -10
  138. package/build/src/updaters/terraform/readme.js.map +1 -1
  139. package/build/src/util/branch-name.d.ts +5 -4
  140. package/build/src/util/branch-name.js +13 -10
  141. package/build/src/{commit-split.d.ts → util/commit-split.d.ts} +2 -4
  142. package/build/src/{commit-split.js → util/commit-split.js} +4 -2
  143. package/build/src/util/indent-commit.d.ts +1 -1
  144. package/build/src/util/logger.d.ts +5 -2
  145. package/build/src/util/logger.js +9 -4
  146. package/build/src/util/pull-request-body.d.ts +20 -0
  147. package/build/src/util/pull-request-body.js +129 -0
  148. package/build/src/util/pull-request-title.d.ts +8 -6
  149. package/build/src/util/pull-request-title.js +20 -6
  150. package/build/src/util/tag-name.d.ts +9 -0
  151. package/build/src/util/tag-name.js +41 -0
  152. package/build/src/{updaters → util}/toml-edit.d.ts +0 -0
  153. package/build/src/{updaters → util}/toml-edit.js +0 -0
  154. package/build/src/version.d.ts +11 -0
  155. package/build/src/version.js +45 -0
  156. package/build/src/versioning-strategies/always-bump-patch.d.ts +7 -0
  157. package/build/src/{updaters/package-lock-json.js → versioning-strategies/always-bump-patch.js} +8 -11
  158. package/build/src/versioning-strategies/default.d.ts +15 -0
  159. package/build/src/versioning-strategies/default.js +67 -0
  160. package/build/src/versioning-strategies/dependency-manifest.d.ts +7 -0
  161. package/build/src/versioning-strategies/dependency-manifest.js +90 -0
  162. package/build/src/versioning-strategies/java-add-snapshot.d.ts +9 -0
  163. package/build/src/versioning-strategies/java-add-snapshot.js +53 -0
  164. package/build/src/versioning-strategies/java-snapshot.d.ts +9 -0
  165. package/build/src/versioning-strategies/java-snapshot.js +67 -0
  166. package/build/src/versioning-strategies/service-pack.d.ts +7 -0
  167. package/build/src/versioning-strategies/service-pack.js +40 -0
  168. package/build/src/versioning-strategy.d.ts +28 -0
  169. package/build/src/versioning-strategy.js +55 -0
  170. package/package.json +9 -8
  171. package/build/src/constants.d.ts +0 -6
  172. package/build/src/constants.js +0 -23
  173. package/build/src/conventional-commits.d.ts +0 -53
  174. package/build/src/conventional-commits.js +0 -167
  175. package/build/src/github-release.d.ts +0 -34
  176. package/build/src/github-release.js +0 -92
  177. package/build/src/graphql-to-commits.d.ts +0 -60
  178. package/build/src/graphql-to-commits.js +0 -112
  179. package/build/src/index.d.ts +0 -94
  180. package/build/src/index.js +0 -32
  181. package/build/src/plugins/index.d.ts +0 -5
  182. package/build/src/plugins/plugin.d.ts +0 -21
  183. package/build/src/release-pr.d.ts +0 -101
  184. package/build/src/release-pr.js +0 -461
  185. package/build/src/releasers/dart.d.ts +0 -9
  186. package/build/src/releasers/dart.js +0 -65
  187. package/build/src/releasers/elixir.d.ts +0 -5
  188. package/build/src/releasers/go-yoshi.d.ts +0 -10
  189. package/build/src/releasers/go-yoshi.js +0 -162
  190. package/build/src/releasers/go.d.ts +0 -6
  191. package/build/src/releasers/helm.d.ts +0 -9
  192. package/build/src/releasers/helm.js +0 -66
  193. package/build/src/releasers/index.d.ts +0 -7
  194. package/build/src/releasers/index.js +0 -74
  195. package/build/src/releasers/java/bump_type.d.ts +0 -4
  196. package/build/src/releasers/java/bump_type.js +0 -38
  197. package/build/src/releasers/java/stability.d.ts +0 -5
  198. package/build/src/releasers/java/stability.js +0 -37
  199. package/build/src/releasers/java/version.d.ts +0 -13
  200. package/build/src/releasers/java/version.js +0 -112
  201. package/build/src/releasers/java-bom.d.ts +0 -16
  202. package/build/src/releasers/java-bom.js +0 -83
  203. package/build/src/releasers/java-lts.d.ts +0 -9
  204. package/build/src/releasers/java-lts.js +0 -47
  205. package/build/src/releasers/java-yoshi.d.ts +0 -28
  206. package/build/src/releasers/java-yoshi.js +0 -304
  207. package/build/src/releasers/krm-blueprint.d.ts +0 -6
  208. package/build/src/releasers/node.d.ts +0 -10
  209. package/build/src/releasers/node.js +0 -84
  210. package/build/src/releasers/ocaml.d.ts +0 -5
  211. package/build/src/releasers/php-yoshi.d.ts +0 -5
  212. package/build/src/releasers/php-yoshi.js +0 -191
  213. package/build/src/releasers/php.d.ts +0 -7
  214. package/build/src/releasers/python.d.ts +0 -11
  215. package/build/src/releasers/python.js +0 -127
  216. package/build/src/releasers/ruby-yoshi.d.ts +0 -5
  217. package/build/src/releasers/ruby-yoshi.js +0 -142
  218. package/build/src/releasers/ruby.d.ts +0 -11
  219. package/build/src/releasers/rust.d.ts +0 -30
  220. package/build/src/releasers/rust.js +0 -163
  221. package/build/src/releasers/simple.d.ts +0 -5
  222. package/build/src/releasers/terraform-module.d.ts +0 -6
  223. package/build/src/updaters/elixir-mix-exs.d.ts +0 -13
  224. package/build/src/updaters/java/google-utils.d.ts +0 -13
  225. package/build/src/updaters/java/java_update.d.ts +0 -13
  226. package/build/src/updaters/java/pom-xml.d.ts +0 -3
  227. package/build/src/updaters/java/readme.d.ts +0 -3
  228. package/build/src/updaters/java/readme.js.map +0 -1
  229. package/build/src/updaters/package-json.d.ts +0 -16
  230. package/build/src/updaters/package-lock-json.d.ts +0 -7
  231. package/build/src/updaters/php-client-version.d.ts +0 -13
  232. package/build/src/updaters/php-manifest.d.ts +0 -13
  233. package/build/src/updaters/pubspec-yaml.d.ts +0 -13
  234. package/build/src/updaters/root-composer-update-package.d.ts +0 -13
  235. package/build/src/updaters/root-composer-update-package.js +0 -45
  236. package/build/src/updaters/root-composer-update-packages.d.ts +0 -13
  237. package/build/src/updaters/samples-package-json.d.ts +0 -13
  238. package/build/src/updaters/update.d.ts +0 -20
  239. package/build/src/updaters/version-rb.d.ts +0 -13
  240. package/build/src/updaters/version-txt.d.ts +0 -12
  241. package/build/src/updaters/version.d.ts +0 -13
  242. package/build/src/updaters/version.js +0 -31
  243. package/build/src/util/checkpoint.d.ts +0 -6
  244. package/build/src/util/checkpoint.js +0 -33
  245. package/build/src/util/release-notes.d.ts +0 -7
  246. package/build/src/util/release-notes.js +0 -34
  247. package/build/src/util/to-conventional-changelog-format.d.ts +0 -2
@@ -1,13 +1,38 @@
1
- import { GitHub } from './github';
2
- import { VersionsMap } from './updaters/update';
3
- import { ReleaseType } from './releasers';
4
- import { Commit } from './graphql-to-commits';
5
- import { BranchName } from './util/branch-name';
6
- import { ManifestConstructorOptions, ManifestPackage } from '.';
7
- import { ChangelogSection } from './conventional-commits';
8
- import { Checkpoint } from './util/checkpoint';
9
- import { GitHubReleaseResponse } from './github-release';
10
- import { PluginType } from './plugins';
1
+ import { ChangelogSection } from './release-notes';
2
+ import { GitHub, GitHubRelease } from './github';
3
+ import { Version } from './version';
4
+ import { PullRequest } from './pull-request';
5
+ import { ReleasePullRequest } from './release-pull-request';
6
+ import { ReleaseType, VersioningStrategyType } from './factory';
7
+ import { Release } from './release';
8
+ /**
9
+ * These are configurations provided to each strategy per-path.
10
+ */
11
+ export interface ReleaserConfig {
12
+ releaseType: ReleaseType;
13
+ versioning?: VersioningStrategyType;
14
+ bumpMinorPreMajor?: boolean;
15
+ bumpPatchForMinorPreMajor?: boolean;
16
+ changelogSections?: ChangelogSection[];
17
+ changelogPath?: string;
18
+ releaseAs?: string;
19
+ skipGithubRelease?: boolean;
20
+ draft?: boolean;
21
+ draftPullRequest?: boolean;
22
+ component?: string;
23
+ packageName?: string;
24
+ versionFile?: string;
25
+ extraFiles?: string[];
26
+ }
27
+ export interface CandidateReleasePullRequest {
28
+ path: string;
29
+ pullRequest: ReleasePullRequest;
30
+ config: ReleaserConfig;
31
+ }
32
+ export interface CandidateRelease extends Release {
33
+ pullRequest: PullRequest;
34
+ draft?: boolean;
35
+ }
11
36
  interface ReleaserConfigJson {
12
37
  'release-type'?: ReleaseType;
13
38
  'bump-minor-pre-major'?: boolean;
@@ -16,55 +41,164 @@ interface ReleaserConfigJson {
16
41
  'release-as'?: string;
17
42
  'skip-github-release'?: boolean;
18
43
  draft?: boolean;
44
+ 'draft-pull-request'?: boolean;
45
+ label?: string;
46
+ 'release-label'?: string;
47
+ 'version-file'?: string;
48
+ 'extra-files'?: string[];
49
+ }
50
+ export interface ManifestOptions {
51
+ bootstrapSha?: string;
52
+ lastReleaseSha?: string;
53
+ alwaysLinkLocal?: boolean;
54
+ separatePullRequests?: boolean;
55
+ plugins?: PluginType[];
56
+ fork?: boolean;
57
+ signoff?: string;
58
+ manifestPath?: string;
59
+ labels?: string[];
60
+ releaseLabels?: string[];
61
+ draft?: boolean;
62
+ draftPullRequest?: boolean;
19
63
  }
20
64
  interface ReleaserPackageConfig extends ReleaserConfigJson {
21
65
  'package-name'?: string;
66
+ component?: string;
22
67
  'changelog-path'?: string;
23
68
  }
24
- export interface Config extends ReleaserConfigJson {
69
+ export declare type PluginType = 'node-workspace' | 'cargo-workspace';
70
+ /**
71
+ * This is the schema of the manifest config json
72
+ */
73
+ export interface ManifestConfig extends ReleaserConfigJson {
25
74
  packages: Record<string, ReleaserPackageConfig>;
26
- parsedPackages: ManifestPackage[];
27
75
  'bootstrap-sha'?: string;
28
76
  'last-release-sha'?: string;
29
77
  'always-link-local'?: boolean;
30
78
  plugins?: PluginType[];
79
+ 'separate-pull-requests'?: boolean;
31
80
  }
32
- interface PackageForReleaser {
33
- config: ManifestPackage;
34
- commits: Commit[];
35
- lastVersion?: string;
36
- }
37
- declare type ManifestJson = Record<string, string>;
38
- export declare type ManifestGitHubReleaseResult = Record<string, GitHubReleaseResponse | undefined> | undefined;
81
+ export declare type ReleasedVersions = Record<string, Version>;
82
+ export declare type RepositoryConfig = Record<string, ReleaserConfig>;
83
+ export declare const DEFAULT_RELEASE_PLEASE_CONFIG = "release-please-config.json";
84
+ export declare const DEFAULT_RELEASE_PLEASE_MANIFEST = ".release-please-manifest.json";
85
+ export declare const ROOT_PROJECT_PATH = ".";
86
+ export declare const MANIFEST_PULL_REQUEST_TITLE_PATTERN = "chore: release ${branch}";
39
87
  export declare class Manifest {
40
- gh: GitHub;
41
- configFileName: string;
42
- manifestFileName: string;
43
- checkpoint: Checkpoint;
44
- configFile?: Config;
45
- headManifest?: ManifestJson;
46
- signoff?: string;
47
- constructor(options: ManifestConstructorOptions);
48
- protected getBranchName(): Promise<BranchName>;
49
- protected getFileJson<T>(fileName: string): Promise<T>;
50
- protected getFileJson<T>(fileName: string, sha: string): Promise<T | undefined>;
51
- protected getManifestJson(): Promise<ManifestJson>;
52
- protected getManifestJson(sha: string): Promise<ManifestJson | undefined>;
53
- protected getManifestVersions(sha?: string): Promise<[VersionsMap, string]>;
54
- protected getManifestVersions(sha: false, newPaths: string[]): Promise<VersionsMap>;
55
- protected getConfigJson(): Promise<Config>;
56
- private resolveReleaseAs;
57
- protected getPackagesToRelease(allCommits: Commit[], sha?: string): Promise<PackageForReleaser[]>;
58
- private validateJsonFile;
59
- protected validate(): Promise<boolean>;
60
- private getReleasePR;
61
- private runReleasers;
62
- private getManifestChanges;
63
- private buildPRBody;
64
- private buildManifestPR;
65
- private getPlugins;
66
- private resolveLastReleaseSha;
67
- pullRequest(): Promise<number | undefined>;
68
- githubRelease(): Promise<ManifestGitHubReleaseResult>;
88
+ private repository;
89
+ private github;
90
+ readonly repositoryConfig: RepositoryConfig;
91
+ readonly releasedVersions: ReleasedVersions;
92
+ private targetBranch;
93
+ private separatePullRequests;
94
+ readonly fork: boolean;
95
+ private signoffUser?;
96
+ private labels;
97
+ private releaseLabels;
98
+ private plugins;
99
+ private _strategiesByPath?;
100
+ private _pathsByComponent?;
101
+ private manifestPath;
102
+ private bootstrapSha?;
103
+ private lastReleaseSha?;
104
+ private draft?;
105
+ private draftPullRequest?;
106
+ /**
107
+ * Create a Manifest from explicit config in code. This assumes that the
108
+ * repository has a single component at the root path.
109
+ *
110
+ * @param {GitHub} github GitHub client
111
+ * @param {string} targetBranch The releaseable base branch
112
+ * @param {RepositoryConfig} repositoryConfig Parsed configuration of path => release configuration
113
+ * @param {ReleasedVersions} releasedVersions Parsed versions of path => latest release version
114
+ * @param {ManifestOptions} manifestOptions Optional. Manifest options
115
+ * @param {string} manifestOptions.bootstrapSha If provided, use this SHA
116
+ * as the point to consider commits after
117
+ * @param {boolean} manifestOptions.alwaysLinkLocal Option for the node-workspace
118
+ * plugin
119
+ * @param {boolean} manifestOptions.separatePullRequests If true, create separate pull
120
+ * requests instead of a single manifest release pull request
121
+ * @param {PluginType[]} manifestOptions.plugins Any plugins to use for this repository
122
+ * @param {boolean} manifestOptions.fork If true, create pull requests from a fork. Defaults
123
+ * to `false`
124
+ * @param {string} manifestOptions.signoff Add a Signed-off-by annotation to the commit
125
+ * @param {string} manifestOptions.manifestPath Path to the versions manifest
126
+ * @param {string[]} manifestOptions.labels Labels that denote a pending, untagged release
127
+ * pull request. Defaults to `[autorelease: pending]`
128
+ * @param {string[]} manifestOptions.releaseLabels Labels to apply to a tagged release
129
+ * pull request. Defaults to `[autorelease: tagged]`
130
+ */
131
+ constructor(github: GitHub, targetBranch: string, repositoryConfig: RepositoryConfig, releasedVersions: ReleasedVersions, manifestOptions?: ManifestOptions);
132
+ /**
133
+ * Create a Manifest from config files in the repository.
134
+ *
135
+ * @param {GitHub} github GitHub client
136
+ * @param {string} targetBranch The releaseable base branch
137
+ * @param {string} configFile Optional. The path to the manifest config file
138
+ * @param {string} manifestFile Optional. The path to the manifest versions file
139
+ * @returns {Manifest}
140
+ */
141
+ static fromManifest(github: GitHub, targetBranch: string, configFile?: string, manifestFile?: string, manifestOptionOverrides?: ManifestOptions): Promise<Manifest>;
142
+ /**
143
+ * Create a Manifest from explicit config in code. This assumes that the
144
+ * repository has a single component at the root path.
145
+ *
146
+ * @param {GitHub} github GitHub client
147
+ * @param {string} targetBranch The releaseable base branch
148
+ * @param {ReleaserConfig} config Release strategy options
149
+ * @param {ManifestOptions} manifestOptions Optional. Manifest options
150
+ * @param {string} manifestOptions.bootstrapSha If provided, use this SHA
151
+ * as the point to consider commits after
152
+ * @param {boolean} manifestOptions.alwaysLinkLocal Option for the node-workspace
153
+ * plugin
154
+ * @param {boolean} manifestOptions.separatePullRequests If true, create separate pull
155
+ * requests instead of a single manifest release pull request
156
+ * @param {PluginType[]} manifestOptions.plugins Any plugins to use for this repository
157
+ * @param {boolean} manifestOptions.fork If true, create pull requests from a fork. Defaults
158
+ * to `false`
159
+ * @param {string} manifestOptions.signoff Add a Signed-off-by annotation to the commit
160
+ * @param {string} manifestOptions.manifestPath Path to the versions manifest
161
+ * @param {string[]} manifestOptions.labels Labels that denote a pending, untagged release
162
+ * pull request. Defaults to `[autorelease: pending]`
163
+ * @param {string[]} manifestOptions.releaseLabels Labels to apply to a tagged release
164
+ * pull request. Defaults to `[autorelease: tagged]`
165
+ * @returns {Manifest}
166
+ */
167
+ static fromConfig(github: GitHub, targetBranch: string, config: ReleaserConfig, manifestOptions?: ManifestOptions, path?: string): Promise<Manifest>;
168
+ /**
169
+ * Build all candidate pull requests for this repository.
170
+ *
171
+ * Iterates through each path and builds a candidate pull request for component.
172
+ * Applies any configured plugins.
173
+ *
174
+ * @returns {ReleasePullRequest[]} The candidate pull requests to open or update.
175
+ */
176
+ buildPullRequests(): Promise<ReleasePullRequest[]>;
177
+ /**
178
+ * Opens/updates all candidate release pull requests for this repository.
179
+ *
180
+ * @returns {number[]} Pull request numbers of release pull requests
181
+ */
182
+ createPullRequests(): Promise<(number | undefined)[]>;
183
+ private createOrUpdatePullRequest;
184
+ private findMergedReleasePullRequests;
185
+ /**
186
+ * Find merged, untagged releases and build candidate releases to tag.
187
+ *
188
+ * @returns {CandidateRelease[]} List of release candidates
189
+ */
190
+ buildReleases(): Promise<CandidateRelease[]>;
191
+ /**
192
+ * Find merged, untagged releases. For each release, create a GitHub release,
193
+ * comment on the pull request used to generated it and update the pull request
194
+ * labels.
195
+ *
196
+ * @returns {GitHubRelease[]} List of created GitHub releases
197
+ */
198
+ createReleases(): Promise<(GitHubRelease | undefined)[]>;
199
+ private createReleasesForPullRequest;
200
+ private createRelease;
201
+ private getStrategiesByPath;
202
+ private getPathsByComponent;
69
203
  }
70
204
  export {};