release-please 12.3.0 → 13.0.0-candidate.0

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 (244) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +5 -0
  3. package/build/src/bin/release-please.d.ts +51 -11
  4. package/build/src/bin/release-please.js +409 -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 +151 -883
  14. package/build/src/github.js +584 -1013
  15. package/build/src/manifest.d.ts +177 -48
  16. package/build/src/manifest.js +583 -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/dart/pubspec-yaml.js +45 -0
  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/elixir.d.ts +0 -5
  186. package/build/src/releasers/go-yoshi.d.ts +0 -10
  187. package/build/src/releasers/go-yoshi.js +0 -162
  188. package/build/src/releasers/go.d.ts +0 -6
  189. package/build/src/releasers/helm.d.ts +0 -9
  190. package/build/src/releasers/helm.js +0 -66
  191. package/build/src/releasers/index.d.ts +0 -7
  192. package/build/src/releasers/index.js +0 -72
  193. package/build/src/releasers/java/bump_type.d.ts +0 -4
  194. package/build/src/releasers/java/bump_type.js +0 -38
  195. package/build/src/releasers/java/stability.d.ts +0 -5
  196. package/build/src/releasers/java/stability.js +0 -37
  197. package/build/src/releasers/java/version.d.ts +0 -13
  198. package/build/src/releasers/java/version.js +0 -112
  199. package/build/src/releasers/java-bom.d.ts +0 -16
  200. package/build/src/releasers/java-bom.js +0 -83
  201. package/build/src/releasers/java-lts.d.ts +0 -9
  202. package/build/src/releasers/java-lts.js +0 -47
  203. package/build/src/releasers/java-yoshi.d.ts +0 -28
  204. package/build/src/releasers/java-yoshi.js +0 -304
  205. package/build/src/releasers/krm-blueprint.d.ts +0 -6
  206. package/build/src/releasers/node.d.ts +0 -10
  207. package/build/src/releasers/node.js +0 -84
  208. package/build/src/releasers/ocaml.d.ts +0 -5
  209. package/build/src/releasers/php-yoshi.d.ts +0 -5
  210. package/build/src/releasers/php-yoshi.js +0 -191
  211. package/build/src/releasers/php.d.ts +0 -7
  212. package/build/src/releasers/python.d.ts +0 -11
  213. package/build/src/releasers/python.js +0 -127
  214. package/build/src/releasers/ruby-yoshi.d.ts +0 -5
  215. package/build/src/releasers/ruby-yoshi.js +0 -142
  216. package/build/src/releasers/ruby.d.ts +0 -11
  217. package/build/src/releasers/rust.d.ts +0 -30
  218. package/build/src/releasers/rust.js +0 -163
  219. package/build/src/releasers/simple.d.ts +0 -5
  220. package/build/src/releasers/terraform-module.d.ts +0 -6
  221. package/build/src/updaters/elixir-mix-exs.d.ts +0 -13
  222. package/build/src/updaters/java/google-utils.d.ts +0 -13
  223. package/build/src/updaters/java/java_update.d.ts +0 -13
  224. package/build/src/updaters/java/pom-xml.d.ts +0 -3
  225. package/build/src/updaters/java/readme.d.ts +0 -3
  226. package/build/src/updaters/java/readme.js.map +0 -1
  227. package/build/src/updaters/package-json.d.ts +0 -16
  228. package/build/src/updaters/package-lock-json.d.ts +0 -7
  229. package/build/src/updaters/php-client-version.d.ts +0 -13
  230. package/build/src/updaters/php-manifest.d.ts +0 -13
  231. package/build/src/updaters/root-composer-update-package.d.ts +0 -13
  232. package/build/src/updaters/root-composer-update-package.js +0 -45
  233. package/build/src/updaters/root-composer-update-packages.d.ts +0 -13
  234. package/build/src/updaters/samples-package-json.d.ts +0 -13
  235. package/build/src/updaters/update.d.ts +0 -20
  236. package/build/src/updaters/version-rb.d.ts +0 -13
  237. package/build/src/updaters/version-txt.d.ts +0 -12
  238. package/build/src/updaters/version.d.ts +0 -13
  239. package/build/src/updaters/version.js +0 -31
  240. package/build/src/util/checkpoint.d.ts +0 -6
  241. package/build/src/util/checkpoint.js +0 -33
  242. package/build/src/util/release-notes.d.ts +0 -7
  243. package/build/src/util/release-notes.js +0 -34
  244. package/build/src/util/to-conventional-changelog-format.d.ts +0 -2
@@ -1,13 +1,36 @@
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
+ component?: string;
22
+ packageName?: string;
23
+ versionFile?: string;
24
+ extraFiles?: string[];
25
+ }
26
+ export interface CandidateReleasePullRequest {
27
+ path: string;
28
+ pullRequest: ReleasePullRequest;
29
+ config: ReleaserConfig;
30
+ }
31
+ export interface CandidateRelease extends Release {
32
+ pullRequest: PullRequest;
33
+ }
11
34
  interface ReleaserConfigJson {
12
35
  'release-type'?: ReleaseType;
13
36
  'bump-minor-pre-major'?: boolean;
@@ -16,55 +39,161 @@ interface ReleaserConfigJson {
16
39
  'release-as'?: string;
17
40
  'skip-github-release'?: boolean;
18
41
  draft?: boolean;
42
+ label?: string;
43
+ 'release-label'?: string;
44
+ 'version-file'?: string;
45
+ 'extra-files'?: string[];
46
+ }
47
+ export interface ManifestOptions {
48
+ bootstrapSha?: string;
49
+ lastReleaseSha?: string;
50
+ alwaysLinkLocal?: boolean;
51
+ separatePullRequests?: boolean;
52
+ plugins?: PluginType[];
53
+ fork?: boolean;
54
+ signoff?: string;
55
+ manifestPath?: string;
56
+ labels?: string[];
57
+ releaseLabels?: string[];
58
+ draft?: boolean;
59
+ releaseDraft?: boolean;
19
60
  }
20
61
  interface ReleaserPackageConfig extends ReleaserConfigJson {
21
62
  'package-name'?: string;
63
+ component?: string;
22
64
  'changelog-path'?: string;
23
65
  }
24
- export interface Config extends ReleaserConfigJson {
66
+ export declare type PluginType = 'node-workspace' | 'cargo-workspace';
67
+ /**
68
+ * This is the schema of the manifest config json
69
+ */
70
+ export interface ManifestConfig extends ReleaserConfigJson {
25
71
  packages: Record<string, ReleaserPackageConfig>;
26
- parsedPackages: ManifestPackage[];
27
72
  'bootstrap-sha'?: string;
28
73
  'last-release-sha'?: string;
29
74
  'always-link-local'?: boolean;
30
75
  plugins?: PluginType[];
76
+ 'separate-pull-requests'?: boolean;
31
77
  }
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;
78
+ export declare type ReleasedVersions = Record<string, Version>;
79
+ export declare type RepositoryConfig = Record<string, ReleaserConfig>;
80
+ export declare const DEFAULT_RELEASE_PLEASE_CONFIG = "release-please-config.json";
81
+ export declare const DEFAULT_RELEASE_PLEASE_MANIFEST = ".release-please-manifest.json";
82
+ export declare const ROOT_PROJECT_PATH = ".";
83
+ export declare const MANIFEST_PULL_REQUEST_TITLE_PATTERN = "chore: release ${branch}";
39
84
  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>;
85
+ private repository;
86
+ private github;
87
+ readonly repositoryConfig: RepositoryConfig;
88
+ readonly releasedVersions: ReleasedVersions;
89
+ private targetBranch;
90
+ private separatePullRequests;
91
+ readonly fork: boolean;
92
+ private signoffUser?;
93
+ private labels;
94
+ private releaseLabels;
95
+ private plugins;
96
+ private _strategiesByPath?;
97
+ private _pathsByComponent?;
98
+ private manifestPath;
99
+ private bootstrapSha?;
100
+ private lastReleaseSha?;
101
+ /**
102
+ * Create a Manifest from explicit config in code. This assumes that the
103
+ * repository has a single component at the root path.
104
+ *
105
+ * @param {GitHub} github GitHub client
106
+ * @param {string} targetBranch The releaseable base branch
107
+ * @param {RepositoryConfig} repositoryConfig Parsed configuration of path => release configuration
108
+ * @param {ReleasedVersions} releasedVersions Parsed versions of path => latest release version
109
+ * @param {ManifestOptions} manifestOptions Optional. Manifest options
110
+ * @param {string} manifestOptions.bootstrapSha If provided, use this SHA
111
+ * as the point to consider commits after
112
+ * @param {boolean} manifestOptions.alwaysLinkLocal Option for the node-workspace
113
+ * plugin
114
+ * @param {boolean} manifestOptions.separatePullRequests If true, create separate pull
115
+ * requests instead of a single manifest release pull request
116
+ * @param {PluginType[]} manifestOptions.plugins Any plugins to use for this repository
117
+ * @param {boolean} manifestOptions.fork If true, create pull requests from a fork. Defaults
118
+ * to `false`
119
+ * @param {string} manifestOptions.signoff Add a Signed-off-by annotation to the commit
120
+ * @param {string} manifestOptions.manifestPath Path to the versions manifest
121
+ * @param {string[]} manifestOptions.labels Labels that denote a pending, untagged release
122
+ * pull request. Defaults to `[autorelease: pending]`
123
+ * @param {string[]} manifestOptions.releaseLabels Labels to apply to a tagged release
124
+ * pull request. Defaults to `[autorelease: tagged]`
125
+ */
126
+ constructor(github: GitHub, targetBranch: string, repositoryConfig: RepositoryConfig, releasedVersions: ReleasedVersions, manifestOptions?: ManifestOptions);
127
+ /**
128
+ * Create a Manifest from config files in the repository.
129
+ *
130
+ * @param {GitHub} github GitHub client
131
+ * @param {string} targetBranch The releaseable base branch
132
+ * @param {string} configFile Optional. The path to the manifest config file
133
+ * @param {string} manifestFile Optional. The path to the manifest versions file
134
+ * @returns {Manifest}
135
+ */
136
+ static fromManifest(github: GitHub, targetBranch: string, configFile?: string, manifestFile?: string, manifestOptionOverrides?: ManifestOptions): Promise<Manifest>;
137
+ /**
138
+ * Create a Manifest from explicit config in code. This assumes that the
139
+ * repository has a single component at the root path.
140
+ *
141
+ * @param {GitHub} github GitHub client
142
+ * @param {string} targetBranch The releaseable base branch
143
+ * @param {ReleaserConfig} config Release strategy options
144
+ * @param {ManifestOptions} manifestOptions Optional. Manifest options
145
+ * @param {string} manifestOptions.bootstrapSha If provided, use this SHA
146
+ * as the point to consider commits after
147
+ * @param {boolean} manifestOptions.alwaysLinkLocal Option for the node-workspace
148
+ * plugin
149
+ * @param {boolean} manifestOptions.separatePullRequests If true, create separate pull
150
+ * requests instead of a single manifest release pull request
151
+ * @param {PluginType[]} manifestOptions.plugins Any plugins to use for this repository
152
+ * @param {boolean} manifestOptions.fork If true, create pull requests from a fork. Defaults
153
+ * to `false`
154
+ * @param {string} manifestOptions.signoff Add a Signed-off-by annotation to the commit
155
+ * @param {string} manifestOptions.manifestPath Path to the versions manifest
156
+ * @param {string[]} manifestOptions.labels Labels that denote a pending, untagged release
157
+ * pull request. Defaults to `[autorelease: pending]`
158
+ * @param {string[]} manifestOptions.releaseLabels Labels to apply to a tagged release
159
+ * pull request. Defaults to `[autorelease: tagged]`
160
+ * @returns {Manifest}
161
+ */
162
+ static fromConfig(github: GitHub, targetBranch: string, config: ReleaserConfig, manifestOptions?: ManifestOptions, path?: string): Promise<Manifest>;
163
+ /**
164
+ * Build all candidate pull requests for this repository.
165
+ *
166
+ * Iterates through each path and builds a candidate pull request for component.
167
+ * Applies any configured plugins.
168
+ *
169
+ * @returns {ReleasePullRequest[]} The candidate pull requests to open or update.
170
+ */
171
+ buildPullRequests(): Promise<ReleasePullRequest[]>;
172
+ /**
173
+ * Opens/updates all candidate release pull requests for this repository.
174
+ *
175
+ * @returns {number[]} Pull request numbers of release pull requests
176
+ */
177
+ createPullRequests(): Promise<(number | undefined)[]>;
178
+ private createOrUpdatePullRequest;
179
+ private findMergedReleasePullRequests;
180
+ /**
181
+ * Find merged, untagged releases and build candidate releases to tag.
182
+ *
183
+ * @returns {CandidateRelease[]} List of release candidates
184
+ */
185
+ buildReleases(): Promise<CandidateRelease[]>;
186
+ /**
187
+ * Find merged, untagged releases. For each release, create a GitHub release,
188
+ * comment on the pull request used to generated it and update the pull request
189
+ * labels.
190
+ *
191
+ * @returns {GitHubRelease[]} List of created GitHub releases
192
+ */
193
+ createReleases(): Promise<(GitHubRelease | undefined)[]>;
194
+ private createReleasesForPullRequest;
195
+ private createRelease;
196
+ private getStrategiesByPath;
197
+ private getPathsByComponent;
69
198
  }
70
199
  export {};