release-please 13.17.1 → 13.18.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/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,18 @@
|
|
|
4
4
|
|
|
5
5
|
[1]: https://www.npmjs.com/package/release-please?activeTab=versions
|
|
6
6
|
|
|
7
|
+
## [13.18.0](https://github.com/googleapis/release-please/compare/v13.17.1...v13.18.0) (2022-06-01)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* add support for generic yaml updater ([#1452](https://github.com/googleapis/release-please/issues/1452)) ([002231a](https://github.com/googleapis/release-please/commit/002231acfa49b3859a7eaee184a2b520eb6611d3))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* fix parsing of tags with major versions higher than 9 ([#1451](https://github.com/googleapis/release-please/issues/1451)) ([5fc402a](https://github.com/googleapis/release-please/commit/5fc402ae41cd5aba4be5155f90fbc39f9369817d))
|
|
18
|
+
|
|
7
19
|
### [13.17.1](https://github.com/googleapis/release-please/compare/v13.17.0...v13.17.1) (2022-05-27)
|
|
8
20
|
|
|
9
21
|
|
package/build/src/manifest.d.ts
CHANGED
|
@@ -10,6 +10,11 @@ declare type ExtraJsonFile = {
|
|
|
10
10
|
path: string;
|
|
11
11
|
jsonpath: string;
|
|
12
12
|
};
|
|
13
|
+
declare type ExtraYamlFile = {
|
|
14
|
+
type: 'yaml';
|
|
15
|
+
path: string;
|
|
16
|
+
jsonpath: string;
|
|
17
|
+
};
|
|
13
18
|
declare type ExtraXmlFile = {
|
|
14
19
|
type: 'xml';
|
|
15
20
|
path: string;
|
|
@@ -19,7 +24,7 @@ declare type ExtraPomFile = {
|
|
|
19
24
|
type: 'pom';
|
|
20
25
|
path: string;
|
|
21
26
|
};
|
|
22
|
-
export declare type ExtraFile = string | ExtraJsonFile | ExtraXmlFile | ExtraPomFile;
|
|
27
|
+
export declare type ExtraFile = string | ExtraJsonFile | ExtraYamlFile | ExtraXmlFile | ExtraPomFile;
|
|
23
28
|
/**
|
|
24
29
|
* These are configurations provided to each strategy per-path.
|
|
25
30
|
*/
|
|
@@ -29,6 +29,7 @@ const generic_1 = require("../updaters/generic");
|
|
|
29
29
|
const generic_json_1 = require("../updaters/generic-json");
|
|
30
30
|
const generic_xml_1 = require("../updaters/generic-xml");
|
|
31
31
|
const pom_xml_1 = require("../updaters/java/pom-xml");
|
|
32
|
+
const generic_yaml_1 = require("../updaters/generic-yaml");
|
|
32
33
|
const DEFAULT_CHANGELOG_PATH = 'CHANGELOG.md';
|
|
33
34
|
/**
|
|
34
35
|
* A strategy is responsible for determining which files are
|
|
@@ -183,6 +184,12 @@ class BaseStrategy {
|
|
|
183
184
|
createIfMissing: false,
|
|
184
185
|
updater: new generic_json_1.GenericJson(extraFile.jsonpath, version),
|
|
185
186
|
};
|
|
187
|
+
case 'yaml':
|
|
188
|
+
return {
|
|
189
|
+
path: this.addPath(extraFile.path),
|
|
190
|
+
createIfMissing: false,
|
|
191
|
+
updater: new generic_yaml_1.GenericYaml(extraFile.jsonpath, version),
|
|
192
|
+
};
|
|
186
193
|
case 'xml':
|
|
187
194
|
return {
|
|
188
195
|
path: this.addPath(extraFile.path),
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Updater } from '../update';
|
|
2
|
+
import { Version } from '../version';
|
|
3
|
+
/**
|
|
4
|
+
* Updates YAML document according to given JSONPath.
|
|
5
|
+
*
|
|
6
|
+
* Note that used parser does reformat the document and removes all comments,
|
|
7
|
+
* and converts everything to pure YAML (even JSON source).
|
|
8
|
+
* If you want to retain formatting, use generic updater with comment hints.
|
|
9
|
+
*
|
|
10
|
+
* When applied on multi-document file, it updates all documents.
|
|
11
|
+
*/
|
|
12
|
+
export declare class GenericYaml implements Updater {
|
|
13
|
+
readonly jsonpath: string;
|
|
14
|
+
readonly version: Version;
|
|
15
|
+
constructor(jsonpath: string, version: Version);
|
|
16
|
+
/**
|
|
17
|
+
* Given initial file contents, return updated contents.
|
|
18
|
+
* @param {string} content The initial content
|
|
19
|
+
* @returns {string} The updated content
|
|
20
|
+
*/
|
|
21
|
+
updateContent(content: string): string;
|
|
22
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2022 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.GenericYaml = void 0;
|
|
17
|
+
const jp = require("jsonpath");
|
|
18
|
+
const yaml = require("js-yaml");
|
|
19
|
+
const logger_1 = require("../util/logger");
|
|
20
|
+
const DOCUMENT_SEPARATOR = '---\n';
|
|
21
|
+
/**
|
|
22
|
+
* Updates YAML document according to given JSONPath.
|
|
23
|
+
*
|
|
24
|
+
* Note that used parser does reformat the document and removes all comments,
|
|
25
|
+
* and converts everything to pure YAML (even JSON source).
|
|
26
|
+
* If you want to retain formatting, use generic updater with comment hints.
|
|
27
|
+
*
|
|
28
|
+
* When applied on multi-document file, it updates all documents.
|
|
29
|
+
*/
|
|
30
|
+
class GenericYaml {
|
|
31
|
+
constructor(jsonpath, version) {
|
|
32
|
+
this.jsonpath = jsonpath;
|
|
33
|
+
this.version = version;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Given initial file contents, return updated contents.
|
|
37
|
+
* @param {string} content The initial content
|
|
38
|
+
* @returns {string} The updated content
|
|
39
|
+
*/
|
|
40
|
+
updateContent(content) {
|
|
41
|
+
// Parse possibly multi-document file
|
|
42
|
+
let docs;
|
|
43
|
+
try {
|
|
44
|
+
docs = yaml.loadAll(content, null, { json: true });
|
|
45
|
+
}
|
|
46
|
+
catch (e) {
|
|
47
|
+
logger_1.logger.warn('Invalid yaml, cannot be parsed', e);
|
|
48
|
+
return content;
|
|
49
|
+
}
|
|
50
|
+
// Update each document
|
|
51
|
+
let modified = false;
|
|
52
|
+
docs.forEach(data => {
|
|
53
|
+
const nodes = jp.apply(data, this.jsonpath, _val => {
|
|
54
|
+
return this.version.toString();
|
|
55
|
+
});
|
|
56
|
+
if (nodes && nodes.length) {
|
|
57
|
+
modified = true;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
// If nothing was modified, return original content
|
|
61
|
+
if (!modified) {
|
|
62
|
+
logger_1.logger.warn(`No entries modified in ${this.jsonpath}`);
|
|
63
|
+
return content;
|
|
64
|
+
}
|
|
65
|
+
// Stringify documents
|
|
66
|
+
if (docs.length === 1) {
|
|
67
|
+
// Single doc
|
|
68
|
+
return yaml.dump(docs[0]);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
// Multi-document, each document starts with separator
|
|
72
|
+
return docs.map(data => DOCUMENT_SEPARATOR + yaml.dump(data)).join('');
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.GenericYaml = GenericYaml;
|
|
77
|
+
//# sourceMappingURL=generic-yaml.js.map
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
16
|
exports.TagName = void 0;
|
|
17
17
|
const version_1 = require("../version");
|
|
18
|
-
const TAG_PATTERN = /^((?<component>.*)(?<separator>[^a-zA-
|
|
18
|
+
const TAG_PATTERN = /^((?<component>.*)(?<separator>[^a-zA-Z0-9]))?(?<v>v)?(?<version>\d+\.\d+\.\d+.*)$/;
|
|
19
19
|
const DEFAULT_SEPARATOR = '-';
|
|
20
20
|
class TagName {
|
|
21
21
|
constructor(version, component, separator = DEFAULT_SEPARATOR, includeV = true) {
|
package/package.json
CHANGED