release-please 12.5.0 → 13.0.0-candidate.2
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.
- package/CHANGELOG.md +7 -0
- package/README.md +4 -0
- package/build/src/bin/release-please.d.ts +55 -11
- package/build/src/bin/release-please.js +419 -152
- package/build/src/bootstrapper.d.ts +12 -0
- package/build/src/bootstrapper.js +60 -0
- package/build/src/changelog-notes/default.d.ts +17 -0
- package/build/src/changelog-notes/default.js +72 -0
- package/build/src/changelog-notes.d.ts +17 -0
- package/build/src/{updaters/java/readme.js → changelog-notes.js} +2 -7
- package/build/src/commit.d.ts +26 -0
- package/build/src/{util/to-conventional-changelog-format.js → commit.js} +97 -2
- package/build/src/errors/index.d.ts +0 -5
- package/build/src/errors/index.js +1 -10
- package/build/src/factory.d.ts +25 -37
- package/build/src/factory.js +160 -150
- package/build/src/github.d.ts +154 -884
- package/build/src/github.js +608 -1036
- package/build/src/manifest.d.ts +191 -47
- package/build/src/manifest.js +599 -487
- package/build/src/plugin.d.ts +20 -0
- package/build/src/{plugins/plugin.js → plugin.js} +10 -9
- package/build/src/plugins/cargo-workspace.d.ts +48 -18
- package/build/src/plugins/cargo-workspace.js +247 -328
- package/build/src/plugins/merge.d.ts +11 -0
- package/build/src/plugins/merge.js +83 -0
- package/build/src/plugins/node-workspace.d.ts +35 -17
- package/build/src/plugins/node-workspace.js +234 -271
- package/build/src/plugins/workspace.d.ts +102 -0
- package/build/src/plugins/workspace.js +170 -0
- package/build/src/pull-request.d.ts +10 -0
- package/build/src/{updaters/java/pom-xml.js → pull-request.js} +2 -7
- package/build/src/release-notes.d.ts +29 -0
- package/build/src/release-notes.js +71 -0
- package/build/src/release-pull-request.d.ts +13 -0
- package/build/src/release-pull-request.js +16 -0
- package/build/src/release.d.ts +6 -0
- package/build/src/release.js +16 -0
- package/build/src/repository.d.ts +5 -0
- package/build/src/repository.js +16 -0
- package/build/src/strategies/dart.d.ts +8 -0
- package/build/src/strategies/dart.js +63 -0
- package/build/src/strategies/elixir.d.ts +5 -0
- package/build/src/{releasers → strategies}/elixir.js +18 -14
- package/build/src/strategies/go-yoshi.d.ts +13 -0
- package/build/src/strategies/go-yoshi.js +106 -0
- package/build/src/strategies/go.d.ts +5 -0
- package/build/src/{releasers → strategies}/go.js +11 -12
- package/build/src/strategies/helm.d.ts +8 -0
- package/build/src/strategies/helm.js +63 -0
- package/build/src/strategies/java-yoshi.d.ts +24 -0
- package/build/src/strategies/java-yoshi.js +203 -0
- package/build/src/strategies/krm-blueprint.d.ts +7 -0
- package/build/src/{releasers → strategies}/krm-blueprint.js +26 -22
- package/build/src/strategies/node.d.ts +9 -0
- package/build/src/strategies/node.js +82 -0
- package/build/src/strategies/ocaml.d.ts +5 -0
- package/build/src/{releasers → strategies}/ocaml.js +34 -28
- package/build/src/strategies/php-yoshi.d.ts +10 -0
- package/build/src/strategies/php-yoshi.js +213 -0
- package/build/src/strategies/php.d.ts +6 -0
- package/build/src/{releasers → strategies}/php.js +24 -23
- package/build/src/strategies/python.d.ts +8 -0
- package/build/src/strategies/python.js +117 -0
- package/build/src/strategies/ruby-yoshi.d.ts +17 -0
- package/build/src/strategies/ruby-yoshi.js +116 -0
- package/build/src/strategies/ruby.d.ts +13 -0
- package/build/src/{releasers → strategies}/ruby.js +26 -27
- package/build/src/strategies/rust.d.ts +20 -0
- package/build/src/strategies/rust.js +120 -0
- package/build/src/strategies/simple.d.ts +5 -0
- package/build/src/{releasers → strategies}/simple.js +18 -14
- package/build/src/strategies/terraform-module.d.ts +7 -0
- package/build/src/{releasers → strategies}/terraform-module.js +29 -23
- package/build/src/strategy.d.ts +100 -0
- package/build/src/strategy.js +233 -0
- package/build/src/update.d.ts +23 -0
- package/build/src/{updaters/update.js → update.js} +1 -1
- package/build/src/updaters/changelog.d.ts +7 -10
- package/build/src/updaters/changelog.js +3 -9
- package/build/src/updaters/changelog.js.map +1 -1
- package/build/src/updaters/composite.d.ts +19 -0
- package/build/src/updaters/composite.js +42 -0
- package/build/src/updaters/dart/pubspec-yaml.d.ts +12 -0
- package/build/src/updaters/{pubspec-yaml.js → dart/pubspec-yaml.js} +13 -12
- package/build/src/updaters/default.d.ts +21 -0
- package/build/src/updaters/{version-txt.js → default.js} +16 -10
- package/build/src/updaters/dotnet/csproj.d.ts +12 -0
- package/build/src/updaters/{java/google-utils.js → dotnet/csproj.js} +16 -13
- package/build/src/updaters/elixir/elixir-mix-exs.d.ts +12 -0
- package/build/src/updaters/{elixir-mix-exs.js → elixir/elixir-mix-exs.js} +12 -10
- package/build/src/updaters/helm/chart-yaml.d.ts +10 -11
- package/build/src/updaters/helm/chart-yaml.js +12 -10
- package/build/src/updaters/java/java-update.d.ts +14 -0
- package/build/src/updaters/java/{java_update.js → java-update.js} +22 -22
- package/build/src/updaters/java/versions-manifest.d.ts +12 -2
- package/build/src/updaters/java/versions-manifest.js +20 -4
- package/build/src/updaters/krm/krm-blueprint-version.d.ts +10 -11
- package/build/src/updaters/krm/krm-blueprint-version.js +13 -12
- package/build/src/updaters/node/package-json.d.ts +12 -0
- package/build/src/updaters/{package-json.js → node/package-json.js} +14 -16
- package/build/src/updaters/node/package-lock-json.d.ts +8 -0
- package/build/src/updaters/node/package-lock-json.js +36 -0
- package/build/src/updaters/node/samples-package-json.d.ts +23 -0
- package/build/src/updaters/{samples-package-json.js → node/samples-package-json.js} +19 -8
- package/build/src/updaters/ocaml/dune-project.d.ts +10 -11
- package/build/src/updaters/ocaml/dune-project.js +11 -9
- package/build/src/updaters/ocaml/esy-json.d.ts +10 -11
- package/build/src/updaters/ocaml/esy-json.js +12 -10
- package/build/src/updaters/ocaml/opam.d.ts +10 -11
- package/build/src/updaters/ocaml/opam.js +11 -9
- package/build/src/updaters/php/php-client-version.d.ts +12 -0
- package/build/src/updaters/{php-client-version.js → php/php-client-version.js} +10 -9
- package/build/src/updaters/php/php-manifest.d.ts +13 -0
- package/build/src/updaters/{php-manifest.js → php/php-manifest.js} +17 -15
- package/build/src/updaters/php/root-composer-update-packages.d.ts +12 -0
- package/build/src/updaters/{root-composer-update-packages.js → php/root-composer-update-packages.js} +17 -16
- package/build/src/updaters/python/pyproject-toml.d.ts +10 -11
- package/build/src/updaters/python/pyproject-toml.js +13 -11
- package/build/src/updaters/python/python-file-with-version.d.ts +7 -11
- package/build/src/updaters/python/python-file-with-version.js +7 -8
- package/build/src/updaters/python/setup-cfg.d.ts +10 -11
- package/build/src/updaters/python/setup-cfg.js +10 -8
- package/build/src/updaters/python/setup-py.d.ts +10 -11
- package/build/src/updaters/python/setup-py.js +10 -8
- package/build/src/updaters/raw-content.d.ts +19 -0
- package/build/src/{plugins/index.js → updaters/raw-content.js} +23 -12
- package/build/src/updaters/release-please-config.d.ts +8 -0
- package/build/src/updaters/release-please-config.js +41 -0
- package/build/src/updaters/release-please-manifest.d.ts +2 -11
- package/build/src/updaters/release-please-manifest.js +11 -14
- package/build/src/updaters/ruby/version-rb.d.ts +12 -0
- package/build/src/updaters/{version-rb.js → ruby/version-rb.js} +10 -8
- package/build/src/updaters/rust/cargo-lock.d.ts +7 -11
- package/build/src/updaters/rust/cargo-lock.js +14 -16
- package/build/src/updaters/rust/cargo-toml.d.ts +7 -11
- package/build/src/updaters/rust/cargo-toml.js +19 -21
- package/build/src/updaters/terraform/module-version.d.ts +10 -11
- package/build/src/updaters/terraform/module-version.js +11 -9
- package/build/src/updaters/terraform/readme.d.ts +10 -11
- package/build/src/updaters/terraform/readme.js +11 -10
- package/build/src/updaters/terraform/readme.js.map +1 -1
- package/build/src/util/branch-name.d.ts +5 -4
- package/build/src/util/branch-name.js +13 -10
- package/build/src/{commit-split.d.ts → util/commit-split.d.ts} +2 -4
- package/build/src/{commit-split.js → util/commit-split.js} +4 -2
- package/build/src/util/indent-commit.d.ts +1 -1
- package/build/src/util/logger.d.ts +5 -2
- package/build/src/util/logger.js +9 -4
- package/build/src/util/pull-request-body.d.ts +20 -0
- package/build/src/util/pull-request-body.js +129 -0
- package/build/src/util/pull-request-title.d.ts +8 -6
- package/build/src/util/pull-request-title.js +20 -6
- package/build/src/util/tag-name.d.ts +9 -0
- package/build/src/util/tag-name.js +41 -0
- package/build/src/{updaters → util}/toml-edit.d.ts +0 -0
- package/build/src/{updaters → util}/toml-edit.js +0 -0
- package/build/src/version.d.ts +11 -0
- package/build/src/version.js +45 -0
- package/build/src/versioning-strategies/always-bump-patch.d.ts +7 -0
- package/build/src/{updaters/package-lock-json.js → versioning-strategies/always-bump-patch.js} +8 -11
- package/build/src/versioning-strategies/default.d.ts +15 -0
- package/build/src/versioning-strategies/default.js +67 -0
- package/build/src/versioning-strategies/dependency-manifest.d.ts +7 -0
- package/build/src/versioning-strategies/dependency-manifest.js +90 -0
- package/build/src/versioning-strategies/java-add-snapshot.d.ts +9 -0
- package/build/src/versioning-strategies/java-add-snapshot.js +53 -0
- package/build/src/versioning-strategies/java-snapshot.d.ts +9 -0
- package/build/src/versioning-strategies/java-snapshot.js +67 -0
- package/build/src/versioning-strategies/service-pack.d.ts +7 -0
- package/build/src/versioning-strategies/service-pack.js +40 -0
- package/build/src/versioning-strategy.d.ts +28 -0
- package/build/src/versioning-strategy.js +55 -0
- package/package.json +9 -8
- package/build/src/constants.d.ts +0 -6
- package/build/src/constants.js +0 -23
- package/build/src/conventional-commits.d.ts +0 -53
- package/build/src/conventional-commits.js +0 -167
- package/build/src/github-release.d.ts +0 -34
- package/build/src/github-release.js +0 -92
- package/build/src/graphql-to-commits.d.ts +0 -60
- package/build/src/graphql-to-commits.js +0 -112
- package/build/src/index.d.ts +0 -94
- package/build/src/index.js +0 -32
- package/build/src/plugins/index.d.ts +0 -5
- package/build/src/plugins/plugin.d.ts +0 -21
- package/build/src/release-pr.d.ts +0 -101
- package/build/src/release-pr.js +0 -461
- package/build/src/releasers/dart.d.ts +0 -9
- package/build/src/releasers/dart.js +0 -65
- package/build/src/releasers/elixir.d.ts +0 -5
- package/build/src/releasers/go-yoshi.d.ts +0 -10
- package/build/src/releasers/go-yoshi.js +0 -162
- package/build/src/releasers/go.d.ts +0 -6
- package/build/src/releasers/helm.d.ts +0 -9
- package/build/src/releasers/helm.js +0 -66
- package/build/src/releasers/index.d.ts +0 -7
- package/build/src/releasers/index.js +0 -76
- package/build/src/releasers/java/bump_type.d.ts +0 -4
- package/build/src/releasers/java/bump_type.js +0 -38
- package/build/src/releasers/java/stability.d.ts +0 -5
- package/build/src/releasers/java/stability.js +0 -37
- package/build/src/releasers/java/version.d.ts +0 -13
- package/build/src/releasers/java/version.js +0 -112
- package/build/src/releasers/java-backport.d.ts +0 -9
- package/build/src/releasers/java-backport.js +0 -43
- package/build/src/releasers/java-bom.d.ts +0 -16
- package/build/src/releasers/java-bom.js +0 -83
- package/build/src/releasers/java-lts.d.ts +0 -9
- package/build/src/releasers/java-lts.js +0 -47
- package/build/src/releasers/java-yoshi.d.ts +0 -28
- package/build/src/releasers/java-yoshi.js +0 -304
- package/build/src/releasers/krm-blueprint.d.ts +0 -6
- package/build/src/releasers/node.d.ts +0 -10
- package/build/src/releasers/node.js +0 -84
- package/build/src/releasers/ocaml.d.ts +0 -5
- package/build/src/releasers/php-yoshi.d.ts +0 -5
- package/build/src/releasers/php-yoshi.js +0 -191
- package/build/src/releasers/php.d.ts +0 -7
- package/build/src/releasers/python.d.ts +0 -11
- package/build/src/releasers/python.js +0 -127
- package/build/src/releasers/ruby-yoshi.d.ts +0 -5
- package/build/src/releasers/ruby-yoshi.js +0 -142
- package/build/src/releasers/ruby.d.ts +0 -11
- package/build/src/releasers/rust.d.ts +0 -30
- package/build/src/releasers/rust.js +0 -163
- package/build/src/releasers/simple.d.ts +0 -5
- package/build/src/releasers/terraform-module.d.ts +0 -6
- package/build/src/updaters/elixir-mix-exs.d.ts +0 -13
- package/build/src/updaters/java/google-utils.d.ts +0 -13
- package/build/src/updaters/java/java_update.d.ts +0 -13
- package/build/src/updaters/java/pom-xml.d.ts +0 -3
- package/build/src/updaters/java/readme.d.ts +0 -3
- package/build/src/updaters/java/readme.js.map +0 -1
- package/build/src/updaters/package-json.d.ts +0 -16
- package/build/src/updaters/package-lock-json.d.ts +0 -7
- package/build/src/updaters/php-client-version.d.ts +0 -13
- package/build/src/updaters/php-manifest.d.ts +0 -13
- package/build/src/updaters/pubspec-yaml.d.ts +0 -13
- package/build/src/updaters/root-composer-update-package.d.ts +0 -13
- package/build/src/updaters/root-composer-update-package.js +0 -45
- package/build/src/updaters/root-composer-update-packages.d.ts +0 -13
- package/build/src/updaters/samples-package-json.d.ts +0 -13
- package/build/src/updaters/update.d.ts +0 -20
- package/build/src/updaters/version-rb.d.ts +0 -13
- package/build/src/updaters/version-txt.d.ts +0 -12
- package/build/src/updaters/version.d.ts +0 -13
- package/build/src/updaters/version.js +0 -31
- package/build/src/util/checkpoint.d.ts +0 -6
- package/build/src/util/checkpoint.js +0 -33
- package/build/src/util/release-notes.d.ts +0 -7
- package/build/src/util/release-notes.js +0 -34
- package/build/src/util/to-conventional-changelog-format.d.ts +0 -2
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2021 Google LLC
|
|
3
|
+
//
|
|
4
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
// you may not use this file except in compliance with the License.
|
|
6
|
+
// You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.Bootstrapper = void 0;
|
|
17
|
+
const manifest_1 = require("./manifest");
|
|
18
|
+
const version_1 = require("./version");
|
|
19
|
+
const release_please_manifest_1 = require("./updaters/release-please-manifest");
|
|
20
|
+
const release_please_config_1 = require("./updaters/release-please-config");
|
|
21
|
+
class Bootstrapper {
|
|
22
|
+
constructor(github, targetBranch, manifestFile = manifest_1.DEFAULT_RELEASE_PLEASE_MANIFEST, configFile = manifest_1.DEFAULT_RELEASE_PLEASE_CONFIG, initialVersionString = '0.0.0') {
|
|
23
|
+
this.github = github;
|
|
24
|
+
this.targetBranch = targetBranch;
|
|
25
|
+
this.manifestFile = manifestFile;
|
|
26
|
+
this.configFile = configFile;
|
|
27
|
+
this.initialVersion = version_1.Version.parse(initialVersionString);
|
|
28
|
+
}
|
|
29
|
+
async bootstrap(path, config) {
|
|
30
|
+
const message = `chore: bootstrap releases for path: ${path}`;
|
|
31
|
+
const branchName = path === manifest_1.ROOT_PROJECT_PATH ? 'default' : path;
|
|
32
|
+
const pullRequest = {
|
|
33
|
+
headBranchName: `release-please/bootstrap/${branchName}`,
|
|
34
|
+
baseBranchName: this.targetBranch,
|
|
35
|
+
number: -1,
|
|
36
|
+
title: message,
|
|
37
|
+
body: `Configuring release-please for path: ${path}`,
|
|
38
|
+
labels: [],
|
|
39
|
+
files: [],
|
|
40
|
+
};
|
|
41
|
+
const version = this.initialVersion;
|
|
42
|
+
const versionsMap = new Map();
|
|
43
|
+
versionsMap.set(path, version);
|
|
44
|
+
const updates = [
|
|
45
|
+
{
|
|
46
|
+
path: this.manifestFile,
|
|
47
|
+
createIfMissing: true,
|
|
48
|
+
updater: new release_please_manifest_1.ReleasePleaseManifest({ version, versionsMap }),
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
path: this.configFile,
|
|
52
|
+
createIfMissing: true,
|
|
53
|
+
updater: new release_please_config_1.ReleasePleaseConfig(path, config),
|
|
54
|
+
},
|
|
55
|
+
];
|
|
56
|
+
return await this.github.createPullRequest(pullRequest, this.targetBranch, message, updates, {});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.Bootstrapper = Bootstrapper;
|
|
60
|
+
//# sourceMappingURL=bootstrapper.js.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ChangelogSection, ChangelogNotes, BuildNotesOptions } from '../changelog-notes';
|
|
2
|
+
import { ConventionalCommit } from '../commit';
|
|
3
|
+
interface DefaultChangelogNotesOptions {
|
|
4
|
+
changelogSections?: ChangelogSection[];
|
|
5
|
+
commitPartial?: string;
|
|
6
|
+
headerPartial?: string;
|
|
7
|
+
mainTemplate?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare class DefaultChangelogNotes implements ChangelogNotes {
|
|
10
|
+
private changelogSections?;
|
|
11
|
+
private commitPartial?;
|
|
12
|
+
private headerPartial?;
|
|
13
|
+
private mainTemplate?;
|
|
14
|
+
constructor(options?: DefaultChangelogNotesOptions);
|
|
15
|
+
buildNotes(commits: ConventionalCommit[], options: BuildNotesOptions): Promise<string>;
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2021 Google LLC
|
|
3
|
+
//
|
|
4
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
// you may not use this file except in compliance with the License.
|
|
6
|
+
// You may obtain a copy of the License at
|
|
7
|
+
//
|
|
8
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
//
|
|
10
|
+
// Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
// See the License for the specific language governing permissions and
|
|
14
|
+
// limitations under the License.
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.DefaultChangelogNotes = void 0;
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
18
|
+
const conventionalChangelogWriter = require('conventional-changelog-writer');
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
20
|
+
const presetFactory = require('conventional-changelog-conventionalcommits');
|
|
21
|
+
const DEFAULT_HOST = 'https://github.com';
|
|
22
|
+
class DefaultChangelogNotes {
|
|
23
|
+
constructor(options = {}) {
|
|
24
|
+
this.changelogSections = options.changelogSections;
|
|
25
|
+
this.commitPartial = options.commitPartial;
|
|
26
|
+
this.headerPartial = options.headerPartial;
|
|
27
|
+
this.mainTemplate = options.mainTemplate;
|
|
28
|
+
}
|
|
29
|
+
async buildNotes(commits, options) {
|
|
30
|
+
const context = {
|
|
31
|
+
host: options.host || DEFAULT_HOST,
|
|
32
|
+
owner: options.owner,
|
|
33
|
+
repository: options.repository,
|
|
34
|
+
version: options.version,
|
|
35
|
+
previousTag: options.previousTag,
|
|
36
|
+
currentTag: options.currentTag,
|
|
37
|
+
linkCompare: !!options.previousTag,
|
|
38
|
+
};
|
|
39
|
+
const config = {};
|
|
40
|
+
if (this.changelogSections) {
|
|
41
|
+
config.types = this.changelogSections;
|
|
42
|
+
}
|
|
43
|
+
const preset = await presetFactory(config);
|
|
44
|
+
preset.writerOpts.commitPartial =
|
|
45
|
+
this.commitPartial || preset.writerOpts.commitPartial;
|
|
46
|
+
preset.writerOpts.headerPartial =
|
|
47
|
+
this.headerPartial || preset.writerOpts.headerPartial;
|
|
48
|
+
preset.writerOpts.mainTemplate =
|
|
49
|
+
this.mainTemplate || preset.writerOpts.mainTemplate;
|
|
50
|
+
const changelogCommits = commits.map(commit => {
|
|
51
|
+
return {
|
|
52
|
+
body: '',
|
|
53
|
+
subject: commit.bareMessage,
|
|
54
|
+
type: commit.type,
|
|
55
|
+
scope: commit.scope,
|
|
56
|
+
notes: commit.notes,
|
|
57
|
+
references: commit.references,
|
|
58
|
+
mentions: [],
|
|
59
|
+
merge: null,
|
|
60
|
+
revert: null,
|
|
61
|
+
header: commit.message,
|
|
62
|
+
footer: null,
|
|
63
|
+
hash: commit.sha,
|
|
64
|
+
};
|
|
65
|
+
});
|
|
66
|
+
return conventionalChangelogWriter
|
|
67
|
+
.parseArray(changelogCommits, context, preset.writerOpts)
|
|
68
|
+
.trim();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.DefaultChangelogNotes = DefaultChangelogNotes;
|
|
72
|
+
//# sourceMappingURL=default.js.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ConventionalCommit } from './commit';
|
|
2
|
+
export interface BuildNotesOptions {
|
|
3
|
+
host?: string;
|
|
4
|
+
owner: string;
|
|
5
|
+
repository: string;
|
|
6
|
+
version: string;
|
|
7
|
+
previousTag?: string;
|
|
8
|
+
currentTag: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ChangelogNotes {
|
|
11
|
+
buildNotes(commits: ConventionalCommit[], options: BuildNotesOptions): Promise<string>;
|
|
12
|
+
}
|
|
13
|
+
export interface ChangelogSection {
|
|
14
|
+
type: string;
|
|
15
|
+
section: string;
|
|
16
|
+
hidden?: boolean;
|
|
17
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// Copyright
|
|
2
|
+
// Copyright 2021 Google LLC
|
|
3
3
|
//
|
|
4
4
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
// you may not use this file except in compliance with the License.
|
|
@@ -13,9 +13,4 @@
|
|
|
13
13
|
// See the License for the specific language governing permissions and
|
|
14
14
|
// limitations under the License.
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
|
|
17
|
-
const java_update_1 = require("./java_update");
|
|
18
|
-
class Readme extends java_update_1.JavaUpdate {
|
|
19
|
-
}
|
|
20
|
-
exports.Readme = Readme;
|
|
21
|
-
//# sourceMappingURL=readme.js.map
|
|
16
|
+
//# sourceMappingURL=changelog-notes.js.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { PullRequest } from './pull-request';
|
|
2
|
+
import * as parser from '@conventional-commits/parser';
|
|
3
|
+
export interface Commit {
|
|
4
|
+
sha: string;
|
|
5
|
+
message: string;
|
|
6
|
+
files: string[];
|
|
7
|
+
pullRequest?: PullRequest;
|
|
8
|
+
}
|
|
9
|
+
export interface ConventionalCommit extends Commit {
|
|
10
|
+
type: string;
|
|
11
|
+
scope: string | null;
|
|
12
|
+
notes: parser.Note[];
|
|
13
|
+
references: parser.Reference[];
|
|
14
|
+
bareMessage: string;
|
|
15
|
+
breaking: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Given a list of raw commits, parse and expand into conventional commits.
|
|
19
|
+
*
|
|
20
|
+
* @param commits {Commit[]} The input commits
|
|
21
|
+
*
|
|
22
|
+
* @returns {ConventionalCommit[]} Parsed and expanded commits. There may be
|
|
23
|
+
* more commits returned as a single raw commit may contain multiple release
|
|
24
|
+
* messages.
|
|
25
|
+
*/
|
|
26
|
+
export declare function parseConventionalCommits(commits: Commit[]): ConventionalCommit[];
|
|
@@ -13,12 +13,16 @@
|
|
|
13
13
|
// See the License for the specific language governing permissions and
|
|
14
14
|
// limitations under the License.
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.parseConventionalCommits = void 0;
|
|
16
17
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
17
18
|
const visit = require('unist-util-visit');
|
|
18
19
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
19
20
|
const visitWithAncestors = require('unist-util-visit-parents');
|
|
20
21
|
const NUMBER_REGEX = /^[0-9]+$/;
|
|
22
|
+
const logger_1 = require("./util/logger");
|
|
21
23
|
const parser = require("@conventional-commits/parser");
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
25
|
+
const conventionalCommitsFilter = require('conventional-commits-filter');
|
|
22
26
|
function getBlankConventionalCommit() {
|
|
23
27
|
return {
|
|
24
28
|
body: '',
|
|
@@ -200,6 +204,15 @@ function toConventionalChangelogFormat(ast) {
|
|
|
200
204
|
// Any footers that carry semantic meaning, e.g., Release-As, should
|
|
201
205
|
// be added to the footer field, for the benefits of post-processing:
|
|
202
206
|
if (semanticFooter) {
|
|
207
|
+
let releaseAs = '';
|
|
208
|
+
visit(parent, ['text'], (node) => {
|
|
209
|
+
releaseAs = node.value;
|
|
210
|
+
});
|
|
211
|
+
// record Release-As footer as a note
|
|
212
|
+
headerCommit.notes.push({
|
|
213
|
+
title: 'RELEASE AS',
|
|
214
|
+
text: releaseAs,
|
|
215
|
+
});
|
|
203
216
|
if (!headerCommit.footer)
|
|
204
217
|
headerCommit.footer = '';
|
|
205
218
|
headerCommit.footer += `\n${footerText.toLowerCase()}`.trimStart();
|
|
@@ -217,5 +230,87 @@ function toConventionalChangelogFormat(ast) {
|
|
|
217
230
|
commits.push(headerCommit);
|
|
218
231
|
return commits;
|
|
219
232
|
}
|
|
220
|
-
|
|
221
|
-
|
|
233
|
+
// TODO(@bcoe): now that we walk the actual AST of conventional commits
|
|
234
|
+
// we should be able to move post processing into
|
|
235
|
+
// to-conventional-changelog.ts.
|
|
236
|
+
function postProcessCommits(commit) {
|
|
237
|
+
commit.notes.forEach(note => {
|
|
238
|
+
let text = '';
|
|
239
|
+
let i = 0;
|
|
240
|
+
let extendedContext = false;
|
|
241
|
+
for (const chunk of note.text.split(/\r?\n/)) {
|
|
242
|
+
if (i > 0 && hasExtendedContext(chunk) && !extendedContext) {
|
|
243
|
+
text = `${text.trim()}\n`;
|
|
244
|
+
extendedContext = true;
|
|
245
|
+
}
|
|
246
|
+
if (chunk === '')
|
|
247
|
+
break;
|
|
248
|
+
else if (extendedContext) {
|
|
249
|
+
text += ` ${chunk}\n`;
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
text += `${chunk} `;
|
|
253
|
+
}
|
|
254
|
+
i++;
|
|
255
|
+
}
|
|
256
|
+
note.text = text.trim();
|
|
257
|
+
});
|
|
258
|
+
return commit;
|
|
259
|
+
}
|
|
260
|
+
// If someone wishes to include additional contextual information for a
|
|
261
|
+
// BREAKING CHANGE using markdown, they can do so by starting the line after the initial
|
|
262
|
+
// breaking change description with either:
|
|
263
|
+
//
|
|
264
|
+
// 1. a fourth-level header.
|
|
265
|
+
// 2. a bulleted list (using either '*' or '-').
|
|
266
|
+
//
|
|
267
|
+
// BREAKING CHANGE: there were breaking changes
|
|
268
|
+
// #### Deleted Endpoints
|
|
269
|
+
// - endpoint 1
|
|
270
|
+
// - endpoint 2
|
|
271
|
+
function hasExtendedContext(line) {
|
|
272
|
+
if (line.match(/^#### |^[*-] /))
|
|
273
|
+
return true;
|
|
274
|
+
return false;
|
|
275
|
+
}
|
|
276
|
+
function parseCommits(message) {
|
|
277
|
+
return conventionalCommitsFilter(toConventionalChangelogFormat(parser.parser(message))).map(postProcessCommits);
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Given a list of raw commits, parse and expand into conventional commits.
|
|
281
|
+
*
|
|
282
|
+
* @param commits {Commit[]} The input commits
|
|
283
|
+
*
|
|
284
|
+
* @returns {ConventionalCommit[]} Parsed and expanded commits. There may be
|
|
285
|
+
* more commits returned as a single raw commit may contain multiple release
|
|
286
|
+
* messages.
|
|
287
|
+
*/
|
|
288
|
+
function parseConventionalCommits(commits) {
|
|
289
|
+
const conventionalCommits = [];
|
|
290
|
+
for (const commit of commits) {
|
|
291
|
+
try {
|
|
292
|
+
for (const parsedCommit of parseCommits(commit.message)) {
|
|
293
|
+
const breaking = parsedCommit.notes.filter(note => note.title === 'BREAKING CHANGE')
|
|
294
|
+
.length > 0;
|
|
295
|
+
conventionalCommits.push({
|
|
296
|
+
sha: commit.sha,
|
|
297
|
+
message: parsedCommit.header,
|
|
298
|
+
files: commit.files,
|
|
299
|
+
pullRequest: commit.pullRequest,
|
|
300
|
+
type: parsedCommit.type,
|
|
301
|
+
scope: parsedCommit.scope,
|
|
302
|
+
bareMessage: parsedCommit.subject,
|
|
303
|
+
notes: parsedCommit.notes,
|
|
304
|
+
references: parsedCommit.references,
|
|
305
|
+
breaking,
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
catch (_err) {
|
|
310
|
+
logger_1.logger.debug(`commit could not be parsed: ${commit.sha} ${commit.message.split('\n')[0]}`);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
return conventionalCommits;
|
|
314
|
+
}
|
|
315
|
+
exports.parseConventionalCommits = parseConventionalCommits;
|
|
316
|
+
//# sourceMappingURL=commit.js.map
|
|
@@ -29,9 +29,4 @@ export declare class DuplicateReleaseError extends GitHubAPIError {
|
|
|
29
29
|
tag: string;
|
|
30
30
|
constructor(requestError: RequestError, tag: string);
|
|
31
31
|
}
|
|
32
|
-
export declare class MissingReleaseNotesError extends Error {
|
|
33
|
-
changelogContents: string;
|
|
34
|
-
version: string;
|
|
35
|
-
constructor(changelogContents: string, version: string);
|
|
36
|
-
}
|
|
37
32
|
export {};
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
// See the License for the specific language governing permissions and
|
|
14
14
|
// limitations under the License.
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.
|
|
16
|
+
exports.DuplicateReleaseError = exports.AuthError = exports.GitHubAPIError = exports.MissingRequiredFileError = exports.ConfigurationError = void 0;
|
|
17
17
|
class ConfigurationError extends Error {
|
|
18
18
|
constructor(message, releaserName, repository) {
|
|
19
19
|
super(`${releaserName} (${repository}): ${message}`);
|
|
@@ -65,13 +65,4 @@ class DuplicateReleaseError extends GitHubAPIError {
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
exports.DuplicateReleaseError = DuplicateReleaseError;
|
|
68
|
-
class MissingReleaseNotesError extends Error {
|
|
69
|
-
constructor(changelogContents, version) {
|
|
70
|
-
super(`could not find changelog entry corresponding to release ${version}`);
|
|
71
|
-
this.changelogContents = changelogContents;
|
|
72
|
-
this.version = version;
|
|
73
|
-
this.name = MissingReleaseNotesError.name;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
exports.MissingReleaseNotesError = MissingReleaseNotesError;
|
|
77
68
|
//# sourceMappingURL=index.js.map
|
package/build/src/factory.d.ts
CHANGED
|
@@ -1,38 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export declare
|
|
8
|
-
export declare
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
export declare
|
|
15
|
-
|
|
16
|
-
export declare type
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
declare function
|
|
26
|
-
declare function releasePR(options: ReleasePRFactoryOptions): ReleasePR;
|
|
27
|
-
declare function gitHubInstance(options: GitHubFactoryOptions): GitHub;
|
|
28
|
-
declare function releasePRClass(releaseType?: ReleaseType): typeof ReleasePR;
|
|
29
|
-
export declare const factory: {
|
|
30
|
-
gitHubInstance: typeof gitHubInstance;
|
|
31
|
-
githubRelease: typeof githubRelease;
|
|
32
|
-
manifest: typeof manifest;
|
|
33
|
-
releasePR: typeof releasePR;
|
|
34
|
-
releasePRClass: typeof releasePRClass;
|
|
35
|
-
call: typeof call;
|
|
36
|
-
runCommand: typeof runCommand;
|
|
37
|
-
};
|
|
1
|
+
import { Strategy } from './strategy';
|
|
2
|
+
import { GitHub } from './github';
|
|
3
|
+
import { ReleaserConfig, PluginType, RepositoryConfig } from './manifest';
|
|
4
|
+
import { ManifestPlugin } from './plugin';
|
|
5
|
+
declare const allReleaseTypes: readonly ["dart", "elixir", "go", "go-yoshi", "helm", "java-backport", "java-bom", "java-lts", "java-yoshi", "krm-blueprint", "node", "ocaml", "php", "php-yoshi", "python", "ruby", "ruby-yoshi", "rust", "simple", "terraform-module"];
|
|
6
|
+
export declare type ReleaseType = typeof allReleaseTypes[number];
|
|
7
|
+
export declare function getReleaserTypes(): readonly ReleaseType[];
|
|
8
|
+
export declare function getVersioningStrategyTypes(): readonly VersioningStrategyType[];
|
|
9
|
+
export interface StrategyFactoryOptions extends ReleaserConfig {
|
|
10
|
+
github: GitHub;
|
|
11
|
+
path?: string;
|
|
12
|
+
targetBranch?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function buildStrategy(options: StrategyFactoryOptions): Promise<Strategy>;
|
|
15
|
+
declare const allVersioningTypes: readonly ["default", "always-bump-patch", "service-pack"];
|
|
16
|
+
export declare type VersioningStrategyType = typeof allVersioningTypes[number];
|
|
17
|
+
interface PluginFactoryOptions {
|
|
18
|
+
type: PluginType;
|
|
19
|
+
github: GitHub;
|
|
20
|
+
targetBranch: string;
|
|
21
|
+
repositoryConfig: RepositoryConfig;
|
|
22
|
+
alwaysLinkLocal?: boolean;
|
|
23
|
+
updateAllPackages?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export declare function buildPlugin(options: PluginFactoryOptions): ManifestPlugin;
|
|
38
26
|
export {};
|