renovate-mcp 1.7.0 → 1.7.1
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 +1 -1
- package/dist/lib/configLocations.js +14 -0
- package/dist/lib/version.js +1 -1
- package/dist/tools/dryRun.js +1 -1
- package/dist/tools/readConfig.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -74,7 +74,7 @@ Eighteen tools, seven resources, and four workflow prompts. Each tool name below
|
|
|
74
74
|
- **Linux or macOS.** Windows is not supported — `package.json` declares `"os": ["darwin", "linux"]`, so `npm i` surfaces an `EBADPLATFORM` warning on Windows and the server exits with a clear stderr message at startup. Use WSL2 or a Linux/macOS host instead.
|
|
75
75
|
- **Node.js ≥ 24.11** (aligns with Renovate's own engine requirement).
|
|
76
76
|
|
|
77
|
-
Renovate ships bundled — the `renovate` package is a runtime dependency, so `validate_config`, `dry_run`, and `write_config` work out of the box with no separate install. The offline tools (`read_config`, `suggest_presets`, `resolve_config`, `explain_config`, `resolve_config_diff`, `test_package_rules`, `preview_custom_manager`, `lint_config`, `dry_run_diff`, `annotate_dry_run`, `explain_dependency`, `migrate_config`) never spawn Renovate at all — nor do `check_setup` (by default it reads version metadata from the bundled install instead of spawning) or `get_version` (it only reports the renovate-mcp server's own version).
|
|
77
|
+
Renovate ships bundled — the `renovate` package is a runtime dependency, so `validate_config`, `dry_run`, and `write_config` work out of the box with no separate install. The offline tools (`read_config`, `suggest_presets`, `resolve_config`, `explain_config`, `resolve_config_diff`, `test_package_rules`, `preview_custom_manager`, `lint_config`, `dry_run_diff`, `annotate_dry_run`, `explain_dependency`, `explain_schedule`, `migrate_config`) never spawn Renovate at all — nor do `check_setup` (by default it reads version metadata from the bundled install instead of spawning) or `get_version` (it only reports the renovate-mcp server's own version).
|
|
78
78
|
|
|
79
79
|
**Optional env vars:**
|
|
80
80
|
|
|
@@ -2,17 +2,31 @@ import { promises as fs } from "node:fs";
|
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import JSON5 from "json5";
|
|
4
4
|
import { isRecord } from "./util.js";
|
|
5
|
+
// Renovate's own discovery order (`getConfigFileNames()` in
|
|
6
|
+
// renovate/dist/config/app-strings.js), minus the trailing package.json which
|
|
7
|
+
// is handled separately below. `.jsonc` reports format "json": that format
|
|
8
|
+
// already means "JSON, comments allowed" (see the parse note in locateConfig).
|
|
9
|
+
// A drift test in test/unit/allowListDrift.test.ts pins this list to Renovate's.
|
|
5
10
|
const CANDIDATES = [
|
|
6
11
|
{ path: "renovate.json", format: "json" },
|
|
12
|
+
{ path: "renovate.jsonc", format: "json" },
|
|
7
13
|
{ path: "renovate.json5", format: "json5" },
|
|
8
14
|
{ path: ".github/renovate.json", format: "json" },
|
|
15
|
+
{ path: ".github/renovate.jsonc", format: "json" },
|
|
9
16
|
{ path: ".github/renovate.json5", format: "json5" },
|
|
10
17
|
{ path: ".gitlab/renovate.json", format: "json" },
|
|
18
|
+
{ path: ".gitlab/renovate.jsonc", format: "json" },
|
|
11
19
|
{ path: ".gitlab/renovate.json5", format: "json5" },
|
|
12
20
|
{ path: ".renovaterc", format: "json" },
|
|
13
21
|
{ path: ".renovaterc.json", format: "json" },
|
|
22
|
+
{ path: ".renovaterc.jsonc", format: "json" },
|
|
14
23
|
{ path: ".renovaterc.json5", format: "json5" },
|
|
15
24
|
];
|
|
25
|
+
/** Every filename `locateConfig` checks, in priority order. */
|
|
26
|
+
export const CONFIG_FILE_NAMES = Object.freeze([
|
|
27
|
+
...CANDIDATES.map((c) => c.path),
|
|
28
|
+
"package.json",
|
|
29
|
+
]);
|
|
16
30
|
export async function locateConfig(repoPath) {
|
|
17
31
|
for (const candidate of CANDIDATES) {
|
|
18
32
|
const abs = path.join(repoPath, candidate.path);
|
package/dist/lib/version.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { fileURLToPath } from "node:url";
|
|
2
|
-
export const SERVER_VERSION = "1.7.
|
|
2
|
+
export const SERVER_VERSION = "1.7.1"; // x-release-please-version
|
|
3
3
|
// "released" = the server is running from a `node_modules/` install (global
|
|
4
4
|
// `npm i -g`, project-local `npm i`, or `npx renovate-mcp`). Anything else —
|
|
5
5
|
// most commonly an MCP config of `{"command": "node", "args": [".../dist/index.js"]}`
|
package/dist/tools/dryRun.js
CHANGED
|
@@ -158,7 +158,7 @@ export function registerDryRun(server) {
|
|
|
158
158
|
readConfigFromBaseBranch: z
|
|
159
159
|
.boolean()
|
|
160
160
|
.optional()
|
|
161
|
-
.describe("Only meaningful together with `baseBranches`. When true (default), Renovate reads its config (renovate.json/.json5) FROM each base branch — `useBaseBranchConfig=merge` — so a config edit that only exists on that branch is actually evaluated. Set false to scan the base branches' manifests while still using the default branch's config."),
|
|
161
|
+
.describe("Only meaningful together with `baseBranches`. When true (default), Renovate reads its config (renovate.json/.jsonc/.json5, …) FROM each base branch — `useBaseBranchConfig=merge` — so a config edit that only exists on that branch is actually evaluated. Set false to scan the base branches' manifests while still using the default branch's config."),
|
|
162
162
|
},
|
|
163
163
|
}, async ({ repoPath, dryRunMode, logLevel, timeoutMs, platform, endpoint, token, repository, hostRules, reportOutputPath, baseBranches, readConfigFromBaseBranch, }, extra) => {
|
|
164
164
|
if (endpoint !== undefined) {
|
package/dist/tools/readConfig.js
CHANGED
|
@@ -5,7 +5,7 @@ export function registerReadConfig(server) {
|
|
|
5
5
|
server.registerTool("read_config", {
|
|
6
6
|
title: "Read Renovate config",
|
|
7
7
|
annotations: OFFLINE_READ_ONLY_ANNOTATIONS,
|
|
8
|
-
description: "Locate and parse the Renovate configuration in a repository. Searches for renovate.json
|
|
8
|
+
description: "Locate and parse the Renovate configuration in a repository. Searches, in Renovate's own priority order, for renovate.json(|c|5), .github/renovate.json(|c|5), .gitlab/renovate.json(|c|5), .renovaterc, .renovaterc.json(|c|5), and finally the 'renovate' field of package.json.",
|
|
9
9
|
inputSchema: {
|
|
10
10
|
repoPath: pathString("Absolute path to the repository root"),
|
|
11
11
|
},
|