release-please 16.9.0 → 16.10.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.
package/README.md CHANGED
@@ -182,6 +182,7 @@ Release Please automates releases for the following flavors of repositories:
182
182
 
183
183
  | release type | description |
184
184
  |---------------------|---------------------------------------------------------|
185
+ | `bazel` | [A Bazel module, with a MODULE.bazel and a CHANGELOG.md](https://bazel.build/external/module) |
185
186
  | `dart` | A repository with a pubspec.yaml and a CHANGELOG.md |
186
187
  | `elixir` | A repository with a mix.exs and a CHANGELOG.md |
187
188
  | `go` | A repository with a CHANGELOG.md |
@@ -1,7 +1,7 @@
1
- import { Strategy } from './strategy';
2
1
  import { GitHub } from './github';
3
2
  import { ReleaserConfig } from './manifest';
4
3
  import { BaseStrategyOptions } from './strategies/base';
4
+ import { Strategy } from './strategy';
5
5
  export * from './factories/changelog-notes-factory';
6
6
  export * from './factories/plugin-factory';
7
7
  export * from './factories/versioning-strategy-factory';
@@ -28,11 +28,23 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
28
28
  };
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.getReleaserTypes = exports.unregisterReleaseType = exports.registerReleaseType = exports.buildStrategy = void 0;
31
+ const errors_1 = require("./errors");
32
+ const changelog_notes_factory_1 = require("./factories/changelog-notes-factory");
33
+ const versioning_strategy_factory_1 = require("./factories/versioning-strategy-factory");
34
+ const bazel_1 = require("./strategies/bazel");
35
+ const dart_1 = require("./strategies/dart");
36
+ const dotnet_yoshi_1 = require("./strategies/dotnet-yoshi");
37
+ const elixir_1 = require("./strategies/elixir");
38
+ const expo_1 = require("./strategies/expo");
31
39
  const go_1 = require("./strategies/go");
32
40
  const go_yoshi_1 = require("./strategies/go-yoshi");
41
+ const helm_1 = require("./strategies/helm");
42
+ const java_1 = require("./strategies/java");
33
43
  const java_yoshi_1 = require("./strategies/java-yoshi");
34
44
  const java_yoshi_mono_repo_1 = require("./strategies/java-yoshi-mono-repo");
35
45
  const krm_blueprint_1 = require("./strategies/krm-blueprint");
46
+ const maven_1 = require("./strategies/maven");
47
+ const node_1 = require("./strategies/node");
36
48
  const ocaml_1 = require("./strategies/ocaml");
37
49
  const php_1 = require("./strategies/php");
38
50
  const php_yoshi_1 = require("./strategies/php-yoshi");
@@ -43,20 +55,9 @@ const rust_1 = require("./strategies/rust");
43
55
  const sfdx_1 = require("./strategies/sfdx");
44
56
  const simple_1 = require("./strategies/simple");
45
57
  const terraform_module_1 = require("./strategies/terraform-module");
46
- const helm_1 = require("./strategies/helm");
47
- const elixir_1 = require("./strategies/elixir");
48
- const dart_1 = require("./strategies/dart");
49
- const node_1 = require("./strategies/node");
50
- const expo_1 = require("./strategies/expo");
51
58
  const always_bump_patch_1 = require("./versioning-strategies/always-bump-patch");
52
- const service_pack_1 = require("./versioning-strategies/service-pack");
53
59
  const dependency_manifest_1 = require("./versioning-strategies/dependency-manifest");
54
- const dotnet_yoshi_1 = require("./strategies/dotnet-yoshi");
55
- const java_1 = require("./strategies/java");
56
- const maven_1 = require("./strategies/maven");
57
- const versioning_strategy_factory_1 = require("./factories/versioning-strategy-factory");
58
- const changelog_notes_factory_1 = require("./factories/changelog-notes-factory");
59
- const errors_1 = require("./errors");
60
+ const service_pack_1 = require("./versioning-strategies/service-pack");
60
61
  __exportStar(require("./factories/changelog-notes-factory"), exports);
61
62
  __exportStar(require("./factories/plugin-factory"), exports);
62
63
  __exportStar(require("./factories/versioning-strategy-factory"), exports);
@@ -100,6 +101,7 @@ const releasers = {
100
101
  helm: options => new helm_1.Helm(options),
101
102
  elixir: options => new elixir_1.Elixir(options),
102
103
  dart: options => new dart_1.Dart(options),
104
+ bazel: options => new bazel_1.Bazel(options),
103
105
  };
104
106
  async function buildStrategy(options) {
105
107
  var _a;
@@ -14,4 +14,4 @@ export { Logger, setLogger } from './util/logger';
14
14
  export { GitHub } from './github';
15
15
  export declare const configSchema: any;
16
16
  export declare const manifestSchema: any;
17
- export declare const VERSION = "16.9.0";
17
+ export declare const VERSION = "16.10.0";
@@ -36,6 +36,6 @@ Object.defineProperty(exports, "GitHub", { enumerable: true, get: function () {
36
36
  exports.configSchema = require('../../schemas/config.json');
37
37
  exports.manifestSchema = require('../../schemas/manifest.json');
38
38
  // x-release-please-start-version
39
- exports.VERSION = '16.9.0';
39
+ exports.VERSION = '16.10.0';
40
40
  // x-release-please-end
41
41
  //# sourceMappingURL=index.js.map
@@ -7,6 +7,11 @@ import { ReleasePullRequest } from './release-pull-request';
7
7
  import { ReleaseType, VersioningStrategyType, ChangelogNotesType } from './factory';
8
8
  import { Release } from './release';
9
9
  import { ManifestPlugin } from './plugin';
10
+ type ExtraGenericFile = {
11
+ type: 'generic';
12
+ path: string;
13
+ glob?: boolean;
14
+ };
10
15
  type ExtraJsonFile = {
11
16
  type: 'json';
12
17
  path: string;
@@ -36,7 +41,7 @@ type ExtraTomlFile = {
36
41
  jsonpath: string;
37
42
  glob?: boolean;
38
43
  };
39
- export type ExtraFile = string | ExtraJsonFile | ExtraYamlFile | ExtraXmlFile | ExtraPomFile | ExtraTomlFile;
44
+ export type ExtraFile = string | ExtraGenericFile | ExtraJsonFile | ExtraYamlFile | ExtraXmlFile | ExtraPomFile | ExtraTomlFile;
40
45
  /**
41
46
  * These are configurations provided to each strategy per-path.
42
47
  */
@@ -214,6 +214,13 @@ class BaseStrategy {
214
214
  const paths = await this.extraFilePaths(extraFile);
215
215
  for (const path of paths) {
216
216
  switch (extraFile.type) {
217
+ case 'generic':
218
+ extraFileUpdates.push({
219
+ path: this.addPath(path),
220
+ createIfMissing: false,
221
+ updater: new generic_1.Generic({ version, versionsMap }),
222
+ });
223
+ break;
217
224
  case 'json':
218
225
  extraFileUpdates.push({
219
226
  path: this.addPath(path),
@@ -0,0 +1,7 @@
1
+ import { Update } from '../update';
2
+ import { BaseStrategy, BaseStrategyOptions, BuildUpdatesOptions } from './base';
3
+ export declare class Bazel extends BaseStrategy {
4
+ readonly versionFile: string;
5
+ constructor(options: BaseStrategyOptions);
6
+ protected buildUpdates(options: BuildUpdatesOptions): Promise<Update[]>;
7
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ // Copyright 2024 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.Bazel = void 0;
17
+ const module_bazel_1 = require("../updaters/bazel/module-bazel");
18
+ const changelog_1 = require("../updaters/changelog");
19
+ const base_1 = require("./base");
20
+ class Bazel extends base_1.BaseStrategy {
21
+ constructor(options) {
22
+ var _a;
23
+ super(options);
24
+ this.versionFile = (_a = options.versionFile) !== null && _a !== void 0 ? _a : 'MODULE.bazel';
25
+ }
26
+ async buildUpdates(options) {
27
+ const updates = [];
28
+ const version = options.newVersion;
29
+ updates.push({
30
+ path: this.addPath(this.changelogPath),
31
+ createIfMissing: true,
32
+ updater: new changelog_1.Changelog({
33
+ version,
34
+ changelogEntry: options.changelogEntry,
35
+ }),
36
+ });
37
+ updates.push({
38
+ path: this.addPath(this.versionFile),
39
+ createIfMissing: false,
40
+ updater: new module_bazel_1.ModuleBazel({
41
+ version,
42
+ }),
43
+ });
44
+ return updates;
45
+ }
46
+ }
47
+ exports.Bazel = Bazel;
48
+ //# sourceMappingURL=bazel.js.map
@@ -190,6 +190,14 @@ class PHPYoshi extends base_1.BaseStrategy {
190
190
  changelogEntry: options.changelogEntry,
191
191
  }),
192
192
  });
193
+ // update VERSION file
194
+ updates.push({
195
+ path: this.addPath('VERSION'),
196
+ createIfMissing: false,
197
+ updater: new default_1.DefaultUpdater({
198
+ version,
199
+ }),
200
+ });
193
201
  // update the aggregate package information in the root composer.json
194
202
  updates.push({
195
203
  path: this.addPath('composer.json'),
@@ -0,0 +1,7 @@
1
+ import { DefaultUpdater } from '../default';
2
+ /**
3
+ * Updates a Bazel Module file.
4
+ */
5
+ export declare class ModuleBazel extends DefaultUpdater {
6
+ updateContent(content: string): string;
7
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ // Copyright 2024 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.ModuleBazel = void 0;
17
+ const default_1 = require("../default");
18
+ /**
19
+ * Updates a Bazel Module file.
20
+ */
21
+ class ModuleBazel extends default_1.DefaultUpdater {
22
+ updateContent(content) {
23
+ const match = content.match(/module[\s\S]*?\([\s\S]*?version\s*=\s*(['"])(.*?)\1/m);
24
+ if (!match) {
25
+ return content;
26
+ }
27
+ const [fullMatch, , version] = match;
28
+ const module = fullMatch.replace(version, this.version.toString());
29
+ return content.replace(fullMatch, module);
30
+ }
31
+ }
32
+ exports.ModuleBazel = ModuleBazel;
33
+ //# sourceMappingURL=module-bazel.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "release-please",
3
- "version": "16.9.0",
3
+ "version": "16.10.0",
4
4
  "description": "generate release PRs based on the conventionalcommits.org spec",
5
5
  "main": "./build/src/index.js",
6
6
  "bin": "./build/src/bin/release-please.js",