renovate 43.117.0 → 43.118.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.
@@ -2,6 +2,8 @@ import { logger } from "../../../logger/index.js";
2
2
  import { readLocalFile } from "../../../util/fs/index.js";
3
3
  import { MavenDatasource } from "../../datasource/maven/index.js";
4
4
  import { isXmlElement } from "../nuget/util.js";
5
+ import { applyProps, findAttrValuePosition, parsePropertiesFile, resolveChainedProps } from "./properties.js";
6
+ import upath from "upath";
5
7
  import { XmlDocument } from "xmldoc";
6
8
  //#region lib/modules/manager/ant/extract.ts
7
9
  const scopeNames = new Set([
@@ -15,24 +17,29 @@ function getDependencyType(scope) {
15
17
  if (scope && scopeNames.has(scope)) return scope;
16
18
  return "compile";
17
19
  }
18
- function collectDependency(node) {
20
+ function collectDependency(node, packageFile, content) {
19
21
  const { groupId, artifactId, version, scope } = node.attr;
20
22
  if (!version || !groupId || !artifactId) return null;
21
- return {
23
+ const dep = {
22
24
  datasource: MavenDatasource.id,
23
25
  depName: `${groupId}:${artifactId}`,
24
26
  currentValue: version,
25
27
  depType: getDependencyType(scope),
26
28
  registryUrls: []
27
29
  };
30
+ dep.fileReplacePosition = findAttrValuePosition(content, node, "version");
31
+ return {
32
+ dep,
33
+ depPackageFile: packageFile
34
+ };
28
35
  }
29
- function walkNode(node, deps) {
36
+ function walkNode(node, rawDeps, packageFile, content) {
30
37
  for (const child of node.children) {
31
38
  if (!isXmlElement(child)) continue;
32
39
  if (child.name === "dependency") {
33
- const dep = collectDependency(child);
34
- if (dep) deps.push(dep);
35
- } else walkNode(child, deps);
40
+ const rawDep = collectDependency(child, packageFile, content);
41
+ if (rawDep) rawDeps.push(rawDep);
42
+ } else walkNode(child, rawDeps, packageFile, content);
36
43
  }
37
44
  }
38
45
  function extractPackageFile(content, packageFile) {
@@ -43,32 +50,87 @@ function extractPackageFile(content, packageFile) {
43
50
  logger.debug(`ant manager: could not parse XML ${packageFile}`);
44
51
  return null;
45
52
  }
46
- const deps = [];
47
- walkNode(doc, deps);
53
+ const rawDeps = [];
54
+ walkNode(doc, rawDeps, packageFile, content);
55
+ const deps = rawDeps.map((rd) => rd.dep);
48
56
  if (deps.length === 0) return null;
49
57
  return { deps };
50
58
  }
51
- async function walkXmlFile(packageFile, visitedFiles) {
52
- if (visitedFiles.has(packageFile)) return null;
59
+ /**
60
+ * Walk an XML node tree in document order, processing properties,
61
+ * property file references, and dependencies as they appear.
62
+ */
63
+ async function walkNodeInOrder(node, packageFile, content, visitedFiles, allProps, allRawDeps) {
64
+ const baseDir = upath.dirname(packageFile);
65
+ for (const child of node.children) {
66
+ if (!isXmlElement(child)) continue;
67
+ if (child.name === "property") {
68
+ const name = child.attr.name;
69
+ const value = child.attr.value;
70
+ if (name && value && !(name in allProps)) allProps[name] = {
71
+ val: value,
72
+ fileReplacePosition: findAttrValuePosition(content, child, "value"),
73
+ packageFile
74
+ };
75
+ const file = child.attr.file;
76
+ if (file) {
77
+ const propFilePath = file.startsWith("/") ? file : upath.join(baseDir, file);
78
+ if (!visitedFiles.has(propFilePath)) {
79
+ visitedFiles.add(propFilePath);
80
+ const propContent = await readLocalFile(propFilePath, "utf8");
81
+ if (propContent) parsePropertiesFile(propContent, propFilePath, allProps);
82
+ else logger.debug(`ant manager: could not read properties file ${propFilePath}`);
83
+ }
84
+ }
85
+ } else if (child.name === "dependency") {
86
+ const rawDep = collectDependency(child, packageFile, content);
87
+ if (rawDep) allRawDeps.push(rawDep);
88
+ } else await walkNodeInOrder(child, packageFile, content, visitedFiles, allProps, allRawDeps);
89
+ }
90
+ }
91
+ async function walkXmlFile(packageFile, visitedFiles, allProps, allRawDeps) {
53
92
  visitedFiles.add(packageFile);
54
93
  const content = await readLocalFile(packageFile, "utf8");
55
94
  if (!content) {
56
95
  logger.debug(`ant manager: could not read ${packageFile}`);
57
- return null;
96
+ return;
58
97
  }
59
- const result = extractPackageFile(content, packageFile);
60
- if (!result) return null;
61
- return {
62
- packageFile,
63
- ...result
64
- };
98
+ let doc;
99
+ try {
100
+ doc = new XmlDocument(content);
101
+ } catch {
102
+ logger.debug(`ant manager: could not parse XML ${packageFile}`);
103
+ return;
104
+ }
105
+ await walkNodeInOrder(doc, packageFile, content, visitedFiles, allProps, allRawDeps);
65
106
  }
66
107
  async function extractAllPackageFiles(_config, packageFiles) {
67
108
  const results = [];
68
- const visitedFiles = /* @__PURE__ */ new Set();
109
+ const seen = /* @__PURE__ */ new Set();
69
110
  for (const packageFile of packageFiles) {
70
- const result = await walkXmlFile(packageFile, visitedFiles);
71
- if (result) results.push(result);
111
+ if (seen.has(packageFile)) continue;
112
+ seen.add(packageFile);
113
+ const visitedFiles = /* @__PURE__ */ new Set();
114
+ const allProps = {};
115
+ const allRawDeps = [];
116
+ await walkXmlFile(packageFile, visitedFiles, allProps, allRawDeps);
117
+ resolveChainedProps(allProps);
118
+ const resolvedDeps = allRawDeps.map((rawDep) => applyProps(rawDep.dep, rawDep.depPackageFile, allProps));
119
+ if (resolvedDeps.length === 0) continue;
120
+ const fileMap = /* @__PURE__ */ new Map();
121
+ for (let i = 0; i < resolvedDeps.length; i++) {
122
+ const dep = resolvedDeps[i];
123
+ const targetFile = dep.propSource ?? allRawDeps[i].depPackageFile;
124
+ if (!fileMap.has(targetFile)) fileMap.set(targetFile, []);
125
+ fileMap.get(targetFile).push(dep);
126
+ }
127
+ for (const [pkgFile, deps] of fileMap) {
128
+ for (const dep of deps) delete dep.propSource;
129
+ results.push({
130
+ packageFile: pkgFile,
131
+ deps
132
+ });
133
+ }
72
134
  }
73
135
  return results.length > 0 ? results : null;
74
136
  }
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","names":[],"sources":["../../../../lib/modules/manager/ant/extract.ts"],"sourcesContent":["import type { XmlElement } from 'xmldoc';\nimport { XmlDocument } from 'xmldoc';\nimport { logger } from '../../../logger/index.ts';\nimport { readLocalFile } from '../../../util/fs/index.ts';\nimport { MavenDatasource } from '../../datasource/maven/index.ts';\nimport { isXmlElement } from '../nuget/util.ts';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFile,\n PackageFileContent,\n} from '../types.ts';\n\nconst scopeNames = new Set([\n 'compile',\n 'runtime',\n 'test',\n 'provided',\n 'system',\n]);\n\nfunction getDependencyType(scope: string | undefined): string {\n if (scope && scopeNames.has(scope)) {\n return scope;\n }\n return 'compile';\n}\n\nfunction collectDependency(node: XmlElement): PackageDependency | null {\n const { groupId, artifactId, version, scope } = node.attr;\n\n if (!version || !groupId || !artifactId) {\n return null;\n }\n\n return {\n datasource: MavenDatasource.id,\n depName: `${groupId}:${artifactId}`,\n currentValue: version,\n depType: getDependencyType(scope),\n registryUrls: [],\n };\n}\n\nfunction walkNode(\n node: XmlElement | XmlDocument,\n deps: PackageDependency[],\n): void {\n for (const child of node.children) {\n if (!isXmlElement(child)) {\n continue;\n }\n\n if (child.name === 'dependency') {\n const dep = collectDependency(child);\n if (dep) {\n deps.push(dep);\n }\n } else {\n walkNode(child, deps);\n }\n }\n}\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n): PackageFileContent | null {\n let doc: XmlDocument;\n try {\n doc = new XmlDocument(content);\n } catch {\n logger.debug(`ant manager: could not parse XML ${packageFile}`);\n return null;\n }\n\n const deps: PackageDependency[] = [];\n walkNode(doc, deps);\n\n if (deps.length === 0) {\n return null;\n }\n\n return { deps };\n}\n\nasync function walkXmlFile(\n packageFile: string,\n visitedFiles: Set<string>,\n): Promise<PackageFile | null> {\n if (visitedFiles.has(packageFile)) {\n return null;\n }\n visitedFiles.add(packageFile);\n\n const content = await readLocalFile(packageFile, 'utf8');\n if (!content) {\n logger.debug(`ant manager: could not read ${packageFile}`);\n return null;\n }\n\n const result = extractPackageFile(content, packageFile);\n if (!result) {\n return null;\n }\n\n return { packageFile, ...result };\n}\n\nexport async function extractAllPackageFiles(\n _config: ExtractConfig,\n packageFiles: string[],\n): Promise<PackageFile[] | null> {\n const results: PackageFile[] = [];\n const visitedFiles = new Set<string>();\n\n for (const packageFile of packageFiles) {\n const result = await walkXmlFile(packageFile, visitedFiles);\n if (result) {\n results.push(result);\n }\n }\n\n return results.length > 0 ? results : null;\n}\n"],"mappings":";;;;;;AAaA,MAAM,aAAa,IAAI,IAAI;CACzB;CACA;CACA;CACA;CACA;CACD,CAAC;AAEF,SAAS,kBAAkB,OAAmC;AAC5D,KAAI,SAAS,WAAW,IAAI,MAAM,CAChC,QAAO;AAET,QAAO;;AAGT,SAAS,kBAAkB,MAA4C;CACrE,MAAM,EAAE,SAAS,YAAY,SAAS,UAAU,KAAK;AAErD,KAAI,CAAC,WAAW,CAAC,WAAW,CAAC,WAC3B,QAAO;AAGT,QAAO;EACL,YAAY,gBAAgB;EAC5B,SAAS,GAAG,QAAQ,GAAG;EACvB,cAAc;EACd,SAAS,kBAAkB,MAAM;EACjC,cAAc,EAAE;EACjB;;AAGH,SAAS,SACP,MACA,MACM;AACN,MAAK,MAAM,SAAS,KAAK,UAAU;AACjC,MAAI,CAAC,aAAa,MAAM,CACtB;AAGF,MAAI,MAAM,SAAS,cAAc;GAC/B,MAAM,MAAM,kBAAkB,MAAM;AACpC,OAAI,IACF,MAAK,KAAK,IAAI;QAGhB,UAAS,OAAO,KAAK;;;AAK3B,SAAgB,mBACd,SACA,aAC2B;CAC3B,IAAI;AACJ,KAAI;AACF,QAAM,IAAI,YAAY,QAAQ;SACxB;AACN,SAAO,MAAM,oCAAoC,cAAc;AAC/D,SAAO;;CAGT,MAAM,OAA4B,EAAE;AACpC,UAAS,KAAK,KAAK;AAEnB,KAAI,KAAK,WAAW,EAClB,QAAO;AAGT,QAAO,EAAE,MAAM;;AAGjB,eAAe,YACb,aACA,cAC6B;AAC7B,KAAI,aAAa,IAAI,YAAY,CAC/B,QAAO;AAET,cAAa,IAAI,YAAY;CAE7B,MAAM,UAAU,MAAM,cAAc,aAAa,OAAO;AACxD,KAAI,CAAC,SAAS;AACZ,SAAO,MAAM,+BAA+B,cAAc;AAC1D,SAAO;;CAGT,MAAM,SAAS,mBAAmB,SAAS,YAAY;AACvD,KAAI,CAAC,OACH,QAAO;AAGT,QAAO;EAAE;EAAa,GAAG;EAAQ;;AAGnC,eAAsB,uBACpB,SACA,cAC+B;CAC/B,MAAM,UAAyB,EAAE;CACjC,MAAM,+BAAe,IAAI,KAAa;AAEtC,MAAK,MAAM,eAAe,cAAc;EACtC,MAAM,SAAS,MAAM,YAAY,aAAa,aAAa;AAC3D,MAAI,OACF,SAAQ,KAAK,OAAO;;AAIxB,QAAO,QAAQ,SAAS,IAAI,UAAU"}
1
+ {"version":3,"file":"extract.js","names":[],"sources":["../../../../lib/modules/manager/ant/extract.ts"],"sourcesContent":["import upath from 'upath';\nimport type { XmlElement } from 'xmldoc';\nimport { XmlDocument } from 'xmldoc';\nimport { logger } from '../../../logger/index.ts';\nimport { readLocalFile } from '../../../util/fs/index.ts';\nimport { MavenDatasource } from '../../datasource/maven/index.ts';\nimport { isXmlElement } from '../nuget/util.ts';\nimport type {\n ExtractConfig,\n PackageDependency,\n PackageFile,\n PackageFileContent,\n} from '../types.ts';\nimport {\n applyProps,\n findAttrValuePosition,\n parsePropertiesFile,\n resolveChainedProps,\n} from './properties.ts';\nimport type { AntProp } from './types.ts';\n\nexport { parsePropertiesFile } from './properties.ts';\n\nconst scopeNames = new Set([\n 'compile',\n 'runtime',\n 'test',\n 'provided',\n 'system',\n]);\n\nfunction getDependencyType(scope: string | undefined): string {\n if (scope && scopeNames.has(scope)) {\n return scope;\n }\n return 'compile';\n}\n\ninterface RawDep {\n dep: PackageDependency;\n depPackageFile: string;\n}\n\nfunction collectDependency(\n node: XmlElement,\n packageFile: string,\n content: string,\n): RawDep | null {\n const { groupId, artifactId, version, scope } = node.attr;\n\n if (!version || !groupId || !artifactId) {\n return null;\n }\n\n const dep: PackageDependency = {\n datasource: MavenDatasource.id,\n depName: `${groupId}:${artifactId}`,\n currentValue: version,\n depType: getDependencyType(scope),\n registryUrls: [],\n };\n\n dep.fileReplacePosition = findAttrValuePosition(content, node, 'version');\n\n return { dep, depPackageFile: packageFile };\n}\n\nfunction walkNode(\n node: XmlElement | XmlDocument,\n rawDeps: RawDep[],\n packageFile: string,\n content: string,\n): void {\n for (const child of node.children) {\n if (!isXmlElement(child)) {\n continue;\n }\n\n if (child.name === 'dependency') {\n const rawDep = collectDependency(child, packageFile, content);\n if (rawDep) {\n rawDeps.push(rawDep);\n }\n } else {\n walkNode(child, rawDeps, packageFile, content);\n }\n }\n}\n\nexport function extractPackageFile(\n content: string,\n packageFile: string,\n): PackageFileContent | null {\n let doc: XmlDocument;\n try {\n doc = new XmlDocument(content);\n } catch {\n logger.debug(`ant manager: could not parse XML ${packageFile}`);\n return null;\n }\n\n const rawDeps: RawDep[] = [];\n walkNode(doc, rawDeps, packageFile, content);\n\n const deps = rawDeps.map((rd) => rd.dep);\n\n if (deps.length === 0) {\n return null;\n }\n\n return { deps };\n}\n\n/**\n * Walk an XML node tree in document order, processing properties,\n * property file references, and dependencies as they appear.\n */\nasync function walkNodeInOrder(\n node: XmlElement | XmlDocument,\n packageFile: string,\n content: string,\n visitedFiles: Set<string>,\n allProps: Record<string, AntProp>,\n allRawDeps: RawDep[],\n): Promise<void> {\n const baseDir = upath.dirname(packageFile);\n\n for (const child of node.children) {\n if (!isXmlElement(child)) {\n continue;\n }\n\n if (child.name === 'property') {\n // Handle inline property definition\n const name = child.attr.name;\n const value = child.attr.value;\n if (name && value && !(name in allProps)) {\n const pos = findAttrValuePosition(content, child, 'value');\n allProps[name] = { val: value, fileReplacePosition: pos, packageFile };\n }\n\n // Handle property file reference\n const file = child.attr.file;\n if (file) {\n const propFilePath = file.startsWith('/')\n ? file\n : upath.join(baseDir, file);\n\n if (!visitedFiles.has(propFilePath)) {\n visitedFiles.add(propFilePath);\n const propContent = await readLocalFile(propFilePath, 'utf8');\n if (propContent) {\n parsePropertiesFile(propContent, propFilePath, allProps);\n } else {\n logger.debug(\n `ant manager: could not read properties file ${propFilePath}`,\n );\n }\n }\n }\n } else if (child.name === 'dependency') {\n const rawDep = collectDependency(child, packageFile, content);\n if (rawDep) {\n allRawDeps.push(rawDep);\n }\n } else {\n await walkNodeInOrder(\n child,\n packageFile,\n content,\n visitedFiles,\n allProps,\n allRawDeps,\n );\n }\n }\n}\n\nasync function walkXmlFile(\n packageFile: string,\n visitedFiles: Set<string>,\n allProps: Record<string, AntProp>,\n allRawDeps: RawDep[],\n): Promise<void> {\n visitedFiles.add(packageFile);\n\n const content = await readLocalFile(packageFile, 'utf8');\n if (!content) {\n logger.debug(`ant manager: could not read ${packageFile}`);\n return;\n }\n\n let doc: XmlDocument;\n try {\n doc = new XmlDocument(content);\n } catch {\n logger.debug(`ant manager: could not parse XML ${packageFile}`);\n return;\n }\n\n await walkNodeInOrder(\n doc,\n packageFile,\n content,\n visitedFiles,\n allProps,\n allRawDeps,\n );\n}\n\nexport async function extractAllPackageFiles(\n _config: ExtractConfig,\n packageFiles: string[],\n): Promise<PackageFile[] | null> {\n const results: PackageFile[] = [];\n const seen = new Set<string>();\n\n for (const packageFile of packageFiles) {\n if (seen.has(packageFile)) {\n continue;\n }\n seen.add(packageFile);\n\n const visitedFiles = new Set<string>();\n const allProps: Record<string, AntProp> = {};\n const allRawDeps: RawDep[] = [];\n\n await walkXmlFile(packageFile, visitedFiles, allProps, allRawDeps);\n\n // Resolve chained property values before applying to deps\n resolveChainedProps(allProps);\n\n // Apply property resolution to all dependencies\n const resolvedDeps = allRawDeps.map((rawDep) =>\n applyProps(rawDep.dep, rawDep.depPackageFile, allProps),\n );\n\n if (resolvedDeps.length === 0) {\n continue;\n }\n\n // Group deps by their target file (propSource or original packageFile)\n const fileMap = new Map<string, PackageDependency[]>();\n for (let i = 0; i < resolvedDeps.length; i++) {\n const dep = resolvedDeps[i];\n const targetFile = dep.propSource ?? allRawDeps[i].depPackageFile;\n if (!fileMap.has(targetFile)) {\n fileMap.set(targetFile, []);\n }\n fileMap.get(targetFile)!.push(dep);\n }\n\n for (const [pkgFile, deps] of fileMap) {\n // Clean up internal propSource field\n for (const dep of deps) {\n delete dep.propSource;\n }\n results.push({ packageFile: pkgFile, deps });\n }\n }\n\n return results.length > 0 ? results : null;\n}\n"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { __exportAll } from "../../../_virtual/_rolldown/runtime.js";
2
2
  import { MavenDatasource } from "../../datasource/maven/index.js";
3
3
  import { extractAllPackageFiles, extractPackageFile } from "./extract.js";
4
+ import { updateDependency } from "./update.js";
4
5
  //#region lib/modules/manager/ant/index.ts
5
6
  var ant_exports = /* @__PURE__ */ __exportAll({
6
7
  categories: () => categories,
@@ -9,6 +10,7 @@ var ant_exports = /* @__PURE__ */ __exportAll({
9
10
  extractAllPackageFiles: () => extractAllPackageFiles,
10
11
  extractPackageFile: () => extractPackageFile,
11
12
  supportedDatasources: () => supportedDatasources,
13
+ updateDependency: () => updateDependency,
12
14
  url: () => url
13
15
  });
14
16
  const displayName = "Apache Ant";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../lib/modules/manager/ant/index.ts"],"sourcesContent":["import type { Category } from '../../../constants/index.ts';\nimport { MavenDatasource } from '../../datasource/maven/index.ts';\n\nexport { extractAllPackageFiles, extractPackageFile } from './extract.ts';\n\nexport const displayName = 'Apache Ant';\nexport const url = 'https://ant.apache.org';\nexport const categories: Category[] = ['java'];\n\nexport const defaultConfig = {\n managerFilePatterns: ['**/build.xml'],\n};\n\nexport const supportedDatasources = [MavenDatasource.id];\n"],"mappings":";;;;;;;;;;;;;AAKA,MAAa,cAAc;AAC3B,MAAa,MAAM;AACnB,MAAa,aAAyB,CAAC,OAAO;AAE9C,MAAa,gBAAgB,EAC3B,qBAAqB,CAAC,eAAe,EACtC;AAED,MAAa,uBAAuB,CAAC,gBAAgB,GAAG"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../lib/modules/manager/ant/index.ts"],"sourcesContent":["import type { Category } from '../../../constants/index.ts';\nimport { MavenDatasource } from '../../datasource/maven/index.ts';\n\nexport { extractAllPackageFiles, extractPackageFile } from './extract.ts';\nexport { updateDependency } from './update.ts';\n\nexport const displayName = 'Apache Ant';\nexport const url = 'https://ant.apache.org';\nexport const categories: Category[] = ['java'];\n\nexport const defaultConfig = {\n managerFilePatterns: ['**/build.xml'],\n};\n\nexport const supportedDatasources = [MavenDatasource.id];\n"],"mappings":";;;;;;;;;;;;;;;AAMA,MAAa,cAAc;AAC3B,MAAa,MAAM;AACnB,MAAa,aAAyB,CAAC,OAAO;AAE9C,MAAa,gBAAgB,EAC3B,qBAAqB,CAAC,eAAe,EACtC;AAED,MAAa,uBAAuB,CAAC,gBAAgB,GAAG"}
@@ -0,0 +1,123 @@
1
+ import { escapeRegExp, regEx } from "../../../util/regex.js";
2
+ //#region lib/modules/manager/ant/properties.ts
3
+ const fullPlaceholderRegex = regEx(/^\$\{([^}]+)}$/);
4
+ const placeholderTestRegex = regEx(/\$\{[^}]+}/);
5
+ const propertySeparatorRegex = regEx(/^([^=:\s]+)\s*[=:\s]\s*(.*)$/);
6
+ function containsPlaceholder(str) {
7
+ return !!str && placeholderTestRegex.test(str);
8
+ }
9
+ /**
10
+ * Find the byte offset of an attribute's value in raw XML content.
11
+ * Returns the offset of the first character of the value (after the opening quote).
12
+ */
13
+ function findAttrValuePosition(content, node, attrName) {
14
+ const startTag = node.startTagPosition;
15
+ const tagEnd = content.indexOf(">", startTag);
16
+ const tagContent = content.slice(startTag, tagEnd + 1);
17
+ const match = regEx(`${escapeRegExp(attrName)}\\s*=\\s*(?:"([^"]*)"|'([^']*)')`).exec(tagContent);
18
+ const valueInMatch = match[1] ?? match[2];
19
+ const valueOffset = match[0].indexOf(valueInMatch);
20
+ return startTag + match.index + valueOffset;
21
+ }
22
+ /**
23
+ * Parse a .properties file into a map of property names to AntProp.
24
+ * Implements first-definition-wins: if a key already exists in the map, it is not overwritten.
25
+ */
26
+ function parsePropertiesFile(content, packageFile, props) {
27
+ let offset = 0;
28
+ for (const rawLine of content.split("\n")) {
29
+ const line = rawLine.trim();
30
+ if (line.startsWith("#") || line.startsWith("!") || line === "") {
31
+ offset += rawLine.length + 1;
32
+ continue;
33
+ }
34
+ const separatorMatch = propertySeparatorRegex.exec(line);
35
+ if (separatorMatch) {
36
+ const key = separatorMatch[1];
37
+ const val = separatorMatch[2].trim();
38
+ if (!(key in props)) props[key] = {
39
+ val,
40
+ fileReplacePosition: offset + rawLine.indexOf(line) + line.indexOf(separatorMatch[2]),
41
+ packageFile
42
+ };
43
+ }
44
+ offset += rawLine.length + 1;
45
+ }
46
+ }
47
+ /**
48
+ * Apply property resolution to a dependency.
49
+ * Handles chained references with circular detection.
50
+ */
51
+ function applyProps(dep, depPackageFile, props) {
52
+ const currentValue = dep.currentValue;
53
+ if (!currentValue || !containsPlaceholder(currentValue)) return dep;
54
+ const fullMatch = fullPlaceholderRegex.exec(currentValue);
55
+ if (!fullMatch) {
56
+ dep.skipReason = "version-placeholder";
57
+ return dep;
58
+ }
59
+ const propKey = fullMatch[1];
60
+ const prop = props[propKey];
61
+ if (!prop) {
62
+ dep.skipReason = "version-placeholder";
63
+ return dep;
64
+ }
65
+ if (containsPlaceholder(prop.val)) {
66
+ dep.skipReason = "recursive-placeholder";
67
+ return dep;
68
+ }
69
+ dep.currentValue = prop.val;
70
+ dep.sharedVariableName = propKey;
71
+ dep.fileReplacePosition = prop.fileReplacePosition;
72
+ if (prop.packageFile !== depPackageFile) dep.editFile = prop.packageFile;
73
+ dep.propSource = prop.packageFile;
74
+ return dep;
75
+ }
76
+ /**
77
+ * Resolve a single property key, following chained references.
78
+ * Returns the resolved value or null if circular/unresolvable.
79
+ */
80
+ function resolveKey(key, props, resolved, chain) {
81
+ if (resolved.has(key)) return resolved.get(key);
82
+ if (chain.has(key)) {
83
+ resolved.set(key, null);
84
+ return null;
85
+ }
86
+ const prop = props[key];
87
+ if (!prop) return null;
88
+ if (!containsPlaceholder(prop.val)) {
89
+ resolved.set(key, prop.val);
90
+ return prop.val;
91
+ }
92
+ chain.add(key);
93
+ let isCircular = false;
94
+ const val = prop.val.replace(regEx(/\$\{([^}]+)}/g), (match, refKey) => {
95
+ const refResult = resolveKey(refKey, props, resolved, chain);
96
+ if (refResult === null) {
97
+ isCircular = true;
98
+ return match;
99
+ }
100
+ return refResult;
101
+ });
102
+ chain.delete(key);
103
+ if (isCircular) {
104
+ resolved.set(key, null);
105
+ return null;
106
+ }
107
+ resolved.set(key, val);
108
+ prop.val = val;
109
+ return val;
110
+ }
111
+ /**
112
+ * Resolve chained property references within the property map itself.
113
+ * E.g., if prop A = "${B}" and prop B = "1.0", resolve A to "1.0".
114
+ * Marks circular properties by setting val to a placeholder that will be caught later.
115
+ */
116
+ function resolveChainedProps(props) {
117
+ const resolved = /* @__PURE__ */ new Map();
118
+ for (const key of Object.keys(props)) resolveKey(key, props, resolved, /* @__PURE__ */ new Set());
119
+ }
120
+ //#endregion
121
+ export { applyProps, findAttrValuePosition, parsePropertiesFile, resolveChainedProps };
122
+
123
+ //# sourceMappingURL=properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"properties.js","names":[],"sources":["../../../../lib/modules/manager/ant/properties.ts"],"sourcesContent":["import type { XmlElement } from 'xmldoc';\nimport { escapeRegExp, regEx } from '../../../util/regex.ts';\nimport type { PackageDependency } from '../types.ts';\nimport type { AntProp } from './types.ts';\n\nconst fullPlaceholderRegex = regEx(/^\\$\\{([^}]+)}$/);\nconst placeholderTestRegex = regEx(/\\$\\{[^}]+}/);\nconst propertySeparatorRegex = regEx(/^([^=:\\s]+)\\s*[=:\\s]\\s*(.*)$/);\n\nexport function containsPlaceholder(str: string | null | undefined): boolean {\n return !!str && placeholderTestRegex.test(str);\n}\n\n/**\n * Find the byte offset of an attribute's value in raw XML content.\n * Returns the offset of the first character of the value (after the opening quote).\n */\nexport function findAttrValuePosition(\n content: string,\n node: XmlElement,\n attrName: string,\n): number {\n const startTag = node.startTagPosition!;\n const tagEnd = content.indexOf('>', startTag);\n const tagContent = content.slice(startTag, tagEnd + 1);\n\n const attrPattern = regEx(\n `${escapeRegExp(attrName)}\\\\s*=\\\\s*(?:\"([^\"]*)\"|'([^']*)')`,\n );\n const match = attrPattern.exec(tagContent)!;\n\n const valueInMatch = match[1] ?? match[2];\n const valueOffset = match[0].indexOf(valueInMatch);\n return startTag + match.index + valueOffset;\n}\n\n/**\n * Parse a .properties file into a map of property names to AntProp.\n * Implements first-definition-wins: if a key already exists in the map, it is not overwritten.\n */\nexport function parsePropertiesFile(\n content: string,\n packageFile: string,\n props: Record<string, AntProp>,\n): void {\n let offset = 0;\n for (const rawLine of content.split('\\n')) {\n const line = rawLine.trim();\n // Skip comments and blank lines\n if (line.startsWith('#') || line.startsWith('!') || line === '') {\n offset += rawLine.length + 1; // +1 for newline\n continue;\n }\n\n // Match key=value, key:value, or key value (first separator wins)\n const separatorMatch = propertySeparatorRegex.exec(line);\n if (separatorMatch) {\n const key = separatorMatch[1];\n const val = separatorMatch[2].trim();\n\n // First-definition-wins\n if (!(key in props)) {\n // fileReplacePosition points to the start of the value in the raw content\n const lineStart = offset + rawLine.indexOf(line);\n const keyEnd = line.indexOf(separatorMatch[2]);\n const fileReplacePosition = lineStart + keyEnd;\n\n props[key] = { val, fileReplacePosition, packageFile };\n }\n }\n\n offset += rawLine.length + 1;\n }\n}\n\n/**\n * Apply property resolution to a dependency.\n * Handles chained references with circular detection.\n */\nexport function applyProps(\n dep: PackageDependency,\n depPackageFile: string,\n props: Record<string, AntProp>,\n): PackageDependency {\n const currentValue = dep.currentValue;\n\n if (!currentValue || !containsPlaceholder(currentValue)) {\n return dep;\n }\n\n // Check if the entire version is a single property reference\n const fullMatch = fullPlaceholderRegex.exec(currentValue);\n if (!fullMatch) {\n // Partial placeholder in version string - not supported for updates\n dep.skipReason = 'version-placeholder';\n return dep;\n }\n\n const propKey = fullMatch[1];\n const prop = props[propKey];\n if (!prop) {\n dep.skipReason = 'version-placeholder';\n return dep;\n }\n\n // After resolveChainedProps, prop.val is either fully resolved or still contains\n // placeholders (meaning circular or unresolvable)\n if (containsPlaceholder(prop.val)) {\n dep.skipReason = 'recursive-placeholder';\n return dep;\n }\n\n dep.currentValue = prop.val;\n dep.sharedVariableName = propKey;\n dep.fileReplacePosition = prop.fileReplacePosition;\n if (prop.packageFile !== depPackageFile) {\n dep.editFile = prop.packageFile;\n }\n // propSource is used to route deps to the correct PackageFile\n dep.propSource = prop.packageFile;\n return dep;\n}\n\n/**\n * Resolve a single property key, following chained references.\n * Returns the resolved value or null if circular/unresolvable.\n */\nfunction resolveKey(\n key: string,\n props: Record<string, AntProp>,\n resolved: Map<string, string | null>,\n chain: Set<string>,\n): string | null {\n if (resolved.has(key)) {\n return resolved.get(key)!;\n }\n if (chain.has(key)) {\n // Circular reference detected\n resolved.set(key, null);\n return null;\n }\n const prop = props[key];\n if (!prop) {\n return null;\n }\n if (!containsPlaceholder(prop.val)) {\n resolved.set(key, prop.val);\n return prop.val;\n }\n\n chain.add(key);\n let isCircular = false;\n const val = prop.val.replace(\n regEx(/\\$\\{([^}]+)}/g),\n (match, refKey: string) => {\n const refResult = resolveKey(refKey, props, resolved, chain);\n if (refResult === null) {\n isCircular = true;\n return match;\n }\n return refResult;\n },\n );\n chain.delete(key);\n\n if (isCircular) {\n resolved.set(key, null);\n return null;\n }\n\n resolved.set(key, val);\n prop.val = val;\n return val;\n}\n\n/**\n * Resolve chained property references within the property map itself.\n * E.g., if prop A = \"${B}\" and prop B = \"1.0\", resolve A to \"1.0\".\n * Marks circular properties by setting val to a placeholder that will be caught later.\n */\nexport function resolveChainedProps(props: Record<string, AntProp>): void {\n const resolved = new Map<string, string | null>(); // null = circular\n\n for (const key of Object.keys(props)) {\n resolveKey(key, props, resolved, new Set());\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { logger } from "../../../logger/index.js";
2
+ //#region lib/modules/manager/ant/update.ts
3
+ /** For external .properties files: updateDependency is necessary because extractPackageFile can't reconstruct dep metadata from a .properties file alone */
4
+ function updateDependency({ fileContent, upgrade }) {
5
+ const { depName, currentValue, newValue, fileReplacePosition } = upgrade;
6
+ if (fileReplacePosition === void 0 || fileReplacePosition === null) {
7
+ logger.debug({ depName }, "No fileReplacePosition for ant dependency");
8
+ return null;
9
+ }
10
+ const leftPart = fileContent.slice(0, fileReplacePosition);
11
+ const rightPart = fileContent.slice(fileReplacePosition);
12
+ let endIndex;
13
+ const quoteChar = leftPart.at(-1);
14
+ if (quoteChar === "\"" || quoteChar === "'") endIndex = rightPart.indexOf(quoteChar);
15
+ else {
16
+ const newlineIndex = rightPart.indexOf("\n");
17
+ endIndex = newlineIndex === -1 ? rightPart.length : newlineIndex;
18
+ }
19
+ const currentFound = rightPart.slice(0, endIndex);
20
+ if (currentFound === newValue) return fileContent;
21
+ if (currentFound === currentValue || upgrade.sharedVariableName) return `${leftPart}${newValue}${rightPart.slice(endIndex)}`;
22
+ logger.debug({
23
+ depName,
24
+ currentFound,
25
+ currentValue,
26
+ newValue
27
+ }, "ant: unexpected value at fileReplacePosition");
28
+ return null;
29
+ }
30
+ //#endregion
31
+ export { updateDependency };
32
+
33
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","names":[],"sources":["../../../../lib/modules/manager/ant/update.ts"],"sourcesContent":["import { logger } from '../../../logger/index.ts';\nimport type { UpdateDependencyConfig } from '../types.ts';\n\n/** For external .properties files: updateDependency is necessary because extractPackageFile can't reconstruct dep metadata from a .properties file alone */\nexport function updateDependency({\n fileContent,\n upgrade,\n}: UpdateDependencyConfig): string | null {\n const { depName, currentValue, newValue, fileReplacePosition } = upgrade;\n\n if (fileReplacePosition === undefined || fileReplacePosition === null) {\n logger.debug({ depName }, 'No fileReplacePosition for ant dependency');\n return null;\n }\n\n const leftPart = fileContent.slice(0, fileReplacePosition);\n const rightPart = fileContent.slice(fileReplacePosition);\n\n // Find the end of the value (closing quote or end of line for .properties files)\n let endIndex: number;\n const quoteChar = leftPart.at(-1);\n if (quoteChar === '\"' || quoteChar === \"'\") {\n endIndex = rightPart.indexOf(quoteChar);\n } else {\n // .properties file: value ends at newline or EOF\n const newlineIndex = rightPart.indexOf('\\n');\n endIndex = newlineIndex === -1 ? rightPart.length : newlineIndex;\n }\n\n const currentFound = rightPart.slice(0, endIndex);\n\n if (currentFound === newValue) {\n return fileContent;\n }\n\n if (currentFound === currentValue || upgrade.sharedVariableName) {\n return `${leftPart}${newValue}${rightPart.slice(endIndex)}`;\n }\n\n logger.debug(\n { depName, currentFound, currentValue, newValue },\n 'ant: unexpected value at fileReplacePosition',\n );\n return null;\n}\n"],"mappings":";;;AAIA,SAAgB,iBAAiB,EAC/B,aACA,WACwC;CACxC,MAAM,EAAE,SAAS,cAAc,UAAU,wBAAwB;AAEjE,KAAI,wBAAwB,KAAA,KAAa,wBAAwB,MAAM;AACrE,SAAO,MAAM,EAAE,SAAS,EAAE,4CAA4C;AACtE,SAAO;;CAGT,MAAM,WAAW,YAAY,MAAM,GAAG,oBAAoB;CAC1D,MAAM,YAAY,YAAY,MAAM,oBAAoB;CAGxD,IAAI;CACJ,MAAM,YAAY,SAAS,GAAG,GAAG;AACjC,KAAI,cAAc,QAAO,cAAc,IACrC,YAAW,UAAU,QAAQ,UAAU;MAClC;EAEL,MAAM,eAAe,UAAU,QAAQ,KAAK;AAC5C,aAAW,iBAAiB,KAAK,UAAU,SAAS;;CAGtD,MAAM,eAAe,UAAU,MAAM,GAAG,SAAS;AAEjD,KAAI,iBAAiB,SACnB,QAAO;AAGT,KAAI,iBAAiB,gBAAgB,QAAQ,mBAC3C,QAAO,GAAG,WAAW,WAAW,UAAU,MAAM,SAAS;AAG3D,QAAO,MACL;EAAE;EAAS;EAAc;EAAc;EAAU,EACjD,+CACD;AACD,QAAO"}
@@ -2,7 +2,7 @@
2
2
  const hashMap = /* @__PURE__ */ new Map();
3
3
  hashMap.set("ansible", "1fbc76f78daa14a8c9ab1142e9d1e05c746c0419a9f1455e4279f476590d0c04");
4
4
  hashMap.set("ansible-galaxy", "8226d47128f2018825d4d6f84794e3183eb79c706045fa7e88491edd5e64106f");
5
- hashMap.set("ant", "7d6414a195345c60a25a9d92c4b17c0b6df90be086fc5559150e2e5496976890");
5
+ hashMap.set("ant", "0a356fc5ff43659fc81edb74f868ddd7213235512181da875c09caa94c6e3070");
6
6
  hashMap.set("argocd", "5d35b1992e53130bf83b0e59a0f90ccd3a78919974c69044f306dc5d162f48ce");
7
7
  hashMap.set("asdf", "1f6fcf620e9c6cd35991380cb6eafb94ec60cd77cbd13335ebe3a1d9727416c9");
8
8
  hashMap.set("azure-pipelines", "4f635b0ecd388ee266d992e8281fd40e3db2f5867d86fc1cbce72dc33a66e796");
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','1fbc76f78daa14a8c9ab1142e9d1e05c746c0419a9f1455e4279f476590d0c04');\nhashMap.set('ansible-galaxy','8226d47128f2018825d4d6f84794e3183eb79c706045fa7e88491edd5e64106f');\nhashMap.set('ant','7d6414a195345c60a25a9d92c4b17c0b6df90be086fc5559150e2e5496976890');\nhashMap.set('argocd','5d35b1992e53130bf83b0e59a0f90ccd3a78919974c69044f306dc5d162f48ce');\nhashMap.set('asdf','1f6fcf620e9c6cd35991380cb6eafb94ec60cd77cbd13335ebe3a1d9727416c9');\nhashMap.set('azure-pipelines','4f635b0ecd388ee266d992e8281fd40e3db2f5867d86fc1cbce72dc33a66e796');\nhashMap.set('batect','fad98996bea8626525ab925f83a6ae0ce9262c53770e7aa7cb448a1e0f1ddf21');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','c6e0ad88ea468664c3a33263baf7452d83d2d37ff09ba920e18f64ee81fd0acb');\nhashMap.set('bazel-module','ff071fcf8b53036956627d2a430ccdf256e30bee4d7e80c329379879d836a931');\nhashMap.set('bazelisk','b6ec532dfa7c8f82ad4084df864ac6276e87c27285369323902afc146d3537ac');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','a93effb1f1c5d65b3277c3b4709924eacde282e8efd028a8e3d8c1ce3ef69407');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','1322232bf1d0c4fa796e31a00488453bdcd00d4958431d9e424c1635e60a99bd');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','6d7e9d2018ac03e15f19e8b40ef70dd87d509d5affca24bc464d085899880a25');\nhashMap.set('cake','288c3c36a50371b26957fa71992cc335228d53563c75597b36919ac7286e96eb');\nhashMap.set('cargo','308d7ab4c6d24027b050bf659dfab0e510d9a22f8134695a7c68214908ee4634');\nhashMap.set('cdnurl','d3edf6cdc38e92eb43ff5a2b4e8df6a6a13154cf83244725c39e28d7e6ea9177');\nhashMap.set('circleci','135937d4720718304adb0ba998516f8ce38c3220ccd18b00b8c70c62b45df4da');\nhashMap.set('cloudbuild','8c0c739f7e4082bbfe8e3fdffebaf43e26f70a1314d95b306e9b93e4f4297886');\nhashMap.set('cocoapods','b6ac3b4a6b8a5b32daed37bf695fe177cdb1b4a94ae7f7fb2f4c4c096c0a004c');\nhashMap.set('composer','cdb6895574020cec402e0b878e4078b62f1acfd0392a861cbb523036634f6383');\nhashMap.set('conan','aecc3917d77146db4e57dd12944be1beff860e90b7ebdd2d8fbc449fc1a06574');\nhashMap.set('copier','faa3b79991256a6fc0957fdcd530a1bc8aee65913d5aff2b1b4d226dcd44d008');\nhashMap.set('cpanfile','6a1d67d9c8751123deaf0c7f3ac38a07024e960c140f8228fcbcb93954fdca01');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deps-edn','c87dd5e88587147ad1a78f047b814f3c4aa60d6de30d0c49d849391eeaf1b64c');\nhashMap.set('devbox','bcf5334e8a21190baaa25436acf2f17fbf095504262a4e9ee7c62ffb644eb716');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','5441af5b5abf8d347e46002d47f02f85743401bda28232f49fb7b3bbb772a4fb');\nhashMap.set('dockerfile','322b95f7e55dd78d7fe71306a6f649479eca61c60d75bb10b23604a230dbdd08');\nhashMap.set('droneci','237c8de87b9bf653fb943b56e84e99c45f6d86ae27d86e599b3f3f99c35ba8ee');\nhashMap.set('fleet','d73d5d35f10df0599a561d9c8d25f3935350407d0e3bd3a1d1545295f278912e');\nhashMap.set('flux','427e0c1a5b1d8337503a9a568a76532fbde0bab8b355fa8f47312de50eadf2f6');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','fbbf1c7b7b6f4166fa3beee96a3283d007b388e9ecb6a14f76123c8ab8c78071');\nhashMap.set('github-actions','d8f83c65da1e80b639ad44a0d8641e7e97b1d93a1b6c873603333d337ad02011');\nhashMap.set('gitlabci','0dec44dd398bfc5b3c19d0929bea2fef7f386c94acfd1b1d7bc2a31d81d96fd6');\nhashMap.set('gitlabci-include','354cfc4ea327c6d5cd5bee1f17763832efc7f5402e9fd22c579239fccb9c6dab');\nhashMap.set('glasskube','253d6db30bdec75ed5ab5d26f31d69bc07813ba10089a28da12c6a29eff4ec70');\nhashMap.set('gleam','b717a48c525ad6b1d434c6a9db828ddebbb85e94519e89ddc4040878e3600e84');\nhashMap.set('gomod','82e877b22c0dd0217368760bb5d38430657fff63d07c289793a866f0845d2976');\nhashMap.set('gradle','f430d8d768b56889ad1e5a69965841e85cc700e364d15db7bce680e8a5d6f821');\nhashMap.set('gradle-wrapper','90d2ecb9d0b113f8e946d4ea221c040f17f91af846e1ff4f9fc1514ad4324b74');\nhashMap.set('haskell-cabal','d796ec6859e63ab4f1b7030c4016071202c3a44c7c11d4a9131d7e2ba19b396d');\nhashMap.set('helm-requirements','4d90e5e18a380876ad48e21e1ad88ea62e25d973a1ddaa3763447fc0a9f9915b');\nhashMap.set('helm-values','b5c52c6a27d805557418c585c5d3030c95ee641d53057021f3fe060f81b6e1af');\nhashMap.set('helmfile','e5783484b81247279563da3c835afe4002edfc412e13fb91877818ca44ae65f2');\nhashMap.set('helmsman','ef9680c612f702c7f07aea9b6e5d811e91214dcfa5755c9f3803e9528090935e');\nhashMap.set('helmv3','7724bf6cc3ff4afec1809899f619a332f4350049b9578b5c4634514b4448cf2b');\nhashMap.set('hermit','672c328e4baea3a1ccd2cde2364db01c8033a8c077bf63a5b914fc20ee1de838');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','56ef90301143874355fd2ed25dff7c646875f701f97422d02e01d45608a88f31');\nhashMap.set('html','67c5f3c5c58e96f5dd257ba5987d900cf7fef81d667c3640e96c847b37de35a8');\nhashMap.set('jenkins','268ebfc8a1caf3edeb2192c2b1b2fa4bf18a78a3e731ba20a6c104940a5539f3');\nhashMap.set('jsonnet-bundler','4b73c32ddc3fe45d9777106d45b116777a2960e6e631256a6553060e602f893c');\nhashMap.set('kotlin-script','99ef296792a0ca575ed31d3defb514b05a58083dc01c52ea0890c69d867ba1dd');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','1e44d6ef8622252dac6d9649fb04badd12d4827eb2a55f74792aa9de2b915775');\nhashMap.set('leiningen','133fca2c3423f53f2ccc22518153ddbcafbf0f4812376c77e952eb3d24d81f85');\nhashMap.set('maven','fd6bfc21be851ed076eabea1a91a89b25eb82129734c7cb0c2e684385cf1ea69');\nhashMap.set('maven-wrapper','9a868d1328f911eb72f9e65a64d46c86ae347aab0153d1cf4e9a62ad9e0d6cb0');\nhashMap.set('meteor','4a93a326b27bedfe52118e27e06f39fecd7c55bd4cd7fccec4cb120cac14cec4');\nhashMap.set('mint','b816a49c8525716454d0a2bc9127916d5b27e5cca7b2aa2030312f218942af3e');\nhashMap.set('mise','38177382f3785cfe7cce92994bfb429b68f5165e6eef1bdcd2c7a3d8d5414da2');\nhashMap.set('mix','1116e1adf1c18c866f0a9e6fa065c4fb9da055d8d150e625344899bb94095481');\nhashMap.set('nix','f3ffec2f14e7261de8068895b91392e992dcef208fbaf52110d6862e4712c031');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','eaf9fe4981de8f7504227f3be88445f60f87ba74f9b9c7e54284bc2bb41320b3');\nhashMap.set('nuget','42175b1906e8e91ae0731a13d92d0df065108063665f8a36150aeae73aafdc78');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','32233a1a8a2725699d7448ba438e3d0b78141f7799cd2b588de278d41e26ed10');\nhashMap.set('pep621','f503497a4adef31b29572176e9a69d52fa9b0bfe3477b6e228c906aeb4861de5');\nhashMap.set('pep723','b96683163de63ed93207ec0538066705b1e58a1cd5b8bd11c63fc28b26bddba1');\nhashMap.set('pip-compile','89152ad6c89f278395f32d289dc3890823c233366547d228e97dd1319aa144b5');\nhashMap.set('pip_requirements','d5c474c524bc7adc1aae065da0531bd22d9f7f52523b018f2461f6c29e12fdf3');\nhashMap.set('pip_setup','0175fe550c19d9bd31c978bd83fdc088cb40fcacd5d6751f640164274ae64e61');\nhashMap.set('pipenv','50f5a54ed714fd3d738c1aa9a353cf3aab767899acdcb763088d4bd04f3a737b');\nhashMap.set('pixi','b17af6eaa33e7babcc52cfc9a617c7801c0efb1125bbd6d0d4e9f6fe33afd353');\nhashMap.set('poetry','7f227b8b912b405df7735e9dc7c178f03021844f0c027d4b321c023c330c390a');\nhashMap.set('pre-commit','a6a6e847fdb0f56650e66ef7d69e68de752b390913f79ac31d1a7ec5955d03da');\nhashMap.set('pub','0fbad9f77579fcec3a623c6feab56e71934c67a79bb8f4f0f847452051d2a0ba');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','e355e13e104351a8b3516a8e272fc5f7e625c9f39b0c492ba27283a36227c2d4');\nhashMap.set('renovate-config-presets','a394fe55f8b6ba356f29f76efd9f0d34b56baceb111e6d92f95b29b5ca50ac67');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('sbt','74125bd9c76a5724092258cd1dee1ea99fc0d735b463a2b64fedc5d950efde2a');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','7dea08c5708625e753bd56918bc214df7fb4d8543a26e936926a21ab43b5f785');\nhashMap.set('sveltos','167a5cc79098803be3b815a28cc40ef3361c455751e1d6a7a99ba91bfce26709');\nhashMap.set('swift','79ec9a6a2a8bb4853bb78bbb3a2a6e64e3b32b0ddeb312385abb3a14366ad505');\nhashMap.set('tekton','4e35c75bba4abc9c3cf49c55da6c19db4f4e9181d1fd9583288ab55ef7c944fd');\nhashMap.set('terraform','5bd62ce12c23896b8ecb2385a60a3cb9eb72badf10f9984bfed38f50f9262266');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','b8474c65383a702602eee432cc1434f9a49a1ef886d1213de92d7a84fb98b9cd');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','4a975f0cc1aa22cd258aa835de3dc98d7a5c0d1cee0a1092324338968e08a827');\nhashMap.set('travis','bb482a0195cd009ec3896a6227bb95617f5c84bedb518c7d971e50c62235d9ca');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','4627230d3b7698c41aac192d57b65b091c860c8f858c89d6af4b06ed6a32fae6');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('jsonata','3b5f465b586993f92c8490e70885e7eecce9b6556bcc376dd9c11db8ee9e6960');\nhashMap.set('regex','7b643b49e498465cf91b25b8b840bb1fec8c8a3a59bfa8f97a39c976675325a0');"],"mappings":"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"}
1
+ {"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','1fbc76f78daa14a8c9ab1142e9d1e05c746c0419a9f1455e4279f476590d0c04');\nhashMap.set('ansible-galaxy','8226d47128f2018825d4d6f84794e3183eb79c706045fa7e88491edd5e64106f');\nhashMap.set('ant','0a356fc5ff43659fc81edb74f868ddd7213235512181da875c09caa94c6e3070');\nhashMap.set('argocd','5d35b1992e53130bf83b0e59a0f90ccd3a78919974c69044f306dc5d162f48ce');\nhashMap.set('asdf','1f6fcf620e9c6cd35991380cb6eafb94ec60cd77cbd13335ebe3a1d9727416c9');\nhashMap.set('azure-pipelines','4f635b0ecd388ee266d992e8281fd40e3db2f5867d86fc1cbce72dc33a66e796');\nhashMap.set('batect','fad98996bea8626525ab925f83a6ae0ce9262c53770e7aa7cb448a1e0f1ddf21');\nhashMap.set('batect-wrapper','d999355511ea7f4053325a18b8cfc8d2b586c61e6760c35e557d383a673e3939');\nhashMap.set('bazel','c6e0ad88ea468664c3a33263baf7452d83d2d37ff09ba920e18f64ee81fd0acb');\nhashMap.set('bazel-module','ff071fcf8b53036956627d2a430ccdf256e30bee4d7e80c329379879d836a931');\nhashMap.set('bazelisk','b6ec532dfa7c8f82ad4084df864ac6276e87c27285369323902afc146d3537ac');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','59c0503494ab1442b127914503c01b97ac17b6742b19c632292d5aa24de115cd');\nhashMap.set('bitrise','478dfd316221fad7c29e177c70d1018d832fb2626b53308a5d0f1f0380e69f42');\nhashMap.set('buildkite','a93effb1f1c5d65b3277c3b4709924eacde282e8efd028a8e3d8c1ce3ef69407');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','1322232bf1d0c4fa796e31a00488453bdcd00d4958431d9e424c1635e60a99bd');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','6d7e9d2018ac03e15f19e8b40ef70dd87d509d5affca24bc464d085899880a25');\nhashMap.set('cake','288c3c36a50371b26957fa71992cc335228d53563c75597b36919ac7286e96eb');\nhashMap.set('cargo','308d7ab4c6d24027b050bf659dfab0e510d9a22f8134695a7c68214908ee4634');\nhashMap.set('cdnurl','d3edf6cdc38e92eb43ff5a2b4e8df6a6a13154cf83244725c39e28d7e6ea9177');\nhashMap.set('circleci','135937d4720718304adb0ba998516f8ce38c3220ccd18b00b8c70c62b45df4da');\nhashMap.set('cloudbuild','8c0c739f7e4082bbfe8e3fdffebaf43e26f70a1314d95b306e9b93e4f4297886');\nhashMap.set('cocoapods','b6ac3b4a6b8a5b32daed37bf695fe177cdb1b4a94ae7f7fb2f4c4c096c0a004c');\nhashMap.set('composer','cdb6895574020cec402e0b878e4078b62f1acfd0392a861cbb523036634f6383');\nhashMap.set('conan','aecc3917d77146db4e57dd12944be1beff860e90b7ebdd2d8fbc449fc1a06574');\nhashMap.set('copier','faa3b79991256a6fc0957fdcd530a1bc8aee65913d5aff2b1b4d226dcd44d008');\nhashMap.set('cpanfile','6a1d67d9c8751123deaf0c7f3ac38a07024e960c140f8228fcbcb93954fdca01');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deps-edn','c87dd5e88587147ad1a78f047b814f3c4aa60d6de30d0c49d849391eeaf1b64c');\nhashMap.set('devbox','bcf5334e8a21190baaa25436acf2f17fbf095504262a4e9ee7c62ffb644eb716');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','5441af5b5abf8d347e46002d47f02f85743401bda28232f49fb7b3bbb772a4fb');\nhashMap.set('dockerfile','322b95f7e55dd78d7fe71306a6f649479eca61c60d75bb10b23604a230dbdd08');\nhashMap.set('droneci','237c8de87b9bf653fb943b56e84e99c45f6d86ae27d86e599b3f3f99c35ba8ee');\nhashMap.set('fleet','d73d5d35f10df0599a561d9c8d25f3935350407d0e3bd3a1d1545295f278912e');\nhashMap.set('flux','427e0c1a5b1d8337503a9a568a76532fbde0bab8b355fa8f47312de50eadf2f6');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','fbbf1c7b7b6f4166fa3beee96a3283d007b388e9ecb6a14f76123c8ab8c78071');\nhashMap.set('github-actions','d8f83c65da1e80b639ad44a0d8641e7e97b1d93a1b6c873603333d337ad02011');\nhashMap.set('gitlabci','0dec44dd398bfc5b3c19d0929bea2fef7f386c94acfd1b1d7bc2a31d81d96fd6');\nhashMap.set('gitlabci-include','354cfc4ea327c6d5cd5bee1f17763832efc7f5402e9fd22c579239fccb9c6dab');\nhashMap.set('glasskube','253d6db30bdec75ed5ab5d26f31d69bc07813ba10089a28da12c6a29eff4ec70');\nhashMap.set('gleam','b717a48c525ad6b1d434c6a9db828ddebbb85e94519e89ddc4040878e3600e84');\nhashMap.set('gomod','82e877b22c0dd0217368760bb5d38430657fff63d07c289793a866f0845d2976');\nhashMap.set('gradle','f430d8d768b56889ad1e5a69965841e85cc700e364d15db7bce680e8a5d6f821');\nhashMap.set('gradle-wrapper','90d2ecb9d0b113f8e946d4ea221c040f17f91af846e1ff4f9fc1514ad4324b74');\nhashMap.set('haskell-cabal','d796ec6859e63ab4f1b7030c4016071202c3a44c7c11d4a9131d7e2ba19b396d');\nhashMap.set('helm-requirements','4d90e5e18a380876ad48e21e1ad88ea62e25d973a1ddaa3763447fc0a9f9915b');\nhashMap.set('helm-values','b5c52c6a27d805557418c585c5d3030c95ee641d53057021f3fe060f81b6e1af');\nhashMap.set('helmfile','e5783484b81247279563da3c835afe4002edfc412e13fb91877818ca44ae65f2');\nhashMap.set('helmsman','ef9680c612f702c7f07aea9b6e5d811e91214dcfa5755c9f3803e9528090935e');\nhashMap.set('helmv3','7724bf6cc3ff4afec1809899f619a332f4350049b9578b5c4634514b4448cf2b');\nhashMap.set('hermit','672c328e4baea3a1ccd2cde2364db01c8033a8c077bf63a5b914fc20ee1de838');\nhashMap.set('homeassistant-manifest','05043c6db870cffbb6f8f3e351c025e3de227eaae0b24134b796aec46f84b65f');\nhashMap.set('homebrew','56ef90301143874355fd2ed25dff7c646875f701f97422d02e01d45608a88f31');\nhashMap.set('html','67c5f3c5c58e96f5dd257ba5987d900cf7fef81d667c3640e96c847b37de35a8');\nhashMap.set('jenkins','268ebfc8a1caf3edeb2192c2b1b2fa4bf18a78a3e731ba20a6c104940a5539f3');\nhashMap.set('jsonnet-bundler','4b73c32ddc3fe45d9777106d45b116777a2960e6e631256a6553060e602f893c');\nhashMap.set('kotlin-script','99ef296792a0ca575ed31d3defb514b05a58083dc01c52ea0890c69d867ba1dd');\nhashMap.set('kubernetes','321e7d77fb3600dd4c00a86eaa1294927e7f92300b74fa2977d813dcaa3bb4de');\nhashMap.set('kustomize','1e44d6ef8622252dac6d9649fb04badd12d4827eb2a55f74792aa9de2b915775');\nhashMap.set('leiningen','133fca2c3423f53f2ccc22518153ddbcafbf0f4812376c77e952eb3d24d81f85');\nhashMap.set('maven','fd6bfc21be851ed076eabea1a91a89b25eb82129734c7cb0c2e684385cf1ea69');\nhashMap.set('maven-wrapper','9a868d1328f911eb72f9e65a64d46c86ae347aab0153d1cf4e9a62ad9e0d6cb0');\nhashMap.set('meteor','4a93a326b27bedfe52118e27e06f39fecd7c55bd4cd7fccec4cb120cac14cec4');\nhashMap.set('mint','b816a49c8525716454d0a2bc9127916d5b27e5cca7b2aa2030312f218942af3e');\nhashMap.set('mise','38177382f3785cfe7cce92994bfb429b68f5165e6eef1bdcd2c7a3d8d5414da2');\nhashMap.set('mix','1116e1adf1c18c866f0a9e6fa065c4fb9da055d8d150e625344899bb94095481');\nhashMap.set('nix','f3ffec2f14e7261de8068895b91392e992dcef208fbaf52110d6862e4712c031');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','eaf9fe4981de8f7504227f3be88445f60f87ba74f9b9c7e54284bc2bb41320b3');\nhashMap.set('nuget','42175b1906e8e91ae0731a13d92d0df065108063665f8a36150aeae73aafdc78');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','32233a1a8a2725699d7448ba438e3d0b78141f7799cd2b588de278d41e26ed10');\nhashMap.set('pep621','f503497a4adef31b29572176e9a69d52fa9b0bfe3477b6e228c906aeb4861de5');\nhashMap.set('pep723','b96683163de63ed93207ec0538066705b1e58a1cd5b8bd11c63fc28b26bddba1');\nhashMap.set('pip-compile','89152ad6c89f278395f32d289dc3890823c233366547d228e97dd1319aa144b5');\nhashMap.set('pip_requirements','d5c474c524bc7adc1aae065da0531bd22d9f7f52523b018f2461f6c29e12fdf3');\nhashMap.set('pip_setup','0175fe550c19d9bd31c978bd83fdc088cb40fcacd5d6751f640164274ae64e61');\nhashMap.set('pipenv','50f5a54ed714fd3d738c1aa9a353cf3aab767899acdcb763088d4bd04f3a737b');\nhashMap.set('pixi','b17af6eaa33e7babcc52cfc9a617c7801c0efb1125bbd6d0d4e9f6fe33afd353');\nhashMap.set('poetry','7f227b8b912b405df7735e9dc7c178f03021844f0c027d4b321c023c330c390a');\nhashMap.set('pre-commit','a6a6e847fdb0f56650e66ef7d69e68de752b390913f79ac31d1a7ec5955d03da');\nhashMap.set('pub','0fbad9f77579fcec3a623c6feab56e71934c67a79bb8f4f0f847452051d2a0ba');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','e355e13e104351a8b3516a8e272fc5f7e625c9f39b0c492ba27283a36227c2d4');\nhashMap.set('renovate-config-presets','a394fe55f8b6ba356f29f76efd9f0d34b56baceb111e6d92f95b29b5ca50ac67');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('sbt','74125bd9c76a5724092258cd1dee1ea99fc0d735b463a2b64fedc5d950efde2a');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','7dea08c5708625e753bd56918bc214df7fb4d8543a26e936926a21ab43b5f785');\nhashMap.set('sveltos','167a5cc79098803be3b815a28cc40ef3361c455751e1d6a7a99ba91bfce26709');\nhashMap.set('swift','79ec9a6a2a8bb4853bb78bbb3a2a6e64e3b32b0ddeb312385abb3a14366ad505');\nhashMap.set('tekton','4e35c75bba4abc9c3cf49c55da6c19db4f4e9181d1fd9583288ab55ef7c944fd');\nhashMap.set('terraform','5bd62ce12c23896b8ecb2385a60a3cb9eb72badf10f9984bfed38f50f9262266');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','b8474c65383a702602eee432cc1434f9a49a1ef886d1213de92d7a84fb98b9cd');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','4a975f0cc1aa22cd258aa835de3dc98d7a5c0d1cee0a1092324338968e08a827');\nhashMap.set('travis','bb482a0195cd009ec3896a6227bb95617f5c84bedb518c7d971e50c62235d9ca');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','4627230d3b7698c41aac192d57b65b091c860c8f858c89d6af4b06ed6a32fae6');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('jsonata','3b5f465b586993f92c8490e70885e7eecce9b6556bcc376dd9c11db8ee9e6960');\nhashMap.set('regex','7b643b49e498465cf91b25b8b840bb1fec8c8a3a59bfa8f97a39c976675325a0');"],"mappings":"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"}
@@ -14,7 +14,7 @@ declare const GithubVulnerabilityAlerts: z.ZodEffects<z.ZodEffects<z.ZodArray<z.
14
14
  };
15
15
  security_vulnerability: {
16
16
  package: {
17
- ecosystem: "composer" | "maven" | "npm" | "rust" | "go" | "nuget" | "actions" | "pip" | "rubygems";
17
+ ecosystem: "composer" | "maven" | "npm" | "rust" | "go" | "actions" | "nuget" | "pip" | "rubygems";
18
18
  name: string;
19
19
  };
20
20
  vulnerable_version_range: string;
@@ -39,7 +39,7 @@ declare const GithubVulnerabilityAlerts: z.ZodEffects<z.ZodEffects<z.ZodArray<z.
39
39
  };
40
40
  security_vulnerability: {
41
41
  package: {
42
- ecosystem: "composer" | "maven" | "npm" | "rust" | "go" | "nuget" | "actions" | "pip" | "rubygems";
42
+ ecosystem: "composer" | "maven" | "npm" | "rust" | "go" | "actions" | "nuget" | "pip" | "rubygems";
43
43
  name: string;
44
44
  };
45
45
  vulnerable_version_range: string;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "renovate",
3
3
  "description": "Automated dependency updates. Flexible so you don't need to be.",
4
- "version": "43.117.0",
4
+ "version": "43.118.0",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "renovate": "dist/renovate.js",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$id": "https://docs.renovatebot.com/renovate-schema.json",
3
- "title": "JSON schema for Renovate 43.117.0 config files (https://renovatebot.com/)",
3
+ "title": "JSON schema for Renovate 43.118.0 config files (https://renovatebot.com/)",
4
4
  "$schema": "http://json-schema.org/draft-07/schema#",
5
- "x-renovate-version": "43.117.0",
5
+ "x-renovate-version": "43.118.0",
6
6
  "allowComments": true,
7
7
  "type": "object",
8
8
  "properties": {