@dennisrepa/elevate 1.4.0 → 1.5.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 +3 -1
- package/dist/cli.js +1339 -332
- package/dist/cli.js.map +1 -1
- package/docs/de.md +11 -0
- package/docs/en.md +11 -0
- package/package.json +4 -1
package/docs/de.md
CHANGED
|
@@ -91,6 +91,17 @@ Jedes Update läuft als ein Ablauf: **Snapshot ➔ Schreiben & Installieren ➔
|
|
|
91
91
|
* **npm:** `npm ls` im Repository-Root (fehlende, ungültige oder unerfüllte Abhängigkeiten in allen Workspaces), sofern kein `postUpdateScript` gesetzt ist.
|
|
92
92
|
* **Maven:** `mvn test-compile -pl <geänderte Module> -amd` im Reactor — die geänderten Module *und alle Module, die von ihnen abhängen*. Eine Änderung an der Aggregator-POM baut den ganzen Reactor.
|
|
93
93
|
|
|
94
|
+
### Cargo (Rust)
|
|
95
|
+
|
|
96
|
+
Elevate startet `cargo` aus dem `PATH` (`cargo metadata --no-deps`, `cargo update`, `cargo check`); fehlt es, schlagen Cargo-Scans mit einer klaren Meldung fehl. Untersucht wird jede `Cargo.toml` außerhalb von `target`, `node_modules`, `vendor`, versteckten Ordnern und `src`; jeder Workspace wird einmal gelesen.
|
|
97
|
+
|
|
98
|
+
* **Wo Versionen geschrieben werden.** Elevate ändert nur den Versionstext der deklarierenden Stelle — in der `Cargo.toml` der Crate oder bei `workspace = true` in `[workspace.dependencies]` der Wurzel. Kommentare, Anführungszeichen und Zeilenenden bleiben. `cargo add` wird nicht verwendet, weil es `workspace = true` ersetzt.
|
|
99
|
+
* **Anforderungen.** Ein nacktes `1.2.3` bedeutet `^1.2.3`. Die neue Anforderung behält Operator und Anzahl der Komponenten: `"1"` → `"2"`, `"1.0.100"` → `"1.0.229"`. `0.x`-Updates, die die erste Komponente ungleich null ändern, gelten als *major*.
|
|
100
|
+
* **Registries.** Versionen kommen aus dem Sparse-Index, den deine Cargo-Konfiguration nennt (`.cargo/config.toml` in Elternverzeichnissen, `$CARGO_HOME`, `include`). Eine Crate aus einer alternativen Registry wird nur dort abgefragt. Eine Quellen-Ersetzung, die Elevate nicht lesen kann (Verzeichnis, lokale Registry, Git), stoppt die Abfrage. Registries mit Authentifizierung werden als fehlgeschlagene Abfrage gemeldet.
|
|
101
|
+
* **Proxy.** Registry-Abfragen nutzen Nodes `fetch`, das `HTTP_PROXY`/`HTTPS_PROXY` nur beachtet, wenn der Prozess mit `NODE_USE_ENV_PROXY=1` gestartet wird (mit Node 22.23 geprüft). Hinter einem Proxy: `NODE_USE_ENV_PROXY=1 elevate …`; eine fehlgeschlagene Abfrage weist darauf hin. Cargos eigene Einstellungen `http.proxy` und `http.cainfo` werden nicht gelesen; für eine private CA `NODE_EXTRA_CA_CERTS` verwenden.
|
|
102
|
+
* **Lockfile.** Nach der Änderung wird `Cargo.lock` mit `cargo update -p` aktualisiert und bei einer älteren Wunschversion mit `--precise` festgelegt. Ein Repository ohne `Cargo.lock` bekommt keine.
|
|
103
|
+
* **Verifikation.** `cargo check --all-targets` für die geänderten Crates und die davon abhängigen; ändert sich die Workspace-Wurzel, wird der ganze Workspace geprüft. Build-Skripte der neuen Versionen laufen dabei.
|
|
104
|
+
|
|
94
105
|
### Voraussetzungen für Maven
|
|
95
106
|
|
|
96
107
|
Elevate verwendet den Maven Wrapper des Projekts (`mvnw` / `mvnw.cmd`), sonst `mvn` aus dem `PATH`. Fehlt beides, bricht der Maven-Scan mit einer klaren Meldung ab, statt zu raten. Die Plugin-Versionen sind für reproduzierbare Ergebnisse festgelegt (`maven-help-plugin` 3.5.2, `versions-maven-plugin` 2.22.0) und lassen sich je Repository mit `mavenPlugins` in der `elevate.config.json` ersetzen (siehe [Maven-Plugin-Versionen](#maven-plugin-versionen)). Scans schreiben temporäre Dateien nur nach `target/.elevate-*` und entfernen sie danach.
|
package/docs/en.md
CHANGED
|
@@ -90,6 +90,17 @@ Every update runs as one workflow: **snapshot ➔ write & install ➔ integrity
|
|
|
90
90
|
* **npm:** `npm ls` at the repository root (missing, invalid or unmet dependencies across all workspaces), unless `postUpdateScript` is set.
|
|
91
91
|
* **Maven:** `mvn test-compile -pl <changed modules> -amd` in the reactor — the changed modules *and every module depending on them*. A change to the aggregator POM rebuilds the whole reactor.
|
|
92
92
|
|
|
93
|
+
### Cargo (Rust)
|
|
94
|
+
|
|
95
|
+
Elevate runs `cargo` from the `PATH` (`cargo metadata --no-deps`, `cargo update`, `cargo check`); without it Cargo scans fail with a clear message. Every `Cargo.toml` outside `target`, `node_modules`, `vendor`, hidden folders and `src` is examined, and each workspace is read once.
|
|
96
|
+
|
|
97
|
+
* **Where versions are written.** Elevate edits only the version text of the declaring literal — in the crate's own `Cargo.toml`, or in `[workspace.dependencies]` of the root for `workspace = true`. Comments, quotes and line endings stay. `cargo add` is not used because it replaces `workspace = true`.
|
|
98
|
+
* **Requirements.** A bare `1.2.3` means `^1.2.3`. The new requirement keeps the operator and the number of components: `"1"` → `"2"`, `"1.0.100"` → `"1.0.229"`. `0.x` updates that change the first non-zero component count as *major*.
|
|
99
|
+
* **Registries.** Versions are read from the sparse index named by your Cargo configuration (`.cargo/config.toml` in parent directories, `$CARGO_HOME`, `include`). A crate from an alternative registry is looked up only there. A source replacement Elevate cannot read (directory, local registry, git) stops the lookup. Registries that require authentication are reported as failed lookups.
|
|
100
|
+
* **Proxy.** Registry lookups use Node's `fetch`, which ignores `HTTP_PROXY`/`HTTPS_PROXY` unless the process is started with `NODE_USE_ENV_PROXY=1` (checked with Node 22.23). Behind a proxy run `NODE_USE_ENV_PROXY=1 elevate …`; a failed lookup says so. Cargo's own `http.proxy` and `http.cainfo` settings are not read; use `NODE_EXTRA_CA_CERTS` for a private CA.
|
|
101
|
+
* **Lock file.** After the edit `Cargo.lock` is refreshed with `cargo update -p`, and pinned with `--precise` when you picked an older version. A repository without `Cargo.lock` gets none.
|
|
102
|
+
* **Verification.** `cargo check --all-targets` for the changed crates and the crates depending on them; a changed workspace root checks the whole workspace. Build scripts of the new versions run during the check.
|
|
103
|
+
|
|
93
104
|
### Requirements for Maven
|
|
94
105
|
|
|
95
106
|
Elevate uses the project's Maven Wrapper (`mvnw` / `mvnw.cmd`) when present, otherwise `mvn` on the `PATH`. Without either, Maven scans fail with a clear message instead of guessing. Plugin versions are pinned for reproducible results (`maven-help-plugin` 3.5.2, `versions-maven-plugin` 2.22.0) and can be replaced per repository with `mavenPlugins` in `elevate.config.json` (see [Maven plugin versions](#maven-plugin-versions)). Scans write temporary files only to `target/.elevate-*` and remove them afterwards.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dennisrepa/elevate",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "🪶 Elevate — Interactive Polyglot Terminal Dashboard & Agentic MCP Server for safe dependency updates across monorepos.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/cli.js",
|
|
@@ -25,6 +25,8 @@
|
|
|
25
25
|
"npm",
|
|
26
26
|
"pnpm",
|
|
27
27
|
"maven",
|
|
28
|
+
"cargo",
|
|
29
|
+
"rust",
|
|
28
30
|
"mcp",
|
|
29
31
|
"agentic"
|
|
30
32
|
],
|
|
@@ -68,6 +70,7 @@
|
|
|
68
70
|
"react": "^19.0.0",
|
|
69
71
|
"saxes": "^6.0.0",
|
|
70
72
|
"semver": "^7.6.3",
|
|
73
|
+
"toml-eslint-parser": "^1.0.3",
|
|
71
74
|
"tsx": "^4.19.3",
|
|
72
75
|
"yaml": "^2.9.1"
|
|
73
76
|
},
|